From owner-p4-projects@FreeBSD.ORG Sun Jul 1 01:58:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07D4C16A468; Sun, 1 Jul 2007 01:58:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B96B616A400 for ; Sun, 1 Jul 2007 01:58:03 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A9AB213C45D for ; Sun, 1 Jul 2007 01:58:03 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l611w3nf033046 for ; Sun, 1 Jul 2007 01:58:03 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l611w3NV033043 for perforce@freebsd.org; Sun, 1 Jul 2007 01:58:03 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 01:58:03 GMT Message-Id: <200707010158.l611w3NV033043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122600 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 01:58:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=122600 Change 122600 by peter@peter_melody on 2007/07/01 01:57:41 Fix compile error without INET6 Affected files ... .. //depot/projects/hammer/sys/netinet/tcp_input.c#73 edit .. //depot/projects/hammer/sys/netinet/tcp_subr.c#65 edit .. //depot/projects/hammer/sys/netinet/tcp_var.h#43 edit Differences ... ==== //depot/projects/hammer/sys/netinet/tcp_input.c#73 (text+ko) ==== @@ -480,7 +480,7 @@ if ((tcp_log_in_vain == 1 && (thflags & TH_SYN)) || tcp_log_in_vain == 2) { if ((s = tcp_log_addrs(NULL, th, (void *)ip, - (void *)ip6))) + (const void *)ip6))) log(LOG_INFO, "%s; %s: Connection attempt " "to closed port\n", s, __func__); } ==== //depot/projects/hammer/sys/netinet/tcp_subr.c#65 (text+ko) ==== @@ -2075,15 +2075,15 @@ */ char * tcp_log_addrs(struct in_conninfo *inc, struct tcphdr *th, void *ip4hdr, - void *ip6hdr) + const void *ip6hdr) { char *s, *sp; size_t size; struct ip *ip; #ifdef INET6 - struct ip6_hdr *ip6; + const struct ip6_hdr *ip6; - ip6 = (struct ip6_hdr *)ip6hdr; + ip6 = (const struct ip6_hdr *)ip6hdr; #endif /* INET6 */ ip = (struct ip *)ip4hdr; ==== //depot/projects/hammer/sys/netinet/tcp_var.h#43 (text+ko) ==== @@ -523,7 +523,7 @@ void tcp_init(void); void tcp_fini(void *); char *tcp_log_addrs(struct in_conninfo *, struct tcphdr *, void *, - void *); + const void *); int tcp_reass(struct tcpcb *, struct tcphdr *, int *, struct mbuf *); void tcp_reass_init(void); void tcp_input(struct mbuf *, int); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 02:05:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0717316A46C; Sun, 1 Jul 2007 02:05:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6260216A41F for ; Sun, 1 Jul 2007 02:05:13 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3AC6E13C447 for ; Sun, 1 Jul 2007 02:05:13 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6125Dmx034823 for ; Sun, 1 Jul 2007 02:05:13 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6125C80034820 for perforce@freebsd.org; Sun, 1 Jul 2007 02:05:12 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 02:05:12 GMT Message-Id: <200707010205.l6125C80034820@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122601 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 02:05:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=122601 Change 122601 by peter@peter_melody on 2007/07/01 02:05:07 Fix compile error. Don't cast pointers to 'int'. Affected files ... .. //depot/projects/hammer/sys/ufs/ufs/dir.h#4 edit Differences ... ==== //depot/projects/hammer/sys/ufs/ufs/dir.h#4 (text+ko) ==== @@ -110,7 +110,7 @@ * */ #define DIRECTSIZ(namlen) \ - (((int)&((struct direct *)0)->d_name + \ + (((uintptr_t)&((struct direct *)0)->d_name + \ ((namlen)+1)*sizeof(((struct direct *)0)->d_name[0]) + 3) & ~3) #if (BYTE_ORDER == LITTLE_ENDIAN) #define DIRSIZ(oldfmt, dp) \ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 02:22:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCC3016A473; Sun, 1 Jul 2007 02:22:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8544116A46E for ; Sun, 1 Jul 2007 02:22:37 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 746AD13C484 for ; Sun, 1 Jul 2007 02:22:37 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l612Mbbm036104 for ; Sun, 1 Jul 2007 02:22:37 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l612Mbge036101 for perforce@freebsd.org; Sun, 1 Jul 2007 02:22:37 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 02:22:37 GMT Message-Id: <200707010222.l612Mbge036101@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122603 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 02:22:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=122603 Change 122603 by peter@peter_overcee on 2007/07/01 02:21:37 IFC @122602 Affected files ... .. //depot/projects/hammer/contrib/gcc/config/s390/t-linux#3 branch .. //depot/projects/hammer/sys/dev/wi/if_wi.c#52 integrate .. //depot/projects/hammer/sys/kern/tty.c#53 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_scan.c#3 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_scan.h#3 integrate Differences ... ==== //depot/projects/hammer/sys/dev/wi/if_wi.c#52 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.209 2007/06/30 21:23:23 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.210 2007/06/30 21:39:21 thompsa Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -165,6 +165,8 @@ static int wi_symbol_set_hcr(struct wi_softc *, int); static void wi_scan_start(struct ieee80211com *); +static void wi_scan_curchan(struct ieee80211com *, unsigned long); +static void wi_scan_mindwell(struct ieee80211com *); static void wi_scan_end(struct ieee80211com *); static void wi_set_channel(struct ieee80211com *); static void wi_update_slot(struct ifnet *); @@ -369,8 +371,9 @@ val = le16toh(val); ic->ic_bsschan = ieee80211_find_channel(ic, ieee80211_ieee2mhz(val, IEEE80211_CHAN_B), - IEEE80211_MODE_AUTO); - /* XXX check return value */ + IEEE80211_CHAN_B); + if (ic->ic_bsschan == NULL) + ic->ic_bsschan = &ic->ic_channels[0]; } else { device_printf(dev, "WI_RID_OWN_CHNL failed, using first channel!\n"); @@ -467,7 +470,6 @@ rs->rs_rates[rs->rs_nrates++] = ratebuf[2+i]; } else { /* XXX fallback on error? */ - rs->rs_nrates = 0; } buflen = sizeof(val); @@ -504,6 +506,8 @@ ic->ic_raw_xmit = wi_raw_xmit; ic->ic_scan_start = wi_scan_start; + ic->ic_scan_curchan = wi_scan_curchan; + ic->ic_scan_mindwell = wi_scan_mindwell; ic->ic_scan_end = wi_scan_end; ic->ic_set_channel = wi_set_channel; ic->ic_node_alloc = wi_node_alloc; @@ -1918,9 +1922,9 @@ case WI_INFO_SCAN_RESULTS: case WI_INFO_HOST_SCAN_RESULTS: wi_scan_result(sc, fid, le16toh(ltbuf[0])); - ieee80211_notify_scan_done(ic); + ieee80211_scan_done(ic); break; - + default: DPRINTF(("wi_info_intr: got fid %x type %x len %d\n", fid, le16toh(ltbuf[1]), le16toh(ltbuf[0]))); @@ -2945,6 +2949,8 @@ return (*sc->sc_newstate)(ic, nstate, arg); case IEEE80211_S_SCAN: + return (*sc->sc_newstate)(ic, nstate, arg); + case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: ic->ic_state = nstate; /* NB: skip normal ieee80211 handling */ @@ -2964,7 +2970,6 @@ IEEE80211_CHAN_B); if (ni->ni_chan == NULL) ni->ni_chan = &ic->ic_channels[0]; - /* XXX validate channel */ ic->ic_curchan = ic->ic_bsschan = ni->ni_chan; #if NBPFILTER > 0 sc->sc_tx_th.wt_chan_freq = sc->sc_rx_th.wr_chan_freq = @@ -3046,7 +3051,6 @@ struct ieee80211com *ic; uint8_t ssid[2+IEEE80211_NWID_LEN]; - printf("wi_scan_result\n"); ic = &sc->sc_ic; rstamp++; memset(&sp, 0, sizeof(sp)); @@ -3081,7 +3085,7 @@ memset(&ws_dat, 0, sizeof(ws_dat)); for (i = 0; i < naps; i++, ap++) { - uint8_t rates[2]; + uint8_t rates[2 + IEEE80211_RATE_MAXSIZE]; uint16_t *bssid; wi_read_bap(sc, fid, off, &ws_dat, (sizeof(ws_dat) < szbuf ? sizeof(ws_dat) : szbuf)); @@ -3106,7 +3110,7 @@ sp.bintval = ap->interval = le16toh(ws_dat.wi_interval); ap->rate = le16toh(ws_dat.wi_rate); rates[1] = 1; - rates[2] = (uint8_t)ap->rate; + rates[2] = (uint8_t)ap->rate / 5; ap->namelen = le16toh(ws_dat.wi_namelen); if (ap->namelen > sizeof(ap->name)) ap->namelen = sizeof(ap->name); @@ -3122,7 +3126,8 @@ sp.curchan = &ic->ic_channels[0]; sp.rates = &rates[0]; sp.tstamp = (uint8_t *)&rstamp; - printf("calling add_scan \n"); + DPRINTF(("calling add_scan, bssid %s chan %d signal %d\n", + ether_sprintf(ws_dat.wi_bssid), ap->channel, ap->signal)); ieee80211_add_scan(ic, &sp, &wh, 0, ap->signal, ap->noise, rstamp); } done: @@ -3537,6 +3542,18 @@ } static void +wi_scan_curchan(struct ieee80211com *ic, unsigned long maxdwell) +{ + /* The firmware is not capable of scanning a single channel */ +} + +static void +wi_scan_mindwell(struct ieee80211com *ic) +{ + /* NB: don't try to abort scan; wait for firmware to finish */ +} + +static void wi_scan_end(struct ieee80211com *ic) { struct ifnet *ifp = ic->ic_ifp; ==== //depot/projects/hammer/sys/kern/tty.c#53 (text+ko) ==== @@ -71,7 +71,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.271 2007/06/11 21:05:41 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.272 2007/07/01 00:17:59 jeff Exp $"); #include "opt_compat.h" #include "opt_tty.h" @@ -2536,6 +2536,7 @@ int load, pctcpu; pid_t pid; char comm[MAXCOMLEN + 1]; + struct rusage ru; if (ttycheckoutq(tp,0) == 0) return; @@ -2615,9 +2616,7 @@ PROC_SUNLOCK(pick); PROC_LOCK(pick); PGRP_UNLOCK(tp->t_pgrp); - PROC_SLOCK(pick); - calcru(pick, &utime, &stime); - PROC_SUNLOCK(pick); + rufetchcalc(pick, &ru, &utime, &stime); pid = pick->p_pid; bcopy(pick->p_comm, comm, sizeof(comm)); PROC_UNLOCK(pick); ==== //depot/projects/hammer/sys/net80211/ieee80211_scan.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan.c,v 1.2 2007/06/30 21:23:23 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan.c,v 1.3 2007/06/30 21:39:21 thompsa Exp $"); /* * IEEE 802.11 scanning support. @@ -627,6 +627,19 @@ } /* + * Public access to scan_next for drivers that are not able to scan single + * channels (e.g. for firmware-based devices). + */ +void +ieee80211_scan_done(struct ieee80211com *ic) +{ + struct ieee80211_scan_state *ss = ic->ic_scan; + + ss->ss_next = ss->ss_last; /* all channels are complete */ + scan_next(ss); +} + +/* * Scan curchan. If this is an active scan and the channel * is not marked passive then send probe request frame(s). * Arrange for the channel change after maxdwell ticks. @@ -897,17 +910,7 @@ ieee80211_chan2ieee(ic, ic->ic_curchan), channel_type(ic->ic_curchan), ticks, SCAN_PRIVATE(ss)->ss_chanmindwell); - /* - * XXX - * We want to just kick the timer and still - * process frames until it fires but linux - * will livelock unless we discard frames. - */ -#if 0 SCAN_PRIVATE(ss)->ss_iflags |= ISCAN_MINDWELL; -#else - SCAN_PRIVATE(ss)->ss_iflags |= ISCAN_DISCARD; -#endif /* * NB: trigger at next clock tick or wait for the * hardware ==== //depot/projects/hammer/sys/net80211/ieee80211_scan.h#3 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_scan.h,v 1.2 2007/06/30 21:23:23 thompsa Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_scan.h,v 1.3 2007/06/30 21:39:21 thompsa Exp $ */ #ifndef _NET80211_IEEE80211_SCAN_H_ #define _NET80211_IEEE80211_SCAN_H_ @@ -83,6 +83,7 @@ int ieee80211_bg_scan(struct ieee80211com *); void ieee80211_cancel_scan(struct ieee80211com *); void ieee80211_scan_next(struct ieee80211com *); +void ieee80211_scan_done(struct ieee80211com *); struct ieee80211_scanparams; void ieee80211_add_scan(struct ieee80211com *, From owner-p4-projects@FreeBSD.ORG Sun Jul 1 02:26:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC8F116A421; Sun, 1 Jul 2007 02:26:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5F66116A41F for ; Sun, 1 Jul 2007 02:26:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4F54C13C455 for ; Sun, 1 Jul 2007 02:26:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l612Qhko036380 for ; Sun, 1 Jul 2007 02:26:43 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l612QhKS036376 for perforce@freebsd.org; Sun, 1 Jul 2007 02:26:43 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 02:26:43 GMT Message-Id: <200707010226.l612QhKS036376@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122604 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 02:26:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=122604 Change 122604 by peter@peter_melody on 2007/07/01 02:26:23 Quiet some gcc-4.2 warnings Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#159 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#159 (text+ko) ==== @@ -379,13 +379,20 @@ } -PMAP_INLINE pt_entry_t * -vtopte(vm_offset_t va) +static __inline pt_entry_t * +_vtopte(vm_offset_t va) { u_int64_t mask = ((1ul << (NPTEPGSHIFT + NPDEPGSHIFT + NPDPEPGSHIFT + NPML4EPGSHIFT)) - 1); return (PTmap + ((va >> PAGE_SHIFT) & mask)); } +pt_entry_t * +vtopte(vm_offset_t va) +{ + + return (_vtopte(va)); +} +#define vtopte(v) _vtopte(v) static __inline pd_entry_t * vtopde(vm_offset_t va) @@ -967,7 +974,7 @@ * Add a wired page to the kva. * Note: not SMP coherent. */ -PMAP_INLINE void +void pmap_kenter(vm_offset_t va, vm_paddr_t pa) { pt_entry_t *pte; @@ -976,7 +983,7 @@ pte_store(pte, pa | PG_RW | PG_V | PG_G); } -PMAP_INLINE void +void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode) { pt_entry_t *pte; @@ -989,7 +996,7 @@ * Remove a page from the kernel pagetables. * Note: not SMP coherent. */ -PMAP_INLINE void +void pmap_kremove(vm_offset_t va) { pt_entry_t *pte; @@ -1054,10 +1061,12 @@ pmap_qremove(vm_offset_t sva, int count) { vm_offset_t va; + pt_entry_t *pte; va = sva; while (count-- > 0) { - pmap_kremove(va); + pte = vtopte(va); + pte_clear(pte); va += PAGE_SIZE; } pmap_invalidate_range(kernel_pmap, sva, va); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 02:27:45 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B49316A46B; Sun, 1 Jul 2007 02:27:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 410EB16A400 for ; Sun, 1 Jul 2007 02:27:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 16DAC13C4C9 for ; Sun, 1 Jul 2007 02:27:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l612Rit4036467 for ; Sun, 1 Jul 2007 02:27:44 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l612Ric0036464 for perforce@freebsd.org; Sun, 1 Jul 2007 02:27:44 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 02:27:44 GMT Message-Id: <200707010227.l612Ric0036464@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122605 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 02:27:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=122605 Change 122605 by peter@peter_melody on 2007/07/01 02:27:22 Hotwire so that I can test new syscalls Affected files ... .. //depot/projects/hammer/lib/libc/gen/__getosreldate.c#2 edit Differences ... ==== //depot/projects/hammer/lib/libc/gen/__getosreldate.c#2 (text+ko) ==== @@ -47,6 +47,7 @@ int oid[2]; int error, osrel; + return (700049); if (osreldate != 0) return (osreldate); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 04:06:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A01116A468; Sun, 1 Jul 2007 04:06:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9FF7A16A421 for ; Sun, 1 Jul 2007 04:06:53 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 783B513C469 for ; Sun, 1 Jul 2007 04:06:53 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6146rgw045535 for ; Sun, 1 Jul 2007 04:06:53 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6146r9v045532 for perforce@freebsd.org; Sun, 1 Jul 2007 04:06:53 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 04:06:53 GMT Message-Id: <200707010406.l6146r9v045532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122608 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 04:06:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=122608 Change 122608 by peter@peter_melody on 2007/07/01 04:05:57 OK, this does actually work afterall. I had some botched static binaries with missing prototypes that were causing all the problems. Sigh. Affected files ... .. //depot/projects/hammer/lib/libc/gen/__getosreldate.c#3 edit Differences ... ==== //depot/projects/hammer/lib/libc/gen/__getosreldate.c#3 (text+ko) ==== @@ -47,7 +47,6 @@ int oid[2]; int error, osrel; - return (700049); if (osreldate != 0) return (osreldate); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 04:33:28 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E845C16A46B; Sun, 1 Jul 2007 04:33:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 886B116A468 for ; Sun, 1 Jul 2007 04:33:27 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 78EC613C447 for ; Sun, 1 Jul 2007 04:33:27 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l614XREt048258 for ; Sun, 1 Jul 2007 04:33:27 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l614XRhR048255 for perforce@freebsd.org; Sun, 1 Jul 2007 04:33:27 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 04:33:27 GMT Message-Id: <200707010433.l614XRhR048255@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122609 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 04:33:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=122609 Change 122609 by peter@peter_overcee on 2007/07/01 04:32:54 Add support for COMPAT6 markers (do not use yet) Affected files ... .. //depot/projects/hammer/sys/kern/makesyscalls.sh#8 edit Differences ... ==== //depot/projects/hammer/sys/kern/makesyscalls.sh#8 (text+ko) ==== @@ -6,6 +6,7 @@ # name of compat options: compat=COMPAT_43 +compat6=COMPAT_FREEBSD6 compat4=COMPAT_FREEBSD4 # output files: @@ -27,14 +28,16 @@ syscompatdcl="sysent.compatdcl.$$" syscompat4="sysent.compat4.$$" syscompat4dcl="sysent.compat4dcl.$$" +syscompat6="sysent.compat6.$$" +syscompat6dcl="sysent.compat6dcl.$$" sysent="sysent.switch.$$" sysinc="sysinc.switch.$$" sysarg="sysarg.switch.$$" sysprotoend="sysprotoend.$$" -trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $sysent $sysinc $sysarg $sysprotoend" 0 +trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $sysent $sysinc $sysarg $sysprotoend" 0 -touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $sysent $sysinc $sysarg $sysprotoend +touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $sysent $sysinc $sysarg $sysprotoend case $# in 0) echo "usage: $0 input-file " 1>&2 @@ -69,6 +72,8 @@ syscompatdcl = \"$syscompatdcl\" syscompat4 = \"$syscompat4\" syscompat4dcl = \"$syscompat4dcl\" + syscompat6 = \"$syscompat6\" + syscompat6dcl = \"$syscompat6dcl\" sysent = \"$sysent\" syssw = \"$syssw\" sysinc = \"$sysinc\" @@ -79,6 +84,7 @@ systrace = \"$systrace\" compat = \"$compat\" compat4 = \"$compat4\" + compat6 = \"$compat6\" syscallprefix = \"$syscallprefix\" switchname = \"$switchname\" namesname = \"$namesname\" @@ -95,6 +101,7 @@ printf "\n#ifdef %s\n\n", compat > syscompat printf "\n#ifdef %s\n\n", compat4 > syscompat4 + printf "\n#ifdef %s\n\n", compat6 > syscompat6 printf "/*\n * System call names.\n *\n" > sysnames printf " * DO NOT EDIT-- this file is automatically generated.\n" > sysnames @@ -167,6 +174,7 @@ print > sysarg print > syscompat print > syscompat4 + print > syscompat6 print > sysnames savesyscall = syscall next @@ -177,6 +185,7 @@ print > sysarg print > syscompat print > syscompat4 + print > syscompat6 print > sysnames syscall = savesyscall next @@ -187,6 +196,7 @@ print > sysarg print > syscompat print > syscompat4 + print > syscompat6 print > sysnames next } @@ -255,6 +265,8 @@ argalias = "o" argalias if ($3 == "COMPAT4") argalias = "freebsd4_" argalias + if ($3 == "COMPAT6") + argalias = "freebsd6_" argalias } f++ @@ -377,7 +389,7 @@ syscall++ next } - $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "CPT_NOA" { + $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "COMPAT6" || $3 == "CPT_NOA" { if ($3 == "COMPAT" || $3 == "CPT_NOA") { ncompat++ out = syscompat @@ -390,6 +402,12 @@ outdcl = syscompat4dcl wrap = "compat4" prefix = "freebsd4_" + } else if ($3 == "COMPAT6") { + ncompat6++ + out = syscompat6 + outdcl = syscompat6dcl + wrap = "compat6" + prefix = "freebsd6_" } parseline() if (argc != 0 && $3 != "CPT_NOA") { @@ -462,7 +480,7 @@ END { printf "\n#define AS(name) (sizeof(struct name) / sizeof(register_t))\n" > sysinc - if (ncompat != 0 || ncompat4 != 0) + if (ncompat != 0 || ncompat4 != 0 || ncompat6 != 0) printf "#include \"opt_compat.h\"\n\n" > syssw printf "#include \\n" > syssw @@ -482,9 +500,17 @@ printf "#endif\n" > sysinc } + if (ncompat6 != 0) { + printf "\n#ifdef %s\n", compat6 > sysinc + printf "#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name)\n" > sysinc + printf "#else\n" > sysinc + printf "#define compat6(n, name) 0, (sy_call_t *)nosys\n" > sysinc + printf "#endif\n" > sysinc + } + printf("\n#endif /* %s */\n\n", compat) > syscompatdcl - printf("\n#endif /* %s */\n\n", compat4) > syscompat4dcl + printf("\n#endif /* %s */\n\n", compat6) > syscompat6dcl printf("\n#undef PAD_\n") > sysprotoend printf("#undef PADL_\n") > sysprotoend @@ -503,5 +529,6 @@ cat $sysarg $sysdcl \ $syscompat $syscompatdcl \ $syscompat4 $syscompat4dcl \ + $syscompat6 $syscompat6dcl \ $sysaue $sysprotoend > $sysproto From owner-p4-projects@FreeBSD.ORG Sun Jul 1 05:42:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADDF516A46B; Sun, 1 Jul 2007 05:42:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3448216A421 for ; Sun, 1 Jul 2007 05:42:58 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2533613C45D for ; Sun, 1 Jul 2007 05:42:58 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l615gwLP062625 for ; Sun, 1 Jul 2007 05:42:58 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l615gviH062622 for perforce@freebsd.org; Sun, 1 Jul 2007 05:42:57 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 05:42:57 GMT Message-Id: <200707010542.l615gviH062622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122613 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 05:42:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122613 Change 122613 by peter@peter_melody on 2007/07/01 05:42:26 Make the _new_ prefixes disappear. Affected files ... .. //depot/projects/hammer/usr.bin/kdump/kdump.c#17 edit Differences ... ==== //depot/projects/hammer/usr.bin/kdump/kdump.c#17 (text+ko) ==== @@ -308,10 +308,14 @@ int narg = ktr->ktr_narg; register_t *ip; - if (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0) + if (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0) { (void)printf("[%d]", ktr->ktr_code); - else - (void)printf("%s", syscallnames[ktr->ktr_code]); + } else { + if (strncmp(syscallnames[ktr->ktr_code], "_new_", 5) == 0) + (void)printf("%s", syscallnames[ktr->ktr_code] + 5); + else + (void)printf("%s", syscallnames[ktr->ktr_code]); + } ip = &ktr->ktr_args[0]; if (narg) { char c = '('; @@ -464,6 +468,17 @@ mmapflagsname ((int)*ip); ip++; narg--; + } else if (ktr->ktr_code == SYS__new_mmap) { + print_number(ip,narg,c); + print_number(ip,narg,c); + (void)putchar(','); + mmapprotname ((int)*ip); + (void)putchar(','); + ip++; + narg--; + mmapflagsname ((int)*ip); + ip++; + narg--; } else if (ktr->ktr_code == SYS_mprotect) { print_number(ip,narg,c); print_number(ip,narg,c); @@ -534,6 +549,15 @@ whencename ((int)*ip); ip++; narg--; + } else if (ktr->ktr_code == SYS__new_lseek) { + print_number(ip,narg,c); + /* Hidden 'pad' argument, not in lseek(2) */ + print_number(ip,narg,c); + (void)putchar(','); + whencename ((int)*ip); + ip++; + narg--; + } else if (ktr->ktr_code == SYS_flock) { print_number(ip,narg,c); (void)putchar(','); @@ -747,10 +771,14 @@ int error = ktr->ktr_error; int code = ktr->ktr_code; - if (code >= nsyscalls || code < 0) + if (code >= nsyscalls || code < 0) { (void)printf("[%d] ", code); - else - (void)printf("%s ", syscallnames[code]); + } else { + if (strncmp(syscallnames[code], "_new_", 5) == 0) + (void)printf("%s ", syscallnames[code] + 5); + else + (void)printf("%s ", syscallnames[code]); + } if (error == 0) { if (fancy) { From owner-p4-projects@FreeBSD.ORG Sun Jul 1 05:45:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF99B16A468; Sun, 1 Jul 2007 05:45:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 98DC516A421 for ; Sun, 1 Jul 2007 05:45:01 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6C92913C480 for ; Sun, 1 Jul 2007 05:45:01 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l615j1xo062752 for ; Sun, 1 Jul 2007 05:45:01 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l615j16T062749 for perforce@freebsd.org; Sun, 1 Jul 2007 05:45:01 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 05:45:01 GMT Message-Id: <200707010545.l615j16T062749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122614 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 05:45:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=122614 Change 122614 by peter@peter_overcee on 2007/07/01 05:44:10 One too many _'s. This was referencing an internal de-aliased symbol. Affected files ... .. //depot/projects/hammer/lib/libc/sys/ftruncate.c#6 edit .. //depot/projects/hammer/lib/libc/sys/lseek.c#6 edit .. //depot/projects/hammer/lib/libc/sys/mmap.c#7 edit .. //depot/projects/hammer/lib/libc/sys/pread.c#6 edit .. //depot/projects/hammer/lib/libc/sys/pwrite.c#6 edit .. //depot/projects/hammer/lib/libc/sys/truncate.c#6 edit Differences ... ==== //depot/projects/hammer/lib/libc/sys/ftruncate.c#6 (text+ko) ==== @@ -49,7 +49,7 @@ { if (__getosreldate() >= 700049) - return(__new_ftruncate(fd, length)); + return(_new_ftruncate(fd, length)); else return(__syscall((quad_t)SYS_ftruncate, fd, 0, length)); } ==== //depot/projects/hammer/lib/libc/sys/lseek.c#6 (text+ko) ==== @@ -50,7 +50,7 @@ { if (__getosreldate() >= 700049) - return(__new_lseek(fd, offset, whence)); + return(_new_lseek(fd, offset, whence)); else return(__syscall((quad_t)SYS_lseek, fd, 0, offset, whence)); } ==== //depot/projects/hammer/lib/libc/sys/mmap.c#7 (text+ko) ==== @@ -54,7 +54,7 @@ { if (__getosreldate() >= 700049) - return (__new_mmap(addr, len, prot, flags, fd, offset)); + return (_new_mmap(addr, len, prot, flags, fd, offset)); else return ((void *)(intptr_t)__syscall((quad_t)SYS_mmap, addr, len, prot, ==== //depot/projects/hammer/lib/libc/sys/pread.c#6 (text+ko) ==== @@ -51,7 +51,7 @@ { if (__getosreldate() >= 700049) - return (__new_pread(fd, buf, nbyte, offset)); + return (_new_pread(fd, buf, nbyte, offset)); else return ((ssize_t)__syscall((quad_t)SYS_pread, fd, buf, nbyte, 0, offset)); } ==== //depot/projects/hammer/lib/libc/sys/pwrite.c#6 (text+ko) ==== @@ -50,7 +50,7 @@ off_t offset; { if (__getosreldate() >= 700049) - return (__new_pwrite(fd, buf, nbyte, offset)); + return (_new_pwrite(fd, buf, nbyte, offset)); else return ((ssize_t)__syscall((quad_t)SYS_pwrite, fd, buf, nbyte, 0, offset)); } ==== //depot/projects/hammer/lib/libc/sys/truncate.c#6 (text+ko) ==== @@ -49,7 +49,7 @@ { if (__getosreldate() >= 700049) - return(__new_truncate(path, length)); + return(_new_truncate(path, length)); else return(__syscall((quad_t)SYS_truncate, path, 0, length)); } From owner-p4-projects@FreeBSD.ORG Sun Jul 1 08:10:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D675A16A519; Sun, 1 Jul 2007 08:10:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A588A16A518 for ; Sun, 1 Jul 2007 08:10:06 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 955B013C46C for ; Sun, 1 Jul 2007 08:10:06 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l618A6W0076202 for ; Sun, 1 Jul 2007 08:10:06 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l618A5Sr076199 for perforce@freebsd.org; Sun, 1 Jul 2007 08:10:05 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 08:10:05 GMT Message-Id: <200707010810.l618A5Sr076199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122619 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 08:10:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122619 Change 122619 by peter@peter_overcee on 2007/07/01 08:09:42 Try things a little differently. Expose compat syscall numbers to syscall.h for libc pseudo wrappers. Affected files ... .. //depot/projects/hammer/sys/kern/init_sysent.c#60 edit .. //depot/projects/hammer/sys/kern/makesyscalls.sh#9 edit .. //depot/projects/hammer/sys/kern/syscalls.c#58 edit .. //depot/projects/hammer/sys/kern/syscalls.master#59 edit .. //depot/projects/hammer/sys/kern/systrace_args.c#4 edit .. //depot/projects/hammer/sys/sys/syscall.h#57 edit .. //depot/projects/hammer/sys/sys/syscall.mk#57 edit .. //depot/projects/hammer/sys/sys/sysproto.h#58 edit Differences ... ==== //depot/projects/hammer/sys/kern/init_sysent.c#60 (text+ko) ==== @@ -27,6 +27,12 @@ #define compat4(n, name) 0, (sy_call_t *)nosys #endif +#ifdef COMPAT_FREEBSD6 +#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name) +#else +#define compat6(n, name) 0, (sy_call_t *)nosys +#endif + /* The casts are bogus but will do for now. */ struct sysent sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = syscall */ @@ -202,8 +208,8 @@ { AS(msgsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 170 = msgsys */ { AS(shmsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 171 = shmsys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 172 = nosys */ - { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0 }, /* 173 = pread */ - { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 174 = pwrite */ + { compat6(AS(freebsd6_pread_args),pread), AUE_PREAD, NULL, 0, 0 }, /* 173 = old pread */ + { compat6(AS(freebsd6_pwrite_args),pwrite), AUE_PWRITE, NULL, 0, 0 }, /* 174 = old pwrite */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 175 = nosys */ { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 }, /* 176 = ntp_adjtime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 177 = sfork */ @@ -226,11 +232,11 @@ { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0 }, /* 194 = getrlimit */ { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0 }, /* 195 = setrlimit */ { AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 196 = getdirentries */ - { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0 }, /* 197 = mmap */ + { compat6(AS(freebsd6_mmap_args),mmap), AUE_MMAP, NULL, 0, 0 }, /* 197 = old mmap */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 198 = __syscall */ - { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 199 = lseek */ - { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = truncate */ - { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = ftruncate */ + { compat6(AS(freebsd6_lseek_args),lseek), AUE_LSEEK, NULL, 0, 0 }, /* 199 = old lseek */ + { compat6(AS(freebsd6_truncate_args),truncate), AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = old truncate */ + { compat6(AS(freebsd6_ftruncate_args),ftruncate), AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = old ftruncate */ { AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0 }, /* 202 = __sysctl */ { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0 }, /* 203 = mlock */ { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0 }, /* 204 = munlock */ @@ -504,10 +510,10 @@ { AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0 }, /* 472 = sctp_generic_sendmsg */ { AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0 }, /* 473 = sctp_generic_sendmsg_iov */ { AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0 }, /* 474 = sctp_generic_recvmsg */ - { AS(_new_pread_args), (sy_call_t *)_new_pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = _new_pread */ - { AS(_new_pwrite_args), (sy_call_t *)_new_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = _new_pwrite */ - { AS(_new_mmap_args), (sy_call_t *)_new_mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = _new_mmap */ - { AS(_new_lseek_args), (sy_call_t *)_new_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = _new_lseek */ - { AS(_new_truncate_args), (sy_call_t *)_new_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = _new_truncate */ - { AS(_new_ftruncate_args), (sy_call_t *)_new_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = _new_ftruncate */ + { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = pread */ + { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = pwrite */ + { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = mmap */ + { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = lseek */ + { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */ + { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */ }; ==== //depot/projects/hammer/sys/kern/makesyscalls.sh#9 (text+ko) ==== @@ -430,10 +430,16 @@ align_sysent_comment(8 + 9 + \ length(argssize) + 1 + length(funcname) + length(auditev) + 4) printf("/* %d = old %s */\n", syscall, funcalias) > sysent - printf("\t\"old.%s\",\t\t/* %d = old %s */\n", - funcalias, syscall, funcalias) > sysnames - printf("\t\t\t\t/* %d is old %s */\n", - syscall, funcalias) > syshdr + printf("\t\"%s.%s\",\t\t/* %d = old %s */\n", + wrap, funcalias, syscall, funcalias) > sysnames + if ($3 == "COMPAT" || $3 == "CPT_NOA") { + printf("\t\t\t\t/* %d is old %s */\n", + syscall, funcalias) > syshdr + } else { + printf("#define\t%s%s%s\t%d\n", syscallprefix, + prefix, funcalias, syscall) > syshdr + printf(" \\\n\t%s%s.o", prefix, funcalias) > sysmk + } syscall++ next } ==== //depot/projects/hammer/sys/kern/syscalls.c#58 (text+ko) ==== @@ -15,7 +15,7 @@ "open", /* 5 = open */ "close", /* 6 = close */ "wait4", /* 7 = wait4 */ - "old.creat", /* 8 = old creat */ + "compat.creat", /* 8 = old creat */ "link", /* 9 = link */ "unlink", /* 10 = unlink */ "obs_execv", /* 11 = obsolete execv */ @@ -25,8 +25,8 @@ "chmod", /* 15 = chmod */ "chown", /* 16 = chown */ "break", /* 17 = break */ - "old.getfsstat", /* 18 = old getfsstat */ - "old.lseek", /* 19 = old lseek */ + "compat4.getfsstat", /* 18 = old getfsstat */ + "compat.lseek", /* 19 = old lseek */ "getpid", /* 20 = getpid */ "mount", /* 21 = mount */ "unmount", /* 22 = unmount */ @@ -45,21 +45,21 @@ "fchflags", /* 35 = fchflags */ "sync", /* 36 = sync */ "kill", /* 37 = kill */ - "old.stat", /* 38 = old stat */ + "compat.stat", /* 38 = old stat */ "getppid", /* 39 = getppid */ - "old.lstat", /* 40 = old lstat */ + "compat.lstat", /* 40 = old lstat */ "dup", /* 41 = dup */ "pipe", /* 42 = pipe */ "getegid", /* 43 = getegid */ "profil", /* 44 = profil */ "ktrace", /* 45 = ktrace */ - "old.sigaction", /* 46 = old sigaction */ + "compat.sigaction", /* 46 = old sigaction */ "getgid", /* 47 = getgid */ - "old.sigprocmask", /* 48 = old sigprocmask */ + "compat.sigprocmask", /* 48 = old sigprocmask */ "getlogin", /* 49 = getlogin */ "setlogin", /* 50 = setlogin */ "acct", /* 51 = acct */ - "old.sigpending", /* 52 = old sigpending */ + "compat.sigpending", /* 52 = old sigpending */ "sigaltstack", /* 53 = sigaltstack */ "ioctl", /* 54 = ioctl */ "reboot", /* 55 = reboot */ @@ -69,16 +69,16 @@ "execve", /* 59 = execve */ "umask", /* 60 = umask */ "chroot", /* 61 = chroot */ - "old.fstat", /* 62 = old fstat */ - "old.getkerninfo", /* 63 = old getkerninfo */ - "old.getpagesize", /* 64 = old getpagesize */ + "compat.fstat", /* 62 = old fstat */ + "compat.getkerninfo", /* 63 = old getkerninfo */ + "compat.getpagesize", /* 64 = old getpagesize */ "msync", /* 65 = msync */ "vfork", /* 66 = vfork */ "obs_vread", /* 67 = obsolete vread */ "obs_vwrite", /* 68 = obsolete vwrite */ "sbrk", /* 69 = sbrk */ "sstk", /* 70 = sstk */ - "old.mmap", /* 71 = old mmap */ + "compat.mmap", /* 71 = old mmap */ "vadvise", /* 72 = vadvise */ "munmap", /* 73 = munmap */ "mprotect", /* 74 = mprotect */ @@ -91,11 +91,11 @@ "getpgrp", /* 81 = getpgrp */ "setpgid", /* 82 = setpgid */ "setitimer", /* 83 = setitimer */ - "old.wait", /* 84 = old wait */ + "compat.wait", /* 84 = old wait */ "swapon", /* 85 = swapon */ "getitimer", /* 86 = getitimer */ - "old.gethostname", /* 87 = old gethostname */ - "old.sethostname", /* 88 = old sethostname */ + "compat.gethostname", /* 87 = old gethostname */ + "compat.sethostname", /* 88 = old sethostname */ "getdtablesize", /* 89 = getdtablesize */ "dup2", /* 90 = dup2 */ "#91", /* 91 = getdopt */ @@ -106,22 +106,22 @@ "setpriority", /* 96 = setpriority */ "socket", /* 97 = socket */ "connect", /* 98 = connect */ - "old.accept", /* 99 = old accept */ + "compat.accept", /* 99 = old accept */ "getpriority", /* 100 = getpriority */ - "old.send", /* 101 = old send */ - "old.recv", /* 102 = old recv */ - "old.sigreturn", /* 103 = old sigreturn */ + "compat.send", /* 101 = old send */ + "compat.recv", /* 102 = old recv */ + "compat.sigreturn", /* 103 = old sigreturn */ "bind", /* 104 = bind */ "setsockopt", /* 105 = setsockopt */ "listen", /* 106 = listen */ "obs_vtimes", /* 107 = obsolete vtimes */ - "old.sigvec", /* 108 = old sigvec */ - "old.sigblock", /* 109 = old sigblock */ - "old.sigsetmask", /* 110 = old sigsetmask */ - "old.sigsuspend", /* 111 = old sigsuspend */ - "old.sigstack", /* 112 = old sigstack */ - "old.recvmsg", /* 113 = old recvmsg */ - "old.sendmsg", /* 114 = old sendmsg */ + "compat.sigvec", /* 108 = old sigvec */ + "compat.sigblock", /* 109 = old sigblock */ + "compat.sigsetmask", /* 110 = old sigsetmask */ + "compat.sigsuspend", /* 111 = old sigsuspend */ + "compat.sigstack", /* 112 = old sigstack */ + "compat.recvmsg", /* 113 = old recvmsg */ + "compat.sendmsg", /* 114 = old sendmsg */ "obs_vtrace", /* 115 = obsolete vtrace */ "gettimeofday", /* 116 = gettimeofday */ "getrusage", /* 117 = getrusage */ @@ -132,12 +132,12 @@ "settimeofday", /* 122 = settimeofday */ "fchown", /* 123 = fchown */ "fchmod", /* 124 = fchmod */ - "old.recvfrom", /* 125 = old recvfrom */ + "compat.recvfrom", /* 125 = old recvfrom */ "setreuid", /* 126 = setreuid */ "setregid", /* 127 = setregid */ "rename", /* 128 = rename */ - "old.truncate", /* 129 = old truncate */ - "old.ftruncate", /* 130 = old ftruncate */ + "compat.truncate", /* 129 = old truncate */ + "compat.ftruncate", /* 130 = old ftruncate */ "flock", /* 131 = flock */ "mkfifo", /* 132 = mkfifo */ "sendto", /* 133 = sendto */ @@ -148,24 +148,24 @@ "utimes", /* 138 = utimes */ "obs_4.2", /* 139 = obsolete 4.2 sigreturn */ "adjtime", /* 140 = adjtime */ - "old.getpeername", /* 141 = old getpeername */ - "old.gethostid", /* 142 = old gethostid */ - "old.sethostid", /* 143 = old sethostid */ - "old.getrlimit", /* 144 = old getrlimit */ - "old.setrlimit", /* 145 = old setrlimit */ - "old.killpg", /* 146 = old killpg */ + "compat.getpeername", /* 141 = old getpeername */ + "compat.gethostid", /* 142 = old gethostid */ + "compat.sethostid", /* 143 = old sethostid */ + "compat.getrlimit", /* 144 = old getrlimit */ + "compat.setrlimit", /* 145 = old setrlimit */ + "compat.killpg", /* 146 = old killpg */ "setsid", /* 147 = setsid */ "quotactl", /* 148 = quotactl */ - "old.quota", /* 149 = old quota */ - "old.getsockname", /* 150 = old getsockname */ + "compat.quota", /* 149 = old quota */ + "compat.getsockname", /* 150 = old getsockname */ "#151", /* 151 = sem_lock */ "#152", /* 152 = sem_wakeup */ "#153", /* 153 = asyncdaemon */ "#154", /* 154 = nosys */ "nfssvc", /* 155 = nfssvc */ - "old.getdirentries", /* 156 = old getdirentries */ - "old.statfs", /* 157 = old statfs */ - "old.fstatfs", /* 158 = old fstatfs */ + "compat.getdirentries", /* 156 = old getdirentries */ + "compat4.statfs", /* 157 = old statfs */ + "compat4.fstatfs", /* 158 = old fstatfs */ "#159", /* 159 = nosys */ "lgetfh", /* 160 = lgetfh */ "getfh", /* 161 = getfh */ @@ -180,8 +180,8 @@ "msgsys", /* 170 = msgsys */ "shmsys", /* 171 = shmsys */ "#172", /* 172 = nosys */ - "pread", /* 173 = pread */ - "pwrite", /* 174 = pwrite */ + "compat6.pread", /* 173 = old pread */ + "compat6.pwrite", /* 174 = old pwrite */ "#175", /* 175 = nosys */ "ntp_adjtime", /* 176 = ntp_adjtime */ "#177", /* 177 = sfork */ @@ -204,11 +204,11 @@ "getrlimit", /* 194 = getrlimit */ "setrlimit", /* 195 = setrlimit */ "getdirentries", /* 196 = getdirentries */ - "mmap", /* 197 = mmap */ + "compat6.mmap", /* 197 = old mmap */ "__syscall", /* 198 = __syscall */ - "lseek", /* 199 = lseek */ - "truncate", /* 200 = truncate */ - "ftruncate", /* 201 = ftruncate */ + "compat6.lseek", /* 199 = old lseek */ + "compat6.truncate", /* 200 = old truncate */ + "compat6.ftruncate", /* 201 = old ftruncate */ "__sysctl", /* 202 = __sysctl */ "mlock", /* 203 = mlock */ "munlock", /* 204 = munlock */ @@ -304,7 +304,7 @@ "#294", /* 294 = nosys */ "#295", /* 295 = nosys */ "#296", /* 296 = nosys */ - "old.fhstatfs", /* 297 = old fhstatfs */ + "compat4.fhstatfs", /* 297 = old fhstatfs */ "fhopen", /* 298 = fhopen */ "fhstat", /* 299 = fhstat */ "modnext", /* 300 = modnext */ @@ -343,15 +343,15 @@ "sched_get_priority_min", /* 333 = sched_get_priority_min */ "sched_rr_get_interval", /* 334 = sched_rr_get_interval */ "utrace", /* 335 = utrace */ - "old.sendfile", /* 336 = old sendfile */ + "compat4.sendfile", /* 336 = old sendfile */ "kldsym", /* 337 = kldsym */ "jail", /* 338 = jail */ "#339", /* 339 = pioctl */ "sigprocmask", /* 340 = sigprocmask */ "sigsuspend", /* 341 = sigsuspend */ - "old.sigaction", /* 342 = old sigaction */ + "compat4.sigaction", /* 342 = old sigaction */ "sigpending", /* 343 = sigpending */ - "old.sigreturn", /* 344 = old sigreturn */ + "compat4.sigreturn", /* 344 = old sigreturn */ "sigtimedwait", /* 345 = sigtimedwait */ "sigwaitinfo", /* 346 = sigwaitinfo */ "__acl_get_file", /* 347 = __acl_get_file */ @@ -482,10 +482,10 @@ "sctp_generic_sendmsg", /* 472 = sctp_generic_sendmsg */ "sctp_generic_sendmsg_iov", /* 473 = sctp_generic_sendmsg_iov */ "sctp_generic_recvmsg", /* 474 = sctp_generic_recvmsg */ - "_new_pread", /* 475 = _new_pread */ - "_new_pwrite", /* 476 = _new_pwrite */ - "_new_mmap", /* 477 = _new_mmap */ - "_new_lseek", /* 478 = _new_lseek */ - "_new_truncate", /* 479 = _new_truncate */ - "_new_ftruncate", /* 480 = _new_ftruncate */ + "pread", /* 475 = pread */ + "pwrite", /* 476 = pwrite */ + "mmap", /* 477 = mmap */ + "lseek", /* 478 = lseek */ + "truncate", /* 479 = truncate */ + "ftruncate", /* 480 = ftruncate */ }; ==== //depot/projects/hammer/sys/kern/syscalls.master#59 (text+ko) ==== @@ -334,9 +334,9 @@ int a4); } ; XXX should be { int shmsys(int which, ...); } 172 AUE_NULL UNIMPL nosys -173 AUE_PREAD STD { ssize_t pread(int fd, void *buf, \ +173 AUE_PREAD COMPAT6 { ssize_t pread(int fd, void *buf, \ size_t nbyte, int pad, off_t offset); } -174 AUE_PWRITE STD { ssize_t pwrite(int fd, const void *buf, \ +174 AUE_PWRITE COMPAT6 { ssize_t pwrite(int fd, const void *buf, \ size_t nbyte, int pad, off_t offset); } 175 AUE_NULL UNIMPL nosys 176 AUE_NTP_ADJTIME STD { int ntp_adjtime(struct timex *tp); } @@ -367,16 +367,16 @@ __setrlimit_args int 196 AUE_GETDIRENTRIES STD { int getdirentries(int fd, char *buf, \ u_int count, long *basep); } -197 AUE_MMAP STD { caddr_t mmap(caddr_t addr, size_t len, \ +197 AUE_MMAP COMPAT6 { caddr_t mmap(caddr_t addr, size_t len, \ int prot, int flags, int fd, int pad, \ off_t pos); } 198 AUE_NULL STD { int nosys(void); } __syscall \ __syscall_args int -199 AUE_LSEEK STD { off_t lseek(int fd, int pad, off_t offset, \ +199 AUE_LSEEK COMPAT6 { off_t lseek(int fd, int pad, off_t offset, \ int whence); } -200 AUE_TRUNCATE STD { int truncate(char *path, int pad, \ +200 AUE_TRUNCATE COMPAT6 { int truncate(char *path, int pad, \ off_t length); } -201 AUE_FTRUNCATE STD { int ftruncate(int fd, int pad, \ +201 AUE_FTRUNCATE COMPAT6 { int ftruncate(int fd, int pad, \ off_t length); } 202 AUE_SYSCTL STD { int __sysctl(int *name, u_int namelen, \ void *old, size_t *oldlenp, void *new, \ @@ -838,15 +838,15 @@ 474 AUE_NULL STD { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ struct sockaddr * from, __socklen_t *fromlenaddr, \ struct sctp_sndrcvinfo *sinfo, int *msg_flags); } -475 AUE_PREAD STD { ssize_t _new_pread(int fd, void *buf, \ +475 AUE_PREAD STD { ssize_t pread(int fd, void *buf, \ size_t nbyte, off_t offset); } -476 AUE_PWRITE STD { ssize_t _new_pwrite(int fd, const void *buf, \ +476 AUE_PWRITE STD { ssize_t pwrite(int fd, const void *buf, \ size_t nbyte, off_t offset); } -477 AUE_MMAP STD { caddr_t _new_mmap(caddr_t addr, size_t len, \ +477 AUE_MMAP STD { caddr_t mmap(caddr_t addr, size_t len, \ int prot, int flags, int fd, off_t pos); } -478 AUE_LSEEK STD { off_t _new_lseek(int fd, off_t offset, \ +478 AUE_LSEEK STD { off_t lseek(int fd, off_t offset, \ int whence); } -479 AUE_TRUNCATE STD { int _new_truncate(char *path, off_t length); } -480 AUE_FTRUNCATE STD { int _new_ftruncate(int fd, off_t length); } +479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); } +480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/hammer/sys/kern/systrace_args.c#4 (text+ko) ==== @@ -927,28 +927,6 @@ *n_args = 4; break; } - /* pread */ - case 173: { - struct pread_args *p = params; - iarg[0] = p->fd; /* int */ - uarg[1] = (intptr_t) p->buf; /* void * */ - uarg[2] = p->nbyte; /* size_t */ - iarg[3] = p->pad; /* int */ - iarg[4] = p->offset; /* off_t */ - *n_args = 5; - break; - } - /* pwrite */ - case 174: { - struct pwrite_args *p = params; - iarg[0] = p->fd; /* int */ - uarg[1] = (intptr_t) p->buf; /* const void * */ - uarg[2] = p->nbyte; /* size_t */ - iarg[3] = p->pad; /* int */ - iarg[4] = p->offset; /* off_t */ - *n_args = 5; - break; - } /* ntp_adjtime */ case 176: { struct ntp_adjtime_args *p = params; @@ -1043,52 +1021,11 @@ *n_args = 4; break; } - /* mmap */ - case 197: { - struct mmap_args *p = params; - uarg[0] = (intptr_t) p->addr; /* caddr_t */ - uarg[1] = p->len; /* size_t */ - iarg[2] = p->prot; /* int */ - iarg[3] = p->flags; /* int */ - iarg[4] = p->fd; /* int */ - iarg[5] = p->pad; /* int */ - iarg[6] = p->pos; /* off_t */ - *n_args = 7; - break; - } /* nosys */ case 198: { *n_args = 0; break; } - /* lseek */ - case 199: { - struct lseek_args *p = params; - iarg[0] = p->fd; /* int */ - iarg[1] = p->pad; /* int */ - iarg[2] = p->offset; /* off_t */ - iarg[3] = p->whence; /* int */ - *n_args = 4; - break; - } - /* truncate */ - case 200: { - struct truncate_args *p = params; - uarg[0] = (intptr_t) p->path; /* char * */ - iarg[1] = p->pad; /* int */ - iarg[2] = p->length; /* off_t */ - *n_args = 3; - break; - } - /* ftruncate */ - case 201: { - struct ftruncate_args *p = params; - iarg[0] = p->fd; /* int */ - iarg[1] = p->pad; /* int */ - iarg[2] = p->length; /* off_t */ - *n_args = 3; - break; - } /* __sysctl */ case 202: { struct sysctl_args *p = params; @@ -2832,9 +2769,9 @@ *n_args = 7; break; } - /* _new_pread */ + /* pread */ case 475: { - struct _new_pread_args *p = params; + struct pread_args *p = params; iarg[0] = p->fd; /* int */ uarg[1] = (intptr_t) p->buf; /* void * */ uarg[2] = p->nbyte; /* size_t */ @@ -2842,9 +2779,9 @@ *n_args = 4; break; } - /* _new_pwrite */ + /* pwrite */ case 476: { - struct _new_pwrite_args *p = params; + struct pwrite_args *p = params; iarg[0] = p->fd; /* int */ uarg[1] = (intptr_t) p->buf; /* const void * */ uarg[2] = p->nbyte; /* size_t */ @@ -2852,9 +2789,9 @@ *n_args = 4; break; } - /* _new_mmap */ + /* mmap */ case 477: { - struct _new_mmap_args *p = params; + struct mmap_args *p = params; uarg[0] = (intptr_t) p->addr; /* caddr_t */ uarg[1] = p->len; /* size_t */ iarg[2] = p->prot; /* int */ @@ -2864,26 +2801,26 @@ *n_args = 6; break; } - /* _new_lseek */ + /* lseek */ case 478: { - struct _new_lseek_args *p = params; + struct lseek_args *p = params; iarg[0] = p->fd; /* int */ iarg[1] = p->offset; /* off_t */ iarg[2] = p->whence; /* int */ *n_args = 3; break; } - /* _new_truncate */ + /* truncate */ case 479: { - struct _new_truncate_args *p = params; + struct truncate_args *p = params; uarg[0] = (intptr_t) p->path; /* char * */ iarg[1] = p->length; /* off_t */ *n_args = 2; break; } - /* _new_ftruncate */ + /* ftruncate */ case 480: { - struct _new_ftruncate_args *p = params; + struct ftruncate_args *p = params; iarg[0] = p->fd; /* int */ iarg[1] = p->length; /* off_t */ *n_args = 2; ==== //depot/projects/hammer/sys/sys/syscall.h#57 (text+ko) ==== @@ -24,7 +24,7 @@ #define SYS_chmod 15 #define SYS_chown 16 #define SYS_break 17 - /* 18 is old getfsstat */ +#define SYS_freebsd4_getfsstat 18 /* 19 is old lseek */ #define SYS_getpid 20 #define SYS_mount 21 @@ -156,8 +156,8 @@ /* 150 is old getsockname */ #define SYS_nfssvc 155 /* 156 is old getdirentries */ - /* 157 is old statfs */ - /* 158 is old fstatfs */ +#define SYS_freebsd4_statfs 157 +#define SYS_freebsd4_fstatfs 158 #define SYS_lgetfh 160 #define SYS_getfh 161 #define SYS_getdomainname 162 @@ -168,8 +168,8 @@ #define SYS_semsys 169 #define SYS_msgsys 170 #define SYS_shmsys 171 -#define SYS_pread 173 -#define SYS_pwrite 174 +#define SYS_freebsd6_pread 173 +#define SYS_freebsd6_pwrite 174 #define SYS_ntp_adjtime 176 #define SYS_setgid 181 #define SYS_setegid 182 @@ -182,11 +182,11 @@ #define SYS_getrlimit 194 #define SYS_setrlimit 195 #define SYS_getdirentries 196 -#define SYS_mmap 197 +#define SYS_freebsd6_mmap 197 #define SYS___syscall 198 -#define SYS_lseek 199 -#define SYS_truncate 200 -#define SYS_ftruncate 201 +#define SYS_freebsd6_lseek 199 +#define SYS_freebsd6_truncate 200 +#define SYS_freebsd6_ftruncate 201 #define SYS___sysctl 202 #define SYS_mlock 203 #define SYS_munlock 204 @@ -233,7 +233,7 @@ #define SYS_nlstat 280 #define SYS_preadv 289 #define SYS_pwritev 290 - /* 297 is old fhstatfs */ +#define SYS_freebsd4_fhstatfs 297 #define SYS_fhopen 298 #define SYS_fhstat 299 #define SYS_modnext 300 @@ -272,14 +272,14 @@ #define SYS_sched_get_priority_min 333 #define SYS_sched_rr_get_interval 334 #define SYS_utrace 335 - /* 336 is old sendfile */ +#define SYS_freebsd4_sendfile 336 #define SYS_kldsym 337 #define SYS_jail 338 #define SYS_sigprocmask 340 #define SYS_sigsuspend 341 - /* 342 is old sigaction */ +#define SYS_freebsd4_sigaction 342 #define SYS_sigpending 343 - /* 344 is old sigreturn */ +#define SYS_freebsd4_sigreturn 344 #define SYS_sigtimedwait 345 #define SYS_sigwaitinfo 346 #define SYS___acl_get_file 347 @@ -397,10 +397,10 @@ #define SYS_sctp_generic_sendmsg 472 #define SYS_sctp_generic_sendmsg_iov 473 #define SYS_sctp_generic_recvmsg 474 -#define SYS__new_pread 475 -#define SYS__new_pwrite 476 -#define SYS__new_mmap 477 -#define SYS__new_lseek 478 -#define SYS__new_truncate 479 -#define SYS__new_ftruncate 480 +#define SYS_pread 475 +#define SYS_pwrite 476 +#define SYS_mmap 477 +#define SYS_lseek 478 +#define SYS_truncate 479 +#define SYS_ftruncate 480 #define SYS_MAXSYSCALL 481 ==== //depot/projects/hammer/sys/sys/syscall.mk#57 (text+ko) ==== @@ -19,6 +19,7 @@ chmod.o \ chown.o \ break.o \ + freebsd4_getfsstat.o \ getpid.o \ mount.o \ unmount.o \ @@ -107,6 +108,8 @@ setsid.o \ quotactl.o \ nfssvc.o \ + freebsd4_statfs.o \ + freebsd4_fstatfs.o \ lgetfh.o \ getfh.o \ getdomainname.o \ @@ -117,8 +120,8 @@ semsys.o \ msgsys.o \ shmsys.o \ - pread.o \ - pwrite.o \ + freebsd6_pread.o \ + freebsd6_pwrite.o \ ntp_adjtime.o \ setgid.o \ setegid.o \ @@ -131,11 +134,11 @@ getrlimit.o \ setrlimit.o \ getdirentries.o \ - mmap.o \ + freebsd6_mmap.o \ __syscall.o \ - lseek.o \ - truncate.o \ - ftruncate.o \ + freebsd6_lseek.o \ + freebsd6_truncate.o \ + freebsd6_ftruncate.o \ __sysctl.o \ mlock.o \ munlock.o \ @@ -182,6 +185,7 @@ nlstat.o \ preadv.o \ pwritev.o \ + freebsd4_fhstatfs.o \ fhopen.o \ fhstat.o \ modnext.o \ @@ -217,11 +221,14 @@ sched_get_priority_min.o \ sched_rr_get_interval.o \ utrace.o \ + freebsd4_sendfile.o \ kldsym.o \ jail.o \ sigprocmask.o \ sigsuspend.o \ + freebsd4_sigaction.o \ sigpending.o \ + freebsd4_sigreturn.o \ sigtimedwait.o \ sigwaitinfo.o \ __acl_get_file.o \ @@ -339,9 +346,9 @@ sctp_generic_sendmsg.o \ sctp_generic_sendmsg_iov.o \ sctp_generic_recvmsg.o \ - _new_pread.o \ - _new_pwrite.o \ - _new_mmap.o \ - _new_lseek.o \ - _new_truncate.o \ - _new_ftruncate.o + pread.o \ + pwrite.o \ + mmap.o \ + lseek.o \ + truncate.o \ + ftruncate.o ==== //depot/projects/hammer/sys/sys/sysproto.h#58 (text+ko) ==== @@ -534,20 +534,6 @@ char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)]; char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; }; -struct pread_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; -}; -struct pwrite_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; -}; struct ntp_adjtime_args { char tp_l_[PADL_(struct timex *)]; struct timex * tp; char tp_r_[PADR_(struct timex *)]; }; @@ -594,31 +580,6 @@ char count_l_[PADL_(u_int)]; u_int count; char count_r_[PADR_(u_int)]; char basep_l_[PADL_(long *)]; long * basep; char basep_r_[PADR_(long *)]; }; -struct mmap_args { - char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; - char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)]; -}; -struct lseek_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; - char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; -}; -struct truncate_args { - char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; -}; -struct ftruncate_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; -}; struct sysctl_args { char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)]; char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)]; @@ -1497,19 +1458,19 @@ char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; char msg_flags_l_[PADL_(int *)]; int * msg_flags; char msg_flags_r_[PADR_(int *)]; }; -struct _new_pread_args { +struct pread_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; }; -struct _new_pwrite_args { +struct pwrite_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; }; -struct _new_mmap_args { +struct mmap_args { char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; @@ -1517,16 +1478,16 @@ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)]; }; -struct _new_lseek_args { +struct lseek_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; }; -struct _new_truncate_args { +struct truncate_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; }; -struct _new_ftruncate_args { +struct ftruncate_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; }; @@ -1644,8 +1605,6 @@ int semsys(struct thread *, struct semsys_args *); int msgsys(struct thread *, struct msgsys_args *); int shmsys(struct thread *, struct shmsys_args *); -int pread(struct thread *, struct pread_args *); -int pwrite(struct thread *, struct pwrite_args *); int ntp_adjtime(struct thread *, struct ntp_adjtime_args *); int setgid(struct thread *, struct setgid_args *); int setegid(struct thread *, struct setegid_args *); @@ -1658,10 +1617,6 @@ int getrlimit(struct thread *, struct __getrlimit_args *); int setrlimit(struct thread *, struct __setrlimit_args *); int getdirentries(struct thread *, struct getdirentries_args *); -int mmap(struct thread *, struct mmap_args *); -int lseek(struct thread *, struct lseek_args *); -int truncate(struct thread *, struct truncate_args *); -int ftruncate(struct thread *, struct ftruncate_args *); int __sysctl(struct thread *, struct sysctl_args *); int mlock(struct thread *, struct mlock_args *); int munlock(struct thread *, struct munlock_args *); @@ -1865,12 +1820,12 @@ int sctp_generic_sendmsg(struct thread *, struct sctp_generic_sendmsg_args *); int sctp_generic_sendmsg_iov(struct thread *, struct sctp_generic_sendmsg_iov_args *); int sctp_generic_recvmsg(struct thread *, struct sctp_generic_recvmsg_args *); -int _new_pread(struct thread *, struct _new_pread_args *); -int _new_pwrite(struct thread *, struct _new_pwrite_args *); -int _new_mmap(struct thread *, struct _new_mmap_args *); -int _new_lseek(struct thread *, struct _new_lseek_args *); -int _new_truncate(struct thread *, struct _new_truncate_args *); -int _new_ftruncate(struct thread *, struct _new_ftruncate_args *); +int pread(struct thread *, struct pread_args *); +int pwrite(struct thread *, struct pwrite_args *); +int mmap(struct thread *, struct mmap_args *); +int lseek(struct thread *, struct lseek_args *); +int truncate(struct thread *, struct truncate_args *); +int ftruncate(struct thread *, struct ftruncate_args *); #ifdef COMPAT_43 @@ -2090,6 +2045,57 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +struct freebsd6_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; +}; +struct freebsd6_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; +}; +struct freebsd6_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)]; +}; +struct freebsd6_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd6_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; +}; +struct freebsd6_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; +}; +int freebsd6_pread(struct thread *, struct freebsd6_pread_args *); +int freebsd6_pwrite(struct thread *, struct freebsd6_pwrite_args *); +int freebsd6_mmap(struct thread *, struct freebsd6_mmap_args *); +int freebsd6_lseek(struct thread *, struct freebsd6_lseek_args *); +int freebsd6_truncate(struct thread *, struct freebsd6_truncate_args *); +int freebsd6_ftruncate(struct thread *, struct freebsd6_ftruncate_args *); + +#endif /* COMPAT_FREEBSD6 */ + #define SYS_AUE_syscall AUE_NULL #define SYS_AUE_exit AUE_EXIT #define SYS_AUE_fork AUE_FORK @@ -2204,8 +2210,6 @@ #define SYS_AUE_semsys AUE_SEMSYS #define SYS_AUE_msgsys AUE_MSGSYS #define SYS_AUE_shmsys AUE_SHMSYS -#define SYS_AUE_pread AUE_PREAD -#define SYS_AUE_pwrite AUE_PWRITE #define SYS_AUE_ntp_adjtime AUE_NTP_ADJTIME #define SYS_AUE_setgid AUE_SETGID #define SYS_AUE_setegid AUE_SETEGID @@ -2218,10 +2222,6 @@ #define SYS_AUE_getrlimit AUE_GETRLIMIT #define SYS_AUE_setrlimit AUE_SETRLIMIT #define SYS_AUE_getdirentries AUE_GETDIRENTRIES -#define SYS_AUE_mmap AUE_MMAP -#define SYS_AUE_lseek AUE_LSEEK -#define SYS_AUE_truncate AUE_TRUNCATE -#define SYS_AUE_ftruncate AUE_FTRUNCATE #define SYS_AUE___sysctl AUE_SYSCTL #define SYS_AUE_mlock AUE_MLOCK #define SYS_AUE_munlock AUE_MUNLOCK @@ -2425,12 +2425,12 @@ #define SYS_AUE_sctp_generic_sendmsg AUE_NULL #define SYS_AUE_sctp_generic_sendmsg_iov AUE_NULL #define SYS_AUE_sctp_generic_recvmsg AUE_NULL -#define SYS_AUE__new_pread AUE_PREAD -#define SYS_AUE__new_pwrite AUE_PWRITE -#define SYS_AUE__new_mmap AUE_MMAP -#define SYS_AUE__new_lseek AUE_LSEEK -#define SYS_AUE__new_truncate AUE_TRUNCATE -#define SYS_AUE__new_ftruncate AUE_FTRUNCATE +#define SYS_AUE_pread AUE_PREAD +#define SYS_AUE_pwrite AUE_PWRITE +#define SYS_AUE_mmap AUE_MMAP +#define SYS_AUE_lseek AUE_LSEEK +#define SYS_AUE_truncate AUE_TRUNCATE +#define SYS_AUE_ftruncate AUE_FTRUNCATE #undef PAD_ #undef PADL_ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 08:11:08 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CC4016A51A; Sun, 1 Jul 2007 08:11:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 35F4D16A517 for ; Sun, 1 Jul 2007 08:11:08 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2836F13C465 for ; Sun, 1 Jul 2007 08:11:08 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l618B8JP076376 for ; Sun, 1 Jul 2007 08:11:08 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l618B7gT076373 for perforce@freebsd.org; Sun, 1 Jul 2007 08:11:07 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 08:11:07 GMT Message-Id: <200707010811.l618B7gT076373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122620 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 08:11:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=122620 Change 122620 by peter@peter_overcee on 2007/07/01 08:10:07 multi-include protection. Affected files ... .. //depot/projects/hammer/include/Makefile#64 edit Differences ... ==== //depot/projects/hammer/include/Makefile#64 (text+ko) ==== @@ -99,16 +99,19 @@ PARAMFILE=${.CURDIR}/../sys/sys/param.h; \ . ${.CURDIR}/../sys/conf/newvers.sh; \ echo "$$COPYRIGHT" > osreldate.h; \ - echo "#include " >> osreldate.h echo "#ifdef _KERNEL" >> osreldate.h; \ echo "#error \" cannot be used in the kernel, use \"" >> osreldate.h; \ echo "#else" >> osreldate.h; \ + echo "#ifndef _OSRELDATE_H" >> osreldate.h + echo "#define _OSRELDATE_H" >> osreldate.h + echo "#include " >> osreldate.h echo "#undef __FreeBSD_version" >> osreldate.h; \ echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \ echo "__BEGIN_DECLS" >> osreldate.h echo "extern int getosreldate(void);" >> osreldate.h echo "__END_DECLS" >> osreldate.h - echo "#endif" >> osreldate.h + echo "#endif /* _OSRELDATE_H */" >> osreldate.h + echo "#endif /* _KERNEL */" >> osreldate.h .for i in ${LHDRS} INCSLINKS+= sys/$i ${INCLUDEDIR}/$i From owner-p4-projects@FreeBSD.ORG Sun Jul 1 08:13:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F84016A468; Sun, 1 Jul 2007 08:13:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D67A816A400 for ; Sun, 1 Jul 2007 08:13:11 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C72A113C43E for ; Sun, 1 Jul 2007 08:13:11 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l618DBMZ076591 for ; Sun, 1 Jul 2007 08:13:11 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l618DAPx076588 for perforce@freebsd.org; Sun, 1 Jul 2007 08:13:10 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 08:13:10 GMT Message-Id: <200707010813.l618DAPx076588@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122621 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 08:13:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=122621 Change 122621 by peter@peter_overcee on 2007/07/01 08:12:58 Try things differently. Make direct syscalls by generating internal, hidden, wrapper stubs. When WITHOUT_SYSCALL_COMPAT is defined, the syscalls become first class citizens. Otherwise they become _sys_mmap() etc and are indirect via mmap.c. Affected files ... .. //depot/projects/hammer/lib/libc/amd64/sys/Makefile.inc#8 edit .. //depot/projects/hammer/lib/libc/arm/sys/Makefile.inc#3 edit .. //depot/projects/hammer/lib/libc/i386/sys/Makefile.inc#8 edit .. //depot/projects/hammer/lib/libc/ia64/sys/Makefile.inc#3 edit .. //depot/projects/hammer/lib/libc/include/libc_private.h#14 edit .. //depot/projects/hammer/lib/libc/powerpc/sys/Makefile.inc#3 edit .. //depot/projects/hammer/lib/libc/sparc64/sys/Makefile.inc#7 edit .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#27 edit .. //depot/projects/hammer/lib/libc/sys/ftruncate.c#7 edit .. //depot/projects/hammer/lib/libc/sys/lseek.c#7 edit .. //depot/projects/hammer/lib/libc/sys/mmap.c#8 edit .. //depot/projects/hammer/lib/libc/sys/pread.c#7 edit .. //depot/projects/hammer/lib/libc/sys/pwrite.c#7 edit .. //depot/projects/hammer/lib/libc/sys/truncate.c#7 edit Differences ... ==== //depot/projects/hammer/lib/libc/amd64/sys/Makefile.inc#8 (text+ko) ==== @@ -7,8 +7,10 @@ reboot.S sbrk.S setlogin.S sigreturn.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o vfork.o yield.o PSEUDO= _getlogin.o _exit.o +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif ==== //depot/projects/hammer/lib/libc/arm/sys/Makefile.inc#3 (text+ko) ==== @@ -3,7 +3,10 @@ MDASM= Ovfork.S brk.S cerror.S pipe.S ptrace.S sbrk.S shmat.S sigreturn.S syscall.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o vfork.o yield.o + PSEUDO= _exit.o _getlogin.o +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif ==== //depot/projects/hammer/lib/libc/i386/sys/Makefile.inc#8 (text+ko) ==== @@ -12,11 +12,13 @@ reboot.S sbrk.S setlogin.S sigreturn.S syscall.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o vfork.o yield.o PSEUDO= _getlogin.o _exit.o +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif MAN+= i386_get_ioperm.2 i386_get_ldt.2 i386_vm86.2 MAN+= i386_set_watch.3 ==== //depot/projects/hammer/lib/libc/ia64/sys/Makefile.inc#3 (text+ko) ==== @@ -4,8 +4,10 @@ sbrk.S setlogin.S sigreturn.S swapcontext.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o vfork.o yield.o PSEUDO= _getlogin.o _exit.o +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif ==== //depot/projects/hammer/lib/libc/include/libc_private.h#14 (text+ko) ==== @@ -176,11 +176,20 @@ */ extern int __getosreldate(void); #include -extern __off_t __new_lseek(int, __off_t, int); -extern int __new_ftruncate(int, __off_t); -extern int __new_truncate(const char *, __off_t); -extern __ssize_t __new_pread(int, void *, __size_t, __off_t); -extern __ssize_t __new_pwrite(int, void *, __size_t, __off_t); -extern void * __new_mmap(void *, __size_t, int, int, int, __off_t); +/* Without pad */ +extern __off_t __sys_lseek(int, __off_t, int); +extern int __sys_ftruncate(int, __off_t); +extern int __sys_truncate(const char *, __off_t); +extern __ssize_t __sys_pread(int, void *, __size_t, __off_t); +extern __ssize_t __sys_pwrite(int, const void *, __size_t, __off_t); +extern void * __sys_mmap(void *, __size_t, int, int, int, __off_t); + +/* With pad */ +extern __off_t __sys_freebsd6_lseek(int, int, __off_t, int); +extern int __sys_freebsd6_ftruncate(int, int, __off_t); +extern int __sys_freebsd6_truncate(const char *, int, __off_t); +extern __ssize_t __sys_freebsd6_pread(int, void *, __size_t, int, __off_t); +extern __ssize_t __sys_freebsd6_pwrite(int, const void *, __size_t, int, __off_t); +extern void * __sys_freebsd6_mmap(void *, __size_t, int, int, int, int, __off_t); #endif /* _LIBC_PRIVATE_H_ */ ==== //depot/projects/hammer/lib/libc/powerpc/sys/Makefile.inc#3 (text+ko) ==== @@ -3,9 +3,10 @@ MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o yield.o PSEUDO= _getlogin.o _exit.o - +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif ==== //depot/projects/hammer/lib/libc/sparc64/sys/Makefile.inc#7 (text+ko) ==== @@ -18,9 +18,10 @@ MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S # Don't generate default code for these syscalls: -NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ - lseek.o mmap.o openbsd_poll.o pread.o \ - pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o +NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \ + setdomainname.o sstk.o uname.o yield.o PSEUDO= _getlogin.o _exit.o - +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif ==== //depot/projects/hammer/lib/libc/sys/Makefile.inc#27 (text+ko) ==== @@ -18,8 +18,10 @@ .endif # Sources common to both syscall interfaces: -SRCS+= ftruncate.c lseek.c mmap.c pread.c pwrite.c stack_protector.c \ - truncate.c __error.c +SRCS+= stack_protector.c __error.c +.if !defined(WITHOUT_SYSCALL_COMPAT) +SRCS+= ftruncate.c lseek.c mmap.c pread.c pwrite.c truncate.c +.endif # Add machine dependent asm sources: SRCS+=${MDASM} ==== //depot/projects/hammer/lib/libc/sys/ftruncate.c#7 (text+ko) ==== @@ -49,7 +49,7 @@ { if (__getosreldate() >= 700049) - return(_new_ftruncate(fd, length)); + return(__sys_ftruncate(fd, length)); else - return(__syscall((quad_t)SYS_ftruncate, fd, 0, length)); + return(__sys_freebsd6_ftruncate(fd, 0, length)); } ==== //depot/projects/hammer/lib/libc/sys/lseek.c#7 (text+ko) ==== @@ -50,7 +50,7 @@ { if (__getosreldate() >= 700049) - return(_new_lseek(fd, offset, whence)); + return(__sys_lseek(fd, offset, whence)); else - return(__syscall((quad_t)SYS_lseek, fd, 0, offset, whence)); + return(__sys_freebsd6_lseek(fd, 0, offset, whence)); } ==== //depot/projects/hammer/lib/libc/sys/mmap.c#8 (text+ko) ==== @@ -54,9 +54,8 @@ { if (__getosreldate() >= 700049) - return (_new_mmap(addr, len, prot, flags, fd, offset)); + return (__sys_mmap(addr, len, prot, flags, fd, offset)); else - return ((void *)(intptr_t)__syscall((quad_t)SYS_mmap, addr, len, prot, - flags, fd, 0, offset)); + return (__sys_freebsd6_mmap(addr, len, prot, flags, fd, 0, offset)); } ==== //depot/projects/hammer/lib/libc/sys/pread.c#7 (text+ko) ==== @@ -51,7 +51,7 @@ { if (__getosreldate() >= 700049) - return (_new_pread(fd, buf, nbyte, offset)); + return (__sys_pread(fd, buf, nbyte, offset)); else - return ((ssize_t)__syscall((quad_t)SYS_pread, fd, buf, nbyte, 0, offset)); + return (__sys_freebsd6_pread(fd, buf, nbyte, 0, offset)); } ==== //depot/projects/hammer/lib/libc/sys/pwrite.c#7 (text+ko) ==== @@ -50,7 +50,7 @@ off_t offset; { if (__getosreldate() >= 700049) - return (_new_pwrite(fd, buf, nbyte, offset)); + return (__sys_pwrite(fd, buf, nbyte, offset)); else - return ((ssize_t)__syscall((quad_t)SYS_pwrite, fd, buf, nbyte, 0, offset)); + return (__sys_freebsd6_pwrite(fd, buf, nbyte, 0, offset)); } ==== //depot/projects/hammer/lib/libc/sys/truncate.c#7 (text+ko) ==== @@ -49,7 +49,7 @@ { if (__getosreldate() >= 700049) - return(_new_truncate(path, length)); + return(__sys_truncate(path, length)); else - return(__syscall((quad_t)SYS_truncate, path, 0, length)); + return(__sys_freebsd6_truncate(path, 0, length)); } From owner-p4-projects@FreeBSD.ORG Sun Jul 1 09:09:27 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABAA316A469; Sun, 1 Jul 2007 09:09:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6062B16A400 for ; Sun, 1 Jul 2007 09:09:27 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 516BE13C45A for ; Sun, 1 Jul 2007 09:09:27 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6199RW9092321 for ; Sun, 1 Jul 2007 09:09:27 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6199R38092318 for perforce@freebsd.org; Sun, 1 Jul 2007 09:09:27 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 09:09:27 GMT Message-Id: <200707010909.l6199R38092318@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122626 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 09:09:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=122626 Change 122626 by peter@peter_overcee on 2007/07/01 09:08:35 Hopefully, un-hose osreldate.h Affected files ... .. //depot/projects/hammer/include/Makefile#65 edit Differences ... ==== //depot/projects/hammer/include/Makefile#65 (text+ko) ==== @@ -102,15 +102,15 @@ echo "#ifdef _KERNEL" >> osreldate.h; \ echo "#error \" cannot be used in the kernel, use \"" >> osreldate.h; \ echo "#else" >> osreldate.h; \ - echo "#ifndef _OSRELDATE_H" >> osreldate.h - echo "#define _OSRELDATE_H" >> osreldate.h - echo "#include " >> osreldate.h + echo "#ifndef _OSRELDATE_H" >> osreldate.h; \ + echo "#define _OSRELDATE_H" >> osreldate.h; \ + echo "#include " >> osreldate.h; \ echo "#undef __FreeBSD_version" >> osreldate.h; \ echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \ - echo "__BEGIN_DECLS" >> osreldate.h - echo "extern int getosreldate(void);" >> osreldate.h - echo "__END_DECLS" >> osreldate.h - echo "#endif /* _OSRELDATE_H */" >> osreldate.h + echo "__BEGIN_DECLS" >> osreldate.h; \ + echo "extern int getosreldate(void);" >> osreldate.h; \ + echo "__END_DECLS" >> osreldate.h; \ + echo "#endif /* _OSRELDATE_H */" >> osreldate.h; \ echo "#endif /* _KERNEL */" >> osreldate.h .for i in ${LHDRS} From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:33:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E56016A469; Sun, 1 Jul 2007 10:33:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4BD4A16A41F for ; Sun, 1 Jul 2007 10:33:18 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3DF1213C4BF for ; Sun, 1 Jul 2007 10:33:18 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61AXIRD099815 for ; Sun, 1 Jul 2007 10:33:18 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AXHF6099812 for perforce@freebsd.org; Sun, 1 Jul 2007 10:33:17 GMT (envelope-from andrew@freebsd.org) Date: Sun, 1 Jul 2007 10:33:17 GMT Message-Id: <200707011033.l61AXHF6099812@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 122630 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:33:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=122630 Change 122630 by andrew@andrew_hermies on 2007/07/01 10:33:17 Add facund_object_get_type to get hte object type from a facund_object Affected files ... .. //depot/projects/soc2007/andrew-update/lib/facund_object.c#5 edit .. //depot/projects/soc2007/andrew-update/lib/facund_object.h#4 edit Differences ... ==== //depot/projects/soc2007/andrew-update/lib/facund_object.c#5 (text+ko) ==== @@ -391,6 +391,12 @@ return obj->obj_error; } +enum facund_type +facund_object_get_type(struct facund_object *obj) +{ + return obj->obj_type; +} + const char * facund_object_xml_string(struct facund_object *obj __unused) { ==== //depot/projects/soc2007/andrew-update/lib/facund_object.h#4 (text+ko) ==== @@ -79,6 +79,7 @@ const char *); enum facund_object_error facund_object_get_error(struct facund_object*); +enum facund_type facund_object_get_type(struct facund_object *); const char *facund_object_xml_string(struct facund_object *); void facund_object_print(struct facund_object *); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:36:23 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CDB1916A473; Sun, 1 Jul 2007 10:36:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8E82716A46E for ; Sun, 1 Jul 2007 10:36:22 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7513E13C465 for ; Sun, 1 Jul 2007 10:36:22 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61AaMjh000152 for ; Sun, 1 Jul 2007 10:36:22 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AaMd8000149 for perforce@freebsd.org; Sun, 1 Jul 2007 10:36:22 GMT (envelope-from andrew@freebsd.org) Date: Sun, 1 Jul 2007 10:36:22 GMT Message-Id: <200707011036.l61AaMd8000149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 122631 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:36:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=122631 Change 122631 by andrew@andrew_hermies on 2007/07/01 10:35:48 Add a stub callback for all valid requests Make the list_updates callback print it's arguments Affected files ... .. //depot/projects/soc2007/andrew-update/backend/facund-be.c#10 edit Differences ... ==== //depot/projects/soc2007/andrew-update/backend/facund-be.c#10 (text+ko) ==== @@ -62,6 +62,16 @@ static struct facund_response *facund_call_ping(const char *, struct facund_object *); +static struct facund_response *facund_call_list_updates(const char *, + struct facund_object *); +static struct facund_response *facund_call_list_installed(const char *, + struct facund_object *); +static struct facund_response *facund_call_install_patches(const char *, + struct facund_object *); +static struct facund_response *facund_call_rollback_patches(const char *, + struct facund_object *); +static struct facund_response *facund_call_restart_services(const char *, + struct facund_object *); /* * Looks for updates on the system with a root of basedir @@ -275,6 +285,63 @@ return resp; } +static struct facund_response * +facund_call_list_updates(const char *id __unused, struct facund_object *obj __unused) +{ + const struct facund_object *cur; + unsigned int pos; + + if (obj == NULL) { + /* TODO: Don't use magic numbers */ + return facund_response_new(id, 1, "No data sent", NULL); + } + + switch (facund_object_get_type(obj)) { + case FACUND_STRING: + facund_object_print(obj); + break; + case FACUND_ARRAY: + for (pos = 0, cur = facund_object_get_array_item(obj, pos); + cur != NULL; pos++) { + facund_object_print(__DECONST(struct facund_object *, cur)); + } + break; + default: + return facund_response_new(id, 1, "Bad data sent", NULL); + break; + } + printf("STUB: %s\n", __func__); + return NULL; +} + +static struct facund_response * +facund_call_list_installed(const char *id __unused, struct facund_object *obj __unused) +{ + printf("STUB: %s\n", __func__); + return NULL; +} + +static struct facund_response * +facund_call_install_patches(const char *id __unused, struct facund_object *obj __unused) +{ + printf("STUB: %s\n", __func__); + return NULL; +} + +static struct facund_response * +facund_call_rollback_patches(const char *id __unused, struct facund_object *obj __unused) +{ + printf("STUB: %s\n", __func__); + return NULL; +} + +static struct facund_response * +facund_call_restart_services(const char *id __unused, struct facund_object *obj __unused) +{ + printf("STUB: %s\n", __func__); + return NULL; +} + int main(int argc __unused, char *argv[] __unused) { @@ -341,6 +408,11 @@ /* Add the callbacks for each call */ facund_server_add_call("ping", facund_call_ping); + facund_server_add_call("list_updates", facund_call_list_updates); + facund_server_add_call("list_installed", facund_call_list_installed); + facund_server_add_call("install_patches", facund_call_install_patches); + facund_server_add_call("rollback_patches",facund_call_rollback_patches); + facund_server_add_call("restart_services",facund_call_restart_services); pthread_create(&update_thread, NULL, look_for_updates, base_dirs); pthread_create(&comms_thread, NULL, do_communication, conn); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:41:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DA8816A421; Sun, 1 Jul 2007 10:41:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4489816A400 for ; Sun, 1 Jul 2007 10:41:29 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 36E5313C44B for ; Sun, 1 Jul 2007 10:41:29 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61AfTgS000606 for ; Sun, 1 Jul 2007 10:41:29 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AfSqJ000594 for perforce@freebsd.org; Sun, 1 Jul 2007 10:41:28 GMT (envelope-from andrew@freebsd.org) Date: Sun, 1 Jul 2007 10:41:28 GMT Message-Id: <200707011041.l61AfSqJ000594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 122632 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:41:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=122632 Change 122632 by andrew@andrew_hermies on 2007/07/01 10:41:23 Start to give the error responses a number based on their type Use the new facund_response_code in facund_response_new Add facund_response_set_id to set the id of the call this response is for Handle the case when the response has no id set Affected files ... .. //depot/projects/soc2007/andrew-update/lib/facund_response.c#2 edit .. //depot/projects/soc2007/andrew-update/lib/facund_response.h#2 edit Differences ... ==== //depot/projects/soc2007/andrew-update/lib/facund_response.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ struct facund_response { char *resp_id; /* The id of the call */ - int resp_code; /* The return code of the response. + facund_response_code resp_code; /* The return code of the response. * 0=good, not 0=bad */ char *resp_msg; /* The error message or NULL * for the default */ @@ -48,8 +48,8 @@ * Creates a new response object to send to the client */ struct facund_response * -facund_response_new(const char *id, int code, const char *message, - struct facund_object *obj) +facund_response_new(const char *id, facund_response_code code, + const char *message, struct facund_object *obj) { struct facund_response *resp; @@ -57,7 +57,9 @@ if (resp == NULL) return NULL; - resp->resp_id = strdup(id); + if (id != NULL) { + resp->resp_id = strdup(id); + } resp->resp_code = code; resp->resp_msg = strdup(message); resp->resp_return = obj; @@ -69,6 +71,16 @@ return resp; } +int +facund_response_set_id(struct facund_response *resp, const char *id) +{ + if (resp == NULL || id == NULL) { + return -1; + } + + return -1; +} + /* * Gets a string to send to the client */ @@ -80,11 +92,22 @@ if (resp->resp_string == NULL) { const char *data; + char *str; data = facund_object_xml_string(resp->resp_return); - asprintf(&resp->resp_string, "%s", resp->resp_id, - resp->resp_code, resp->resp_msg, (data != NULL ? data :"")); + asprintf(&resp->resp_string, "resp_id != NULL) { + str = resp->resp_string; + asprintf(&resp->resp_string, "%s id=\"%s\"", str, + resp->resp_id); + free(str); + } + str = resp->resp_string; + asprintf(&resp->resp_string, "%s code=\"%d\" message=\"%s\">" + "%s", str, resp->resp_code, resp->resp_msg, + (data != NULL ? data :"")); + free(str); } return resp->resp_string; } ==== //depot/projects/soc2007/andrew-update/lib/facund_response.h#2 (text+ko) ==== @@ -28,11 +28,31 @@ #ifndef FACUND_RESPONSE_H #define FACUND_RESPONSE_H +typedef enum _facund_response_code { + RESP_GOOD = 0, + + RESP_UNKNOWN_ELEMENT = 100, /* The element is unknown */ + RESP_WRONG_CHILD_ELEMENT, /* The element can't be here */ + + RESP_UNKNOWN_ATTRIBUTE = 200, + RESP_NO_ATTRIBUTE, + RESP_REPEATED_ATTRIBUTE, + + RESP_UNKNOWN_CALL = 300, /* There is no call with this name */ + + /* These are used in the data elements */ + RESP_EMPTY_VALUE = 400, /* The data had no value */ + RESP_INCORECT_DATA, /* The data has incorrectly + * formatted data */ +} facund_response_code; + struct facund_response; struct facund_object; -struct facund_response *facund_response_new(const char *, int, const char *, - struct facund_object *); +struct facund_response *facund_response_new(const char *, facund_response_code, + const char *, struct facund_object *); +int facund_response_set_id(struct facund_response *, + const char *); const char *facund_response_string(struct facund_response *); void facund_response_free(struct facund_response *); From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:47:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A44016A468; Sun, 1 Jul 2007 10:47:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5473616A41F for ; Sun, 1 Jul 2007 10:47:38 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 46C7713C46E for ; Sun, 1 Jul 2007 10:47:38 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61AlcF0000962 for ; Sun, 1 Jul 2007 10:47:38 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AlcbL000959 for perforce@freebsd.org; Sun, 1 Jul 2007 10:47:38 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 10:47:38 GMT Message-Id: <200707011047.l61AlcbL000959@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122634 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:47:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=122634 Change 122634 by peter@peter_melody on 2007/07/01 10:47:23 Make gcc4.2 happy. I suspect it would be better to just let the unit-at-a-time mode decide what to inline. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#160 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#160 (text+ko) ==== @@ -831,16 +831,23 @@ * Normal, non-SMP, invalidation functions. * We inline these within pmap.c for speed. */ -PMAP_INLINE void -pmap_invalidate_page(pmap_t pmap, vm_offset_t va) +static __inline void +_pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { if (pmap == kernel_pmap || pmap->pm_active) invlpg(va); } +void +pmap_invalidate_page(pmap_t pmap, vm_offset_t va) +{ + + _pmap_invalidate_page(pmap, va); +} +#define pmap_invalidate_page(p, v) _pmap_invalidate_page(p, v) -PMAP_INLINE void -pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +static __inline void +_pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { vm_offset_t addr; @@ -848,21 +855,43 @@ for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); } +void +pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ -PMAP_INLINE void -pmap_invalidate_all(pmap_t pmap) + _pmap_invalidate_range(pmap, sva, eva); +} +#define pmap_invalidate_range(p, s, e) _pmap_invalidate_range(p, s, e) + +static __inline void +_pmap_invalidate_all(pmap_t pmap) { if (pmap == kernel_pmap || pmap->pm_active) invltlb(); } +void +pmap_invalidate_all(pmap_t pmap) +{ + + _pmap_invalidate_all(pmap); +} +#define pmap_invalidate_all(p) _pmap_invalidate_all(p) + -PMAP_INLINE void +static __inline void +_pmap_invalidate_cache(void) +{ + + wbinvd(); +} +void pmap_invalidate_cache(void) { - wbinvd(); + pmap_invalidate_cache(); } +#define pmap_invalidate_cache() _pmap_invalidate_cache() #endif /* !SMP */ /* From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:49:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBA1716A421; Sun, 1 Jul 2007 10:49:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7F83F16A400 for ; Sun, 1 Jul 2007 10:49:41 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 71EA613C45B for ; Sun, 1 Jul 2007 10:49:41 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61Anf0K001060 for ; Sun, 1 Jul 2007 10:49:41 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AnfNf001057 for perforce@freebsd.org; Sun, 1 Jul 2007 10:49:41 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 10:49:41 GMT Message-Id: <200707011049.l61AnfNf001057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122635 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:49:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=122635 Change 122635 by peter@peter_melody on 2007/07/01 10:49:28 Invert wrappers. Affected files ... .. //depot/projects/hammer/sys/kern/sys_generic.c#33 edit .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#70 edit .. //depot/projects/hammer/sys/vm/vm_mmap.c#43 edit Differences ... ==== //depot/projects/hammer/sys/kern/sys_generic.c#33 (text+ko) ==== @@ -142,20 +142,21 @@ return(error); } +#ifdef COMPAT_FREEBSD6 int -_new_pread(td, uap) +freebsd6_pread(td, uap) struct thread *td; - struct _new_pread_args *uap; + struct freebsd6_pread_args *uap; { struct pread_args oargs; oargs.fd = uap->fd; oargs.buf = uap->buf; oargs.nbyte = uap->nbyte; - oargs.pad = 0; oargs.offset = uap->offset; return (pread(td, &oargs)); } +#endif /* * Scatter read system call. @@ -352,20 +353,21 @@ return(error); } +#ifdef COMPAT_FREEBSD6 int -_new_pwrite(td, uap) +freebsd6_pwrite(td, uap) struct thread *td; - struct _new_pwrite_args *uap; + struct freebsd6_pwrite_args *uap; { struct pwrite_args oargs; oargs.fd = uap->fd; oargs.buf = uap->buf; oargs.nbyte = uap->nbyte; - oargs.pad = 0; oargs.offset = uap->offset; return (pwrite(td, &oargs)); } +#endif /* * Gather write system call. ==== //depot/projects/hammer/sys/kern/vfs_syscalls.c#70 (text+ko) ==== @@ -1793,20 +1793,21 @@ } #endif /* COMPAT_43 */ -/* Skip the 'pad' argument */ +#if defined(COMPAT_FREEBSD6) +/* Ignore the 'pad' argument */ int -_new_lseek(td, uap) +freebsd6_lseek(td, uap) struct thread *td; - register struct _new_lseek_args *uap; + register struct freebsd6_lseek_args *uap; { struct lseek_args ouap; ouap.fd = uap->fd; - ouap.pad = 0; ouap.offset = uap->offset; ouap.whence = uap->whence; return (lseek(td, &ouap)); } +#endif /* * Check access permissions using passed credentials. @@ -3238,32 +3239,32 @@ } #endif /* COMPAT_43 */ +#if defined(COMPAT_FREEBSD6) /* Versions without the pad argument */ int -_new_truncate(td, uap) +freebsd6_truncate(td, uap) struct thread *td; - register struct _new_truncate_args *uap; + register struct freebsd6_truncate_args *uap; { struct truncate_args ouap; ouap.path = uap->path; - ouap.pad = 0; ouap.length = uap->length; return (truncate(td, &ouap)); } int -_new_ftruncate(td, uap) +freebsd6_ftruncate(td, uap) struct thread *td; - register struct _new_ftruncate_args *uap; + register struct freebsd6_ftruncate_args *uap; { struct ftruncate_args ouap; ouap.fd = uap->fd; - ouap.pad = 0; ouap.length = uap->length; return (ftruncate(td, &ouap)); } +#endif /* * Sync an open file. ==== //depot/projects/hammer/sys/vm/vm_mmap.c#43 (text+ko) ==== @@ -392,10 +392,11 @@ return (error); } +#ifdef COMPAT_FREEBSD6 int -_new_mmap(td, uap) +freebsd6_mmap(td, uap) struct thread *td; - struct _new_mmap_args *uap; + struct freebsd6_mmap_args *uap; { struct mmap_args oargs; @@ -404,10 +405,10 @@ oargs.prot = uap->prot; oargs.flags = uap->flags; oargs.fd = uap->fd; - oargs.pad = 0; oargs.pos = uap->pos; return (mmap(td, &oargs)); } +#endif #ifdef COMPAT_43 #ifndef _SYS_SYSPROTO_H_ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 10:50:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69B1A16A474; Sun, 1 Jul 2007 10:50:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 47BA416A46F for ; Sun, 1 Jul 2007 10:50:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2B613C487 for ; Sun, 1 Jul 2007 10:50:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61AohWb001230 for ; Sun, 1 Jul 2007 10:50:43 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61AoghD001227 for perforce@freebsd.org; Sun, 1 Jul 2007 10:50:42 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 10:50:42 GMT Message-Id: <200707011050.l61AoghD001227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122636 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 10:50:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=122636 Change 122636 by peter@peter_melody on 2007/07/01 10:49:51 Strip out most hackery. Use the old lseek/mmap hooks for the freebsd6 stuff. Affected files ... .. //depot/projects/hammer/usr.bin/kdump/kdump.c#18 edit Differences ... ==== //depot/projects/hammer/usr.bin/kdump/kdump.c#18 (text+ko) ==== @@ -308,14 +308,10 @@ int narg = ktr->ktr_narg; register_t *ip; - if (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0) { + if (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0) (void)printf("[%d]", ktr->ktr_code); - } else { - if (strncmp(syscallnames[ktr->ktr_code], "_new_", 5) == 0) - (void)printf("%s", syscallnames[ktr->ktr_code] + 5); - else - (void)printf("%s", syscallnames[ktr->ktr_code]); - } + else + (void)printf("%s", syscallnames[ktr->ktr_code]); ip = &ktr->ktr_args[0]; if (narg) { char c = '('; @@ -457,7 +453,7 @@ msyncflagsname((int)*ip); ip++; narg--; - } else if (ktr->ktr_code == SYS_mmap) { + } else if (ktr->ktr_code == SYS_freebsd6_mmap) { print_number(ip,narg,c); print_number(ip,narg,c); (void)putchar(','); @@ -468,7 +464,7 @@ mmapflagsname ((int)*ip); ip++; narg--; - } else if (ktr->ktr_code == SYS__new_mmap) { + } else if (ktr->ktr_code == SYS_mmap) { print_number(ip,narg,c); print_number(ip,narg,c); (void)putchar(','); @@ -540,7 +536,7 @@ sockoptname((int)*ip); ip++; narg--; - } else if (ktr->ktr_code == SYS_lseek) { + } else if (ktr->ktr_code == SYS_freebsd6_lseek) { print_number(ip,narg,c); /* Hidden 'pad' argument, not in lseek(2) */ print_number(ip,narg,c); @@ -549,7 +545,7 @@ whencename ((int)*ip); ip++; narg--; - } else if (ktr->ktr_code == SYS__new_lseek) { + } else if (ktr->ktr_code == SYS_lseek) { print_number(ip,narg,c); /* Hidden 'pad' argument, not in lseek(2) */ print_number(ip,narg,c); @@ -771,14 +767,10 @@ int error = ktr->ktr_error; int code = ktr->ktr_code; - if (code >= nsyscalls || code < 0) { + if (code >= nsyscalls || code < 0) (void)printf("[%d] ", code); - } else { - if (strncmp(syscallnames[code], "_new_", 5) == 0) - (void)printf("%s ", syscallnames[code] + 5); - else - (void)printf("%s ", syscallnames[code]); - } + else + (void)printf("%s ", syscallnames[code]); if (error == 0) { if (fancy) { From owner-p4-projects@FreeBSD.ORG Sun Jul 1 16:00:27 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B378016A46B; Sun, 1 Jul 2007 16:00:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 08F9C16A400 for ; Sun, 1 Jul 2007 16:00:27 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ECE8013C4B0 for ; Sun, 1 Jul 2007 16:00:26 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61G0QEn043101 for ; Sun, 1 Jul 2007 16:00:26 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61G0Qba043098 for perforce@freebsd.org; Sun, 1 Jul 2007 16:00:26 GMT (envelope-from taleks@FreeBSD.org) Date: Sun, 1 Jul 2007 16:00:26 GMT Message-Id: <200707011600.l61G0Qba043098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 122647 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 16:00:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=122647 Change 122647 by taleks@taleks_th on 2007/07/01 16:00:25 Updated sockets pxe_recv()/pxe_send() code - now it distinguish TCP/UDP, moved previously located here code to udp module. Added tcp variants of read/write functions and pxe_push(). Sending data client->server works for small amount of data. Need testing for larger data blocks. There is issue when server breaks connection (client falls to incorrect state in pxe_tcp_disconnect()) Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.h#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_segment.h#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#10 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#9 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#5 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.h#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_udp.c#5 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_udp.h#3 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#3 (text+ko) ==== @@ -154,7 +154,7 @@ pxe_resend_init(connection); - if (!pxe_tcp_send(connection, 0, PXE_TCP_SYN)) { + if (!pxe_tcp_syssend(connection, PXE_TCP_SYN)) { printf("pxe_tcp_connect(): failed to send SYN.\n"); free_connection(connection); return (0); @@ -217,7 +217,7 @@ return (1); } - if (!pxe_tcp_send(connection, 0, PXE_TCP_FIN | PXE_TCP_ACK)) { + if (!pxe_tcp_syssend(connection, PXE_TCP_FIN | PXE_TCP_ACK)) { printf("pxe_tcp_disconnect(): failed to send FIN.\n"); free_connection(connection); return (0); @@ -263,3 +263,165 @@ /* clear connections data */ pxe_memset(tcp_connections, 0, sizeof(tcp_connections)); } + +/* pxe_tcp_write() - transmit data via TCP protocol + * in: + * sock - TCP socket to write to + * data - pointer to data to send + * size_to_send - data size + * out: + * -1 - failed + * >=0 - actual bytes written + */ +int +pxe_tcp_write(PXE_SOCKET *sock, void *data, uint16_t size_to_send) +{ + PXE_TCP_CONNECTION *connection = filter_to_connection(sock->filter); + + if (connection == NULL) { + printf("pxe_tcp_write(): no connection for filter 0x%x (socket: 0x%x).\n", sock->filter, sock); + return (-1); + } + + if (connection->state != PXE_TCP_ESTABLISHED) + return (-1); /* cannot write to not established connection */ + + /* trying current segment */ + PXE_TCP_QUEUED_SEGMENT *segment = connection->segment; + + uint16_t sent_data = 0; + uint16_t bufleft = 0; + uint16_t send_now = 0; + void *segment_data = (void *)(segment + 1); + + while (sent_data < size_to_send) { + + /* have no allocated segment for writing data, try allocate it */ + if (segment == NULL) { + /* allocating new segment */ + segment = tcp_segment_alloc(connection, PXE_SEGMENT_BIG); + + if (segment == NULL) { + printf("pxe_tcp_write(): failed to allocate segment.\n"); + return (sent_data == 0) ? (-1) : sent_data; + } + + connection->segment = segment; + segment_data = (void *)(segment + 1); + + tcp_start_segment(connection, segment, PXE_SEGMENT_OPTS_NO); + } + + /* calculating free space in segment packet */ + bufleft = connection->chunk_size * PXE_TCP_CHUNK_COUNT; + bufleft -= sizeof(PXE_TCP_QUEUED_SEGMENT) - segment->size; + /* how much left to send */ + send_now = size_to_send - sent_data; + + if (send_now < bufleft) { + /* copy data to segment space, actually there is no send, till + * segment is fully filled or called pxe_tcp_push() + */ + pxe_memcpy(data + sent_data, segment_data + segment->size, send_now); + segment->size += send_now; + sent_data += send_now; + + return (sent_data); + } + + /* if we got here, then we need to finish current segment and alloc new segment */ + + pxe_memcpy(data + sent_data, segment_data + segment->size, bufleft); + segment->size += bufleft; + sent_data += bufleft; + + /* finish segment */ + tcp_finish_segment(connection, segment, PXE_TCP_ACK); + + segment->resend_at = pxe_get_secs() + PXE_RESEND_TIME; + + if (!pxe_tcp_send_segment(connection, segment)) { + printf("pxe_tcp_write(): failed to send segment.\n"); + /* this segment will be resent later, so continue normal processing */ + } + + segment = NULL; + connection->segment = NULL; + } + + return (sent_data); +} + +/* pxe_tcp_read() - wrapper to read data from TCP socket + * in: + * sock - TCP socket to read from + * data - buffer to read data + * size_to_read - buffer size + * out: + * -1 - failed + * >=0 - actual bytes read + */ +int +pxe_tcp_read(PXE_SOCKET *sock, void *data, uint16_t size_to_read) +{ + PXE_TCP_CONNECTION *connection = filter_to_connection(sock->filter); + + if (connection == NULL) { + printf("pxe_tcp_read(): no connection for filter 0x%x (socket: 0x%x).\n", sock->filter, sock); + return (-1); + } + + PXE_BUFFER *recv_buffer = connection->recv; + + if ( (connection->state != PXE_TCP_ESTABLISHED) && + (recv_buffer->bufleft == recv_buffer->bufsize) ) + { + return (-1); /* connection closed and no data in buffer */ + } + + + return (pxe_buffer_read(recv_buffer, data, size_to_read)); +} + +/* pxe_tcp_push() - flushes send buffer (actually current send segment) + * in: + * sock - TCP socket to flush + * out: + * 0 - failed + * 1 - success + */ +int +pxe_tcp_push(PXE_SOCKET *sock) +{ + PXE_TCP_CONNECTION *connection = filter_to_connection(sock->filter); + + if (connection == NULL) { + printf("pxe_tcp_push(): no connection for filter 0x%x (socket: 0x%x).\n", sock->filter, sock); + return (0); + } + + if ( connection->state != PXE_TCP_ESTABLISHED ){ + return (0); /* connection not in established state, ignore available data */ + } + + PXE_TCP_QUEUED_SEGMENT *segment = connection->segment; + + if (segment == NULL) { /* nothing to push */ + return (1); + } + + /* finish segment */ + tcp_finish_segment(connection, segment, PXE_TCP_ACK | PXE_TCP_PSH); + + segment->resend_at = pxe_get_secs() + PXE_RESEND_TIME; + + if (!pxe_tcp_send_segment(connection, segment)) { + printf("pxe_tcp_push(): failed to send segment.\n"); + /* this segment will be resent later, so continue normal processing */ + } + + segment = NULL; + connection->segment = NULL; + + return (1); +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_connection.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ -#ifndef TCP_CONNECTION_INCLUDED -#define TCP_CONNECTION_INCLUDED +#ifndef PXE_CONNECTION_INCLUDED +#define PXE_CONNECTION_INCLUDED #include @@ -11,7 +11,7 @@ #define PXE_TCP_STATE_MASK 0x0f #define PXE_TCP_CLOSED 0x00 /* closed */ -#define PXE_TCP_RESETED 0x0f /* received RST */ +#define PXE_TCP_RESETED 0x0f /* TODO: check if this needed.(received RST) */ #define PXE_TCP_SYN_SENT 0x01 /* active */ #define PXE_TCP_SYN_RECEIVED 0x02 /* sent & received SYN */ @@ -31,7 +31,9 @@ typedef struct pxe_tcp_connecton { uint8_t state; /* current TCP conenction state */ - uint8_t state_out; /* */ + uint8_t state_out; /* show latest acked packet flags (e.g. we sent FIN and it was ACKed, + * here will be PXE_TCP_FIN. Currently used but ACKing not checked. + */ uint32_t next_recv; /* next sequence number to accept */ uint32_t next_send; /* next sequence number to send */ @@ -49,10 +51,16 @@ PXE_BUFFER *send; /* send buffer */ PXE_FILTER_ENTRY* filter; /* filter, associated with connection */ + + /* current segment to fill, NULL - if unknown */ + /* PXE_TCP_QUEUED_SEGMENT *segment; */ + void *segment; /* send buffer usage map */ uint8_t buf_blocks[PXE_TCP_BLOCK_COUNT]; uint16_t chunk_size; /* buffer chunk size */ + + /* TODO: check if two members below needed */ time_t last_sent; /* timestamp of last sending event */ time_t last_recv; /* timestamp of last received event */ } PXE_TCP_CONNECTION; @@ -63,10 +71,19 @@ /* returns associated connection by filter */ PXE_TCP_CONNECTION * filter_to_connection(PXE_FILTER_ENTRY *filter); +/* initates handshaking */ +int pxe_tcp_connect(PXE_SOCKET *sock); + /* initates connection break */ int pxe_tcp_disconnect(PXE_SOCKET* sock); +/* sends user data */ +int pxe_tcp_write(PXE_SOCKET *sock, void *data, uint16_t size); + +/* receives user data */ +int pxe_tcp_read(PXE_SOCKET *sock, void *data, uint16_t size); + /* pushes current segment data */ -int pxe_tcp_push(PXE_SOCKET* sock); +int pxe_tcp_push(PXE_SOCKET *sock); #endif ==== //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#3 (text+ko) ==== @@ -1,11 +1,11 @@ #include #include "pxe_buffer.h" +#include "pxe_segment.h" #include "pxe_connection.h" #include "pxe_conv.h" #include "pxe_core.h" #include "pxe_ip.h" -#include "pxe_segment.h" #include "pxe_tcp.h" @@ -87,7 +87,7 @@ data = buffer->data + PXE_TCP_CHUNK_COUNT * block_index * connection->chunk_size; segment = (PXE_TCP_QUEUED_SEGMENT *)data; - if (allocBig == 0) { /* alloc small packet (alloc chunk) */ + if (allocBig == PXE_SEGMENT_SMALL) { /* alloc small packet (alloc chunk) */ /* checking if block is not fully used */ if (buf_blocks[block_index] < PXE_TCP_BLOCK_USED) { @@ -298,7 +298,7 @@ tcp_packet->tcphdr.sequence = le2be32(connection->next_send); tcp_packet->tcphdr.data_off = sizeof(PXE_TCP_HDR); - if (add_options == 1) { + if (add_options == PXE_SEGMENT_OPTS_DEFAULT) { /* reserving 8 bytes for options */ length += 8; tcp_packet->tcphdr.data_off += 8; @@ -434,7 +434,7 @@ PXE_TCP_PACKET *tcp_packet = (PXE_TCP_PACKET *)(segment + 1); if (!pxe_ip_send(tcp_packet, connection->dst_ip, PXE_TCP_PROTOCOL, segment->size, 1)) { - printf("pxe_tcp_send_send(): failed to send tcp packet to 0x%x\n", connection->dst_ip); + printf("pxe_tcp_send_segment(): failed to send tcp packet to 0x%x\n", connection->dst_ip); return (0); } @@ -524,7 +524,7 @@ printf("pxe_resend_stats(): block %d awaiting %d ack.\n", block_index, segment->seq - connection->iss ); - } - } - } -}+ } /* check exclusive end*/ + } /* check free end */ + } /* cycle end */ +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_segment.h#3 (text+ko) ==== @@ -48,6 +48,8 @@ uint8_t status; /* segment status */ } PXE_TCP_QUEUED_SEGMENT; + + /* checks if need to resend some segments of connection */ void pxe_resend_check(PXE_TCP_CONNECTION *connection); @@ -63,12 +65,16 @@ /* sends chhosed segment to adrressee */ int pxe_tcp_send_segment(PXE_TCP_CONNECTION *connection, PXE_TCP_QUEUED_SEGMENT *segment); +#define PXE_SEGMENT_BIG 1 +#define PXE_SEGMENT_SMALL 0 /* allocates in buffer space segment */ PXE_TCP_QUEUED_SEGMENT * tcp_segment_alloc(PXE_TCP_CONNECTION *connection, int allocBig); /* releases memory used by segment */ void tcp_segment_free(PXE_TCP_CONNECTION *connection, int block_index, PXE_TCP_QUEUED_SEGMENT *segment); +#define PXE_SEGMENT_OPTS_DEFAULT 1 +#define PXE_SEGMENT_OPTS_NO 0 /* fills most of fields of tcp header of segment */ void tcp_start_segment(PXE_TCP_CONNECTION *connection, PXE_TCP_QUEUED_SEGMENT *segment, int add_options); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#10 (text+ko) ==== @@ -323,7 +323,6 @@ PXE_SOCKET *sock = &pxe_sockets[socket]; - if ( sock->state == PXE_SOCKET_BINDED) { /* if socket binded filter must not be NULL, cause pxe_bind() installs filter */ if (sock->filter == NULL) { @@ -331,14 +330,6 @@ return (-1); } - /* NOTE: is really difference? */ - /* if (filter->protocol == PXE_UDP_PROTOCOL) { - - } else { - - } - */ - } else { /* not binded, connect */ /* NOTE: if it's already connected, return error */ @@ -457,38 +448,29 @@ * nonnegative - actual count of bytes sent */ int -pxe_send(int socket, void *buf, size_t buflen) +pxe_send(int socket, void *buf, uint16_t buflen) { - if (buflen + sizeof(PXE_UDP_PACKET) > PXE_DEFAULT_SEND_BUFSIZE) { - printf("pxe_send(): send buffer too small for %d bytes.\n", buflen); + if ( (socket >= PXE_DEFAULT_SOCKETS) || (socket == -1)) { + printf("pxe_recv(): invalid socket %d.\n", socket); return (-1); } - PXE_SOCKET *sock = &pxe_sockets[socket]; - - /* for UDP socket, send buffer used only for one dgram */ - PXE_UDP_PACKET *udp_pack = (PXE_UDP_PACKET *)sock->send_buffer.data; - PXE_FILTER_ENTRY *filter = sock->filter; + PXE_SOCKET *sock = &pxe_sockets[socket]; + PXE_FILTER_ENTRY *filter = sock->filter; + + if (filter->protocol == PXE_UDP_PROTOCOL) { - if (filter == NULL) { /* not connected socket */ - printf("pxe_send(): socket is not connected.\n"); - return (-1); - } + return pxe_udp_write(sock, buf, buflen); + + } else if (filter->protocol == PXE_TCP_PROTOCOL) { - /* copy user data */ - pxe_memcpy(buf, udp_pack + 1, buflen); + return pxe_tcp_write(sock, buf, buflen); + } -#ifdef PXE_DEBUG - printf("pxe_send(): %8x:%d -> %8x:%d, size = %d bytes.\n", pxe_get_ip32(PXE_IP_MY), filter->dst_port, filter->src_ip, filter->src_port, buflen); -#endif + printf("pxe_send(): only TCP and UDP sockets are implemented.\n"); - if (!pxe_udp_send(udp_pack, filter->src_ip, filter->src_port, filter->dst_port, buflen + sizeof(PXE_UDP_PACKET), 1)) { - printf("pxe_send(): failed to send data.\n"); - return (-1); - } - - return (buflen); + return (-1); } /* pxe_recv() - receive data to socket @@ -501,55 +483,28 @@ * nonnegative - actual count of bytes received */ int -pxe_recv(int socket, void *tobuf, size_t buflen) +pxe_recv(int socket, void *tobuf, uint16_t buflen) { - /* common part */ if ( (socket >= PXE_DEFAULT_SOCKETS) || (socket == -1)) { printf("pxe_recv(): invalid socket %d.\n", socket); return (-1); } - PXE_BUFFER *buffer = &pxe_sockets[socket].recv_buffer; - - size_t usage = buffer->bufsize - buffer->bufleft; + PXE_SOCKET *sock = &pxe_sockets[socket]; + PXE_FILTER_ENTRY *filter = sock->filter; - if ( usage == 0 ) { /* nothing received */ -#ifdef PXE_DEBUG - printf("pxe_recv(): nothing to recv for socket %d.\n", socket); -#endif - return (0); - } - -#ifdef PXE_DEBUG - printf("pxe_recv(): usage = %d, buflen = %d.\n", usage, buflen); -#endif - - /* udp related part, need to move it to separate function */ - PXE_UDP_DGRAM udp_dgram; + if (filter->protocol == PXE_UDP_PROTOCOL) { - if (sizeof(PXE_UDP_DGRAM) != pxe_buffer_read(buffer, &udp_dgram, sizeof(PXE_UDP_DGRAM))) { -#ifdef PXE_DEBUG - printf("pxe_udp_sock_recv(): failed to read datagram data.\n"); -#endif - return (0); - } + return pxe_udp_read(sock, tobuf, buflen); + + } else if (filter->protocol == PXE_TCP_PROTOCOL) { - if (udp_dgram.magic != PXE_MAGIC_DGRAM) { /* sanity check failed */ -#ifdef PXE_DEBUG - printf("pxe_udp_sock_recv(): dgram magic failed.\n"); -#endif - return (0); - } + return pxe_tcp_read(sock, tobuf, buflen); + } - uint16_t tocopy = ((uint16_t)buflen < udp_dgram.size) ? (uint16_t)buflen : udp_dgram.size; + printf("pxe_recv(): only TCP and UDP sockets are implemented.\n"); - uint16_t result = pxe_buffer_read(buffer, tobuf, tocopy); - - if (result < udp_dgram.size) { /* free truncated dgram part */ - pxe_buffer_read(buffer, NULL, udp_dgram.size - result); - } - - return ((int)result); + return (-1); } /* pxe_recvfrom() - receive data to socket with information about sender @@ -669,3 +624,35 @@ return (0); } + +/* pxe_push() - flushes send buffers + * in: + * socket - socket descriptor number + * out: + * -1 - failed + * 0 - success + */ +int +pxe_push(int socket) +{ + if ( (socket >= PXE_DEFAULT_SOCKETS) || (socket == -1)) { + printf("pxe_push(): invalid socket %d.\n", socket); + return (-1); + } + + PXE_SOCKET *sock = &pxe_sockets[socket]; + PXE_FILTER_ENTRY *filter = sock->filter; + + if (filter->protocol == PXE_UDP_PROTOCOL) { + /* it's always flushed */ + return (0); + + } else if (filter->protocol == PXE_TCP_PROTOCOL) { + + return (pxe_tcp_push(sock) == 0) ? (-1) : 0; + } + + printf("pxe_push(): only TCP and UDP sockets are implemented.\n"); + + return (-1); +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#9 (text+ko) ==== @@ -76,10 +76,10 @@ /* int pxe_listen_from(int socket, uint8_t proto, uint16_t port, uint32_t src_ip, uint16_t port, int block); */ /* send data to socket, blocking */ -int pxe_send(int socket, void *buf, size_t buflen); +int pxe_send(int socket, void *buf, uint16_t buflen); /* receive data from socket, blocking */ -int pxe_recv(int socket, void *buf, size_t buflen); +int pxe_recv(int socket, void *buf, uint16_t buflen); /* create new socket */ int pxe_socket(); @@ -87,6 +87,9 @@ /* binding */ int pxe_bind(int socket, uint32_t ip, uint16_t port, uint8_t proto); +/* flushes send buffers */ +int pxe_push(int socket); + /* close socket */ int pxe_close(int socket); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#5 (text+ko) ==== @@ -1,6 +1,7 @@ #include #include "pxe_await.h" +#include "pxe_buffer.h" #include "pxe_connection.h" #include "pxe_conv.h" #include "pxe_core.h" @@ -33,6 +34,9 @@ tcp_time_wait, /* PXE_TCP_TIME_WAIT */ }; +static PXE_BUFFER sysbuf; /* used by pxe_tcp_syssend, when connection have no buffers */ +static uint8_t bufdata[PXE_TCP_SYSBUF_SIZE]; /* buffer space for sysbuf */ + /* check_time_to_die() - moves to CLOSED state connections from state * TIME_WAIT if last received packet (ACK for FIN in most cases) * was more than 2*MSL time ago. @@ -82,7 +86,10 @@ connection.next_recv = seq + seglen; /* acking */ connection.next_send = ack; /* next send */ - return pxe_tcp_send(&connection, 0, flags); + connection.chunk_size = PXE_TCP_SYSBUF_SIZE; + connection.buf_blocks[0] = PXE_TCP_BLOCK_FREE; + + return pxe_tcp_syssend(&connection, flags); } /* tcp_is_acceptable() - first check for SYN_RECEIVED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, @@ -150,7 +157,7 @@ return (1); } - pxe_tcp_send(connection, 0, PXE_TCP_ACK); + pxe_tcp_syssend(connection, PXE_TCP_ACK); #ifdef PXE_DEBUG_HELL printf("tcp_check_1(): failed\n"); @@ -241,7 +248,7 @@ #ifdef PXE_DEBUG_HELL printf("tcp_check_5(): acked %d, but nxt_snd = %d. Check failed\n", ack, connection->next_send); #endif - pxe_tcp_send(connection, 0, PXE_TCP_ACK); + pxe_tcp_syssend(connection, PXE_TCP_ACK); return (0); } @@ -304,12 +311,12 @@ #endif */ if (seglen > 0) { - /* write data to buffer */ + /* write data to buffer, always enough space, if packet is acceptable */ void *data = ((void *)tcp_packet) + sizeof(PXE_IP_HDR) + 4 * (tcp_packet->tcphdr.data_off >> 4); pxe_buffer_write(connection->recv, data, seglen); } - pxe_tcp_send(connection, 0, PXE_TCP_ACK); + pxe_tcp_syssend(connection, PXE_TCP_ACK); connection->last_recv = pxe_get_secs(); } @@ -402,7 +409,7 @@ if ((connection->una > connection->iss) || (acceptable == 1) ) { /* acking */ - if (pxe_tcp_send(connection, 0, PXE_TCP_ACK)) { + if (pxe_tcp_syssend(connection, PXE_TCP_ACK)) { #ifdef PXE_DEBUG printf("tcp_syn_sent(): new state - ESTABLISHED\n"); #endif @@ -504,7 +511,7 @@ if (!tcp_check_5(connection, tcp_packet)) { return (0); } else { - /* TODO: move updating of next_send to pxe_tcp_send() */ + /* TODO: move updating of next_send to pxe_tcp_syssend() */ connection->next_send = tcp_packet->tcphdr.ack_next; } @@ -953,45 +960,51 @@ printf("pxe_tcp_init(): started\n"); #endif pxe_connection_init(); + /* registering protocol */ pxe_core_register(PXE_TCP_PROTOCOL, pxe_tcp_callback); + + /* sysbuf init */ + sysbuf.data = &bufdata; + /* not really need, cause not using buffer realted functions */ + sysbuf.bufleft = PXE_TCP_SYSBUF_SIZE; + sysbuf.bufsize = PXE_TCP_SYSBUF_SIZE; + sysbuf.fstart = 0; + sysbuf.fend = PXE_TCP_SYSBUF_SIZE - 1; } -/* pxe_tcp_send() - send system packets via TCP protocol +/* pxe_tcp_syssend() - send system packets via TCP protocol * in: * connection - connection to send to - * size - data size * tcp_flags - one or more PXE_TCP_.. flags * out: * 0 - failed * 1 - success */ int -pxe_tcp_send(PXE_TCP_CONNECTION *connection, uint16_t size, uint8_t tcp_flags) +pxe_tcp_syssend(PXE_TCP_CONNECTION *connection, uint8_t tcp_flags) { - /* allocating smmall segment */ - PXE_TCP_QUEUED_SEGMENT *segment = tcp_segment_alloc(connection, 0); + /* allocating "small" segment */ + PXE_TCP_QUEUED_SEGMENT *segment = tcp_segment_alloc(connection, PXE_SEGMENT_SMALL); if (segment == NULL) { - printf("pxe_tcp_send(): failed to allocate segment.\n"); + printf("pxe_tcp_syssend(): failed to allocate segment.\n"); return (0); } -/* segment->seq = connection->next_send; */ - /* here is simpliest ever in the world way to calculate resend time - * for more reliable resend time calculation need to implement RTT calculating. - */ - - /* add to every system segment default options */ - tcp_start_segment(connection, segment, 1); + tcp_start_segment(connection, segment, PXE_SEGMENT_OPTS_DEFAULT); /* finish segment */ tcp_finish_segment(connection, segment, tcp_flags); + + /* Here is simpliest ever in the world way to calculate resend time. + * For more reliable resend time calculation need to implement RTT calculating. + */ segment->resend_at = pxe_get_secs() + PXE_RESEND_TIME; if (!pxe_tcp_send_segment(connection, segment)) { - printf("pxe_tcp_send(): failed to send segment.\n"); + printf("pxe_tcp_syssend(): failed to send segment.\n"); return (0); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.h#6 (text+ko) ==== @@ -19,6 +19,8 @@ #define PXE_TCP_PROTOCOL 6 /* maximum segment life time in ms */ #define PXE_TCP_MSL 60000 +/* buffer size used for system messages for packets without real connection */ +#define PXE_TCP_SYSBUF_SIZE 64 /* tcp packet flags */ #define PXE_TCP_FIN 0x01 @@ -71,16 +73,7 @@ /* init tcp */ void pxe_tcp_init(); -/* sends data */ -int pxe_tcp_send(PXE_TCP_CONNECTION *connection, uint16_t size, uint8_t tcp_flags); - -/* initates handshaking */ -int pxe_tcp_connect(PXE_SOCKET* sock); - -/* initates connection break */ -int pxe_tcp_disconnect(PXE_SOCKET* sock); - -/* pushes current segment data */ -int pxe_tcp_push(PXE_SOCKET* sock); +/* sends "system" (no user data) segment */ +int pxe_tcp_syssend(PXE_TCP_CONNECTION *connection, uint8_t tcp_flags); #endif // PXE_TCP_H_INCLUDED ==== //depot/projects/soc2007/taleks-pxe_http/pxe_udp.c#5 (text+ko) ==== @@ -52,12 +52,12 @@ if (function == PXE_CORE_FRAG) /* informm, we are interested in whole packet*/ return (1); - uint16_t buf_free = sock->recv_buffer.bufleft; +/* uint16_t buf_free = sock->recv_buffer.bufleft; */ uint16_t data_size = pack->data_size - sizeof(PXE_UDP_PACKET); - if (buf_free < data_size) +/* if (buf_free < data_size) return (0); - +*/ PXE_BUFFER* recv_buffer = &sock->recv_buffer; PXE_UDP_DGRAM udp_dgram; @@ -174,3 +174,88 @@ return (1); } +/* pxe_udp_read() - performs reading from UDP socket + * in: + * sock - UDP socket to read from + * tobuf - buffer, where to read + * buflen - buffer size + * out: + * -1 - failed + * >= 0 - actual bytes were read + */ +int +pxe_udp_read(PXE_SOCKET *sock, void *tobuf, uint16_t buflen) +{ + PXE_UDP_DGRAM udp_dgram; + PXE_BUFFER *buffer = &sock->recv_buffer; + uint16_t usage = buffer->bufsize - buffer->bufleft; + + if (sizeof(PXE_UDP_DGRAM) != pxe_buffer_read(buffer, &udp_dgram, sizeof(PXE_UDP_DGRAM))) { +#ifdef PXE_DEBUG + printf("pxe_udp_read(): failed to read datagram data.\n"); +#endif + return (0); + } + + if (udp_dgram.magic != PXE_MAGIC_DGRAM) { /* sanity check failed */ +#ifdef PXE_DEBUG + printf("pxe_udp_sock_recv(): dgram magic failed.\n"); +#endif + return (0); + } + + uint16_t tocopy = ((uint16_t)buflen < udp_dgram.size) ? (uint16_t)buflen : udp_dgram.size; + uint16_t result = pxe_buffer_read(buffer, tobuf, tocopy); + + if (result < udp_dgram.size) { /* free truncated dgram part */ + pxe_buffer_read(buffer, NULL, udp_dgram.size - result); + } + + return ((int)result); +} + +/* pxe_udp_write() - performs writing to UDP socket + * in: + * sock - UDP socket to write to + * tobuf - buffer with data to write + * buflen - buffer size + * out: + * -1 - failed + * >= 0 - actual bytes were written + */ +int +pxe_udp_write(PXE_SOCKET *sock, void *buf, uint16_t buflen) +{ + + if (buflen + sizeof(PXE_UDP_PACKET) > PXE_DEFAULT_SEND_BUFSIZE) { + printf("pxe_udp_write(): send buffer too small for %d bytes.\n", buflen); + return (-1); + } + + /* for UDP socket, send buffer used only for one dgram */ + PXE_UDP_PACKET *udp_pack = (PXE_UDP_PACKET *)sock->send_buffer.data; + PXE_FILTER_ENTRY *filter = sock->filter; + + if (filter == NULL) { /* not connected socket */ + printf("pxe_udp_write(): socket is not connected.\n"); + return (-1); + } + + /* copy user data */ + pxe_memcpy(buf, udp_pack + 1, buflen); + +#ifdef PXE_DEBUG + printf("pxe_udp_write(): %8x:%d -> %8x:%d, size = %d bytes.\n", + pxe_get_ip32(PXE_IP_MY), filter->dst_port, filter->src_ip, filter->src_port, buflen + ); +#endif + + if (!pxe_udp_send(udp_pack, filter->src_ip, filter->src_port, + filter->dst_port, buflen + sizeof(PXE_UDP_PACKET), 1)) + { + printf("pxe_udp_write(): failed to send data.\n"); + return (-1); + } + + return (buflen); +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_udp.h#3 (text+ko) ==== @@ -22,23 +22,14 @@ uint16_t checksum; /* header, pseudo header and data checksum */ } __packed PXE_UDP_HDR; -/* pseudo header, used in checksum calculation */ -typedef struct pxe_ip4_pseudo_hdr { +typedef struct pxe_udp_packet { - uint32_t src_ip; /* source ip */ - uint32_t dst_ip; /* destination ip */ - uint8_t zero; /* filled by zero */ - uint8_t proto; /* protocol */ - uint16_t length; /* UDP length (header + data) */ -} __packed PXE_IP4_PSEUDO_HDR; - - -typedef struct pxe_udp_packet { PXE_IP_HDR iphdr; PXE_UDP_HDR udphdr; } __packed PXE_UDP_PACKET; #define PXE_MAGIC_DGRAM 0x26101982 + /* structure is used to store datagrams in receive buffer of socket */ typedef struct pxe_udp_dgram { @@ -52,7 +43,9 @@ /* UDP module init */ void pxe_udp_init(); -/* sends ip packet */ +/* sends udp packet */ int pxe_udp_send(void *data, uint32_t dst_ip, uint16_t dst_port, uint16_t src_port, uint16_t size, int flags); +/* */ + #endif // PXE_IP_H_INCLUDED From owner-p4-projects@FreeBSD.ORG Sun Jul 1 16:34:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F344816A542; Sun, 1 Jul 2007 16:34:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C4F5916A538 for ; Sun, 1 Jul 2007 16:34:09 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9B82B13C45E for ; Sun, 1 Jul 2007 16:34:09 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61GY9WB046807 for ; Sun, 1 Jul 2007 16:34:09 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61GY9j9046804 for perforce@freebsd.org; Sun, 1 Jul 2007 16:34:09 GMT (envelope-from ivoras@FreeBSD.org) Date: Sun, 1 Jul 2007 16:34:09 GMT Message-Id: <200707011634.l61GY9j9046804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Cc: Subject: PERFORCE change 122649 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 16:34:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=122649 Change 122649 by ivoras@ivoras_finstall on 2007/07/01 16:33:23 An important milestone: the utility is now perferctly capable of creating a LiveCD with X11 embedded on it. Bugs fixed: order of installing config files and packages New things: start of mtree support infrastructure Affected files ... .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/bundle-spec#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/dot.xinitrc#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/font.local.conf#1 add .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/fstab#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/hosts#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/livecd#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/loader.conf#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/rc.conf#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/xorg.conf#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/makeimage.py#7 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/pkglist#2 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/util.py#5 edit Differences ... ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/bundle-spec#2 (text+ko) ==== @@ -11,3 +11,4 @@ /etc/hosts=hosts;kw;a /etc/fstab=fstab;kw /boot/loader.conf=loader.conf;kw +/usr/local/etc/fonts/local.conf=font.local.conf;kw ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/dot.xinitrc#2 (text+ko) ==== ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/fstab#2 (text+ko) ==== ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/hosts#2 (text+ko) ==== ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/livecd#2 (text+ko) ==== @@ -3,7 +3,7 @@ # REQUIRE: root # KEYWORD: nojail # -/sbin/mount_mfs -s 32m -S -m 3 f 512 -b 4096 md /tmp +/sbin/mount_mfs -s 32m -S -m 3 -f 512 -b 4096 md /tmp /bin/mkdir /tmp/etc /tmp/var /tmp/root /sbin/mount_unionfs -o copymode=transparent /tmp/etc /etc /sbin/mount_unionfs -o copymode=transparent /tmp/var /var ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/loader.conf#2 (text+ko) ==== @@ -1,3 +1,4 @@ # $dest_file$ generated by finstall makeimage.py on $date$ $time$ rootdev="iso9660/$label$" boot_cdrom="1" +ipfw_load="YES" ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/rc.conf#2 (text+ko) ==== @@ -5,3 +5,4 @@ syslogd_flags="-C" usbd_enable="YES" moused_enable="YES" +sendmail_enable="NONE" ==== //depot/projects/soc2007/ivoras_finstall/makeimage/bundles/xorg.conf#2 (text+ko) ==== ==== //depot/projects/soc2007/ivoras_finstall/makeimage/makeimage.py#7 (text+ko) ==== @@ -71,6 +71,7 @@ BUNDLEFILE = "bundle-spec" PKGLISTFILE = None ISO = None +STARTDIR = os.path.realpath(".") opts, args = getopt(sys.argv[1:], "d:s:i:p:bch") for o,a in opts: @@ -137,6 +138,9 @@ execute("make distribution DESTDIR=%s" % DESTDIR) execute("make installkernel KERNCONF=%s DESTDIR=%s" % (KERNEL, DESTDIR)) execute("rm %s/boot/kernel/*.symbols" % DESTDIR) + os.chdir(DESTDIR) + execute("mtree -c > livecd.mtree") + os.chdir(STARTDIR) else: if not os.path.exists(DESTDIR) or not os.path.exists("%s/COPYRIGHT" % DESTDIR): print "%s doesn't look like existing livecd root" % DESTDIR @@ -145,8 +149,57 @@ str_time = strftime("%H:%M") str_date = strftime("%Y-%m-%d") +if PKGLISTFILE != None: + # Install packages into the liveCD tree, using chroot + printmsg("Bundling packages") + master_pkglist = [] + f = file(PKGLISTFILE, "r") + for line in f.readlines(): + line = line.strip() + if len(line) == 0: + continue + if line[0] == "#": + continue + fullname = getpkgfullname(line) + if fullname == None: + printmsg("Fatal error: cannot find package %s" % line) + sys.exit(1) + master_pkglist.append(fullname) + dest_pkgs = {} + for pkg in master_pkglist: + dest_pkgs[pkg] = True + for p2 in getpkgdeps(pkg): + if p2 != None: + dest_pkgs[p2] = True + os.chdir("%s/tmp" % DESTDIR) + for pkg in dest_pkgs: + pkg_file = "%s.tgz" % pkg + execute("pkg_create -v -z -b %s %s" % (pkg, pkg_file)) + dest_pkgs[pkg] = pkg_file + f = file("pkginst.sh", "w") + f.write("#!/bin/sh\ncd /tmp\n") + if not DoMakeRoot: + f.write("echo Deleting existing packages...\n") + f.write("pkg_delete -a\n") + for pkg in master_pkglist: + f.write("echo --- Installing %s\n" % pkg) + f.write("/usr/sbin/pkg_add %s\n" % dest_pkgs[pkg]) + f.close() + for pkg in dest_pkgs.keys(): + if pkg == None: + printmsg("NULL key!") + printmsg("LiveCD will contain packages: %s" % " ".join(dest_pkgs.keys())) + execute("chroot %s /bin/sh /tmp/pkginst.sh" % DESTDIR) + for pkg in dest_pkgs: + os.unlink(dest_pkgs[pkg]) + os.unlink("pkginst.sh") + os.chdir(STARTDIR) + + +# Now we can bundle config files if os.path.exists("%s/%s" % (BUNDLEDIR, BUNDLEFILE)): printmsg("Bundling config files") + cflist = [] f = file("%s/%s" % (BUNDLEDIR, BUNDLEFILE), "r") for line in f.readlines(): line = line.strip() @@ -163,6 +216,7 @@ else: flags = [] dest_file, src_file = line.split("=", 1) + cflist.append(dest_file) file_contents = file("%s/%s" % (BUNDLEDIR, src_file), "r").read() if "kw" in flags: file_contents = file_contents.replace("$label$", LABEL) @@ -178,44 +232,15 @@ df.close() if "x" in flags: os.chmod("%s%s" % (DESTDIR, dest_file), stat.S_IRUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) + if len(cflist) != 0: + printmsg("LiveCD will contain config files: %s" % " ".join(cflist)) f.close() - -if PKGLISTFILE != None: - printmsg("Bundling packages") - # Install packages into the liveCD tree, using chroot - master_pkglist = [] - f = file(PKGLISTFILE, "r") - for line in f.readlines(): - line = line.strip() - if len(line) == 0: - continue - if line[0] == "#": - continue - master_pkglist.append(getpkgfullname(line)) - dest_pkgs = {} - for pkg in master_pkglist: - dest_pkgs[pkg] = True - for p2 in getpkgdeps(pkg): - dest_pkgs[p2] = True - os.chdir("%s/tmp" % DESTDIR) - for pkg in dest_pkgs: - pkg_file = "%s.tgz" % pkg - execute("pkg_create -v -b %s %s" % (pkg, pkg_file)) - dest_pkgs[pkg] = pkg_file - f = file("pkginst.sh", "w") - f.write("#!/bin/sh\ncd /tmp\npkg_delete -av\n") - for pkg in master_pkglist: - f.write("/usr/sbin/pkg_add -v %s\n" % dest_pkgs[pkg]) - printmsg("LiveCD will contain package: %s" % pkg) - f.close() - execute("chroot %s /bin/sh /tmp/pkginst.sh" % DESTDIR) - for pkg in dest_pkgs: - os.unlink(dest_pkgs[pkg]) - os.unlink("pkginst.sh") +else: + printmsg("WARNING: Not bundling any config files") - os.chdir(WORKDIR) if ISO == None: ISO = "%s/image.iso" % WORKDIR execute("mkisofs -l -nobak -V %s -T -J -r -ldots -b boot/cdboot -no-emul-boot -o %s %s" % (LABEL, ISO, DESTDIR)) +os.chdir(STARTDIR) ==== //depot/projects/soc2007/ivoras_finstall/makeimage/pkglist#2 (text+ko) ==== @@ -1,4 +1,14 @@ -vim-gtk2 +#vim-gtk2 py24-gtk xorg-server +xf86-input-keyboard +xf86-input-mouse +xkeyboard-config xf86-video-vesa +xf86-video-fbdev +xf86-video-vga +xorg-fonts-7.2 +xkbcomp +xinit +#gnome-icons-slick +xfce-4 ==== //depot/projects/soc2007/ivoras_finstall/makeimage/util.py#5 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jul 1 16:39:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9E4B16A469; Sun, 1 Jul 2007 16:39:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8DBDA16A421 for ; Sun, 1 Jul 2007 16:39:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7ECD013C487 for ; Sun, 1 Jul 2007 16:39:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61GdGOw047020 for ; Sun, 1 Jul 2007 16:39:16 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61GdGc4047017 for perforce@freebsd.org; Sun, 1 Jul 2007 16:39:16 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 1 Jul 2007 16:39:16 GMT Message-Id: <200707011639.l61GdGc4047017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122650 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 16:39:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=122650 Change 122650 by rdivacky@rdivacky_witten on 2007/07/01 16:39:03 License change. Suggested by: joel Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_file.h#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_file.h#2 (text+ko) ==== @@ -6,24 +6,22 @@ * 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 - * in this position and unchanged. + * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * 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$ */ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 18:17:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22DE316A475; Sun, 1 Jul 2007 18:17:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B527B16A400 for ; Sun, 1 Jul 2007 18:17:29 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2690513C4C3 for ; Sun, 1 Jul 2007 18:17:29 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61IHRkq065718 for ; Sun, 1 Jul 2007 18:17:27 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61IHRvP065715 for perforce@freebsd.org; Sun, 1 Jul 2007 18:17:27 GMT (envelope-from lulf@FreeBSD.org) Date: Sun, 1 Jul 2007 18:17:27 GMT Message-Id: <200707011817.l61IHRvP065715@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122657 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 18:17:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122657 Change 122657 by lulf@lulf_carrot on 2007/07/01 18:17:10 - Add userland padding of struct gv_volume. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#20 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#20 (text+ko) ==== @@ -206,6 +206,7 @@ #define GV_EVENT_RENAME_DRIVE 29 #define GV_EVENT_MOVE_SD 30 +#ifdef _KERNEL struct gv_event { int type; void *arg1; @@ -214,6 +215,7 @@ intmax_t arg4; TAILQ_ENTRY(gv_event) events; }; +#endif /* This struct contains the main vinum config. */ struct gv_softc { @@ -370,7 +372,11 @@ struct g_provider *provider; /* Provider of this volume. */ +#ifdef _KERNEL struct bio_queue_head *wqueue; /* BIO delayed request queue. */ +#else + char *wpad; /* Padding for userland. */ +#endif struct gv_plex *last_read_plex; struct gv_softc *vinumconf; /* Pointer to the vinum config. */ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:41:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 569E516A46C; Sun, 1 Jul 2007 19:41:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1F5F116A468 for ; Sun, 1 Jul 2007 19:41:16 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0F87013C45B for ; Sun, 1 Jul 2007 19:41:16 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JfFwW072376 for ; Sun, 1 Jul 2007 19:41:15 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JfFlW072363 for perforce@freebsd.org; Sun, 1 Jul 2007 19:41:15 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 19:41:15 GMT Message-Id: <200707011941.l61JfFlW072363@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122659 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:41:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=122659 Change 122659 by peter@peter_overcee on 2007/07/01 19:40:39 Un-molest this version Affected files ... .. //depot/projects/hammer/lib/libc/gen/getosreldate.c#6 edit Differences ... ==== //depot/projects/hammer/lib/libc/gen/getosreldate.c#6 (text+ko) ==== @@ -45,11 +45,9 @@ int mib[2]; size_t size; int value; - static int osreldate = -1; + char *temp; - if (osreldate != -1) - return (osreldate); mib[0] = CTL_KERN; mib[1] = KERN_OSRELDATE; size = sizeof value; @@ -57,6 +55,5 @@ return (-1); if ((temp = getenv("OSVERSION"))) value = atoi(temp); - osreldate = value; return (value); } From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:42:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2341816A469; Sun, 1 Jul 2007 19:42:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0176B16A41F for ; Sun, 1 Jul 2007 19:42:18 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CE19E13C44B for ; Sun, 1 Jul 2007 19:42:17 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JgHIb072504 for ; Sun, 1 Jul 2007 19:42:17 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JgHdU072501 for perforce@freebsd.org; Sun, 1 Jul 2007 19:42:17 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 19:42:17 GMT Message-Id: <200707011942.l61JgHdU072501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122660 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:42:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=122660 Change 122660 by peter@peter_overcee on 2007/07/01 19:41:39 Fix new-file formatting of $FreeBSD$ Affected files ... .. //depot/projects/hammer/lib/libc/gen/__getosreldate.c#4 edit Differences ... ==== //depot/projects/hammer/lib/libc/gen/__getosreldate.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/getosreldate.c,v 1.9 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD$"); #include #include From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:45:23 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA65E16A469; Sun, 1 Jul 2007 19:45:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7F56F16A41F for ; Sun, 1 Jul 2007 19:45:22 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 57C5813C4BE for ; Sun, 1 Jul 2007 19:45:22 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JjM5X072693 for ; Sun, 1 Jul 2007 19:45:22 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JjMoX072690 for perforce@freebsd.org; Sun, 1 Jul 2007 19:45:22 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 19:45:22 GMT Message-Id: <200707011945.l61JjMoX072690@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122661 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:45:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=122661 Change 122661 by peter@peter_overcee on 2007/07/01 19:45:06 Fix disorder Affected files ... .. //depot/projects/hammer/sys/kern/makesyscalls.sh#10 edit Differences ... ==== //depot/projects/hammer/sys/kern/makesyscalls.sh#10 (text+ko) ==== @@ -6,8 +6,8 @@ # name of compat options: compat=COMPAT_43 +compat4=COMPAT_FREEBSD4 compat6=COMPAT_FREEBSD6 -compat4=COMPAT_FREEBSD4 # output files: sysnames="syscalls.c" From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:46:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD06316A46C; Sun, 1 Jul 2007 19:46:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A2ABC16A469 for ; Sun, 1 Jul 2007 19:46:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9230113C45D for ; Sun, 1 Jul 2007 19:46:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JkOsq072723 for ; Sun, 1 Jul 2007 19:46:24 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JkNdQ072720 for perforce@freebsd.org; Sun, 1 Jul 2007 19:46:23 GMT (envelope-from mjacob@freebsd.org) Date: Sun, 1 Jul 2007 19:46:23 GMT Message-Id: <200707011946.l61JkNdQ072720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 122662 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:46:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=122662 Change 122662 by mjacob@mjexp on 2007/07/01 19:45:26 Recover from some major omissions/problems with the 24XX port. First, we were never correctly checking for a 24XX Status Type 0 response- that cased us to fall through to evaluate status for commands as if this were a 2100/2200/2300 Status Type 0 response. This is *close*, but not quite the same. This has been reported to be apparent with some wierd lun configuration problems with some arrays. It became glaringly apparent on sparc64 where none of the correct byte swap things were done. Fixing this omission then caused a whole universe shifting debug cycle of endian issues for the 2400. The manual for 24XX f/w turns out to be wrong about the endianness of a couple of entities. The lun and cdb fields for the type 7 request are *not* unconditionally big endian- they happen to be opposite of whatever the endian of the current machine type is. Same with the sense data for the 24XX type 0 response. While we're at it investigate and resolve some NVRAM endian issues. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp.c#25 edit .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#19 edit .. //depot/projects/mjexp/sys/dev/isp/isp_library.c#8 edit .. //depot/projects/mjexp/sys/dev/isp/ispvar.h#9 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp.c#25 (text+ko) ==== @@ -4262,7 +4262,7 @@ return (i); } XS_SETERR(xs, HBA_NOERROR); - isp_prt(isp, ISP_LOGDEBUG2, + isp_prt(isp, ISP_LOGDEBUG0, "START cmd for %d.%d.%d cmd 0x%x datalen %ld", XS_CHANNEL(xs), XS_TGT(xs), XS_LUN(xs), XS_CDBP(xs)[0], (long) XS_XFRLEN(xs)); @@ -4739,7 +4739,7 @@ isp_get_hdr(isp, hp, &sp->req_header); etype = sp->req_header.rqs_entry_type; - if (IS_24XX(isp) && etype == RQSTYPE_T7RQS) { + if (IS_24XX(isp) && etype == RQSTYPE_RESPONSE) { isp24xx_statusreq_t *sp2 = (isp24xx_statusreq_t *)qe; isp_get_24xx_response(isp, (isp24xx_statusreq_t *)hp, sp2); @@ -4889,7 +4889,7 @@ rlen = 0; snsp = NULL; slen = 0; - if (IS_24XX(isp) && (scsi_status & RQCS_RV) != 0) { + if (IS_24XX(isp) && (scsi_status & (RQCS_RV|RQCS_SV)) != 0) { resp = ((isp24xx_statusreq_t *)sp)->req_rsp_sense; rlen = ((isp24xx_statusreq_t *)sp)->req_response_len; } else if (IS_FC(isp) && (scsi_status & RQCS_RV) != 0) { @@ -4927,8 +4927,8 @@ if (resp && rlen >= 4 && resp[FCP_RSPNS_CODE_OFFSET] != 0) { isp_prt(isp, ISP_LOGWARN, - "%d.%d FCP RESPONSE: 0x%x", - XS_TGT(xs), XS_LUN(xs), + "%d.%d.%d FCP RESPONSE: 0x%x", + XS_CHANNEL(xs), XS_TGT(xs), XS_LUN(xs), resp[FCP_RSPNS_CODE_OFFSET]); XS_SETERR(xs, HBA_BOTCH); } @@ -5009,13 +5009,14 @@ /* * Free any DMA resources. As a side effect, this may - * also do any cache flushing necessary for data coherence. */ + * also do any cache flushing necessary for data coherence. + */ if (XS_XFRLEN(xs)) { ISP_DMAFREE(isp, xs, sp->req_handle); } if (((isp->isp_dblev & (ISP_LOGDEBUG2|ISP_LOGDEBUG3))) || - ((isp->isp_dblev & ISP_LOGDEBUG1) && ((!XS_NOERR(xs)) || + ((isp->isp_dblev & ISP_LOGDEBUG0) && ((!XS_NOERR(xs)) || (*XS_STSP(xs) != SCSI_GOOD)))) { char skey; if (req_state_flags & RQSF_GOT_SENSE) { @@ -5897,6 +5898,7 @@ isp_parse_status_24xx(ispsoftc_t *isp, isp24xx_statusreq_t *sp, XS_T *xs, long *rp) { + int ru_marked, sv_marked; switch (sp->req_completion_status) { case RQCS_COMPLETE: if (XS_NOERR(xs)) { @@ -5943,7 +5945,8 @@ case RQCS_DATA_OVERRUN: XS_RESID(xs) = sp->req_resid; - isp_prt(isp, ISP_LOGERR, "data overrun for command on %d.%d.%d", + isp_prt(isp, ISP_LOGERR, + "data overrun for command on %d.%d.%d", XS_CHANNEL(xs), XS_TGT(xs), XS_LUN(xs)); if (XS_NOERR(xs)) { XS_SETERR(xs, HBA_DATAOVR); @@ -5968,8 +5971,27 @@ return; case RQCS_DATA_UNDERRUN: - + ru_marked = (sp->req_scsi_status & RQCS_RU) != 0; + /* + * We can get an underrun w/o things being marked + * if we got a non-zero status. + */ + sv_marked = (sp->req_scsi_status & (RQCS_SV|RQCS_RV)) != 0; + if ((ru_marked == 0 && sv_marked == 0) || + (sp->req_resid > XS_XFRLEN(xs))) { + isp_prt(isp, ISP_LOGWARN, bun, XS_TGT(xs), + XS_LUN(xs), XS_XFRLEN(xs), sp->req_resid, + (ru_marked)? "marked" : "not marked"); + if (XS_NOERR(xs)) { + XS_SETERR(xs, HBA_BOTCH); + } + return; + } XS_RESID(xs) = sp->req_resid; + isp_prt(isp, ISP_LOGDEBUG0, + "%d.%d.%d data underrun (%d) for command 0x%x", + XS_CHANNEL(xs), XS_TGT(xs), XS_LUN(xs), + sp->req_resid, XS_CDBP(xs)[0] & 0xff); if (XS_NOERR(xs)) { XS_SETERR(xs, HBA_NOERROR); } @@ -7412,13 +7434,16 @@ } if (nvram_data[0] != 'I' || nvram_data[1] != 'S' || nvram_data[2] != 'P') { - isp_prt(isp, ISP_LOGWARN, "invalid NVRAM header"); + isp_prt(isp, ISP_LOGWARN, "invalid NVRAM header (%x %x %x)", + nvram_data[0], nvram_data[1], nvram_data[2]); retval = -1; goto out; } dptr = (uint32_t *) nvram_data; for (csum = 0, lwrds = 0; lwrds < ISP2400_NVRAM_SIZE >> 2; lwrds++) { - csum += dptr[lwrds]; + uint32_t tmp; + ISP_IOXGET_32(isp, &dptr[lwrds], tmp); + csum += tmp; } if (csum != 0) { isp_prt(isp, ISP_LOGWARN, "invalid NVRAM checksum"); @@ -7517,8 +7542,8 @@ } } if (tmp & (1U << 31)) { - tmp = ISP_READ(isp, BIU2400_FLASH_DATA); - *rp = tmp; + *rp = ISP_READ(isp, BIU2400_FLASH_DATA); + ISP_SWIZZLE_NVRAM_LONG(isp, rp); } else { *rp = 0xffffffff; } ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#19 (text+ko) ==== @@ -409,6 +409,7 @@ #define ISP_IOXGET_32(isp, s, d) d = bswap32(*((uint32_t *)s)) #endif #define ISP_SWIZZLE_NVRAM_WORD(isp, rp) *rp = bswap16(*rp) +#define ISP_SWIZZLE_NVRAM_LONG(isp, rp) *rp = bswap32(*rp) #define ISP_IOZGET_8(isp, s, d) d = (*((uint8_t *)s)) #define ISP_IOZGET_16(isp, s, d) d = (*((uint16_t *)s)) @@ -426,6 +427,7 @@ #define ISP_IOXGET_16(isp, s, d) d = *(s) #define ISP_IOXGET_32(isp, s, d) d = *(s) #define ISP_SWIZZLE_NVRAM_WORD(isp, rp) +#define ISP_SWIZZLE_NVRAM_LONG(isp, rp) #define ISP_IOZPUT_8(isp, s, d) *(d) = s #define ISP_IOZPUT_16(isp, s, d) *(d) = bswap16(s) @@ -437,6 +439,9 @@ #endif +#define ISP_SWAP16(isp, s) bswap16(s) +#define ISP_SWAP32(isp, s) bswap32(s) + /* * Includes of common header files */ ==== //depot/projects/mjexp/sys/dev/isp/isp_library.c#8 (text) ==== @@ -593,7 +593,7 @@ a = (uint32_t *) src->req_lun; b = (uint32_t *) dst->req_lun; for (i = 0; i < (ASIZE(src->req_lun) >> 2); i++ ) { - ISP_IOZPUT_32(isp, *a++, b++); + *b++ = ISP_SWAP32(isp, *a++); } ISP_IOXPUT_8(isp, src->req_alen_datadir, &dst->req_alen_datadir); ISP_IOXPUT_8(isp, src->req_task_management, &dst->req_task_management); @@ -601,8 +601,8 @@ ISP_IOXPUT_8(isp, src->req_crn, &dst->req_crn); a = (uint32_t *) src->req_cdb; b = (uint32_t *) dst->req_cdb; - for (i = 0; i < (ASIZE(src->req_cdb) >> 2); i++ ) { - ISP_IOZPUT_32(isp, *a++, b++); + for (i = 0; i < (ASIZE(src->req_cdb) >> 2); i++) { + *b++ = ISP_SWAP32(isp, *a++); } ISP_IOXPUT_32(isp, src->req_dl, &dst->req_dl); ISP_IOXPUT_16(isp, src->req_tidlo, &dst->req_tidlo); @@ -695,6 +695,8 @@ isp24xx_statusreq_t *dst) { int i; + uint32_t *s, *d; + isp_get_hdr(isp, &src->req_header, &dst->req_header); ISP_IOXGET_32(isp, &src->req_handle, dst->req_handle); ISP_IOXGET_16(isp, &src->req_completion_status, @@ -708,9 +710,10 @@ ISP_IOXGET_32(isp, &src->req_fcp_residual, dst->req_fcp_residual); ISP_IOXGET_32(isp, &src->req_sense_len, dst->req_sense_len); ISP_IOXGET_32(isp, &src->req_response_len, dst->req_response_len); - for (i = 0; i < 28; i++) { - ISP_IOXGET_8(isp, &src->req_rsp_sense[i], - dst->req_rsp_sense[i]); + s = (uint32_t *)src->req_rsp_sense; + d = (uint32_t *)dst->req_rsp_sense; + for (i = 0; i < (ASIZE(src->req_rsp_sense) >> 2); i++) { + d[i] = ISP_SWAP32(isp, s[i]); } } @@ -723,14 +726,14 @@ ISP_IOXGET_16(isp, &src->abrt_nphdl, dst->abrt_nphdl); ISP_IOXGET_16(isp, &src->abrt_options, dst->abrt_options); ISP_IOXGET_32(isp, &src->abrt_cmd_handle, dst->abrt_cmd_handle); - for (i = 0; i < ASIZE(&src->abrt_reserved); i++) { + for (i = 0; i < ASIZE(src->abrt_reserved); i++) { ISP_IOXGET_8(isp, &src->abrt_reserved[i], dst->abrt_reserved[i]); } ISP_IOXGET_16(isp, &src->abrt_tidlo, dst->abrt_tidlo); ISP_IOXGET_8(isp, &src->abrt_tidhi, dst->abrt_tidhi); ISP_IOXGET_8(isp, &src->abrt_vpidx, dst->abrt_vpidx); - for (i = 0; i < ASIZE(&src->abrt_reserved1); i++) { + for (i = 0; i < ASIZE(src->abrt_reserved1); i++) { ISP_IOXGET_8(isp, &src->abrt_reserved1[i], dst->abrt_reserved1[i]); } ==== //depot/projects/mjexp/sys/dev/isp/ispvar.h#9 (text+ko) ==== @@ -1015,6 +1015,9 @@ * ISP_IOXGET_32(ispsoftc_t *, uint32_t *srcptr, uint32_t dstrval) * * ISP_SWIZZLE_NVRAM_WORD(ispsoftc_t *, uint16_t *) + * ISP_SWIZZLE_NVRAM_LONG(ispsoftc_t *, uint32_t *) + * ISP_SWAP16(ispsoftc_t *, uint16_t srcval) + * ISP_SWAP32(ispsoftc_t *, uint32_t srcval) */ #endif /* _ISPVAR_H */ From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:50:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D0F416A421; Sun, 1 Jul 2007 19:50:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3A4BC16A41F for ; Sun, 1 Jul 2007 19:50:30 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2B53E13C457 for ; Sun, 1 Jul 2007 19:50:30 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JoU5M072941 for ; Sun, 1 Jul 2007 19:50:30 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JoTHh072938 for perforce@freebsd.org; Sun, 1 Jul 2007 19:50:29 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 19:50:29 GMT Message-Id: <200707011950.l61JoTHh072938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122663 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:50:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122663 Change 122663 by peter@peter_overcee on 2007/07/01 19:49:35 Correct comment. Update new functions from 1970's to 1980's. Affected files ... .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#71 edit Differences ... ==== //depot/projects/hammer/sys/kern/vfs_syscalls.c#71 (text+ko) ==== @@ -3240,11 +3240,9 @@ #endif /* COMPAT_43 */ #if defined(COMPAT_FREEBSD6) -/* Versions without the pad argument */ +/* Versions with the pad argument */ int -freebsd6_truncate(td, uap) - struct thread *td; - register struct freebsd6_truncate_args *uap; +freebsd6_truncate(struct thread *td, struct freebsd6_truncate_args *uap) { struct truncate_args ouap; @@ -3254,9 +3252,7 @@ } int -freebsd6_ftruncate(td, uap) - struct thread *td; - register struct freebsd6_ftruncate_args *uap; +freebsd6_ftruncate(struct thread *td, struct freebsd6_ftruncate_args *uap) { struct ftruncate_args ouap; From owner-p4-projects@FreeBSD.ORG Sun Jul 1 19:52:34 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F5B916A41F; Sun, 1 Jul 2007 19:52:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 45ADA16A46B for ; Sun, 1 Jul 2007 19:52:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 15CD613C4CA for ; Sun, 1 Jul 2007 19:52:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61JqXtY073204 for ; Sun, 1 Jul 2007 19:52:33 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61JqXXc073201 for perforce@freebsd.org; Sun, 1 Jul 2007 19:52:33 GMT (envelope-from peter@freebsd.org) Date: Sun, 1 Jul 2007 19:52:33 GMT Message-Id: <200707011952.l61JqXXc073201@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122665 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 19:52:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=122665 Change 122665 by peter@peter_overcee on 2007/07/01 19:52:04 Update function decl from K&R to ansi. Affected files ... .. //depot/projects/hammer/sys/vm/vm_mmap.c#44 edit Differences ... ==== //depot/projects/hammer/sys/vm/vm_mmap.c#44 (text+ko) ==== @@ -394,9 +394,7 @@ #ifdef COMPAT_FREEBSD6 int -freebsd6_mmap(td, uap) - struct thread *td; - struct freebsd6_mmap_args *uap; +freebsd6_mmap(struct thread *td, struct freebsd6_mmap_args *uap) { struct mmap_args oargs; From owner-p4-projects@FreeBSD.ORG Sun Jul 1 21:14:19 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E04216A46B; Sun, 1 Jul 2007 21:14:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 37BB516A468 for ; Sun, 1 Jul 2007 21:14:19 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 26D0213C44B for ; Sun, 1 Jul 2007 21:14:19 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61LEJ4l090202 for ; Sun, 1 Jul 2007 21:14:19 GMT (envelope-from smilicic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61LEJSH090199 for perforce@freebsd.org; Sun, 1 Jul 2007 21:14:19 GMT (envelope-from smilicic@FreeBSD.org) Date: Sun, 1 Jul 2007 21:14:19 GMT Message-Id: <200707012114.l61LEJSH090199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to smilicic@FreeBSD.org using -f From: Sonja Milicic To: Perforce Change Reviews Cc: Subject: PERFORCE change 122670 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 21:14:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=122670 Change 122670 by smilicic@tanarri_marilith on 2007/07/01 21:13:45 added and tested class methods(orphan, access etc), event queue and worker thread. also fixed some bugs with accidental null pointers. Affected files ... .. //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#3 edit Differences ... ==== //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#3 (text+ko) ==== @@ -1,272 +1,567 @@ -/*- - * Copyright (c) 2007 Sonja Milicic - * 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "glog.h" -#include "glog_fileops.h" - -static MALLOC_DEFINE(M_GLOG, "glog", "GEOM_LOG Data"); - -static uma_zone_t g_log_io_zone; -/*static uma_zone_t g_log_hl_zone;*/ - -static void g_log_ctlreq (struct gctl_req *req, struct g_class *mp, const char - *verb); -static enum gctl_verb g_log_verb_id(const char* verb); -static char *g_log_create_geom(const char *prov, const char *file, - struct g_class *mp); -static void g_log_start(struct bio *bp); -static int g_log_event_sink_init(struct g_log_softc *sc, - struct g_log_event_sink *es, void (*func)(void*), char* name); -static void g_log_worker(void *args); - -/*static g_ctl_destroy_geom_t g_log_destroy_geom;*/ -static g_init_t g_log_init; -static g_fini_t g_log_fini; - -SYSCTL_DECL(_kern_geom); -SYSCTL_NODE(_kern_geom, OID_AUTO, log, CTLFLAG_RW, 0, "GEOM_LOG information"); - -static u_int g_log_debug = 2; /* XXX: lower when released to public */ -TUNABLE_INT("kern.geom.log.debug", &g_log_debug); -SYSCTL_UINT(_kern_geom_log, OID_AUTO, debug, CTLFLAG_RW, &g_log_debug, 0, - "Debug level"); - -static u_int g_log_maxrecsector = 64; -TUNABLE_INT("kern.geom.log.maxrecsector", &g_log_maxrecsector); -SYSCTL_UINT(_kern_geom_log, OID_AUTO, maxrecsector, CTLFLAG_RD, - &g_log_maxrecsector, 0, "Maximum records in log descriptor sector"); - -static u_int g_log_maxmem = MAXPHYS * 100; -TUNABLE_INT("kern.geom.log.maxmem", &g_log_maxmem); -SYSCTL_UINT(_kern_geom_log, OID_AUTO, maxmem, CTLFLAG_RD, &g_log_maxmem, - 0, "Maximum memory that can be allocated for I/O (in bytes)"); -/* -extern u_int _hl_stat_hinted_lookups; -SYSCTL_UINT(_kern_geom_log, OID_AUTO, hl_hinted_lookups, - CTLFLAG_RD, &_hl_stat_hinted_lookups, 0, - "Number of hint cache hits for hinted interval list"); -*/ -static u_int g_log_alloc_failed = 0; -SYSCTL_UINT(_kern_geom_log, OID_AUTO, alloc_failed, CTLFLAG_RD, - &g_log_alloc_failed, 0, "How many times I/O allocation failed"); - - -struct g_class g_log_class = { - .name = G_LOG_CLASS_NAME, - .version = G_VERSION, - //.destroy_geom = g_log_destroy_geom, - .ctlreq = g_log_ctlreq, - .init = g_log_init, - .fini = g_log_fini -}; - -/*static int g_log_destroy_geom(struct g_log_softc *sc, boolean_t force); -static void g_log_collect_children(struct bio *bp); -static void g_log_commit(struct g_log_softc *sc); -static int g_log_rollback(struct g_log_softc *sc); -static int g_log_write(struct g_log_softc *sc); -static int g_log_read(struct g_log_softc *sc);*/ - -/* gctl verb IDs */ -enum gctl_verb { GCTL_INVALID, GCTL_COMMIT, GCTL_ROLLBACK, GCTL_START, - GCTL_STOP}; - -static void -g_log_init(struct g_class *mp __unused) -{ - g_log_io_zone = uma_zcreate("glog.io", MAXPHYS, NULL, NULL, NULL, NULL, - 0, UMA_ALIGN_CACHE); - g_log_maxmem -= g_log_maxmem % MAXPHYS; - uma_zone_set_max(g_log_io_zone, g_log_maxmem / MAXPHYS); - /* g_log_hl_zone = uma_zcreate("glog.hl", sizeof(struct hl_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, 0);*/ - G_LOG_DEBUG(DBG_NOTICE, "%s", __func__); -} - -static void -g_log_fini(struct g_class *mp __unused) -{ - uma_zdestroy(g_log_io_zone); - /*uma_zdestroy(g_log_hl_zone);*/ - G_LOG_DEBUG(DBG_NOTICE, "%s", __func__); -} -/* -static void -g_log_orphan(struct g_consumer *cp) -{ - struct g_log_softc *sc; - struct g_geom *gp; - - G_LOG_DEBUG(0, "%s", __func__); - - g_topology_assert(); - gp = cp->geom; - sc = gp->softc; - if (sc == NULL) - return; - - g_log_remove_disk(cp); - - if (g_log_nvalid(sc) == 0) - g_log_destroy(sc, 1); -} -*/ - -static char * -g_log_create_geom(const char *prov, const char *file, struct g_class *mp) -{ - struct g_geom *gp; - struct g_provider *pp; - struct g_log_softc *sc; - char *err_msg = NULL; - - /* create provider*/ - if (strncmp(prov, "/dev/", strlen("/dev/")) == 0) - prov += strlen("/dev/"); - - pp = g_provider_by_name(prov); - if (pp == NULL) - err_msg = "Provider doesn't exist."; - /*create geom*/ - gp = g_new_geomf(mp, "%s.log", prov); - if (gp == NULL) - err_msg = "Can not create geom."; - gp->start = g_log_start; - - sc = malloc(sizeof(*sc), M_GLOG, M_WAITOK | M_ZERO); - sc->sc_geom = gp; - sc->sc_provider = pp; - - if (g_log_event_sink_init(sc, &sc->sc_events, g_log_worker, "events") !=0) - err_msg = "Can not initialize worker thread."; - - /*open file*/ - sc->sc_vn = glog_open_file(file, FWRITE | O_TRUNC | O_CREAT); - - gp->softc = sc; - return err_msg; -} - -static int -g_log_event_sink_init(struct g_log_softc *sc, struct g_log_event_sink *es, - void (*func)(void*), char* name) -{ - int err; - es->sc = sc; - mtx_init(&es->eventq_mtx, "glog:event_sink", NULL, MTX_DEF); - TAILQ_INIT(&es->eventq); - if ((err = kthread_create(func, es, &es->worker_thread, 0, 0, "g_log %s", - name)) != 0) - return err; - es->flags = 0; - - return 0; -} - -static void -g_log_ctlreq (struct gctl_req *req, struct g_class *mp, const char *verb) -{ - int *num_arg; - const char *prov, *file; - char *err; - - g_topology_assert(); - - switch (g_log_verb_id(verb)) { - case GCTL_START: - num_arg = gctl_get_paraml(req, "nargs", sizeof(*num_arg)); - if (*num_arg == 2) { - prov = gctl_get_asciiparam(req, "arg0"); - file = gctl_get_asciiparam(req, "arg1"); - err = g_log_create_geom(prov, file, mp); - if (err != NULL) - gctl_error(req, "Error creating geom: %s", err); - } else - gctl_error(req,"Wrong number of parameters."); - break; - case GCTL_COMMIT: - break; - case GCTL_ROLLBACK: - break; - case GCTL_STOP: - break; - default: - panic("Unknown verb!"); - } -} - -static void -g_log_start(struct bio *bp) -{ - g_io_deliver(bp, ENOMEM); - return; -} - -static void -g_log_worker(void *args) -{ -} - -/* Convert verb to number */ -static enum gctl_verb -g_log_verb_id(const char* verb) -{ - if (strcmp(verb, "commit") == 0) - return GCTL_COMMIT; - else if (strcmp(verb, "rollback") == 0) - return GCTL_ROLLBACK; - else if (strcmp(verb, "start") == 0) - return GCTL_START; - else if (strcmp(verb, "stop") == 0) - return GCTL_STOP; - else - return GCTL_INVALID; -}; - -DECLARE_GEOM_CLASS(g_log_class, g_log); - +/*- + * Copyright (c) 2007 Sonja Milicic + * 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "glog.h" +#include "glog_fileops.h" + +static MALLOC_DEFINE(M_GLOG, "glog", "GEOM_LOG Data"); + +static uma_zone_t g_log_io_zone; +/*static uma_zone_t g_log_hl_zone;*/ + +static void g_log_ctlreq(struct gctl_req *req, struct g_class *mp, const char + *verb); +static enum gctl_verb g_log_verb_id(const char* verb); +static struct g_geom * g_log_create_geom(const char *prov, const char *file, + struct g_class *mp, int *err); +static int g_log_destroy_geom(struct gctl_req *req __unused, + struct g_class *mp __unused, struct g_geom *gp); +static void g_log_start(struct bio *bp); +static void g_log_stop(struct g_geom *gp, int force); +static int g_log_access(struct g_provider *pp, int dr, int dw, int de); +static int g_log_event_sink_init(struct g_log_softc *sc, + struct g_log_event_sink *es, void (*func)(void*), char* name); +static void g_log_worker(void *args); +static int g_log_post_event(struct g_log_event_sink *es, u_int type, + u_int flags, void* data1, int data2); +static struct g_log_event* g_log_get_event(struct g_log_event_sink *es); +static int g_log_no_events(struct g_log_event_sink *es); +static void g_log_write(struct bio *bp); +static void g_log_read(struct bio *bp); +static void g_log_dumpconf(struct sbuf *sb, const char *indent, + struct g_geom *gp, struct g_consumer *cp, struct g_provider *pp); +static void g_log_ctl_destroy(struct gctl_req *req, struct g_class *mp); +static g_init_t g_log_init; +static g_fini_t g_log_fini; + +SYSCTL_DECL(_kern_geom); +SYSCTL_NODE(_kern_geom, OID_AUTO, log, CTLFLAG_RW, 0, "GEOM_LOG information"); + +static u_int g_log_debug = 10; /* XXX: lower when released to public */ +TUNABLE_INT("kern.geom.log.debug", &g_log_debug); +SYSCTL_UINT(_kern_geom_log, OID_AUTO, debug, CTLFLAG_RW, &g_log_debug, 0, + "Debug level"); + +static u_int g_log_maxrecsector = 64; +TUNABLE_INT("kern.geom.log.maxrecsector", &g_log_maxrecsector); +SYSCTL_UINT(_kern_geom_log, OID_AUTO, maxrecsector, CTLFLAG_RD, + &g_log_maxrecsector, 0, "Maximum records in log descriptor sector"); + +static u_int g_log_maxmem = MAXPHYS * 100; +TUNABLE_INT("kern.geom.log.maxmem", &g_log_maxmem); +SYSCTL_UINT(_kern_geom_log, OID_AUTO, maxmem, CTLFLAG_RD, &g_log_maxmem, + 0, "Maximum memory that can be allocated for I/O (in bytes)"); +/* +extern u_int _hl_stat_hinted_lookups; +SYSCTL_UINT(_kern_geom_log, OID_AUTO, hl_hinted_lookups, + CTLFLAG_RD, &_hl_stat_hinted_lookups, 0, + "Number of hint cache hits for hinted interval list"); +*/ +static u_int g_log_alloc_failed = 0; +SYSCTL_UINT(_kern_geom_log, OID_AUTO, alloc_failed, CTLFLAG_RD, + &g_log_alloc_failed, 0, "How many times I/O allocation failed"); + + +struct g_class g_log_class = { + .name = G_LOG_CLASS_NAME, + .version = G_VERSION, + .destroy_geom = g_log_destroy_geom, + .ctlreq = g_log_ctlreq, + .init = g_log_init, + .fini = g_log_fini +}; + +/* gctl verb IDs */ +enum gctl_verb { GCTL_INVALID, GCTL_COMMIT, GCTL_ROLLBACK, GCTL_START, + GCTL_STOP}; + +static void +g_log_init(struct g_class *mp __unused) +{ + g_log_io_zone = uma_zcreate("glog.io", MAXPHYS, NULL, NULL, NULL, NULL, + 0, UMA_ALIGN_CACHE); + g_log_maxmem -= g_log_maxmem % MAXPHYS; + uma_zone_set_max(g_log_io_zone, g_log_maxmem / MAXPHYS); + /* g_log_hl_zone = uma_zcreate("glog.hl", sizeof(struct hl_entry), NULL, NULL, + NULL, NULL, UMA_ALIGN_PTR, 0);*/ + G_LOG_DEBUG(DBG_NOTICE, "%s", __func__); +} + +static void +g_log_fini(struct g_class *mp __unused) +{ + uma_zdestroy(g_log_io_zone); + /*uma_zdestroy(g_log_hl_zone);*/ + G_LOG_DEBUG(DBG_NOTICE, "%s", __func__); +} + +static void +g_log_orphan(struct g_consumer *cp) +{ + struct g_log_softc *sc; + struct g_geom *gp; + + g_topology_assert(); + gp = cp->geom; + sc = gp->softc; + if (sc == NULL) + return; + g_log_stop(gp, 1); +} + +static struct g_geom * +g_log_create_geom(const char *prov, const char *file, struct g_class *mp, int *err) +{ + struct g_geom *gp; + struct g_provider *pp_log, *pp_disk; + struct g_log_softc *sc; + struct g_consumer *cp_disk; + + /*initialize softc*/ + sc = malloc(sizeof(*sc), M_GLOG, M_WAITOK | M_ZERO); + + /*create geom and provider for log*/ + gp = g_new_geomf(mp, "%s.log", prov); + gp->softc = sc; + gp->start = g_log_start; + gp->spoiled = g_log_orphan; + gp->orphan = g_log_orphan; + gp->access = g_log_access; + gp->dumpconf = g_log_dumpconf; + if (gp == NULL) + *err=3; + pp_log = g_new_providerf(gp, "%s.log", prov); + sc->sc_geom_log = gp; + sc->sc_prov_log = pp_log; + + if (g_log_event_sink_init(sc, &sc->sc_events, g_log_worker, "events") !=0) + *err=4; + + /* create provider and consumer for disk*/ + if (strncmp(prov, "/dev/", strlen("/dev/")) == 0) + prov += strlen("/dev/"); + pp_disk = g_provider_by_name(prov); + if (pp_disk == NULL) + *err = 1; + cp_disk = g_new_consumer(gp); + if (g_attach(cp_disk, pp_disk) != 0) + *err = 2; + sc->sc_prov_disk = pp_disk; + sc->sc_cons_disk = cp_disk; + + /*open file*/ + sc->sc_vn = glog_open_file(file, FWRITE | O_TRUNC | O_CREAT); + + + return gp; +} + +static int +g_log_event_sink_init(struct g_log_softc *sc, struct g_log_event_sink *es, + void (*func)(void*), char* name) +{ + int err; + es->sc = sc; + mtx_init(&es->eventq_mtx, "glog:event_sink", NULL, MTX_DEF); + TAILQ_INIT(&es->eventq); + if ((err = kthread_create(func, es, &es->worker_thread, 0, 0, "g_log %s", + name)) != 0) + return err; + es->flags = 0; + + return 0; +} + +static void +g_log_ctlreq(struct gctl_req *req, struct g_class *mp, const char *verb) +{ + struct g_geom *gp=NULL; + const char *prov, *file; + int *num_arg; + int err = 0; + char *err_text=NULL; + + g_topology_assert(); + num_arg = gctl_get_paraml(req, "nargs", sizeof(*num_arg)); + switch (g_log_verb_id(verb)) { + case GCTL_START: + if (*num_arg == 2) { + prov = gctl_get_asciiparam(req, "arg0"); + file = gctl_get_asciiparam(req, "arg1"); + gp = g_log_create_geom(prov, file, mp, &err); + if (err != 0){ + switch (err){ + case 1: + err_text="Cannot open provider"; + break; + case 2: + err_text="Cannot attach consumer to provider"; + break; + case 3: + err_text="Can not create geom"; + break; + case 4: + err_text="Can not start worker thread"; + break; + } + gctl_error(req, "Error starting geom log: %s", err_text); + } + } else + gctl_error(req, "Wrong number of parameters."); + break; + case GCTL_COMMIT: + if (*num_arg == 1) { + prov = gctl_get_asciiparam(req, "arg0"); + g_log_stop(gp,0); + + } else + gctl_error(req, "Wrong number of parameters."); + break; + case GCTL_ROLLBACK: + break; + case GCTL_STOP: + if (*num_arg == 1) { + g_log_ctl_destroy(req, mp); + } else + gctl_error(req, "Wrong number of parameters."); + break; + default: + panic("Unknown verb!"); + } +} + +/*start geom*/ +static void +g_log_start(struct bio *bp) +{ + struct g_log_softc *sc; + sc = bp->bio_to->geom->softc; + KASSERT(sc != NULL, + ("Provider's error should be set (error=%d)(device=%s).", + bp->bio_to->error, bp->bio_to->name)); + + G_LOG_LOGREQ(DBG_NOTICE, bp, "Request received."); + + switch(bp->bio_cmd) { + case BIO_WRITE: + g_log_post_event(&sc->sc_events, GLOG_EVWRITE, GLOG_FLAG_WAKEUP_SC, bp, 0); + break; + case BIO_READ: + g_log_post_event(&sc->sc_events, GLOG_EVREAD, GLOG_FLAG_WAKEUP_SC, bp, 0); + break; + default: + break; + } + return; +} + +/*stop geom*/ +static void +g_log_stop(struct g_geom *gp, int force) +{ + struct g_log_softc *sc; + sc=gp->softc; + + /*close log file*/ + glog_close_file(sc->sc_vn, FWRITE); + + /*clean up memory*/ + g_detach(sc->sc_cons_disk); + g_destroy_consumer(sc->sc_cons_disk); + gp->softc = NULL; + free(sc, M_GLOG); + + /*destroy geom*/ + g_topology_assert(); + g_wither_geom(gp, ENXIO); +} + +static int +g_log_access(struct g_provider *pp, int dr, int dw, int de) +{ + struct g_consumer *cp; + struct g_log_softc *sc; + struct g_geom *gp; + int err = 0; + + gp = pp->geom; + sc = gp->softc; + G_LOG_DEBUG(DBG_IMPORTANT, "%s: %d %d %d", __func__, dr, dw, de); + + if (sc == NULL) { + /* + * It looks like geom is being withered. + * In that case we allow only negative requests. + */ + KASSERT(dr <= 0 && dw <= 0 && de <= 0, + ("Positive access request (device=%s).", pp->name)); + if ((pp->acr + dr) == 0 && (pp->acw + dw) == 0 && + (pp->ace + de) == 0) { + G_LOG_DEBUG(0, "Device %s definitely destroyed.", gp->name); + } + return (0); + } + + LIST_FOREACH(cp, &gp->consumer, consumer){ + err = g_access(cp, dr ,dw, de); + if (err == 0) + continue; + } + return err; +} + +/*puts worker thread to sleep if there's nothing for it to do*/ +static void +g_log_worker_sleep(struct g_log_softc *sc) +{ + if (g_log_no_events(&sc->sc_events)) + tsleep(sc, PRIBIO, "glogidle", hz); +} + +/*worker thread*/ +static void +g_log_worker(void *args) +{ + struct g_log_event_sink *es; + struct g_log_softc *sc; + struct g_log_event *ev; + struct bio *bp; + es = args; + + if (es == NULL) + panic("No event sink!"); + sc = es->sc; + if (sc == NULL) + panic("No softc!"); + + while (1){ + ev = g_log_get_event(&sc->sc_events); + while (ev == NULL) + g_log_worker_sleep(sc); + bp = ev->data1; + switch (ev->type) { + case GLOG_EVCOMMIT: + break; + case GLOG_EVROLLBACK: + break; + case GLOG_EVREAD: + g_log_read(bp); + break; + case GLOG_EVWRITE: + g_log_write(bp); + break; + case GLOG_EVSTOP: + break; + } + free(ev,M_GLOG); + } +} +/* adds event to event queue */ +static int +g_log_post_event(struct g_log_event_sink *es, u_int type, u_int flags, + void* data1, int data2) +{ + struct g_log_softc *sc; + struct g_log_event *ev; + + KASSERT(es != NULL, ("%s: event_sink is null", __func__)); + sc = es->sc; + KASSERT(sc != NULL, ("%s: softc is null", __func__)); + + ev = malloc(sizeof(*ev), M_GLOG, M_NOWAIT); + if (ev == NULL) + return ENOMEM; + + ev->type = type; + ev->flags = flags; + ev->data1 = data1; + ev->data2 = data2; + + mtx_lock(&es->eventq_mtx); + TAILQ_INSERT_TAIL(&es->eventq, ev, linkage); + mtx_unlock(&es->eventq_mtx); + + if ( (flags & GLOG_FLAG_WAKEUP_SC) != 0) + wakeup(es); + + return 0; +} + +/*gets next event from event queue*/ +static struct g_log_event* +g_log_get_event(struct g_log_event_sink *es) +{ + struct g_log_softc *sc; + struct g_log_event *ev; + + KASSERT(es != NULL, ("%s: event_sink is null", __func__)); + sc = es->sc; + KASSERT(sc != NULL, ("%s: softc is null", __func__)); + + mtx_lock(&es->eventq_mtx); + ev = TAILQ_FIRST(&es->eventq); + if (ev != NULL) + TAILQ_REMOVE(&es->eventq, ev, linkage); + mtx_unlock(&es->eventq_mtx); + + return ev; +} + +/*is the event queue empty?*/ +static int +g_log_no_events(struct g_log_event_sink *es) +{ + return TAILQ_EMPTY(&es->eventq); +} + +/*writes data to log file*/ +static void +g_log_write(struct bio *bp) +{ + struct g_log_softc *sc; + void *data; + int err; + uprintf("Got a write request."); + sc = bp->bio_to->geom->softc; + data = bp->bio_data; + err = glog_write_file(sc->sc_vn, data, sizeof(data), 0); + if (err != 0) + printf ("Error writing to file"); + +} + +/*reads data*/ +static void +g_log_read(struct bio *bp) +{ + uprintf("Got a read request."); + +} + +/*commits the log file*/ +/*static void +g_log_commit(struct g_log_softc *sc) +{ +}*/ + +/*deletes the log file*/ +/*static void +g_log_rollback(struct g_log_softc *sc) +{ +} +*/ + +static int +g_log_destroy_geom(struct gctl_req *req __unused, struct g_class *mp __unused, + struct g_geom *gp) +{ + g_log_stop(gp, 0); + return 0; +} + +static void +g_log_ctl_destroy(struct gctl_req *req, struct g_class *mp) +{ + struct g_geom *gp; + int *num_args, *force; + const char *prov; + + g_topology_assert(); + + num_args = gctl_get_paraml(req, "nargs", sizeof(int)); + if (*num_args != 1){ + gctl_error(req, "Wrong number of arguments."); + return; + } + prov = gctl_get_asciiparam(req, "arg0"); + + force = gctl_get_paraml(req, "force", sizeof(int)); + gp = LIST_FIRST(&mp->geom); + g_log_stop(gp, *force); + + +} +/*XML*/ +static void +g_log_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, + struct g_consumer *cp, struct g_provider *pp) +{ + struct g_log_softc *sc; + + sc = gp->softc; + if (sc == NULL) + return; + if (pp != NULL) { + /* Nothing here. */ + } else if (cp != NULL) { + sbuf_printf(sb, "%s%u\n", indent, + (u_int)cp->index); + } else { + + + } +} + +/* Convert verb to number */ +static enum gctl_verb +g_log_verb_id(const char* verb) +{ + if (strcmp(verb, "commit") == 0) + return GCTL_COMMIT; + else if (strcmp(verb, "rollback") == 0) + return GCTL_ROLLBACK; + else if (strcmp(verb, "start") == 0) + return GCTL_START; + else if (strcmp(verb, "stop") == 0) + return GCTL_STOP; + else + return GCTL_INVALID; +}; + +DECLARE_GEOM_CLASS(g_log_class, g_log); + From owner-p4-projects@FreeBSD.ORG Sun Jul 1 21:15:21 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38D3716A46D; Sun, 1 Jul 2007 21:15:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F363B16A421 for ; Sun, 1 Jul 2007 21:15:20 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E424113C4BB for ; Sun, 1 Jul 2007 21:15:20 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l61LFKx8090361 for ; Sun, 1 Jul 2007 21:15:20 GMT (envelope-from smilicic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l61LFKSt090358 for perforce@freebsd.org; Sun, 1 Jul 2007 21:15:20 GMT (envelope-from smilicic@FreeBSD.org) Date: Sun, 1 Jul 2007 21:15:20 GMT Message-Id: <200707012115.l61LFKSt090358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to smilicic@FreeBSD.org using -f From: Sonja Milicic To: Perforce Change Reviews Cc: Subject: PERFORCE change 122671 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 21:15:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=122671 Change 122671 by smilicic@tanarri_marilith on 2007/07/01 21:14:27 structure changes in softc Affected files ... .. //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.h#2 edit Differences ... ==== //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.h#2 (text+ko) ==== @@ -37,11 +37,13 @@ struct g_log_event { unsigned short int type; unsigned short int flags; -#define GLOG_COMMIT 1 -#define GLOG_ROLLBACK 2 -#define GLOG_READ 3 -#define GLOG_WRITE 4 -#define GLOG_STOP 5 +#define GLOG_EVCOMMIT 1 +#define GLOG_EVROLLBACK 2 +#define GLOG_EVREAD 3 +#define GLOG_EVWRITE 4 +#define GLOG_EVSTOP 5 +#define GLOG_FLAG_WAKEUP_SC 6 + void* data1; int data2; TAILQ_ENTRY(g_log_event) linkage; @@ -56,9 +58,11 @@ }; struct g_log_softc { - struct g_geom *sc_geom; - struct g_provider *sc_provider; - char *sc_file_name; - struct vnode *sc_vn; - struct g_log_event_sink sc_events; + struct g_geom *sc_geom_log; + struct g_provider *sc_prov_log; + struct g_provider *sc_prov_disk; + struct g_consumer *sc_cons_disk; + char *sc_file_name; + struct vnode *sc_vn; + struct g_log_event_sink sc_events; }; From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:21:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A15C16A468; Mon, 2 Jul 2007 01:21:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3FD0116A421 for ; Mon, 2 Jul 2007 01:21:39 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2FEF213C447 for ; Mon, 2 Jul 2007 01:21:39 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621LdGX035349 for ; Mon, 2 Jul 2007 01:21:39 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621LcjA035346 for perforce@freebsd.org; Mon, 2 Jul 2007 01:21:38 GMT (envelope-from peter@freebsd.org) Date: Mon, 2 Jul 2007 01:21:38 GMT Message-Id: <200707020121.l621LcjA035346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122686 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:21:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=122686 Change 122686 by peter@peter_overcee on 2007/07/02 01:21:30 PSEUDO() was missing the errno handling. Ooops. For example, gen/getlogin.c was calling _getlogin(), and examining errno. i386/amd64 PSEUDO(getlogin) macros didn't set errno. This was copied to some other platforms. The real difference between SYSCALL, RSYSCALL and PSEUDO is that SYSCALL is a basic syscall (not used on i386/amd64), RSYSCALL is SYSCALL with a 'ret' after it. SYSCALL/SYSCALL define __sys_sc (where "sc" == name), with _sc and sc as weak aliases. PSEUDO is like RSYSCALL, except with just __sys_sc and _sc. Affected files ... .. //depot/projects/hammer/lib/libc/amd64/SYS.h#8 edit .. //depot/projects/hammer/lib/libc/i386/SYS.h#4 edit Differences ... ==== //depot/projects/hammer/lib/libc/amd64/SYS.h#8 (text+ko) ==== @@ -44,6 +44,12 @@ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \ 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx + +#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \ + .weak CNAME(__CONCAT(_,x)); \ + .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ + mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret ; \ + 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx #else #define RSYSCALL(x) ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(x); \ @@ -52,11 +58,12 @@ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \ 2: jmp HIDENAME(cerror) -#endif #define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ - mov __CONCAT($SYS_,x),%rax; KERNCALL; ret + mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \ + 2: jmp HIDENAME(cerror) +#endif #define KERNCALL movq %rcx, %r10; syscall ==== //depot/projects/hammer/lib/libc/i386/SYS.h#4 (text+ko) ==== @@ -36,20 +36,19 @@ #include #include -#define SYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ +#define RSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(x); \ .set CNAME(x),CNAME(__CONCAT(__sys_,x)); \ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ - mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b + mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b; ret -#define RSYSCALL(x) SYSCALL(x); ret - -#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \ +#define PSEUDO(x) 2: PIC_PROLOGUE; jmp mp PIC_PLT(HIDENAME(cerror)); \ + ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ - mov __CONCAT($SYS_,x),%eax; KERNCALL; ret + mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b; ret /* gas messes up offset -- although we don't currently need it, do for BCS */ #define LCALL(x,y) .byte 0x9a ; .long y; .word x From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:22:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33E7B16A46F; Mon, 2 Jul 2007 01:22:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EE2B416A469 for ; Mon, 2 Jul 2007 01:22:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DECF113C447 for ; Mon, 2 Jul 2007 01:22:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621MeaW035462 for ; Mon, 2 Jul 2007 01:22:40 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621MeIU035459 for perforce@freebsd.org; Mon, 2 Jul 2007 01:22:40 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 01:22:40 GMT Message-Id: <200707020122.l621MeIU035459@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122687 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:22:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=122687 Change 122687 by zec@zec_tpx32 on 2007/07/02 01:21:52 Sort command lists in DDB before printing them out on console. Affected files ... .. //depot/projects/vimage/src/sys/ddb/db_command.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/ddb/db_command.c#3 (text+ko) ==== @@ -262,24 +262,40 @@ return (result); } +/* + * Print out a sorted command table. + */ static void db_cmd_list(table) struct command_table *table; { - register struct command *cmd; - register struct command **aux_cmdp; + struct command *cmd; + struct command **aux_cmdp; + char *last; + char *next = ""; - for (cmd = table->table; cmd->name != 0; cmd++) { - db_printf("%-12s", cmd->name); - db_end_line(12); - } - if (table->aux_tablep == NULL) - return; - for (aux_cmdp = table->aux_tablep; aux_cmdp < table->aux_tablep_end; - aux_cmdp++) { - db_printf("%-12s", (*aux_cmdp)->name); - db_end_line(12); - } + do { + last = next; + for (cmd = table->table; cmd->name != 0; cmd++) { + if (strcmp(cmd->name, last) > 0 && + (last == next || strcmp(cmd->name, next) < 0)) + next = cmd->name; + } + if (table->aux_tablep != NULL) { + for (aux_cmdp = table->aux_tablep; + aux_cmdp < table->aux_tablep_end; aux_cmdp++) { + cmd = *aux_cmdp; + if (strcmp(cmd->name, last) > 0 && + (last == next || + strcmp(cmd->name, next) < 0)) + next = cmd->name; + } + } + if (next != last) { + db_printf("%-12s", next); + db_end_line(12); + } + } while (next != last); } static void From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:22:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 96D6F16A534; Mon, 2 Jul 2007 01:22:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6DEB116A421 for ; Mon, 2 Jul 2007 01:22:41 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3F40313C448 for ; Mon, 2 Jul 2007 01:22:41 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621Mfnh035469 for ; Mon, 2 Jul 2007 01:22:41 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621Megg035465 for perforce@freebsd.org; Mon, 2 Jul 2007 01:22:40 GMT (envelope-from peter@freebsd.org) Date: Mon, 2 Jul 2007 01:22:40 GMT Message-Id: <200707020122.l621Megg035465@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122688 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:22:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=122688 Change 122688 by peter@peter_overcee on 2007/07/02 01:21:57 Fix PSEUDO macro, which was bug compatible with i386/amd64. Affected files ... .. //depot/projects/hammer/lib/libc/sparc64/SYS.h#3 edit Differences ... ==== //depot/projects/hammer/lib/libc/sparc64/SYS.h#3 (text+ko) ==== @@ -78,8 +78,7 @@ .weak CNAME(__CONCAT(_,x)) ; \ .type CNAME(__CONCAT(_,x)),@function ; \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)) ; \ - mov __CONCAT(SYS_,x), %g1 ; \ - ta %xcc, ST_SYSCALL ; \ + _SYSCALL(x) ; \ retl ; \ nop ; \ .size CNAME(__CONCAT(__sys_,x)), . - CNAME(__CONCAT(__sys_,x)) ; \ From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:23:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7229516A468; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 254C516A400 for ; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1632513C45E for ; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621NgMh035519 for ; Mon, 2 Jul 2007 01:23:42 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621NgGX035516 for perforce@freebsd.org; Mon, 2 Jul 2007 01:23:42 GMT (envelope-from peter@freebsd.org) Date: Mon, 2 Jul 2007 01:23:42 GMT Message-Id: <200707020123.l621NgGX035516@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:23:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=122689 Change 122689 by peter@peter_overcee on 2007/07/02 01:22:55 Zap some unused macros. (PSEUDO_NOERROR etc) so as to reduce the clutter and hopefully avoid future cut/paste errors. Affected files ... .. //depot/projects/hammer/lib/libc/ia64/SYS.h#2 edit Differences ... ==== //depot/projects/hammer/lib/libc/ia64/SYS.h#2 (text+ko) ==== @@ -50,28 +50,14 @@ WEAK_ALIAS(_ ## name, __sys_ ## name); \ CALLSYS_NOERROR(name) - #define RSYSCALL(name) \ SYSCALL(name); \ br.ret.sptk.few rp; \ END(__sys_ ## name) -#define RSYSCALL_NOERROR(name) \ - SYSCALL_NOERROR(name); \ - br.ret.sptk.few rp; \ -END(__sys_ ## name) - - #define PSEUDO(name) \ ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ WEAK_ALIAS(_ ## name, __sys_ ## name); \ CALLSYS_ERROR(name); \ br.ret.sptk.few rp; \ END(__sys_ ## name); - -#define PSEUDO_NOERROR(name) \ -ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ - WEAK_ALIAS(_ ## name, __sys_ ## name); \ - CALLSYS_NOERROR(name); \ - br.ret.sptk.few rp; \ -END(__sys_ ## name); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:23:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D73A316A530; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 931E616A4C8 for ; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 69C7C13C465 for ; Mon, 2 Jul 2007 01:23:43 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621NhRC035526 for ; Mon, 2 Jul 2007 01:23:43 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621Nhto035522 for perforce@freebsd.org; Mon, 2 Jul 2007 01:23:43 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 01:23:43 GMT Message-Id: <200707020123.l621Nhto035522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122690 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:23:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=122690 Change 122690 by zec@zec_tpx32 on 2007/07/02 01:23:11 Fix indentation. Affected files ... .. //depot/projects/vimage/src/sys/kern/subr_pcpu.c#4 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/subr_pcpu.c#4 (text+ko) ==== @@ -131,7 +131,7 @@ db_show_mdpcpu(pc); #ifdef VIMAGE - db_printf("curvnet = %p\n", pc->pc_curthread->td_vnet); + db_printf("curvnet = %p\n", pc->pc_curthread->td_vnet); #endif #ifdef WITNESS From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:24:45 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87A6816A421; Mon, 2 Jul 2007 01:24:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6240516A400 for ; Mon, 2 Jul 2007 01:24:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 52C2413C43E for ; Mon, 2 Jul 2007 01:24:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621Ojmq035610 for ; Mon, 2 Jul 2007 01:24:45 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621Oisx035607 for perforce@freebsd.org; Mon, 2 Jul 2007 01:24:44 GMT (envelope-from peter@freebsd.org) Date: Mon, 2 Jul 2007 01:24:44 GMT Message-Id: <200707020124.l621Oisx035607@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122691 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:24:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=122691 Change 122691 by peter@peter_overcee on 2007/07/02 01:23:43 Fix differentiation of RSYSCALL and PSEUDO on arm. PSEUDO was implemented identically to RSYSCALL and caused symbol pollution/collisions. Affected files ... .. //depot/projects/hammer/lib/libc/arm/SYS.h#4 edit Differences ... ==== //depot/projects/hammer/lib/libc/arm/SYS.h#4 (text+ko) ==== @@ -56,26 +56,19 @@ _SYSCALL_NOERROR(x); \ bcs PIC_SYM(CERROR, PLT) -#define SYSCALL_NOERROR(x) \ - _SYSCALL_NOERROR(x) - #define SYSCALL(x) \ _SYSCALL(x) - -#define PSEUDO_NOERROR(x) \ - _SYSCALL_NOERROR(x); \ +#define PSEUDO(x) \ + ENTRY(__CONCAT(__sys_, x)); \ + .weak _C_LABEL(__CONCAT(_,x)); \ + .set _C_LABEL(__CONCAT(_,x)),_C_LABEL(__CONCAT(__sys_,x)); \ + SYSTRAP(x) + bcs PIC_SYM(CERROR, PLT) RET -#define PSEUDO(x) \ +#define RSYSCALL(x) \ _SYSCALL(x); \ RET - -#define RSYSCALL_NOERROR(x) \ - PSEUDO_NOERROR(x) - -#define RSYSCALL(x) \ - PSEUDO(x) - .globl CERROR From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:26:48 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0F7E16A421; Mon, 2 Jul 2007 01:26:48 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 704A416A400 for ; Mon, 2 Jul 2007 01:26:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 60F5713C45A for ; Mon, 2 Jul 2007 01:26:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621QmUo035733 for ; Mon, 2 Jul 2007 01:26:48 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621QmMx035730 for perforce@freebsd.org; Mon, 2 Jul 2007 01:26:48 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 01:26:48 GMT Message-Id: <200707020126.l621QmMx035730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:26:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122692 Change 122692 by zec@zec_tpx32 on 2007/07/02 01:26:03 Add a "show vnets" command for DDB. Lists all vnet instances with a few per-instance details. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#20 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#20 (text+ko) ==== @@ -30,6 +30,7 @@ * XXX RCS tag goes here */ +#include "opt_ddb.h" #include "opt_vimage.h" #include @@ -50,6 +51,10 @@ #include #include +#ifdef DDB +#include +#endif + #include #include #include @@ -275,7 +280,7 @@ struct vimage *vip_r = NULL; struct vimage *tvip; - error = suser(td); + error = suser(td); /* XXX replace with priv(9) */ if (error) return (error); @@ -636,3 +641,29 @@ SYSINIT(vimage, SI_SUB_VIMAGE, SI_ORDER_FIRST, vi_init, NULL) SYSINIT(vimage_done, SI_SUB_VIMAGE_DONE, SI_ORDER_FIRST, vi_init_done, NULL) + +#ifdef DDB +static void +db_vnet_ptr(void *arg) +{ + if (arg) + db_printf(" %p", arg); + else + db_printf(" 0x0"); +} + +DB_SHOW_COMMAND(vnets, db_show_vnets) +{ + db_printf(" vnet ifcs socks"); + db_printf(" net inet inet6 netgraph\n"); + VNET_ITERLOOP_BEGIN_QUIET(); + db_printf("%p %4d %5d", + vnet_iter, vnet_iter->ifccnt, vnet_iter->sockcnt); + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NET]); + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET]); + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET6]); + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NETGRAPH]); + db_printf("\n"); + VNET_ITERLOOP_END(); +} +#endif From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:28:51 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9B9016A421; Mon, 2 Jul 2007 01:28:51 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7FA6216A41F for ; Mon, 2 Jul 2007 01:28:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 704A813C45B for ; Mon, 2 Jul 2007 01:28:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621SpmO035805 for ; Mon, 2 Jul 2007 01:28:51 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621Sp2q035802 for perforce@freebsd.org; Mon, 2 Jul 2007 01:28:51 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 01:28:51 GMT Message-Id: <200707020128.l621Sp2q035802@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122693 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:28:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=122693 Change 122693 by zec@zec_tpx32 on 2007/07/02 01:28:33 Cosmetic change. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#13 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#13 (text+ko) ==== @@ -222,17 +222,16 @@ NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); uma_zone_set_max(V_tcp_hostcache.zone, V_tcp_hostcache.cache_limit); +#ifdef VIMAGE + if (curvnet != &vnet_0) + return; +#endif + /* * Set up periodic cache cleanup. */ -#ifdef VIMAGE - if (curvnet == &vnet_0) { -#endif callout_init(&tcp_hc_callout, CALLOUT_MPSAFE); callout_reset(&tcp_hc_callout, V_tcp_hostcache.prune * hz, tcp_hc_purge, 0); -#ifdef VIMAGE - } -#endif } /* From owner-p4-projects@FreeBSD.ORG Mon Jul 2 01:32:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5776816A46C; Mon, 2 Jul 2007 01:32:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 12B5E16A468 for ; Mon, 2 Jul 2007 01:32:57 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 025F513C45E for ; Mon, 2 Jul 2007 01:32:57 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l621WuwK036259 for ; Mon, 2 Jul 2007 01:32:56 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l621WuTr036256 for perforce@freebsd.org; Mon, 2 Jul 2007 01:32:56 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 01:32:56 GMT Message-Id: <200707020132.l621WuTr036256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 01:32:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=122694 Change 122694 by zec@zec_tpx32 on 2007/07/02 01:31:58 Unbreak 2MSL timeout processing in TCP when multiple vnets exist. NB it is not completely clear to me yet whether we need per-vnet twq_2msl queues or is a single global queue enough... So for the moment we'll go on with per-vnet twq_2msl queues. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#3 (text+ko) ==== @@ -102,7 +102,9 @@ * queue pointers in each tcptw structure, are protected using the global * tcbinfo lock, which must be held over queue iteration and modification. */ +#ifndef VIMAGE static TAILQ_HEAD(, tcptw) twq_2msl; +#endif static void tcp_tw_2msl_reset(struct tcptw *, int); static void tcp_tw_2msl_stop(struct tcptw *); @@ -163,6 +165,14 @@ void tcp_tw_init(void) { + INIT_VNET_INET(curvnet); + + TAILQ_INIT(&V_twq_2msl); + +#ifdef VIMAGE + if (curvnet == &vnet_0) + return; +#endif tcptw_zone = uma_zcreate("tcptw", sizeof(struct tcptw), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); @@ -171,7 +181,6 @@ uma_zone_set_max(tcptw_zone, tcptw_auto_size()); else uma_zone_set_max(tcptw_zone, maxtcptw); - TAILQ_INIT(&twq_2msl); } /* @@ -624,9 +633,9 @@ INP_INFO_WLOCK_ASSERT(&V_tcbinfo); INP_LOCK_ASSERT(tw->tw_inpcb); if (rearm) - TAILQ_REMOVE(&twq_2msl, tw, tw_2msl); + TAILQ_REMOVE(&V_twq_2msl, tw, tw_2msl); tw->tw_time = ticks + 2 * tcp_msl; - TAILQ_INSERT_TAIL(&twq_2msl, tw, tw_2msl); + TAILQ_INSERT_TAIL(&V_twq_2msl, tw, tw_2msl); } static void @@ -635,7 +644,7 @@ INIT_VNET_INET(curvnet); INP_INFO_WLOCK_ASSERT(&V_tcbinfo); - TAILQ_REMOVE(&twq_2msl, tw, tw_2msl); + TAILQ_REMOVE(&V_twq_2msl, tw, tw_2msl); } struct tcptw * @@ -646,7 +655,7 @@ INP_INFO_WLOCK_ASSERT(&V_tcbinfo); for (;;) { - tw = TAILQ_FIRST(&twq_2msl); + tw = TAILQ_FIRST(&V_twq_2msl); if (tw == NULL || (!reuse && tw->tw_time > ticks)) break; INP_LOCK(tw->tw_inpcb); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 02:22:00 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9CCF16A46D; Mon, 2 Jul 2007 02:21:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A94C516A46B for ; Mon, 2 Jul 2007 02:21:59 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 998D413C4CE for ; Mon, 2 Jul 2007 02:21:59 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l622LxZK040878 for ; Mon, 2 Jul 2007 02:21:59 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l622Lx4I040875 for perforce@freebsd.org; Mon, 2 Jul 2007 02:21:59 GMT (envelope-from peter@freebsd.org) Date: Mon, 2 Jul 2007 02:21:59 GMT Message-Id: <200707020221.l622Lx4I040875@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122697 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 02:22:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=122697 Change 122697 by peter@peter_overcee on 2007/07/02 02:21:36 Sigh. imake (xorg/xfree86) likes to #include /usr/include/osreldate.h into *Makefile*s. Luckily, it uses cc -traditional. With -traditional, we can ignore the prototype entirely. Sigh. Affected files ... .. //depot/projects/hammer/include/Makefile#66 edit Differences ... ==== //depot/projects/hammer/include/Makefile#66 (text+ko) ==== @@ -102,15 +102,17 @@ echo "#ifdef _KERNEL" >> osreldate.h; \ echo "#error \" cannot be used in the kernel, use \"" >> osreldate.h; \ echo "#else" >> osreldate.h; \ + echo "#undef __FreeBSD_version" >> osreldate.h; \ + echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \ + echo "#ifdef __STDC__" >> osreldate.h; \ echo "#ifndef _OSRELDATE_H" >> osreldate.h; \ echo "#define _OSRELDATE_H" >> osreldate.h; \ echo "#include " >> osreldate.h; \ - echo "#undef __FreeBSD_version" >> osreldate.h; \ - echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \ echo "__BEGIN_DECLS" >> osreldate.h; \ echo "extern int getosreldate(void);" >> osreldate.h; \ echo "__END_DECLS" >> osreldate.h; \ echo "#endif /* _OSRELDATE_H */" >> osreldate.h; \ + echo "#endif /* __STDC__ */" >> osreldate.h; \ echo "#endif /* _KERNEL */" >> osreldate.h .for i in ${LHDRS} From owner-p4-projects@FreeBSD.ORG Mon Jul 2 06:15:00 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28F0116A468; Mon, 2 Jul 2007 06:15:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CAE4416A41F for ; Mon, 2 Jul 2007 06:14:59 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BC64813C45A for ; Mon, 2 Jul 2007 06:14:59 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l626ExdL070469 for ; Mon, 2 Jul 2007 06:14:59 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l626ExZs070466 for perforce@freebsd.org; Mon, 2 Jul 2007 06:14:59 GMT (envelope-from gabor@freebsd.org) Date: Mon, 2 Jul 2007 06:14:59 GMT Message-Id: <200707020614.l626ExZs070466@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 122704 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 06:15:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=122704 Change 122704 by gabor@gabor_server on 2007/07/02 06:14:34 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/CHANGES#8 integrate .. //depot/projects/soc2006/gabor_destdir/GIDs#9 integrate .. //depot/projects/soc2006/gabor_destdir/MOVED#10 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#32 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/CHANGES#8 (text+ko) ==== @@ -10,6 +10,13 @@ All ports committers are allowed to commit to this file. +20070701: +AUTHOR: portmgr@FreeBSD.org +The following change was made to the ports infrastructure: + + * Virtual category 'kld' was added. If the port installs kernel loadable + modules, it should be included in this category. + 20070524: AUTHOR: portmgr@FreeBSD.org The following changes were made to the ports infrastructure: @@ -1351,4 +1358,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.72 2007/06/19 05:56:21 danfe Exp $ +$FreeBSD: ports/CHANGES,v 1.73 2007/07/01 15:09:37 pav Exp $ ==== //depot/projects/soc2006/gabor_destdir/GIDs#9 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.43 2007/06/27 21:13:24 beech Exp $ +$FreeBSD: ports/GIDs,v 1.44 2007/06/30 06:49:17 sat Exp $ # Please keep this file sorted by GID! smmsp:*:25: bind:*:53: @@ -53,6 +53,7 @@ mythtv:*:119: pdns:*:120 otrs:*:121: +zabbix:*:122: _ntp:*:123: fetchmail:*:124 postfix:*:125: ==== //depot/projects/soc2006/gabor_destdir/MOVED#10 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1399 2007/06/25 14:36:31 barner Exp $ +# $FreeBSD: ports/MOVED,v 1.1400 2007/06/30 19:52:38 miwi Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -2634,7 +2634,6 @@ ftp/gwget||2007-01-05|Has expired: fails to install multimedia/bsdav||2007-01-05|Has expired: does not work. We need to import bktv patches from OpenBSD to make it work multimedia/pitivi||2007-01-05|Has expired: Installs files during "make all" -misc/gnomesword||2007-01-05|Has expired: Configure fails graphics/opendx-samples||2007-01-05|Has expired: Changes permissions on installed file usr/local/dx/java/server/nets graphics/panorama||2007-01-05|Has expired: segfaults on startup (GUI only, render binary still works) graphics/qtutils||2007-01-05|Has expired: Does not build ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#32 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.572 2007/06/28 16:06:02 pav Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.573 2007/06/29 14:09:39 pav Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -4961,7 +4961,7 @@ for child in $$children; do \ case $$state in \ 0) \ - if [ -d $child ]; then \ + if [ -d $$child ]; then \ ${ECHO_CMD} $$d; \ fi; \ state=1;; \ @@ -5000,7 +5000,7 @@ for child in $$children; do \ case $$state in \ 0) \ - if [ ! -d $child ]; then \ + if [ ! -d $$child ]; then \ break; \ fi; \ state=1; \ From owner-p4-projects@FreeBSD.ORG Mon Jul 2 13:01:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BAC8716A469; Mon, 2 Jul 2007 13:01:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 142DF16A468 for ; Mon, 2 Jul 2007 13:01:36 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DF92B13C45A for ; Mon, 2 Jul 2007 13:01:35 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62D1ZOo030218 for ; Mon, 2 Jul 2007 13:01:35 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62D1ZsW030215 for perforce@freebsd.org; Mon, 2 Jul 2007 13:01:35 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 2 Jul 2007 13:01:35 GMT Message-Id: <200707021301.l62D1ZsW030215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122715 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 13:01:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=122715 Change 122715 by rdivacky@rdivacky_witten on 2007/07/02 13:00:36 Set the p_comm to "fexecved process" in a case when vn_fullpath fails. Pointed out by: jhb Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#8 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#8 (text+ko) ==== @@ -569,6 +569,9 @@ bcopy(fullpath, p->p_comm, len); if (freepath) free(freepath, M_TEMP); + } else { + len = strlen("fexecved process"); + bcopy("fexecved process", p->p_comm, len); } } p->p_comm[len] = 0; From owner-p4-projects@FreeBSD.ORG Mon Jul 2 13:08:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E39D116A46D; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A4D116A46B for ; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 884BB13C468 for ; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62D8mwL032851 for ; Mon, 2 Jul 2007 13:08:48 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62D8iNW032847 for perforce@freebsd.org; Mon, 2 Jul 2007 13:08:44 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 13:08:44 GMT Message-Id: <200707021308.l62D8iNW032847@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122716 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 13:08:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122716 Change 122716 by zec@zec_tca51 on 2007/07/02 13:08:09 IFC @ 112714 Affected files ... .. //depot/projects/vimage/src/sys/Makefile#4 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/vimage/src/sys/boot/forth/loader.conf#6 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#9 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#10 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#10 integrate .. //depot/projects/vimage/src/sys/conf/files#12 integrate .. //depot/projects/vimage/src/sys/conf/options#12 integrate .. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpiio.h#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-disk.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-usb.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp.c#8 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_pci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#6 integrate .. //depot/projects/vimage/src/sys/dev/rp/rp.c#2 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_private.h#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/ac97_patch.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sym/sym_hipd.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci_pci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/hid.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_aue.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_axe.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_axereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_cdce.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_cue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_kue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_udav.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/ohci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ohci_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uark.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/ubser.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ucom.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ucycom.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/udbp.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ufm.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ufoma.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uftdi.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ugen.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhci_pci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhid.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhub.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uipaq.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ulpt.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/umass.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/umodem.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ums.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/urio.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_mem.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_port.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_subr.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi_util.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvisor.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvscom.c#4 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.h#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_uma.c#2 delete .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_uma.h#2 delete .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/vimage/src/sys/fs/umapfs/umap.h#2 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_subr.c#3 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_vfsops.c#3 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_vnops.c#4 delete .. //depot/projects/vimage/src/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#9 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/vimage/src/sys/kern/Make.tags.inc#4 integrate .. //depot/projects/vimage/src/sys/kern/Makefile#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_conf.c#4 integrate .. //depot/projects/vimage/src/sys/kern/kern_malloc.c#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/vimage/src/sys/kern/subr_unit.c#2 integrate .. //depot/projects/vimage/src/sys/kern/tty.c#8 integrate .. //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#11 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#8 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/i2c/controllers/viapm/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/nxge/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/slhci/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/umapfs/Makefile#2 delete .. //depot/projects/vimage/src/sys/net/bridgestp.c#5 integrate .. //depot/projects/vimage/src/sys/net/if_gre.c#4 integrate .. //depot/projects/vimage/src/sys/net80211/_ieee80211.h#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#5 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_radiotap.h#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.h#3 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp.h#3 integrate .. //depot/projects/vimage/src/sys/netatm/atm_cm.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/ipatm/ipatm_event.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/spans/spans_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/sscf_uni_lower.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/uniarp.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/uniarp_timer.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/unisig_decode.h#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/unisig_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_parse.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.h#9 integrate .. //depot/projects/vimage/src/sys/netinet/in_proto.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#16 integrate .. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#9 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/ah.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_core.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/ah_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_output.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_aesctr.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_core.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_rijndael.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.h#3 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#5 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_core.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_output.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec.c#4 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/nd6.c#13 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_output.c#6 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#5 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#3 integrate .. //depot/projects/vimage/src/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/keysock.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/vimage/src/sys/netkey/key.c#2 delete .. //depot/projects/vimage/src/sys/netkey/key.h#2 delete .. //depot/projects/vimage/src/sys/netkey/key_debug.c#2 delete .. //depot/projects/vimage/src/sys/netkey/key_debug.h#2 delete .. //depot/projects/vimage/src/sys/netkey/key_var.h#2 delete .. //depot/projects/vimage/src/sys/netkey/keydb.c#2 delete .. //depot/projects/vimage/src/sys/netkey/keydb.h#2 delete .. //depot/projects/vimage/src/sys/netkey/keysock.c#2 delete .. //depot/projects/vimage/src/sys/netkey/keysock.h#2 delete .. //depot/projects/vimage/src/sys/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.c#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.h#4 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_arg.c#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_audit.c#2 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_framework.h#5 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_policy.h#5 integrate .. //depot/projects/vimage/src/sys/security/mac_stub/mac_stub.c#6 integrate .. //depot/projects/vimage/src/sys/security/mac_test/mac_test.c#5 integrate .. //depot/projects/vimage/src/sys/sys/_rwlock.h#3 integrate .. //depot/projects/vimage/src/sys/sys/rwlock.h#4 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_softdep.c#5 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/vimage/src/sys/vm/swap_pager.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageout.c#6 integrate Differences ... ==== //depot/projects/vimage/src/sys/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#8 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.588 2007/06/17 04:27:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.589 2007/07/01 07:08:25 alc Exp $"); /* * Manages physical address maps. @@ -210,7 +210,8 @@ vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free); -static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde); +static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, + vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); @@ -1895,10 +1896,9 @@ * Remove a single page from a process address space */ static void -pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde) +pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, vm_page_t *free) { pt_entry_t *pte; - vm_page_t free = NULL; PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((*pde & PG_V) == 0) @@ -1906,9 +1906,8 @@ pte = pmap_pde_to_pte(pde, va); if ((*pte & PG_V) == 0) return; - pmap_remove_pte(pmap, pte, va, *pde, &free); + pmap_remove_pte(pmap, pte, va, *pde, free); pmap_invalidate_page(pmap, va); - pmap_free_zero_pages(free); } /* @@ -1947,7 +1946,7 @@ if (sva + PAGE_SIZE == eva) { pde = pmap_pde(pmap, sva); if (pde && (*pde & PG_PS) == 0) { - pmap_remove_page(pmap, sva, pde); + pmap_remove_page(pmap, sva, pde, &free); goto out; } } @@ -2018,12 +2017,11 @@ } } out: - if (anyvalid) { + if (anyvalid) pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); - } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* @@ -3003,9 +3001,9 @@ } } pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#8 (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.482 2007/06/14 17:14:25 delphij Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ cpu HAMMER ident GENERIC @@ -75,6 +75,9 @@ # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel +# CPU frequency control +device cpufreq + # Bus support. device acpi device pci ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#4 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.65 2007/05/09 15:55:45 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.67 2007/07/01 22:19:20 njl Exp $ # # ==== //depot/projects/vimage/src/sys/boot/forth/loader.conf#6 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.120 2007/04/09 22:09:09 pjd Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.121 2007/06/25 05:06:55 rafan Exp $ ############################################################## ### Basic configuration options ############################ @@ -135,7 +135,6 @@ portalfs_load="NO" # Portal filesystem procfs_load="NO" # Process filesystem reiserfs_load="NO" # ReiserFS -#umapfs_load="NO" # User-id map filesystem unionfs_load="NO" # Union filesystem xfs_load="NO" # XFS zfs_load="NO" # ZFS ==== //depot/projects/vimage/src/sys/cam/cam_xpt.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.189 2007/06/17 05:55:53 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.190 2007/06/30 14:58:56 imp Exp $"); #include #include @@ -620,6 +620,18 @@ CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0 }, { + /* + * Western Digital My Book 250GB (USB) + * hangs upon serial number probing. + * PR: 107495 + */ + { + T_DIRECT, SIP_MEDIA_FIXED, "WD", + "2500JB External", "*" + }, + CAM_QUIRK_NOSERIAL, /*mintags*/0, /*maxtags*/0 + }, + { /* Default tagged queuing parameters for all devices */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, ==== //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.215 2007/06/16 18:22:19 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.224 2007/07/01 17:42:07 imp Exp $"); #include @@ -457,6 +457,14 @@ }, { /* + * iRiver U10 MP3 player + * PR: usb/92306 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "U10*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * X-Micro Flash Disk * PR: usb/96901 */ @@ -471,6 +479,62 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EM732X", "MP3 Player*", "1.0"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * Denver MP3 player + * PR: usb/107101 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "DENVER", "MP3 PLAYER", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * Philips USB Key Audio KEY013 + * PR: usb/68412 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "PHILIPS", "Key*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT + }, + { + /* + * JNC MP3 Player + * PR: usb/94439 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "JNC*" , "MP3 Player*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * SAMSUNG MP0402H + * PR: usb/108427 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "MP0402H", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * I/O Magic USB flash - Giga Bank + * PR: usb/108810 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "GS-Magic", "stor*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * JoyFly 128mb USB Flash Drive + * PR: 96133 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB 2.0", "Flash Disk*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * ChipsBnk usb stick + * PR: 103702 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ChipsBnk", "USB*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/vimage/src/sys/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1434 2007/06/16 04:57:03 alc Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1439 2007/07/01 11:38:26 gnn Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -495,9 +495,9 @@ # options INET #Internet communications protocols options INET6 #IPv6 communications protocols -options IPSEC #IP security -options IPSEC_ESP #IP security (crypto; define w/ IPSEC) -options IPSEC_DEBUG #debug for IP security +#options IPSEC #IP security +#options IPSEC_ESP #IP security (crypto; define w/ IPSEC) +#options IPSEC_DEBUG #debug for IP security # # Set IPSEC_FILTERGIF to force packets coming through a gif tunnel # to be processed by any configured packet filtering (ipfw, ipf). @@ -509,7 +509,7 @@ # #options IPSEC_FILTERGIF #filter ipsec packets from a tunnel -#options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) +options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) options IPX #IPX/SPX communications protocols @@ -938,10 +938,12 @@ # currently be demand-loaded.) Some people still prefer to statically # compile other filesystems as well. # -# NB: The NULL, PORTAL, UMAP and UNION filesystems are known to be -# buggy, and WILL panic your system if you attempt to do anything with -# them. They are included here as an incentive for some enterprising -# soul to sit down and fix them. +# NB: The PORTAL filesystem is known to be buggy, and WILL panic your +# system if you attempt to do anything with it. It is included here +# as an incentive for some enterprising soul to sit down and fix it. +# The UNION filesystem was known to be buggy in the past. It is now +# being actively maintained, although there are still some issues being +# resolved. # # One of these is mandatory: @@ -964,8 +966,6 @@ options PSEUDOFS_TRACE #Debugging support for PSEUDOFS options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -# Broken (seriously (functionally) broken): -#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device @@ -1905,6 +1905,7 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device le # AMD Am7900 LANCE and Am79C9xx PCnet +device nxge # Neterion Xframe 10GbE Server/Storage Adapter device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') ==== //depot/projects/vimage/src/sys/conf/files#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1222 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1227 2007/07/01 12:42:37 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -811,6 +811,17 @@ dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard dev/nge/if_nge.c optional nge +dev/nxge/if_nxge.c optional nxge +dev/nxge/xgehal/xgehal-device.c optional nxge +dev/nxge/xgehal/xgehal-mm.c optional nxge +dev/nxge/xgehal/xge-queue.c optional nxge +dev/nxge/xgehal/xgehal-driver.c optional nxge +dev/nxge/xgehal/xgehal-ring.c optional nxge +dev/nxge/xgehal/xgehal-channel.c optional nxge +dev/nxge/xgehal/xgehal-fifo.c optional nxge +dev/nxge/xgehal/xgehal-stats.c optional nxge +dev/nxge/xgehal/xgehal-config.c optional nxge +dev/nxge/xgehal/xgehal-mgmt.c optional nxge dev/nmdm/nmdm.c optional nmdm dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp pccard @@ -1199,9 +1210,6 @@ fs/udf/udf_iconv.c optional udf_iconv fs/udf/udf_vfsops.c optional udf fs/udf/udf_vnops.c optional udf -fs/umapfs/umap_subr.c optional umapfs -fs/umapfs/umap_vfsops.c optional umapfs -fs/umapfs/umap_vnops.c optional umapfs fs/unionfs/union_subr.c optional unionfs fs/unionfs/union_vfsops.c optional unionfs fs/unionfs/union_vnops.c optional unionfs @@ -1209,7 +1217,6 @@ fs/tmpfs/tmpfs_fifoops.c optional tmpfs fs/tmpfs/tmpfs_vfsops.c optional tmpfs fs/tmpfs/tmpfs_subr.c optional tmpfs -fs/tmpfs/tmpfs_uma.c optional tmpfs gdb/gdb_cons.c optional gdb gdb/gdb_main.c optional gdb gdb/gdb_packet.c optional gdb @@ -1823,7 +1830,6 @@ netinet/ip_fw_pfil.c optional ipfirewall netinet/ip_icmp.c optional inet netinet/ip_input.c optional inet -netinet/ip_ipsec.c optional ipsec netinet/ip_ipsec.c optional fast_ipsec netinet/ip_mroute.c optional mrouting inet | mrouting inet6 netinet/ip_options.c optional inet @@ -1859,17 +1865,7 @@ netinet/libalias/alias_mod.c optional libalias | netgraph_nat netinet/libalias/alias_proxy.c optional libalias | netgraph_nat netinet/libalias/alias_util.c optional libalias | netgraph_nat -netinet6/ah_aesxcbcmac.c optional ipsec -netinet6/ah_core.c optional ipsec -netinet6/ah_input.c optional ipsec -netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -netinet6/esp_aesctr.c optional ipsec ipsec_esp -netinet6/esp_core.c optional ipsec ipsec_esp -netinet6/esp_input.c optional ipsec ipsec_esp -netinet6/esp_output.c optional ipsec ipsec_esp -netinet6/esp_rijndael.c optional ipsec ipsec_esp -netinet6/esp_camellia.c optional ipsec ipsec_esp netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 netinet6/in6.c optional inet6 @@ -1885,10 +1881,7 @@ netinet6/ip6_input.c optional inet6 netinet6/ip6_mroute.c optional mrouting inet6 netinet6/ip6_output.c optional inet6 -netinet6/ipcomp_core.c optional ipsec -netinet6/ipcomp_input.c optional ipsec -netinet6/ipcomp_output.c optional ipsec -netinet6/ipsec.c optional ipsec +netinet6/ip6_ipsec.c optional fast_ipsec netinet6/mld6.c optional inet6 netinet6/nd6.c optional inet6 netinet6/nd6_nbr.c optional inet6 @@ -1920,10 +1913,6 @@ netipx/ipx_usrreq.c optional ipx netipx/spx_debug.c optional ipx netipx/spx_usrreq.c optional ipx -netkey/key.c optional ipsec -netkey/key_debug.c optional ipsec -netkey/keydb.c optional ipsec -netkey/keysock.c optional ipsec netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm ==== //depot/projects/vimage/src/sys/conf/options#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.596 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/options,v 1.597 2007/06/25 05:06:55 rafan Exp $ # # On the handling of kernel options # @@ -198,7 +198,6 @@ SMBFS opt_dontuse.h TMPFS opt_dontuse.h UDF opt_dontuse.h -UMAPFS opt_dontuse.h UNIONFS opt_dontuse.h # Pseudofs debugging ==== //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 (text+ko) ==== @@ -766,7 +766,7 @@ vn_lock(*vpp, flags, curthread); } ZFS_EXIT(zfsvfs); - return (0); + return (err); } static int ==== //depot/projects/vimage/src/sys/dev/acpica/acpi.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.239 2007/06/15 18:02:33 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.241 2007/06/30 17:27:31 njl Exp $"); #include "opt_acpi.h" #include @@ -136,6 +136,7 @@ static ACPI_STATUS acpi_probe_child(ACPI_HANDLE handle, UINT32 level, void *context, void **status); static BOOLEAN acpi_MatchHid(ACPI_HANDLE h, const char *hid); +static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, int state); static void acpi_shutdown_final(void *arg, int howto); static void acpi_enable_fixed_events(struct acpi_softc *sc); static int acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate); @@ -410,6 +411,7 @@ sc = device_get_softc(dev); sc->acpi_dev = dev; + callout_init(&sc->susp_force_to, TRUE); error = ENXIO; @@ -592,7 +594,7 @@ /* Pick the first valid sleep state for the sleep button default. */ sc->acpi_sleep_button_sx = ACPI_S_STATES_MAX + 1; - for (state = ACPI_STATE_S1; state < ACPI_STATE_S5; state++) + for (state = ACPI_STATE_S1; state <= ACPI_STATE_S4; state++) if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) { sc->acpi_sleep_button_sx = state; break; @@ -2118,7 +2120,151 @@ return (acpi_SetInteger(ACPI_ROOT_OBJECT, "_PIC", model)); } +/* + * DEPRECATED. This interface has serious deficiencies and will be + * removed. + * + * Immediately enter the sleep state. In the old model, acpiconf(8) ran + * rc.suspend and rc.resume so we don't have to notify devd(8) to do this. + */ +ACPI_STATUS +acpi_SetSleepState(struct acpi_softc *sc, int state) +{ + static int once; + + if (!once) { + printf( +"warning: acpi_SetSleepState() deprecated, need to update your software\n"); + once = 1; + } + return (acpi_EnterSleepState(sc, state)); +} + static void +acpi_sleep_force(void *arg) +{ + struct acpi_softc *sc; + + printf("acpi: suspend request timed out, forcing sleep now\n"); + sc = arg; + if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) + printf("acpi: force sleep state S%d failed\n", sc->acpi_next_sstate); +} + +/* + * Request that the system enter the given suspend state. All /dev/apm + * devices and devd(8) will be notified. Userland then has a chance to + * save state and acknowledge the request. The system sleeps once all + * acks are in. + */ +int +acpi_ReqSleepState(struct acpi_softc *sc, int state) +{ + struct apm_clone_data *clone; + + if (state < ACPI_STATE_S1 || state > ACPI_STATE_S5) + return (EINVAL); + + /* S5 (soft-off) should be entered directly with no waiting. */ + if (state == ACPI_STATE_S5) { + if (ACPI_SUCCESS(acpi_EnterSleepState(sc, state))) + return (0); + else + return (ENXIO); + } + + /* If a suspend request is already in progress, just return. */ + ACPI_LOCK(acpi); + if (sc->acpi_next_sstate != 0) { + ACPI_UNLOCK(acpi); + return (0); + } + + /* Record the pending state and notify all apm devices. */ + sc->acpi_next_sstate = state; + STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) { + clone->notify_status = APM_EV_NONE; + if ((clone->flags & ACPI_EVF_DEVD) == 0) { + selwakeuppri(&clone->sel_read, PZERO); + KNOTE_UNLOCKED(&clone->sel_read.si_note, 0); + } + } + + /* Now notify devd(8) also. */ + acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); + + /* + * Set a timeout to fire if userland doesn't ack the suspend request + * in time. This way we still eventually go to sleep if we were + * overheating or running low on battery, even if userland is hung. + * We cancel this timeout once all userland acks are in or the + * suspend request is aborted. + */ + callout_reset(&sc->susp_force_to, 10 * hz, acpi_sleep_force, sc); + ACPI_UNLOCK(acpi); + return (0); +} + +/* + * Acknowledge (or reject) a pending sleep state. The caller has + * prepared for suspend and is now ready for it to proceed. If the + * error argument is non-zero, it indicates suspend should be cancelled + * and gives an errno value describing why. Once all votes are in, + * we suspend the system. + */ +int +acpi_AckSleepState(struct apm_clone_data *clone, int error) +{ + struct acpi_softc *sc; + int ret, sleeping; + + /* If no pending sleep state, return an error. */ + ACPI_LOCK(acpi); + sc = clone->acpi_sc; + if (sc->acpi_next_sstate == 0) { + ACPI_UNLOCK(acpi); + return (ENXIO); + } + + /* Caller wants to abort suspend process. */ + if (error) { + sc->acpi_next_sstate = 0; + callout_stop(&sc->susp_force_to); + printf("acpi: listener on %s cancelled the pending suspend\n", + devtoname(clone->cdev)); + ACPI_UNLOCK(acpi); + return (0); + } + + /* + * Mark this device as acking the suspend request. Then, walk through + * all devices, seeing if they agree yet. We only count devices that + * are writable since read-only devices couldn't ack the request. + */ + clone->notify_status = APM_EV_ACKED; + sleeping = TRUE; + STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) { + if ((clone->flags & ACPI_EVF_WRITE) != 0 && + clone->notify_status != APM_EV_ACKED) { + sleeping = FALSE; + break; + } + } + + /* If all devices have voted "yes", we will suspend now. */ + if (sleeping) + callout_stop(&sc->susp_force_to); + ACPI_UNLOCK(acpi); + ret = 0; + if (sleeping) { + if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) + ret = ENODEV; + } + + return (ret); +} + +static void acpi_sleep_enable(void *arg) { @@ -2134,12 +2280,12 @@ }; /* - * Set the system sleep state + * Enter the desired system sleep state. * * Currently we support S1-S5 but S4 is only S4BIOS */ -ACPI_STATUS -acpi_SetSleepState(struct acpi_softc *sc, int state) +static ACPI_STATUS +acpi_EnterSleepState(struct acpi_softc *sc, int state) { ACPI_STATUS status; UINT8 TypeA; @@ -2148,14 +2294,13 @@ ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); + /* Re-entry once we're suspending is not allowed. */ status = AE_OK; ACPI_LOCK(acpi); if (sc->acpi_sleep_disabled) { - if (sc->acpi_sstate != ACPI_STATE_S0) - status = AE_ERROR; ACPI_UNLOCK(acpi); printf("acpi: suspend request ignored (not ready yet)\n"); - return (status); + return (AE_ERROR); } sc->acpi_sleep_disabled = 1; ACPI_UNLOCK(acpi); @@ -2251,6 +2396,7 @@ * Back out state according to how far along we got in the suspend * process. This handles both the error and success cases. */ + sc->acpi_next_sstate = 0; if (slp_state >= ACPI_SS_GPE_SET) { acpi_wake_prep_walk(state); sc->acpi_sstate = ACPI_STATE_S0; @@ -2264,7 +2410,10 @@ /* Allow another sleep request after a while. */ if (state != ACPI_STATE_S5) - timeout(acpi_sleep_enable, (caddr_t)sc, hz * ACPI_MINIMUM_AWAKETIME); + timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME); + + /* Run /etc/rc.resume after we are back. */ + acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); mtx_unlock(&Giant); return_ACPI_STATUS (status); @@ -2574,11 +2723,19 @@ static void acpi_system_eventhandler_sleep(void *arg, int state) { + int ret; ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 2 13:10:45 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49B2716A46F; Mon, 2 Jul 2007 13:10:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E785816A46B for ; Mon, 2 Jul 2007 13:10:44 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 92A9F13C457 for ; Mon, 2 Jul 2007 13:10:44 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 208AC8BF2BE; Mon, 2 Jul 2007 15:10:43 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K8NWdiAP+zqq; Mon, 2 Jul 2007 15:10:39 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id F34EE8BF185; Mon, 2 Jul 2007 15:10:38 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l62DAc17032049; Mon, 2 Jul 2007 15:10:38 +0200 (CEST) (envelope-from rdivacky) Date: Mon, 2 Jul 2007 15:10:38 +0200 From: Roman Divacky To: John Baldwin Message-ID: <20070702131038.GA31701@freebsd.org> References: <200706281214.l5SCEhFq046327@repoman.freebsd.org> <200706292052.06861.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200706292052.06861.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 13:10:45 -0000 On Fri, Jun 29, 2007 at 08:52:06PM -0400, John Baldwin wrote: > On Thursday 28 June 2007 08:14:43 am Roman Divacky wrote: > > http://perforce.freebsd.org/chv.cgi?CH=122480 > > > > Change 122480 by rdivacky@rdivacky_witten on 2007/06/28 12:14:14 > > > > vrele AFTER checking the vp for being on non-MPSAFE FS + some indentation > > problems that caused bad scoping > > > > Noticed by: rwatson (again ;) ) > > Umm, no. You need Giant for the vrele(). The proper fix is to use the > VFS_*_GIANT() macros and use int variables to know if you need to unlock > Giant or not. I dont see an easy and elegant way how to use the VFS_*_GIANT macros. I lock the giant in kern_get_at() function and unlock in function that calls this one. ie.: foo() { kern_get_at(...); ... if (VFS_NEEDSGIANT) mtx_unlock(&Giant); } I need to either propagate the vfslocked value from kern_get_at or lock the Giant in the foo() function. honestly I dont like either much what do you suggest? From owner-p4-projects@FreeBSD.ORG Mon Jul 2 13:19:06 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A43616A46D; Mon, 2 Jul 2007 13:19:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F2AFB16A468 for ; Mon, 2 Jul 2007 13:19:05 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E00FB13C487 for ; Mon, 2 Jul 2007 13:19:05 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62DJ5U6033545 for ; Mon, 2 Jul 2007 13:19:05 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62DJ1r7033542 for perforce@freebsd.org; Mon, 2 Jul 2007 13:19:01 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 2 Jul 2007 13:19:01 GMT Message-Id: <200707021319.l62DJ1r7033542@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 122717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 13:19:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=122717 Change 122717 by sephe@sephe_enigma:sam_wifi on 2007/07/02 13:18:05 IFC @122706 Affected files ... .. //depot/projects/wifi/ObsoleteFiles.inc#19 integrate .. //depot/projects/wifi/UPDATING#34 integrate .. //depot/projects/wifi/contrib/ipfilter/tools/ipfstat.c#5 integrate .. //depot/projects/wifi/contrib/less/main.c#6 integrate .. //depot/projects/wifi/contrib/less/screen.c#5 integrate .. //depot/projects/wifi/contrib/netcat/netcat.c#4 integrate .. //depot/projects/wifi/contrib/telnet/telnet/externs.h#2 integrate .. //depot/projects/wifi/contrib/traceroute/traceroute.c#7 integrate .. //depot/projects/wifi/etc/mtree/BSD.include.dist#18 integrate .. //depot/projects/wifi/include/Makefile#25 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_open_fd.c#7 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_open_file.c#7 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_open_filename.c#4 integrate .. //depot/projects/wifi/lib/libc/arm/sys/sbrk.S#3 integrate .. //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#7 integrate .. //depot/projects/wifi/lib/libgssapi/gss_accept_sec_context.c#3 integrate .. //depot/projects/wifi/lib/libgssapi/gss_display_status.c#2 integrate .. //depot/projects/wifi/lib/libgssapi/gss_export_name.c#2 integrate .. //depot/projects/wifi/lib/libgssapi/gss_indicate_mechs.c#2 integrate .. //depot/projects/wifi/lib/libgssapi/gss_init_sec_context.c#4 integrate .. //depot/projects/wifi/lib/libipsec/Makefile#6 integrate .. //depot/projects/wifi/lib/libipsec/ipsec_dump_policy.c#2 integrate .. //depot/projects/wifi/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/wifi/lib/libipsec/ipsec_set_policy.3#5 integrate .. //depot/projects/wifi/lib/libipsec/ipsec_strerror.3#4 integrate .. //depot/projects/wifi/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/wifi/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/wifi/lib/libipsec/pfkey_dump.c#3 integrate .. //depot/projects/wifi/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/wifi/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/wifi/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/wifi/release/doc/share/misc/dev.archlist.txt#23 integrate .. //depot/projects/wifi/release/scripts/src-install.sh#2 integrate .. //depot/projects/wifi/rescue/rescue/Makefile#18 integrate .. //depot/projects/wifi/sbin/Makefile#14 integrate .. //depot/projects/wifi/sbin/mount/mount.8#10 integrate .. //depot/projects/wifi/sbin/mount/mount.c#13 integrate .. //depot/projects/wifi/sbin/mount_umapfs/Makefile#2 delete .. //depot/projects/wifi/sbin/mount_umapfs/mount_umapfs.8#3 delete .. //depot/projects/wifi/sbin/mount_umapfs/mount_umapfs.c#4 delete .. //depot/projects/wifi/sbin/mount_umapfs/sample.group.mapfile#2 delete .. //depot/projects/wifi/sbin/mount_umapfs/sample.user.mapfile#2 delete .. //depot/projects/wifi/sbin/mount_umapfs/umap_manual#2 delete .. //depot/projects/wifi/sbin/ping/ping.c#7 integrate .. //depot/projects/wifi/sbin/ping6/Makefile#4 integrate .. //depot/projects/wifi/sbin/ping6/ping6.c#5 integrate .. //depot/projects/wifi/sbin/setkey/Makefile#3 integrate .. //depot/projects/wifi/sbin/setkey/parse.y#2 integrate .. //depot/projects/wifi/sbin/setkey/setkey.c#2 integrate .. //depot/projects/wifi/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/wifi/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/wifi/sbin/setkey/token.l#3 integrate .. //depot/projects/wifi/share/Makefile#5 integrate .. //depot/projects/wifi/share/man/man4/Makefile#40 integrate .. //depot/projects/wifi/share/man/man4/ath.4#18 integrate .. //depot/projects/wifi/share/man/man4/bce.4#5 integrate .. //depot/projects/wifi/share/man/man4/ieee80211.4#3 integrate .. //depot/projects/wifi/share/man/man4/mac.4#2 integrate .. //depot/projects/wifi/share/man/man4/msk.4#3 integrate .. //depot/projects/wifi/share/man/man4/nxge.4#1 branch .. //depot/projects/wifi/share/man/man4/pcm.4#9 integrate .. //depot/projects/wifi/share/man/man4/tty.4#3 integrate .. //depot/projects/wifi/share/man/man4/ucom.4#4 integrate .. //depot/projects/wifi/share/man/man4/uhid.4#4 integrate .. //depot/projects/wifi/share/man/man4/wi.4#11 integrate .. //depot/projects/wifi/share/man/man7/hier.7#12 integrate .. //depot/projects/wifi/share/man/man9/ieee80211_ioctl.9#4 integrate .. //depot/projects/wifi/share/man/man9/priv.9#4 integrate .. //depot/projects/wifi/share/man/man9/suser.9#7 integrate .. //depot/projects/wifi/share/misc/committers-ports.dot#8 integrate .. //depot/projects/wifi/share/misc/committers-src.dot#5 integrate .. //depot/projects/wifi/share/mk/bsd.own.mk#11 integrate .. //depot/projects/wifi/share/mk/sys.mk#8 integrate .. //depot/projects/wifi/sys/Makefile#9 integrate .. //depot/projects/wifi/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/wifi/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/wifi/sys/amd64/conf/NOTES#22 integrate .. //depot/projects/wifi/sys/boot/forth/loader.conf#17 integrate .. //depot/projects/wifi/sys/cam/cam_xpt.c#23 integrate .. //depot/projects/wifi/sys/cam/scsi/scsi_da.c#17 integrate .. //depot/projects/wifi/sys/conf/NOTES#44 integrate .. //depot/projects/wifi/sys/conf/files#57 integrate .. //depot/projects/wifi/sys/conf/options#37 integrate .. //depot/projects/wifi/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi.c#29 integrate .. //depot/projects/wifi/sys/dev/ata/ata-all.h#18 integrate .. //depot/projects/wifi/sys/dev/ata/ata-chipset.c#28 integrate .. //depot/projects/wifi/sys/dev/ata/ata-disk.c#19 integrate .. //depot/projects/wifi/sys/dev/ata/ata-pci.h#20 integrate .. //depot/projects/wifi/sys/dev/ata/ata-usb.c#4 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#147 edit .. //depot/projects/wifi/sys/dev/ipw/if_ipw.c#17 integrate .. //depot/projects/wifi/sys/dev/isp/isp.c#12 integrate .. //depot/projects/wifi/sys/dev/isp/isp_pci.c#15 integrate .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#55 integrate .. //depot/projects/wifi/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/wifi/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/wifi/sys/dev/ral/rt2560.c#23 integrate .. //depot/projects/wifi/sys/dev/ral/rt2661.c#15 integrate .. //depot/projects/wifi/sys/dev/rp/rp.c#6 integrate .. //depot/projects/wifi/sys/dev/sound/pci/hda/hdac.c#13 integrate .. //depot/projects/wifi/sys/dev/sound/pci/hda/hdac_private.h#5 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/ac97_patch.c#8 integrate .. //depot/projects/wifi/sys/dev/sym/sym_hipd.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/if_aue.c#17 integrate .. //depot/projects/wifi/sys/dev/usb/if_axe.c#23 integrate .. //depot/projects/wifi/sys/dev/usb/if_axereg.h#11 integrate .. //depot/projects/wifi/sys/dev/usb/if_cdce.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/if_cue.c#16 integrate .. //depot/projects/wifi/sys/dev/usb/if_kue.c#16 integrate .. //depot/projects/wifi/sys/dev/usb/if_ural.c#32 integrate .. //depot/projects/wifi/sys/dev/usb/uark.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/ucom.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/ugen.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/uhub.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/ukbd.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/umass.c#17 integrate .. //depot/projects/wifi/sys/dev/usb/umodem.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/ums.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/usb.h#9 integrate .. //depot/projects/wifi/sys/dev/usb/usb_port.h#13 integrate .. //depot/projects/wifi/sys/dev/usb/usb_quirks.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/usb_quirks.h#7 integrate .. //depot/projects/wifi/sys/dev/usb/usb_subr.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/usbdevs#29 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.h#10 integrate .. //depot/projects/wifi/sys/dev/wi/if_wi.c#38 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_fifoops.h#2 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_uma.c#2 delete .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_uma.h#2 delete .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/wifi/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/wifi/sys/fs/umapfs/umap.h#4 delete .. //depot/projects/wifi/sys/fs/umapfs/umap_subr.c#4 delete .. //depot/projects/wifi/sys/fs/umapfs/umap_vfsops.c#10 delete .. //depot/projects/wifi/sys/fs/umapfs/umap_vnops.c#9 delete .. //depot/projects/wifi/sys/i386/conf/GENERIC#22 integrate .. //depot/projects/wifi/sys/i386/conf/NOTES#27 integrate .. //depot/projects/wifi/sys/i386/i386/pmap.c#25 integrate .. //depot/projects/wifi/sys/kern/Make.tags.inc#5 integrate .. //depot/projects/wifi/sys/kern/Makefile#4 integrate .. //depot/projects/wifi/sys/kern/kern_malloc.c#17 integrate .. //depot/projects/wifi/sys/kern/kern_rwlock.c#9 integrate .. //depot/projects/wifi/sys/kern/kern_timeout.c#10 integrate .. //depot/projects/wifi/sys/kern/tty.c#16 integrate .. //depot/projects/wifi/sys/modules/Makefile#41 integrate .. //depot/projects/wifi/sys/modules/acpi/acpi_video/Makefile#4 integrate .. //depot/projects/wifi/sys/modules/ath_rate_amrr/Makefile#5 integrate .. //depot/projects/wifi/sys/modules/ath_rate_onoe/Makefile#4 integrate .. //depot/projects/wifi/sys/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/i2c/controllers/viapm/Makefile#3 integrate .. //depot/projects/wifi/sys/modules/nxge/Makefile#1 branch .. //depot/projects/wifi/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/umapfs/Makefile#2 delete .. //depot/projects/wifi/sys/net/bridgestp.c#12 integrate .. //depot/projects/wifi/sys/net/if_gre.c#11 integrate .. //depot/projects/wifi/sys/net80211/_ieee80211.h#25 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#32 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#110 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_radiotap.h#15 integrate .. //depot/projects/wifi/sys/netatalk/aarp.h#4 integrate .. //depot/projects/wifi/sys/netatalk/ddp.h#4 integrate .. //depot/projects/wifi/sys/netatm/atm_cm.c#5 integrate .. //depot/projects/wifi/sys/netatm/ipatm/ipatm_event.c#3 integrate .. //depot/projects/wifi/sys/netatm/spans/spans_proto.c#3 integrate .. //depot/projects/wifi/sys/netatm/uni/sscf_uni_lower.c#3 integrate .. //depot/projects/wifi/sys/netatm/uni/uniarp.c#4 integrate .. //depot/projects/wifi/sys/netatm/uni/uniarp_timer.c#3 integrate .. //depot/projects/wifi/sys/netatm/uni/unisig_decode.h#3 integrate .. //depot/projects/wifi/sys/netatm/uni/unisig_proto.c#3 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#12 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#8 integrate .. //depot/projects/wifi/sys/netgraph/ng_parse.c#6 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.c#18 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.h#11 integrate .. //depot/projects/wifi/sys/netinet/in_proto.c#11 integrate .. //depot/projects/wifi/sys/netinet/ip_fw2.c#28 integrate .. //depot/projects/wifi/sys/netinet/ip_icmp.c#12 integrate .. //depot/projects/wifi/sys/netinet/ip_input.c#19 integrate .. //depot/projects/wifi/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/wifi/sys/netinet/ip_output.c#20 integrate .. //depot/projects/wifi/sys/netinet/raw_ip.c#17 integrate .. //depot/projects/wifi/sys/netinet/sctp_indata.c#15 integrate .. //depot/projects/wifi/sys/netinet/sctp_input.c#17 integrate .. //depot/projects/wifi/sys/netinet/sctp_os_bsd.h#13 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.c#18 integrate .. //depot/projects/wifi/sys/netinet/sctp_usrreq.c#15 integrate .. //depot/projects/wifi/sys/netinet/sctputil.c#17 integrate .. //depot/projects/wifi/sys/netinet/tcp_input.c#29 integrate .. //depot/projects/wifi/sys/netinet/tcp_output.c#18 integrate .. //depot/projects/wifi/sys/netinet/tcp_subr.c#33 integrate .. //depot/projects/wifi/sys/netinet/tcp_syncache.c#20 integrate .. //depot/projects/wifi/sys/netinet/udp_usrreq.c#23 integrate .. //depot/projects/wifi/sys/netinet6/ah.h#3 delete .. //depot/projects/wifi/sys/netinet6/ah6.h#3 delete .. //depot/projects/wifi/sys/netinet6/ah_aesxcbcmac.c#5 delete .. //depot/projects/wifi/sys/netinet6/ah_aesxcbcmac.h#3 delete .. //depot/projects/wifi/sys/netinet6/ah_core.c#8 delete .. //depot/projects/wifi/sys/netinet6/ah_input.c#4 delete .. //depot/projects/wifi/sys/netinet6/ah_output.c#5 delete .. //depot/projects/wifi/sys/netinet6/esp.h#3 delete .. //depot/projects/wifi/sys/netinet6/esp6.h#3 delete .. //depot/projects/wifi/sys/netinet6/esp_aesctr.c#6 delete .. //depot/projects/wifi/sys/netinet6/esp_aesctr.h#3 delete .. //depot/projects/wifi/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/wifi/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/wifi/sys/netinet6/esp_core.c#6 delete .. //depot/projects/wifi/sys/netinet6/esp_input.c#4 delete .. //depot/projects/wifi/sys/netinet6/esp_rijndael.c#4 delete .. //depot/projects/wifi/sys/netinet6/esp_rijndael.h#3 delete .. //depot/projects/wifi/sys/netinet6/icmp6.c#17 integrate .. //depot/projects/wifi/sys/netinet6/in6.h#10 integrate .. //depot/projects/wifi/sys/netinet6/in6_pcb.c#12 integrate .. //depot/projects/wifi/sys/netinet6/in6_proto.c#12 integrate .. //depot/projects/wifi/sys/netinet6/ip6_forward.c#7 integrate .. //depot/projects/wifi/sys/netinet6/ip6_input.c#12 integrate .. //depot/projects/wifi/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/wifi/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/wifi/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/wifi/sys/netinet6/ipcomp.h#3 delete .. //depot/projects/wifi/sys/netinet6/ipcomp6.h#3 delete .. //depot/projects/wifi/sys/netinet6/ipcomp_core.c#4 delete .. //depot/projects/wifi/sys/netinet6/ipcomp_input.c#5 delete .. //depot/projects/wifi/sys/netinet6/ipcomp_output.c#4 delete .. //depot/projects/wifi/sys/netinet6/ipsec.c#10 delete .. //depot/projects/wifi/sys/netinet6/ipsec.h#3 delete .. //depot/projects/wifi/sys/netinet6/ipsec6.h#3 delete .. //depot/projects/wifi/sys/netinet6/nd6.c#14 integrate .. //depot/projects/wifi/sys/netinet6/nd6_nbr.c#13 integrate .. //depot/projects/wifi/sys/netinet6/raw_ip6.c#15 integrate .. //depot/projects/wifi/sys/netinet6/sctp6_usrreq.c#14 integrate .. //depot/projects/wifi/sys/netinet6/udp6_output.c#8 integrate .. //depot/projects/wifi/sys/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/wifi/sys/netipsec/ipsec.c#9 integrate .. //depot/projects/wifi/sys/netipsec/ipsec.h#4 integrate .. //depot/projects/wifi/sys/netipsec/ipsec6.h#3 integrate .. //depot/projects/wifi/sys/netipsec/ipsec_mbuf.c#4 integrate .. //depot/projects/wifi/sys/netipsec/ipsec_output.c#5 integrate .. //depot/projects/wifi/sys/netipsec/key.c#6 integrate .. //depot/projects/wifi/sys/netipsec/key_debug.c#4 integrate .. //depot/projects/wifi/sys/netipsec/keysock.c#7 integrate .. //depot/projects/wifi/sys/netipsec/xform_ah.c#4 integrate .. //depot/projects/wifi/sys/netkey/key.c#8 delete .. //depot/projects/wifi/sys/netkey/key.h#4 delete .. //depot/projects/wifi/sys/netkey/key_debug.c#4 delete .. //depot/projects/wifi/sys/netkey/key_debug.h#3 delete .. //depot/projects/wifi/sys/netkey/key_var.h#3 delete .. //depot/projects/wifi/sys/netkey/keydb.c#5 delete .. //depot/projects/wifi/sys/netkey/keydb.h#4 delete .. //depot/projects/wifi/sys/netkey/keysock.c#7 delete .. //depot/projects/wifi/sys/netkey/keysock.h#4 delete .. //depot/projects/wifi/sys/security/audit/audit.c#11 integrate .. //depot/projects/wifi/sys/security/audit/audit.h#6 integrate .. //depot/projects/wifi/sys/security/audit/audit_arg.c#8 integrate .. //depot/projects/wifi/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/wifi/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/wifi/sys/security/audit/audit_syscalls.c#10 integrate .. //depot/projects/wifi/sys/security/mac/mac_audit.c#2 integrate .. //depot/projects/wifi/sys/security/mac/mac_framework.h#5 integrate .. //depot/projects/wifi/sys/security/mac/mac_policy.h#5 integrate .. //depot/projects/wifi/sys/security/mac_stub/mac_stub.c#14 integrate .. //depot/projects/wifi/sys/security/mac_test/mac_test.c#13 integrate .. //depot/projects/wifi/sys/sys/_rwlock.h#4 integrate .. //depot/projects/wifi/sys/sys/rwlock.h#7 integrate .. //depot/projects/wifi/sys/ufs/ufs/dir.h#3 integrate .. //depot/projects/wifi/sys/vm/swap_pager.c#21 integrate .. //depot/projects/wifi/sys/vm/vm_pageout.c#19 integrate .. //depot/projects/wifi/tools/regression/fsx/fsx.c#3 integrate .. //depot/projects/wifi/tools/regression/lib/libc/nss/test-gethostby.c#2 integrate .. //depot/projects/wifi/tools/regression/lib/libc/nss/test-gethostby.t#2 integrate .. //depot/projects/wifi/tools/regression/tmpfs/Makefile#2 integrate .. //depot/projects/wifi/tools/regression/tmpfs/t_id_gen#2 delete .. //depot/projects/wifi/tools/tools/README#12 integrate .. //depot/projects/wifi/tools/tools/nxge/Makefile#1 branch .. //depot/projects/wifi/tools/tools/nxge/xge_cmn.h#1 branch .. //depot/projects/wifi/tools/tools/nxge/xge_info.c#1 branch .. //depot/projects/wifi/tools/tools/nxge/xge_info.h#1 branch .. //depot/projects/wifi/tools/tools/nxge/xge_log.c#1 branch .. //depot/projects/wifi/tools/tools/nxge/xge_log.h#1 branch .. //depot/projects/wifi/tools/tools/tinybsd/conf/bridge/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/default/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/firewall/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/minimal/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/vpn/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/wireless/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/tools/tools/tinybsd/conf/wrap/tinybsd.basefiles#2 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#25 integrate .. //depot/projects/wifi/usr.bin/netstat/Makefile#11 integrate .. //depot/projects/wifi/usr.bin/netstat/ipsec.c#5 integrate .. //depot/projects/wifi/usr.bin/netstat/main.c#12 integrate .. //depot/projects/wifi/usr.bin/netstat/netstat.h#10 integrate .. //depot/projects/wifi/usr.bin/netstat/pfkey.c#4 integrate .. //depot/projects/wifi/usr.bin/telnet/Makefile#6 integrate .. //depot/projects/wifi/usr.bin/truss/amd64-fbsd.c#5 integrate .. //depot/projects/wifi/usr.bin/truss/i386-fbsd.c#5 integrate .. //depot/projects/wifi/usr.bin/truss/i386-linux.c#5 integrate .. //depot/projects/wifi/usr.bin/truss/ia64-fbsd.c#5 integrate .. //depot/projects/wifi/usr.bin/truss/main.c#6 integrate .. //depot/projects/wifi/usr.bin/truss/powerpc-fbsd.c#3 integrate .. //depot/projects/wifi/usr.bin/truss/setup.c#5 integrate .. //depot/projects/wifi/usr.bin/truss/sparc64-fbsd.c#5 integrate .. //depot/projects/wifi/usr.bin/usbhidaction/usbhidaction.1#2 integrate .. //depot/projects/wifi/usr.bin/usbhidaction/usbhidaction.c#2 integrate .. //depot/projects/wifi/usr.sbin/Makefile#22 integrate .. //depot/projects/wifi/usr.sbin/inetd/Makefile#5 integrate .. //depot/projects/wifi/usr.sbin/inetd/inetd.c#8 integrate .. //depot/projects/wifi/usr.sbin/portsnap/phttpget/phttpget.c#8 integrate .. //depot/projects/wifi/usr.sbin/rrenumd/Makefile#3 integrate .. //depot/projects/wifi/usr.sbin/rrenumd/rrenumd.c#2 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/dist.c#9 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/dist.h#4 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/distributions.hlp#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/fixit.hlp#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/media.hlp#2 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/network_device.hlp#2 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/options.hlp#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/securelevel.hlp#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/help/shortcuts.hlp#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/index.c#10 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/install.c#8 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/menus.c#15 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/sysinstall.8#11 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/sysinstall.h#8 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/system.c#6 integrate .. //depot/projects/wifi/usr.sbin/traceroute6/Makefile#3 integrate .. //depot/projects/wifi/usr.sbin/traceroute6/traceroute6.c#4 integrate .. //depot/projects/wifi/usr.sbin/wicontrol/Makefile#2 delete .. //depot/projects/wifi/usr.sbin/wicontrol/wicontrol.8#6 delete .. //depot/projects/wifi/usr.sbin/wicontrol/wicontrol.c#4 delete Differences ... ==== //depot/projects/wifi/ObsoleteFiles.inc#19 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.96 2007/06/18 18:50:59 rafan Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.101 2007/07/01 20:05:19 thompsa Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,34 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070701: KAME IPSec removal +OLD_FILES+=usr/include/netinet6/ah.h +OLD_FILES+=usr/include/netinet6/ah6.h +OLD_FILES+=usr/include/netinet6/ah_aesxcbcmac.h +OLD_FILES+=usr/include/netinet6/esp.h +OLD_FILES+=usr/include/netinet6/esp6.h +OLD_FILES+=usr/include/netinet6/esp_aesctr.h +OLD_FILES+=usr/include/netinet6/esp_camellia.h +OLD_FILES+=usr/include/netinet6/esp_rijndael.h +OLD_FILES+=usr/include/netinet6/ipsec.h +OLD_FILES+=usr/include/netinet6/ipsec6.h +OLD_FILES+=usr/include/netinet6/ipcomp.h +OLD_FILES+=usr/include/netinet6/ipcomp6.h +OLD_FILES+=usr/include/netkey/key.h +OLD_FILES+=usr/include/netkey/key_debug.h +OLD_FILES+=usr/include/netkey/key_var.h +OLD_FILES+=usr/include/netkey/keydb.h +OLD_FILES+=usr/include/netkey/keysock.h +OLD_DIRS+=usr/include/netkey +# 20070701: remove wicontrol +OLD_FILES+=usr/sbin/wicontrol +OLD_FILES+=usr/share/man/man8/wicontrol.8.gz +# 20070625: umapfs removal +OLD_FILES+=rescue/mount_umapfs +OLD_FILES+=sbin/mount_umapfs +OLD_FILES+=usr/include/fs/umapfs/umap.h +OLD_FILES+=usr/share/man/man8/mount_umapfs.8.gz +OLD_DIRS+=usr/include/fs/umapfs # 20070618: shared library version bump OLD_LIBS+=lib/libalias.so.5 OLD_LIBS+=lib/libbsnmp.so.3 @@ -3583,7 +3611,6 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/wifi/UPDATING#34 (text+ko) ==== @@ -21,6 +21,19 @@ developers choose to disable these features on build machines to maximize performance. +20070701: + Remove KAME IPsec in favor of FAST_IPSEC, which is now the + only IPsec supported by FreeBSD. The new IPsec stack + supports both IPv4 and IPv6. The kernel option will change + after the code changes have settled in. For now the kernel + option IPSEC is deprecated and FAST_IPSEC is the only option, that + will change after some settling time. + +20070701: + The wicontrol(8) utility has been removed from the base system. wi(4) + cards should be configured using ifconfig(8), see the man page for more + information. + 20070612: By default, /etc/rc.d/sendmail no longer rebuilds the aliases database if it is missing or older than the aliases file. If @@ -857,4 +870,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ +$FreeBSD: src/UPDATING,v 1.499 2007/07/01 11:38:26 gnn Exp $ ==== //depot/projects/wifi/contrib/ipfilter/tools/ipfstat.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/tools/ipfstat.c,v 1.5 2007/06/04 02:54:34 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/tools/ipfstat.c,v 1.6 2007/06/24 16:39:12 darrenr Exp $ */ /* * Copyright (C) 2002-2006 by Darren Reed. @@ -1811,7 +1811,7 @@ *port = -1; } else if (!sscanf(comma + 1, "%d", port) || (*port < 0) || (*port > 65535)) { - fprintf(stderr, "Invalid port specfication in %s\n", + fprintf(stderr, "Invalid port specification in %s\n", argument); free(s); exit(-2); @@ -1823,6 +1823,7 @@ /* get ip address */ if (!strcasecmp(s, "any")) { ip->in4.s_addr = INADDR_ANY; + ok = 1; #ifdef USE_INET6 ip->in6 = in6addr_any; } else if (use_inet6 && inet_pton(AF_INET6, s, &ip->in6)) { ==== //depot/projects/wifi/contrib/less/main.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.8 2007/06/21 10:39:24 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.9 2007/06/23 15:28:00 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -59,6 +59,7 @@ extern int missing_cap; extern int know_dumb; extern int quit_if_one_screen; +extern int no_init; extern int pr_type; @@ -165,7 +166,7 @@ } if (less_is_more && get_quit_at_eof()) - quit_if_one_screen = TRUE; + no_init = quit_if_one_screen = TRUE; #if EDITOR editor = lgetenv("VISUAL"); ==== //depot/projects/wifi/contrib/less/screen.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/screen.c,v 1.7 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/screen.c,v 1.8 2007/06/23 15:28:00 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -228,8 +228,6 @@ extern int no_back_scroll; extern int swindow; extern int no_init; -extern int quit_at_eof; -extern int less_is_more; extern int no_keypad; extern int sigs; extern int wscroll; @@ -1211,19 +1209,11 @@ if (sc_e_keypad == NULL) sc_e_keypad = ""; - /* - * This loses for terminals with termcap entries with ti/te strings - * that switch to/from an alternate screen, and we're in quit_at_eof - * (eg, more(1)). - */ - if (!quit_at_eof && !less_is_more) { - sc_init = ltgetstr("ti", &sp); - sc_deinit = ltgetstr("te", &sp); - } - + sc_init = ltgetstr("ti", &sp); if (sc_init == NULL) sc_init = ""; + sc_deinit= ltgetstr("te", &sp); if (sc_deinit == NULL) sc_deinit = ""; ==== //depot/projects/wifi/contrib/netcat/netcat.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.5 2007/03/28 01:57:03 delphij Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.6 2007/07/01 12:08:04 gnn Exp $ */ /* @@ -42,7 +42,7 @@ #include #include #ifdef IPSEC -#include +#include #endif #include #include ==== //depot/projects/wifi/contrib/telnet/telnet/externs.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)externs.h 8.3 (Berkeley) 5/30/95 - * $FreeBSD: src/contrib/telnet/telnet/externs.h,v 1.10 2003/05/11 18:17:00 markm Exp $ + * $FreeBSD: src/contrib/telnet/telnet/externs.h,v 1.11 2007/07/01 12:08:04 gnn Exp $ */ #ifndef BSD @@ -72,7 +72,7 @@ #include #if defined(IPSEC) -#include +#include #if defined(IPSEC_POLICY_IPSEC) extern char *ipsec_policy_in; extern char *ipsec_policy_out; ==== //depot/projects/wifi/contrib/traceroute/traceroute.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ "@(#)$Id: traceroute.c,v 1.68 2000/12/14 08:04:33 leres Exp $ (LBL)"; #endif static const char rcsid[] = - "$FreeBSD: src/contrib/traceroute/traceroute.c,v 1.33 2007/04/30 19:08:12 maxim Exp $"; + "$FreeBSD: src/contrib/traceroute/traceroute.c,v 1.34 2007/07/01 12:08:05 gnn Exp $"; #endif /* @@ -228,7 +228,7 @@ #ifdef IPSEC #include -#include /* XXX */ +#include /* XXX */ #endif /* IPSEC */ #include ==== //depot/projects/wifi/etc/mtree/BSD.include.dist#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.114 2007/06/01 18:53:36 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.116 2007/07/01 12:08:05 gnn Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -146,8 +146,6 @@ .. udf .. - umapfs - .. unionfs .. .. @@ -233,8 +231,6 @@ .. netipx .. - netkey - .. netnatm api .. ==== //depot/projects/wifi/include/Makefile#25 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.270 2007/04/13 01:39:33 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.272 2007/07/01 12:08:05 gnn Exp $ # # Doing a "make install" builds /usr/include. @@ -34,7 +34,7 @@ termios.h ucontext.h LDIRS= bsm cam geom net net80211 netatalk netatm netgraph netinet netinet6 \ - netipsec ${_netipx} netkey netnatm ${_netncp} netsmb \ + netipsec ${_netipx} netnatm ${_netncp} netsmb \ nfs nfsclient nfsserver \ pccard sys vm @@ -43,8 +43,7 @@ dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \ dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \ fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \ - ${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/umapfs \ - fs/unionfs \ + ${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \ geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ ==== //depot/projects/wifi/lib/libarchive/archive_read_open_fd.c#7 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_fd.c,v 1.12 2007/06/18 00:36:54 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_fd.c,v 1.13 2007/06/26 03:06:48 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -78,7 +78,8 @@ return (ARCHIVE_FATAL); } mine->fd = fd; - mine->can_skip = 1; + /* lseek() hardly ever works, so disable it by default. See below. */ + mine->can_skip = 0; return (archive_read_open2(a, mine, file_open, file_read, file_skip, file_close)); } @@ -93,8 +94,18 @@ return (ARCHIVE_FATAL); } - if (S_ISREG(st.st_mode)) + if (S_ISREG(st.st_mode)) { archive_read_extract_set_skip_file(a, st.st_dev, st.st_ino); + /* + * Enabling skip here is a performance optimization for + * anything that supports lseek(). On FreeBSD, only + * regular files and raw disk devices support lseek() and + * there's no portable way to determine if a device is + * a raw disk device, so we only enable this optimization + * for regular files. + */ + mine->can_skip = 1; + } return (ARCHIVE_OK); } ==== //depot/projects/wifi/lib/libarchive/archive_read_open_file.c#7 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.19 2007/01/09 08:05:55 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.20 2007/06/26 03:06:48 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -51,6 +51,7 @@ FILE *f; size_t block_size; void *buffer; + char can_skip; }; static int file_close(struct archive *, void *); @@ -80,6 +81,8 @@ return (ARCHIVE_FATAL); } mine->f = f; + /* Suppress skip by default. See below. */ + mine->can_skip = 0; return (archive_read_open2(a, mine, file_open, file_read, file_skip, file_close)); } @@ -95,8 +98,11 @@ * it's not a file. (FILE * objects can wrap many kinds * of I/O streams.) */ - if (fstat(fileno(mine->f), &st) == 0 && S_ISREG(st.st_mode)) + if (fstat(fileno(mine->f), &st) == 0 && S_ISREG(st.st_mode)) { archive_read_extract_set_skip_file(a, st.st_dev, st.st_ino); + /* Enable the seek optimization for regular files. */ + mine->can_skip = 1; + } return (ARCHIVE_OK); } @@ -125,21 +131,25 @@ { struct read_FILE_data *mine = (struct read_FILE_data *)client_data; + (void)a; /* UNUSED */ + /* - * Note: the 'fd' and 'filename' versions round the request - * down to a multiple of the block size to ensure proper - * operation on block-oriented media such as tapes. But stdio - * doesn't work with such media (it doesn't ensure blocking), - * so we don't need to bother. + * If we can't skip, return 0 as the amount we did step and + * the caller will work around by reading and discarding. */ + if (!mine->can_skip) + return (0); + if (request == 0) + return (0); + #if HAVE_FSEEKO if (fseeko(mine->f, request, SEEK_CUR) != 0) #else if (fseek(mine->f, request, SEEK_CUR) != 0) #endif { - archive_set_error(a, errno, "Error skipping forward"); - return (ARCHIVE_FATAL); + mine->can_skip = 0; + return (0); } return (request); } ==== //depot/projects/wifi/lib/libarchive/archive_read_open_filename.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_filename.c,v 1.19 2007/06/18 00:36:54 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_filename.c,v 1.20 2007/06/26 03:06:48 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -96,7 +96,8 @@ mine->block_size = block_size; mine->buffer = NULL; mine->fd = -1; - mine->can_skip = 1; + /* lseek() almost never works; disable it by default. See below. */ + mine->can_skip = 0; return (archive_read_open2(a, mine, file_open, file_read, file_skip, file_close)); } @@ -123,8 +124,19 @@ if (fstat(mine->fd, &st) == 0) { /* If we're reading a file from disk, ensure that we don't overwrite it with an extracted file. */ - if (S_ISREG(st.st_mode)) + if (S_ISREG(st.st_mode)) { archive_read_extract_set_skip_file(a, st.st_dev, st.st_ino); + /* + * Enabling skip here is a performance + * optimization for anything that supports + * lseek(). On FreeBSD, only regular files + * and raw disk devices support lseek() and + * there's no portable way to determine if a + * device is a raw disk device, so we only + * enable this optimization for regular files. + */ + mine->can_skip = 1; + } /* Remember mode so close can decide whether to flush. */ mine->st_mode = st.st_mode; } else { ==== //depot/projects/wifi/lib/libc/arm/sys/sbrk.S#3 (text+ko) ==== @@ -32,10 +32,10 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/sys/sbrk.S,v 1.2 2004/11/09 16:49:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/sys/sbrk.S,v 1.3 2007/06/27 02:45:37 kan Exp $"); #include "SYS.h" - .globl _C_LABEL(end) + .globl _C_LABEL(_end) #ifdef WEAK_ALIAS WEAK_ALIAS(sbrk, _sbrk) @@ -46,7 +46,7 @@ .globl CURBRK .type CURBRK,#object CURBRK: - .word _C_LABEL(end) + .word _C_LABEL(_end) /* * Change the data segment size ==== //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.9 2007/06/22 13:59:54 rrs Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.11 2007/06/26 02:07:47 mjacob Exp $"); #include #include #include @@ -185,10 +185,18 @@ /* validate all the addresses and get the size */ for (i = 0; i < addrcnt; i++) { if (at->sa_family == AF_INET) { + if (at->sa_len != sizeof(struct sockaddr_in)) { + errno = EINVAL; + return (-1); + } memcpy(cpto, at, at->sa_len); cpto = ((caddr_t)cpto + at->sa_len); len += at->sa_len; } else if (at->sa_family == AF_INET6) { + if (at->sa_len != sizeof(struct sockaddr_in6)) { + errno = EINVAL; + return (-1); + } if (IN6_IS_ADDR_V4MAPPED(&((struct sockaddr_in6 *)at)->sin6_addr)) { len += sizeof(struct sockaddr_in); in6_sin6_2_sin((struct sockaddr_in *)cpto, (struct sockaddr_in6 *)at); @@ -205,7 +213,8 @@ } if (len > (sizeof(buf) - sizeof(int))) { /* Never enough memory */ - return (E2BIG); + errno = E2BIG; + return (-1); } at = (struct sockaddr *)((caddr_t)at + at->sa_len); cnt++; @@ -231,7 +240,7 @@ { struct sctp_getaddresses *gaddrs; struct sockaddr *sa; - int i, sz, fam, argsz; + int i, sz, argsz; /* validate the flags */ if ((flags != SCTP_BINDX_ADD_ADDR) && @@ -251,23 +260,30 @@ errno = ENOMEM; return (-1); } - gaddrs->sget_assoc_id = 0; sa = addrs; for (i = 0; i < addrcnt; i++) { sz = sa->sa_len; - fam = sa->sa_family; - if ((fam != AF_INET) && (fam != AF_INET6)) { + if (sa->sa_family == AF_INET) { + if (sa->sa_len != sizeof(struct sockaddr_in)) + goto out_error; + } else if (sa->sa_family == AF_INET6) { + if (sa->sa_len != sizeof(struct sockaddr_in6)) + goto out_error; + } else { + /* invalid address family specified */ + out_error: free(gaddrs); errno = EINVAL; return (-1); } + memset(gaddrs, 0, argsz); + gaddrs->sget_assoc_id = 0; memcpy(gaddrs->addr, sa, sz); - if (setsockopt(sd, IPPROTO_SCTP, flags, - gaddrs, (socklen_t) argsz) != 0) { + if (setsockopt(sd, IPPROTO_SCTP, flags, gaddrs, + (socklen_t) argsz) != 0) { free(gaddrs); return (-1); } - memset(gaddrs, 0, argsz); sa = (struct sockaddr *)((caddr_t)sa + sz); } free(gaddrs); @@ -315,7 +331,6 @@ errno = ENOMEM; return (-1); } - memset(addrs, 0, siz); addrs->sget_assoc_id = id; /* Now lets get the array of addresses */ if (getsockopt(sd, IPPROTO_SCTP, SCTP_GET_PEER_ADDRESSES, @@ -380,7 +395,6 @@ errno = ENOMEM; return (-1); } - memset(addrs, 0, siz); addrs->sget_assoc_id = id; /* Now lets get the array of addresses */ if (getsockopt(sd, IPPROTO_SCTP, SCTP_GET_LOCAL_ADDRESSES, addrs, ==== //depot/projects/wifi/lib/libgssapi/gss_accept_sec_context.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.c,v 1.2 2007/04/04 02:40:59 kan Exp $ + * $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.c,v 1.3 2007/06/30 07:47:45 dfr Exp $ */ #include @@ -48,7 +48,7 @@ OM_uint32 *time_rec, gss_cred_id_t *delegated_cred_handle) { - OM_uint32 major_status; + OM_uint32 major_status, mech_ret_flags; struct _gss_mech_switch *m; struct _gss_context *ctx = (struct _gss_context *) *context_handle; struct _gss_cred *cred = (struct _gss_cred *) acceptor_cred_handle; @@ -165,7 +165,7 @@ &src_mn, mech_type, output_token, - ret_flags, + &mech_ret_flags, time_rec, &delegated_mc); if (major_status != GSS_S_COMPLETE && @@ -187,7 +187,7 @@ *src_name = (gss_name_t) name; } - if (*ret_flags & GSS_C_DELEG_FLAG) { + if (mech_ret_flags & GSS_C_DELEG_FLAG) { if (!delegated_cred_handle) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 2 14:45:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A89216A46E; Mon, 2 Jul 2007 14:45:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0939416A469 for ; Mon, 2 Jul 2007 14:45:59 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id EBAD113C4B0 for ; Mon, 2 Jul 2007 14:45:58 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62EjwIw042062 for ; Mon, 2 Jul 2007 14:45:58 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62Ejwgn042059 for perforce@freebsd.org; Mon, 2 Jul 2007 14:45:58 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 2 Jul 2007 14:45:58 GMT Message-Id: <200707021445.l62Ejwgn042059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 122723 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 14:45:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122723 Change 122723 by sephe@sephe_zealot:sam_wifi on 2007/07/02 14:45:19 - Switch from mtx lock to sx lock, so we can drain taskqueue in ath_newstate(). This promises that after ieee80211_new_state(INIT) driver will not touch PCI clock domain registers so that HAL power can be set to SLEEP safely. - Nuke ath_stop(). - Set HAL power to AWAKE in ath_resume(). Obtained from: sam@ - Move bus_teardown_intr() from ath_pci_detach() into ath_detach(), but after ath_stop_locked(). This is used to make sure that intr handler will not be called after HAL power is set to SLEEP. - Drain TX taskqueue in ath_newstate(). - Don't explicitly set HAL power to SLEEP in ath_detach(), since HAL detaching routine will do that too. Confirmed by: sam@ # Sx lock still has trouble to play with multicast code. Affected files ... .. //depot/projects/wifi/sys/dev/ath/ath_rate/sample/sample.c#13 edit .. //depot/projects/wifi/sys/dev/ath/if_ath.c#148 edit .. //depot/projects/wifi/sys/dev/ath/if_ath_pci.c#15 edit .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#59 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/ath_rate/sample/sample.c#13 (text+ko) ==== @@ -49,7 +49,7 @@ #include #include #include -#include +#include #include #include ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#148 (text+ko) ==== @@ -49,7 +49,7 @@ #include #include #include -#include +#include #include #include #include @@ -104,7 +104,6 @@ static void ath_init(void *); static void ath_stop_locked(struct ifnet *); -static void ath_stop(struct ifnet *); static void ath_start(struct ifnet *); static int ath_reset(struct ifnet *); static int ath_media_change(struct ifnet *); @@ -656,7 +655,7 @@ } int -ath_detach(struct ath_softc *sc) +ath_detach(struct ath_softc *sc, struct resource *irq, void *irq_handler) { struct ifnet *ifp = sc->sc_ifp; @@ -667,7 +666,12 @@ if (ifp->if_capenable & IFCAP_POLLING) ether_poll_deregister(ifp); #endif - ath_stop(ifp); + ATH_LOCK(sc); + ath_stop_locked(ifp); + ATH_UNLOCK(sc); + + bus_teardown_intr(sc->sc_dev, irq, irq_handler); + bpfdetach(ifp); /* * NB: the order of these is important: @@ -704,25 +708,31 @@ DPRINTF(sc, ATH_DEBUG_ANY, "%s: if_flags %x\n", __func__, ifp->if_flags); - ath_stop(ifp); + ATH_LOCK(sc); + ath_stop_locked(ifp); + ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP); + ATH_UNLOCK(sc); } void ath_resume(struct ath_softc *sc) { struct ifnet *ifp = sc->sc_ifp; + struct ath_hal *ah = sc->sc_ah; DPRINTF(sc, ATH_DEBUG_ANY, "%s: if_flags %x\n", __func__, ifp->if_flags); + ath_hal_setpower(ah, HAL_PM_AWAKE); + if (ifp->if_flags & IFF_UP) { ath_init(sc); if (ifp->if_drv_flags & IFF_DRV_RUNNING) ath_start(ifp); } if (sc->sc_softled) { - ath_hal_gpioCfgOutput(sc->sc_ah, sc->sc_ledpin); - ath_hal_gpioset(sc->sc_ah, sc->sc_ledpin, !sc->sc_ledon); + ath_hal_gpioCfgOutput(ah, sc->sc_ledpin); + ath_hal_gpioset(ah, sc->sc_ledpin, !sc->sc_ledon); } } @@ -734,7 +744,21 @@ DPRINTF(sc, ATH_DEBUG_ANY, "%s: if_flags %x\n", __func__, ifp->if_flags); - ath_stop(ifp); + ATH_LOCK(sc); + ath_stop_locked(ifp); + if (!sc->sc_invalid) { + /* + * Set the chip in full sleep mode. Note that we are + * careful to do this only when bringing the interface + * completely to a stop. When the chip is in this state + * it must be carefully woken up or references to + * registers in the PCI clock domain may freeze the bus + * (and system). This varies by chip and is mostly an + * issue with newer parts that go to sleep more quickly. + */ + ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP); + } + ATH_UNLOCK(sc); } /* @@ -1155,28 +1179,6 @@ } } -static void -ath_stop(struct ifnet *ifp) -{ - struct ath_softc *sc = ifp->if_softc; - - ATH_LOCK(sc); - ath_stop_locked(ifp); - if (!sc->sc_invalid) { - /* - * Set the chip in full sleep mode. Note that we are - * careful to do this only when bringing the interface - * completely to a stop. When the chip is in this state - * it must be carefully woken up or references to - * registers in the PCI clock domain may freeze the bus - * (and system). This varies by chip and is mostly an - * issue with newer parts that go to sleep more quickly. - */ - ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP); - } - ATH_UNLOCK(sc); -} - /* * Reset the hardware w/o losing operational state. This is * basically a more efficient way of doing ath_stop, ath_init, @@ -5318,13 +5320,11 @@ */ sc->sc_imask &= ~(HAL_INT_SWBA | HAL_INT_BMISS); ath_intrset(sc, sc->sc_imask &~ HAL_INT_GLOBAL); -#if 0 - /* XXX can't use taskqueue_drain 'cuz we're holding sc_mtx */ taskqueue_drain(sc->sc_tq, &sc->sc_rxtask); + taskqueue_drain(sc->sc_tq, &sc->sc_txtask); taskqueue_drain(sc->sc_tq, &sc->sc_rxorntask); taskqueue_drain(sc->sc_tq, &sc->sc_bmisstask); taskqueue_drain(sc->sc_tq, &sc->sc_bstucktask); -#endif ath_rate_newstate(sc, nstate); goto done; } ==== //depot/projects/wifi/sys/dev/ath/if_ath_pci.c#15 (text+ko) ==== @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include @@ -213,10 +213,9 @@ /* check if device was removed */ sc->sc_invalid = !bus_child_present(dev); - ath_detach(sc); + ath_detach(sc, psc->sc_irq, psc->sc_ih); bus_generic_detach(dev); - bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); bus_release_resource(dev, SYS_RES_IRQ, 0, psc->sc_irq); bus_dma_tag_destroy(sc->sc_dmat); ==== //depot/projects/wifi/sys/dev/ath/if_athvar.h#59 (text+ko) ==== @@ -197,7 +197,7 @@ HAL_BUS_TAG sc_st; /* bus space tag */ HAL_BUS_HANDLE sc_sh; /* bus space handle */ bus_dma_tag_t sc_dmat; /* bus DMA tag */ - struct mtx sc_mtx; /* master lock (recursive) */ + struct sx sc_mtx; /* master lock (recursive) */ struct taskqueue *sc_tq; /* private task queue */ struct ath_hal *sc_ah; /* Atheros HAL */ struct ath_ratectrl *sc_rc; /* tx rate control support */ @@ -321,12 +321,12 @@ #define sc_rx_th u_rx_rt.th #define ATH_LOCK_INIT(_sc) \ - mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \ - NULL, MTX_DEF | MTX_RECURSE) -#define ATH_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx) -#define ATH_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) -#define ATH_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define ATH_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) + sx_init_flags(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \ + SX_RECURSE) +#define ATH_LOCK_DESTROY(_sc) sx_destroy(&(_sc)->sc_mtx) +#define ATH_LOCK(_sc) sx_xlock(&(_sc)->sc_mtx) +#define ATH_UNLOCK(_sc) sx_xunlock(&(_sc)->sc_mtx) +#define ATH_LOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_mtx, SA_LOCKED) #define ATH_TXQ_SETUP(sc, i) ((sc)->sc_txqsetup & (1<sc_txbuflock, MA_OWNED) int ath_attach(u_int16_t, struct ath_softc *); -int ath_detach(struct ath_softc *); +int ath_detach(struct ath_softc *, struct resource *, void *); void ath_resume(struct ath_softc *); void ath_suspend(struct ath_softc *); void ath_shutdown(struct ath_softc *); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 15:15:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA1FB16A46C; Mon, 2 Jul 2007 15:15:37 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1C65416A468 for ; Mon, 2 Jul 2007 15:15:37 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0B16E13C457 for ; Mon, 2 Jul 2007 15:15:37 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62FFabK045360 for ; Mon, 2 Jul 2007 15:15:36 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62FFaUO045357 for perforce@freebsd.org; Mon, 2 Jul 2007 15:15:36 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 2 Jul 2007 15:15:36 GMT Message-Id: <200707021515.l62FFaUO045357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122725 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 15:15:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=122725 Change 122725 by rdivacky@rdivacky_witten on 2007/07/02 15:15:02 Reset error to 0 to not trigger the condition resulting in panic in vrele in exit1. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#9 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#42 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#9 (text+ko) ==== @@ -555,7 +555,6 @@ execsigs(p); /* name this process - nameiexec(p, ndp) */ - /* XXX: what for fexecve? */ if (args->fname) { len = min(ndp->ni_cnd.cn_namelen,MAXCOMLEN); bcopy(ndp->ni_cnd.cn_nameptr, p->p_comm, len); @@ -573,6 +572,7 @@ len = strlen("fexecved process"); bcopy("fexecved process", p->p_comm, len); } + error = 0; } p->p_comm[len] = 0; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#42 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jul 2 16:41:26 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F417E16A421; Mon, 2 Jul 2007 16:41:25 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B397D16A46C for ; Mon, 2 Jul 2007 16:41:25 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A16CB13C46C for ; Mon, 2 Jul 2007 16:41:25 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62GfPTt058060 for ; Mon, 2 Jul 2007 16:41:25 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62GfPZo058057 for perforce@freebsd.org; Mon, 2 Jul 2007 16:41:25 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 16:41:25 GMT Message-Id: <200707021641.l62GfPZo058057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122729 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 16:41:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=122729 Change 122729 by zec@zec_tca51 on 2007/07/02 16:41:05 Resolve if_addr directly in struct ifnet *, instead of going around through the ifnet_bindex[] table by using the ifaddr_byindex macro. Affected files ... .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.c#2 edit Differences ... ==== //depot/projects/vimage/src/sys/dev/nxge/if_nxge.c#2 (text+ko) ==== @@ -2246,7 +2246,7 @@ xge_hal_device_enable(hldev); /* Get MAC address and update in HAL */ - ifaddrp = ifaddr_byindex(ifnetp->if_index); + ifaddrp = ifnetp->if_addr; sockaddrp = (struct sockaddr_dl *)ifaddrp->ifa_addr; sockaddrp->sdl_type = IFT_ETHER; sockaddrp->sdl_alen = ifnetp->if_addrlen; From owner-p4-projects@FreeBSD.ORG Mon Jul 2 17:41:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90A6416A41F; Mon, 2 Jul 2007 17:41:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5B4C516A46C for ; Mon, 2 Jul 2007 17:41:42 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 47CEB13C4CA for ; Mon, 2 Jul 2007 17:41:42 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62Hfghl073451 for ; Mon, 2 Jul 2007 17:41:42 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62HffXs073448 for perforce@freebsd.org; Mon, 2 Jul 2007 17:41:41 GMT (envelope-from thioretic@FreeBSD.org) Date: Mon, 2 Jul 2007 17:41:41 GMT Message-Id: <200707021741.l62HffXs073448@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122730 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 17:41:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=122730 Change 122730 by thioretic@thioretic on 2007/07/02 17:41:01 Start to introduce stack to newbus Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#4 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#2 edit .. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#3 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#4 (text+ko) ==== @@ -45,4 +45,12 @@ # ... 3. Implement *drivers* stack namespace. SOLUTION: define stack namespace methods suitable for drivers - FILE(S) AFFECTED: kern/sns_drivers.c + FILE(S) AFFECTED: kern/sns_drivers.c + a. ADD + a.1.drivers + SOLUTION: modify newbus so that it's aware about stacked + structure of a device. + FILE(S) AFFECTED: sys/bus.h, kern/subr_bus.c + # since now internally (and externally) for newbus, driver is + # not just kernel object class to be compiled into device, but + # also has flags, default driversops (TODO)... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#2 (text+ko) ==== @@ -63,7 +63,8 @@ */ typedef struct driverlink *driverlink_t; struct driverlink { - kobj_class_t driver; +// kobj_class_t driver; + drv_internal_t driver; TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ }; @@ -107,8 +108,9 @@ /* * Details of this device. */ - driver_t *driver; /**< current driver */ - devclass_t devclass; /**< current device class */ +// driver_t *driver; /**< current driver */ + driver_list_t drivers[DRV_LEVELS]; /**< list of all drivers in stack*/ + devclass_t devclass; /**< current device class */ /*TODO*/ int unit; /**< current unit number */ char* nameunit; /**< name+unit e.g. foodev0 */ char* desc; /**< driver specific description */ @@ -239,8 +241,10 @@ { device_t dev = (device_t)arg1; const char *value; - char *buf; + char *buf, *tmpbuf; int error; + int level; + driverlink_t dl; buf = NULL; switch (arg2) { @@ -248,7 +252,27 @@ value = dev->desc ? dev->desc : ""; break; case DEVICE_SYSCTL_DRIVER: - value = dev->driver ? dev->driver->name : ""; + value = buf = malloc(1024, M_BUS, M_WAITOK | M_ZERO); + buf[0]='\0'; + for (level=DRV_LOWEST; level<=DRV_TOPMOST; level++){ + switch(level){ + case DRV_LOWEST: tmpbuf="LOWEST:"; break; + case DRV_LOWER: tmpbuf="LOWER:"; break; + case DRV_MIDDLE: tmpbuf="MIDDLE:"; break; + case DRV_UPPER: tmpbuf="UPPER:"; break; + case DRV_TOPMOST: tmpbuf="TOPMOST:"; break; + } + if (strlen(tmpbuf)+strlen(buf)>1023) break; + TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ + if(strlen(dl->driver->devops->name)+strlen(buf)>1022) + break; + strcat(buf,dl->driver->devops->name); + strcat(buf,","); + } + buf[strlen(buf)]='\0'; + strcat(buf,"\n"); + } + //value = dev->driver ? dev->driver->name : ""; /**TODO*/ break; case DEVICE_SYSCTL_LOCATION: value = buf = malloc(1024, M_BUS, M_WAITOK | M_ZERO); @@ -287,10 +311,10 @@ OID_AUTO, "%desc", CTLFLAG_RD, dev, DEVICE_SYSCTL_DESC, device_sysctl_handler, "A", "device description"); - SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), + SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), /**TODO*/ OID_AUTO, "%driver", CTLFLAG_RD, dev, DEVICE_SYSCTL_DRIVER, device_sysctl_handler, "A", - "device driver name"); + "device stacked drivers names"); SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), OID_AUTO, "%location", CTLFLAG_RD, dev, DEVICE_SYSCTL_LOCATION, device_sysctl_handler, "A", @@ -838,12 +862,12 @@ * @param driver the driver to register */ int -devclass_add_driver(devclass_t dc, driver_t *driver) +devclass_add_driver(devclass_t dc, /*driver_t **/ drv_internal_t driver) /**TODO*/ { driverlink_t dl; int i; - PDEBUG(("%s", DRIVERNAME(driver))); + PDEBUG(("%s", DRIVERNAME(driver->devops))); dl = malloc(sizeof *dl, M_BUS, M_NOWAIT|M_ZERO); if (!dl) @@ -855,12 +879,12 @@ * goes. This means we can safely use static methods and avoids a * double-free in devclass_delete_driver. */ - kobj_class_compile((kobj_class_t) driver); + kobj_class_compile((kobj_class_t) (driver->devops)); /* * Make sure the devclass which the driver is implementing exists. */ - devclass_find_internal(driver->name, 0, TRUE); + devclass_find_internal(driver->devops->name, 0, TRUE); dl->driver = driver; TAILQ_INSERT_TAIL(&dc->drivers, dl, link); @@ -877,6 +901,23 @@ return (0); } +int +is_device_driver (device_t dev, drv_internal_t driver){ + int level; + driverlink_t dl; + + switch ((driver->flags)&(DR_LOWEST|DR_LOWER|DR_MIDDLE|DR_UPPER|DR_TOPMOST)) { + case DR_LOWEST: level=DRV_LOWEST; break; + case DR_LOWER: level=DRV_LOWER; break; + case DR_MIDDLE: level=DRV_MIDDLE; break; + case DR_UPPER: level=DRV_UPPER; break; + case DR_TOPMOST: level=DRV_TOPMOST; break; + } + TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ + if (dl->driver==driver) return(1); + } + return(0); +} /** * @brief Delete a device driver from a device class * @@ -892,15 +933,16 @@ * @param driver the driver to unregister */ int -devclass_delete_driver(devclass_t busclass, driver_t *driver) +devclass_delete_driver(devclass_t busclass, /*driver_t **/drv_internal_t driver) +/**TODO*/ { - devclass_t dc = devclass_find(driver->name); + devclass_t dc = devclass_find(driver->devops->name); driverlink_t dl; device_t dev; int i; int error; - PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); + PDEBUG(("%s from devclass %s", driver->devops->name, DEVCLANAME(busclass))); if (!dc) return (0); @@ -914,7 +956,7 @@ } if (!dl) { - PDEBUG(("%s not found in %s list", driver->name, + PDEBUG(("%s not found in %s list", driver->devops->name, busclass->name)); return (ENOENT); } @@ -932,7 +974,8 @@ for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; - if (dev->driver == driver && dev->parent && + if (/*dev->driver == driver*/ + is_device_driver(dev,driver) && dev->parent && dev->parent->devclass == busclass) { if ((error = device_detach(dev)) != 0) return (error); @@ -947,7 +990,7 @@ /* XXX: kobj_mtx */ driver->refs--; if (driver->refs == 0) - kobj_class_free((kobj_class_t) driver); + kobj_class_free((kobj_class_t) (driver->devops)); bus_data_generation_update(); return (0); @@ -967,15 +1010,15 @@ * @param driver the driver to unregister */ int -devclass_quiesce_driver(devclass_t busclass, driver_t *driver) +devclass_quiesce_driver(devclass_t busclass, /*driver_t **/ drv_internal_t driver) /**TODO*/ { - devclass_t dc = devclass_find(driver->name); + devclass_t dc = devclass_find(driver->devops->name); driverlink_t dl; device_t dev; int i; int error; - PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); + PDEBUG(("%s from devclass %s", driver->devops->name, DEVCLANAME(busclass))); if (!dc) return (0); @@ -989,7 +1032,7 @@ } if (!dl) { - PDEBUG(("%s not found in %s list", driver->name, + PDEBUG(("%s not found in %s list", driver->devops->name, busclass->name)); return (ENOENT); } @@ -1007,7 +1050,8 @@ for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; - if (dev->driver == driver && dev->parent && + if (/*dev->driver == driver*/ + is_device_driver(dev,driver) && dev->parent && dev->parent->devclass == busclass) { if ((error = device_quiesce(dev)) != 0) return (error); @@ -1022,14 +1066,14 @@ * @internal */ static driverlink_t -devclass_find_driver_internal(devclass_t dc, const char *classname) +devclass_find_driver_internal(devclass_t dc, const char *classname) /**TODO*/ { driverlink_t dl; PDEBUG(("%s in devclass %s", classname, DEVCLANAME(dc))); TAILQ_FOREACH(dl, &dc->drivers, link) { - if (!strcmp(dl->driver->name, classname)) + if (!strcmp(dl->driver->devops->name, classname)) return (dl); } @@ -1047,8 +1091,8 @@ * @param dc the devclass to search * @param classname the driver name to search for */ -kobj_class_t -devclass_find_driver(devclass_t dc, const char *classname) +/*kobj_class_t*/ drv_internal_t +devclass_find_driver(devclass_t dc, const char *classname) /**TODO*/ { driverlink_t dl; @@ -1164,16 +1208,17 @@ * @retval ENOMEM the array allocation failed */ int -devclass_get_drivers(devclass_t dc, driver_t ***listp, int *countp) +devclass_get_drivers(devclass_t dc, /*driver_t **/ + drv_internal_t **listp, int *countp) /**TODO*/ { driverlink_t dl; - driver_t **list; + /*driver_t **/ drv_internal_t *list; int count; count = 0; TAILQ_FOREACH(dl, &dc->drivers, link) count++; - list = malloc(count * sizeof(driver_t *), M_TEMP, M_NOWAIT); + list = malloc(count * sizeof(/*driver_t **/drv_internal_t), M_TEMP, M_NOWAIT); if (list == NULL) return (ENOMEM); @@ -1429,10 +1474,11 @@ * @returns the new device */ static device_t -make_device(device_t parent, const char *name, int unit) +make_device(device_t parent, const char *name, int unit) /**TODO*/ { device_t dev; devclass_t dc; + int level; PDEBUG(("%s at %s as unit %d", name, DEVICENAME(parent), unit)); @@ -1454,7 +1500,10 @@ dev->parent = parent; TAILQ_INIT(&dev->children); kobj_init((kobj_t) dev, &null_class); - dev->driver = NULL; +// dev->driver = NULL; + for (level=DRV_LOWEST;level<=DRV_TOPMOST;level++){ + TAILQ_INIT(&((dev->drivers)[level])); + } dev->devclass = NULL; dev->unit = unit; dev->nameunit = NULL; @@ -1661,7 +1710,7 @@ * @internal */ static driverlink_t -first_matching_driver(devclass_t dc, device_t dev) +first_matching_driver(devclass_t dc, device_t dev) /**TODO*/ { if (dev->devclass) return (devclass_find_driver_internal(dc, dev->devclass->name)); @@ -1672,12 +1721,12 @@ * @internal */ static driverlink_t -next_matching_driver(devclass_t dc, device_t dev, driverlink_t last) +next_matching_driver(devclass_t dc, device_t dev, driverlink_t last) /**TODO*/ { if (dev->devclass) { driverlink_t dl; for (dl = TAILQ_NEXT(last, link); dl; dl = TAILQ_NEXT(dl, link)) - if (!strcmp(dev->devclass->name, dl->driver->name)) + if (!strcmp(dev->devclass->name, dl->driver->devops->name)) return (dl); return (NULL); } @@ -1688,7 +1737,7 @@ * @internal */ static int -device_probe_child(device_t dev, device_t child) +device_probe_child(device_t dev, device_t child) /*TODO*/ { devclass_t dc; driverlink_t best = 0; @@ -1706,20 +1755,22 @@ * If the state is already probed, then return. However, don't * return if we can rebid this object. */ - if (child->state == DS_ALIVE && (child->flags & DF_REBID) == 0) + if (/*child->state == DS_ALIVE && */(child->flags & DF_REBID) == 0) return (0); for (; dc; dc = dc->parent) { for (dl = first_matching_driver(dc, child); dl; dl = next_matching_driver(dc, child, dl)) { - PDEBUG(("Trying %s", DRIVERNAME(dl->driver))); + if ((child->state == DS_ALIVE && (dl->driver->flags & (DR_LOWEST|DR_STACKAWARE))) || (child->state != DS_ALIVE && (dl->driver->flags & ~(DR_LOWEST|DR_STACKAWARE)))) + continue; + PDEBUG(("Trying %s", DRIVERNAME(dl->driver->devops))); device_set_driver(child, dl->driver); if (!hasclass) - device_set_devclass(child, dl->driver->name); + device_set_devclass(child, dl->driver->devops->name); /* Fetch any flags for the device before probing. */ - resource_int_value(dl->driver->name, child->unit, + resource_int_value(dl->driver->devops->name, child->unit, "flags", &child->devflags); result = DEVICE_PROBE(child); @@ -1795,9 +1846,9 @@ /* Set the winning driver, devclass, and flags. */ if (!child->devclass) - device_set_devclass(child, best->driver->name); + device_set_devclass(child, best->driver->devops->name); device_set_driver(child, best->driver); - resource_int_value(best->driver->name, child->unit, + resource_int_value(best->driver->devops->name, child->unit, "flags", &child->devflags); if (pri < 0) { @@ -1878,7 +1929,7 @@ * is no driver currently attached */ driver_t * -device_get_driver(device_t dev) +device_get_driver(device_t dev) /*TODO*/ { return (dev->driver); } @@ -2258,7 +2309,7 @@ * @retval ENOMEM a memory allocation failure occurred */ int -device_set_driver(device_t dev, driver_t *driver) +device_set_driver(device_t dev, driver_t *driver) /*TODO*/ { if (dev->state >= DS_ATTACHED) return (EBUSY); @@ -2319,7 +2370,7 @@ * @retval non-zero some other unix error code */ int -device_probe_and_attach(device_t dev) +device_probe_and_attach(device_t dev) /*TODO*/ { int error; @@ -2368,7 +2419,7 @@ * @retval non-zero some other unix error code */ int -device_attach(device_t dev) +device_attach(device_t dev) /*TODO*/ { int error; @@ -2408,7 +2459,7 @@ * @retval non-zero some other unix error code */ int -device_detach(device_t dev) +device_detach(device_t dev) /*TODO*/ { int error; @@ -2855,7 +2906,7 @@ * devclass. */ int -bus_generic_probe(device_t dev) +bus_generic_probe(device_t dev) /*TODO*/ { devclass_t dc = dev->devclass; driverlink_t dl; @@ -2875,7 +2926,7 @@ * children. */ int -bus_generic_attach(device_t dev) +bus_generic_attach(device_t dev) /*TODO*/ { device_t child; @@ -3075,7 +3126,7 @@ * and then calls device_probe_and_attach() for each unattached child. */ void -bus_generic_driver_added(device_t dev, driver_t *driver) +bus_generic_driver_added(device_t dev, driver_t *driver) /*TODO*/ { device_t child; @@ -3095,7 +3146,7 @@ */ int bus_generic_setup_intr(device_t dev, device_t child, struct resource *irq, - int flags, driver_intr_t *intr, void *arg, void **cookiep) + int flags, driver_intr_t *intr, void *arg, void **cookiep) /*TODO*/ { /* Propagate up the bus hierarchy until someone handles it. */ if (dev->parent) @@ -3408,7 +3459,7 @@ */ int bus_setup_intr(device_t dev, struct resource *r, int flags, - driver_intr_t handler, void *arg, void **cookiep) + driver_intr_t handler, void *arg, void **cookiep) /*TODO*/ { int error; @@ -3619,7 +3670,7 @@ return (-1); } -static kobj_method_t root_methods[] = { +static kobj_method_t root_methods[] = { /*TODO*/ /* Device interface */ KOBJMETHOD(device_shutdown, bus_generic_shutdown), KOBJMETHOD(device_suspend, bus_generic_suspend), @@ -3645,7 +3696,7 @@ devclass_t root_devclass; static int -root_bus_module_handler(module_t mod, int what, void* arg) +root_bus_module_handler(module_t mod, int what, void* arg) /*TODO*/ { switch (what) { case MOD_LOAD: @@ -3704,7 +3755,7 @@ * driver_module_data structure pointed to by @p arg */ int -driver_module_handler(module_t mod, int what, void *arg) +driver_module_handler(module_t mod, int what, void *arg) /*TODO*/ { int error; struct driver_module_data *dmd; ==== //depot/projects/soc2007/thioretic_gidl/sys/bus.h#3 (text+ko) ==== @@ -472,31 +472,56 @@ */ #include "device_if.h" #include "bus_if.h" +#include struct module; int driver_module_handler(struct module *, int, void *); +#define DRV_LEVELS 5 +#define DRV_LOWEST 0 +#define DRV_LOWER 1 +#define DRV_MIDDLE 2 +#define DRV_UPPER 3 +#define DRV_TOPMOST 4 /** * Module support for automatically adding drivers to busses. */ +struct drv_internal { + kobj_class_t devops; +#define DR_STACKAWARE 1 +#define DR_LOWEST 2 +#define DR_LOWER 4 +#define DR_MIDDLE 8 +#define DR_UPPER 16 +#define DR_TOPMOST 32 + uint32_t flags; +}; + +typedef struct drv_internal *drv_internal_t; + struct driver_module_data { int (*dmd_chainevh)(struct module *, int, void *); void *dmd_chainarg; const char *dmd_busname; - kobj_class_t dmd_driver; +// kobj_class_t dmd_driver; + drv_internal_t dmd_driver; devclass_t *dmd_devclass; - int stackaware; }; #define DRIVER_MODULE(name, busname, driver, devclass, evh, arg) \ \ +static struct drv_internal name##_##busname##_intnl { \ + (kobj_class_t) &driver, \ + LOWEST \ +}; \ + \ static struct driver_module_data name##_##busname##_driver_mod = { \ evh, arg, \ #busname, \ - (kobj_class_t) &driver, \ - &devclass, \ - 0 \ +/* (kobj_class_t) &driver, \ */ + &name##_##busname##_intnl, \ + &devclass \ }; \ \ static moduledata_t name##_##busname##_mod = { \ From owner-p4-projects@FreeBSD.ORG Mon Jul 2 18:48:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 931B916A421; Mon, 2 Jul 2007 18:48:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3687616A400 for ; Mon, 2 Jul 2007 18:48:07 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2351B13C484 for ; Mon, 2 Jul 2007 18:48:07 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62Im7O7083885 for ; Mon, 2 Jul 2007 18:48:07 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62Im6nU083880 for perforce@freebsd.org; Mon, 2 Jul 2007 18:48:06 GMT (envelope-from sam@freebsd.org) Date: Mon, 2 Jul 2007 18:48:06 GMT Message-Id: <200707021848.l62Im6nU083880@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 122733 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 18:48:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122733 Change 122733 by sam@sam_aku on 2007/07/02 18:47:48 IFC Affected files ... .. //depot/projects/wifi/bin/ed/Makefile#4 integrate .. //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#8 integrate .. //depot/projects/wifi/release/i386/fixit_crunch.conf#3 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#149 integrate .. //depot/projects/wifi/sys/kern/kern_priv.c#4 integrate .. //depot/projects/wifi/sys/kern/uipc_syscalls.c#25 integrate .. //depot/projects/wifi/sys/modules/wlan_scan_ap/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/wlan_scan_sta/Makefile#2 integrate .. //depot/projects/wifi/sys/net/if_ppp.c#13 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ht.c#5 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ht.h#4 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_power.c#9 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_power.h#3 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_regdomain.c#6 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_regdomain.h#5 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#18 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_scan.h#12 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_scan_ap.c#9 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#23 integrate .. //depot/projects/wifi/sys/netinet/raw_ip.c#18 integrate .. //depot/projects/wifi/sys/sys/systm.h#25 integrate Differences ... ==== //depot/projects/wifi/bin/ed/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/ed/Makefile,v 1.32 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/ed/Makefile,v 1.33 2007/07/02 14:00:25 kensmith Exp $ .include @@ -7,11 +7,13 @@ LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 +.if !defined(RELEASE_CRUNCH) .if ${MK_OPENSSL} != "no" CFLAGS+=-DDES WARNS?= 2 DPADD= ${LIBCRYPTO} LDADD= -lcrypto .endif +.endif .include ==== //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#8 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.11 2007/06/26 02:07:47 mjacob Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.12 2007/07/02 10:52:34 rrs Exp $"); #include #include #include @@ -295,7 +295,8 @@ sctp_opt_info(int sd, sctp_assoc_t id, int opt, void *arg, socklen_t * size) { if (arg == NULL) { - return (EINVAL); + errno = EINVAL; + return (-1); } *(sctp_assoc_t *) arg = id; return (getsockopt(sd, IPPROTO_SCTP, opt, arg, size)); @@ -320,7 +321,6 @@ siz = sizeof(sctp_assoc_t); if (getsockopt(sd, IPPROTO_SCTP, SCTP_GET_REMOTE_ADDR_SIZE, &asoc, &siz) != 0) { - errno = ENOMEM; return (-1); } /* size required is returned in 'asoc' */ @@ -328,7 +328,6 @@ siz += sizeof(struct sctp_getaddresses); addrs = calloc(1, siz); if (addrs == NULL) { - errno = ENOMEM; return (-1); } addrs->sget_assoc_id = id; @@ -336,7 +335,6 @@ if (getsockopt(sd, IPPROTO_SCTP, SCTP_GET_PEER_ADDRESSES, addrs, &siz) != 0) { free(addrs); - errno = ENOMEM; return (-1); } re = (struct sockaddr *)&addrs->addr[0]; ==== //depot/projects/wifi/release/i386/fixit_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/i386/fixit_crunch.conf,v 1.15 2007/06/15 14:41:11 kensmith Exp $ +# $FreeBSD: src/release/i386/fixit_crunch.conf,v 1.16 2007/07/02 14:01:43 kensmith Exp $ buildopts -DRELEASE_CRUNCH @@ -46,4 +46,4 @@ progs chroot ln chown chgrp -libs -lcrypto -ledit -lgeom -lkiconv -lkvm -lncurses -lutil +libs -ledit -lgeom -lkiconv -lkvm -lncurses -lutil ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#149 (text+ko) ==== ==== //depot/projects/wifi/sys/kern/kern_priv.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_priv.c,v 1.3 2007/06/16 23:41:43 rwatson Exp $ + * $FreeBSD: src/sys/kern/kern_priv.c,v 1.4 2007/07/02 14:03:29 rwatson Exp $ */ #include "opt_mac.h" @@ -51,7 +51,7 @@ * userland programs, and should not be done without careful consideration of * the consequences. */ -int suser_enabled = 1; +static int suser_enabled = 1; SYSCTL_INT(_security_bsd, OID_AUTO, suser_enabled, CTLFLAG_RW, &suser_enabled, 0, "processes with uid 0 have privilege"); TUNABLE_INT("security.bsd.suser_enabled", &suser_enabled); ==== //depot/projects/wifi/sys/kern/uipc_syscalls.c#25 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.256 2007/05/19 20:50:59 andre Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.257 2007/07/02 12:50:53 rrs Exp $"); #include "opt_sctp.h" #include "opt_compat.h" @@ -2364,7 +2364,7 @@ #ifdef SCTP struct sctp_sndrcvinfo sinfo, *u_sinfo = NULL; struct socket *so; - struct file *fp; + struct file *fp = NULL; int use_rcvinfo = 1; int error = 0, len; struct sockaddr *to = NULL; @@ -2436,7 +2436,8 @@ } #endif /* KTRACE */ sctp_bad: - fdrop(fp, td); + if (fp) + fdrop(fp, td); sctp_bad2: if (to) free(to, M_SONAME); @@ -2462,7 +2463,7 @@ #ifdef SCTP struct sctp_sndrcvinfo sinfo, *u_sinfo = NULL; struct socket *so; - struct file *fp; + struct file *fp = NULL; int use_rcvinfo = 1; int error=0, len, i; struct sockaddr *to = NULL; @@ -2544,7 +2545,8 @@ sctp_bad: free(iov, M_IOV); sctp_bad1: - fdrop(fp, td); + if (fp) + fdrop(fp, td); sctp_bad2: if (to) free(to, M_SONAME); @@ -2573,7 +2575,7 @@ struct iovec *iov, *tiov; struct sctp_sndrcvinfo sinfo; struct socket *so; - struct file *fp; + struct file *fp = NULL; struct sockaddr *fromsa; int fromlen; int len, i, msg_flags; @@ -2684,7 +2686,9 @@ out: free(iov, M_IOV); out1: - fdrop(fp, td); + if (fp) + fdrop(fp, td); + return (error); #else /* SCTP */ return (EOPNOTSUPP); ==== //depot/projects/wifi/sys/modules/wlan_scan_ap/Makefile#2 (text+ko) ==== ==== //depot/projects/wifi/sys/modules/wlan_scan_sta/Makefile#2 (text+ko) ==== ==== //depot/projects/wifi/sys/net/if_ppp.c#13 (text+ko) ==== @@ -71,7 +71,7 @@ * Paul Mackerras (paulus@cs.anu.edu.au). */ -/* $FreeBSD: src/sys/net/if_ppp.c,v 1.120 2007/02/20 15:20:36 rwatson Exp $ */ +/* $FreeBSD: src/sys/net/if_ppp.c,v 1.121 2007/07/02 15:44:30 rwatson Exp $ */ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ /* from NetBSD: if_ppp.c,v 1.15.2.2 1994/07/28 05:17:58 cgd Exp */ @@ -716,8 +716,8 @@ case SIOCSIFMTU: /* - * XXXRW: Isn't this suser() check redundant to the one at the ifnet - * layer? + * XXXRW: Isn't this priv_check() check redundant to the one at the + * ifnet layer? */ error = priv_check(td, PRIV_NET_SETIFMTU); if (error) ==== //depot/projects/wifi/sys/net80211/ieee80211_ht.c#5 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_ht.h#4 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_power.c#9 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_power.h#3 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_regdomain.c#6 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_regdomain.h#5 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#18 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan.c,v 1.1 2007/06/11 03:36:55 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan.c,v 1.3 2007/06/30 21:39:21 thompsa Exp $"); /* * IEEE 802.11 scanning support. ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.h#12 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_scan.h,v 1.1 2007/06/11 03:36:55 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_scan.h,v 1.3 2007/06/30 21:39:21 thompsa Exp $ */ #ifndef _NET80211_IEEE80211_SCAN_H_ #define _NET80211_IEEE80211_SCAN_H_ @@ -119,7 +119,7 @@ uint16_t capinfo; /* 802.11 capabilities */ uint16_t fhdwell; /* FHSS dwell interval */ struct ieee80211_channel *curchan; - uint8_t bchan; /* channel# advertised inside beacon */ + uint8_t bchan; /* chan# advertised inside beacon */ uint8_t fhindex; uint8_t erp; uint16_t bintval; ==== //depot/projects/wifi/sys/net80211/ieee80211_scan_ap.c#9 (text+ko) ==== ==== //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#23 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan_sta.c,v 1.1 2007/06/11 03:36:55 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_scan_sta.c,v 1.2 2007/06/30 21:23:23 thompsa Exp $"); /* * IEEE 802.11 station scanning support. ==== //depot/projects/wifi/sys/netinet/raw_ip.c#18 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 - * $FreeBSD: src/sys/netinet/raw_ip.c,v 1.177 2007/07/01 11:38:27 gnn Exp $ + * $FreeBSD: src/sys/netinet/raw_ip.c,v 1.178 2007/07/02 15:44:30 rwatson Exp $ */ #include "opt_inet6.h" @@ -349,7 +349,7 @@ * after it gives up privilege, so some caution is required. For options * passed down to the IP layer via ip_ctloutput(), checks are assumed to be * performed in ip_ctloutput() and therefore no check occurs here. - * Unilaterally checking suser() here breaks normal IP socket option + * Unilaterally checking priv_check() here breaks normal IP socket option * operations on raw sockets. * * When adding new socket options here, make sure to add access control ==== //depot/projects/wifi/sys/sys/systm.h#25 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)systm.h 8.7 (Berkeley) 3/29/95 - * $FreeBSD: src/sys/sys/systm.h,v 1.258 2007/06/12 00:12:01 rwatson Exp $ + * $FreeBSD: src/sys/sys/systm.h,v 1.259 2007/07/02 14:03:29 rwatson Exp $ */ #ifndef _SYS_SYSTM_H_ @@ -46,7 +46,6 @@ #include /* for people using printf mainly */ extern int securelevel; /* system security level (see init(8)) */ -extern int suser_enabled; /* suser() is permitted to return 0 */ extern int cold; /* nonzero if we are doing a cold boot */ extern int rebooting; /* boot() has been called. */ From owner-p4-projects@FreeBSD.ORG Mon Jul 2 18:54:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F9E216A46C; Mon, 2 Jul 2007 18:54:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E0AB316A41F for ; Mon, 2 Jul 2007 18:54:15 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CDF6513C44C for ; Mon, 2 Jul 2007 18:54:15 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62IsFvB084385 for ; Mon, 2 Jul 2007 18:54:15 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62IsFl5084380 for perforce@freebsd.org; Mon, 2 Jul 2007 18:54:15 GMT (envelope-from thioretic@FreeBSD.org) Date: Mon, 2 Jul 2007 18:54:15 GMT Message-Id: <200707021854.l62IsFl5084380@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 18:54:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=122734 Change 122734 by thioretic@thioretic on 2007/07/02 18:54:01 Just corrected an unfortunate mistake Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#3 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#3 (text+ko) ==== @@ -1762,7 +1762,7 @@ for (dl = first_matching_driver(dc, child); dl; dl = next_matching_driver(dc, child, dl)) { - if ((child->state == DS_ALIVE && (dl->driver->flags & (DR_LOWEST|DR_STACKAWARE))) || (child->state != DS_ALIVE && (dl->driver->flags & ~(DR_LOWEST|DR_STACKAWARE)))) + if ((child->state == DS_ALIVE && dl->driver->flags & DR_STACKAWARE && dl->driver->flags & DR_LOWEST) || (child->state != DS_ALIVE && dl->driver->flags & ~DR_LOWEST)) continue; PDEBUG(("Trying %s", DRIVERNAME(dl->driver->devops))); device_set_driver(child, dl->driver); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 19:01:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9098716A46C; Mon, 2 Jul 2007 19:01:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 26DD716A469 for ; Mon, 2 Jul 2007 19:01:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 15E2713C458 for ; Mon, 2 Jul 2007 19:01:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62J1Oig085499 for ; Mon, 2 Jul 2007 19:01:24 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62J1OrU085496 for perforce@freebsd.org; Mon, 2 Jul 2007 19:01:24 GMT (envelope-from jhb@freebsd.org) Date: Mon, 2 Jul 2007 19:01:24 GMT Message-Id: <200707021901.l62J1OrU085496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 122735 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 19:01:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=122735 Change 122735 by jhb@jhb_mutex on 2007/07/02 19:01:02 'pause' in between reads of the TSC while spinning in DELAY(). Affected files ... .. //depot/projects/smpng/sys/amd64/isa/clock.c#22 edit .. //depot/projects/smpng/sys/i386/isa/clock.c#54 edit Differences ... ==== //depot/projects/smpng/sys/amd64/isa/clock.c#22 (text+ko) ==== @@ -283,6 +283,7 @@ start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); ==== //depot/projects/smpng/sys/i386/isa/clock.c#54 (text+ko) ==== @@ -288,6 +288,7 @@ start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 20:46:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC9D616A46E; Mon, 2 Jul 2007 20:46:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B25E16A469 for ; Mon, 2 Jul 2007 20:46:41 +0000 (UTC) (envelope-from karma@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6A95813C468 for ; Mon, 2 Jul 2007 20:46:41 +0000 (UTC) (envelope-from karma@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62KkfkO096536 for ; Mon, 2 Jul 2007 20:46:41 GMT (envelope-from karma@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62KkfWR096533 for perforce@freebsd.org; Mon, 2 Jul 2007 20:46:41 GMT (envelope-from karma@FreeBSD.org) Date: Mon, 2 Jul 2007 20:46:41 GMT Message-Id: <200707022046.l62KkfWR096533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to karma@FreeBSD.org using -f From: Alexey Mikhailov To: Perforce Change Reviews Cc: Subject: PERFORCE change 122744 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 20:46:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=122744 Change 122744 by karma@karma_ez on 2007/07/02 20:46:32 * T-Tree implementation * Configuration parsing * Basic network stuff Affected files ... .. //depot/projects/soc2007/karma_audit/dlog/config.h#3 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/client.c#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/client.h#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/config.c#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/config.h#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/config_client.l#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/config_client.y#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/config_server.l#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/config_server.y#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/server.c#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/server.h#2 edit .. //depot/projects/soc2007/karma_audit/dlog/daemon/ttree.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/ttree.h#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/util.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/util.h#1 add Differences ... ==== //depot/projects/soc2007/karma_audit/dlog/config.h#3 (text+ko) ==== @@ -7,4 +7,11 @@ #define KEYWORD_MAX 128 +#define MAX_COUNT 5 + +#define CLIENT_CONFIG "client.conf" +#define SERVER_CONFIG "server.conf" + +#define SERVER_PORT "9991" + #endif ==== //depot/projects/soc2007/karma_audit/dlog/daemon/client.c#2 (text+ko) ==== @@ -1,0 +1,39 @@ +#include "../config.h" +#include +#include +#include +#include +#include +#include +#include + +extern int errno; + +void +client_main() +{ + int s, opt = 1; + struct sockaddr_un n; + + s = socket(PF_LOCAL, SOCK_STREAM, 0); + + if (s < 0) + { + err_fatal("can't create PF_LOCAL socket"); + } + + if ((setsockopt(s, 0, LOCAL_CREDS, &opt, sizeof(opt))) < 0) + { + err_fatal("can't receive credentials from PF_LOCAL socket"); + } + + bzero(&n, sizeof(n)); + n.sun_family = PF_LOCAL; + strncpy(n.sun_path, DL_SOCKET, sizeof(DL_SOCKET)); + + if ((bind(s, (struct sockaddr *) &n, SUN_LEN (&n))) < 0) + { + err_fatal("can't bind PF_LOCAL socket"); + } + +} ==== //depot/projects/soc2007/karma_audit/dlog/daemon/client.h#2 (text+ko) ==== @@ -1,0 +1,6 @@ +#ifndef DLOG_CLIENT_H +#define DLOG_CLIENT_H + +void client_main(); + +#endif ==== //depot/projects/soc2007/karma_audit/dlog/daemon/config.c#2 (text+ko) ==== @@ -1,0 +1,247 @@ +#include "config.h" +#include "../config.h" +#include "util.h" +#include +#include +#include +#include +#include +#include + +cl_kw_access * cka = NULL; +cl_kw_access * pcka = NULL; +cl_kw_hosts * ckh = NULL; +cl_kw_hosts * pckh = NULL; +sv_kw_hostdir * svhd = NULL; +sv_kw_hostdir * psvhd = NULL; + +extern int errno; +extern FILE * yyin; + +#if 0 +int +main (int argc, char **argv) +{ + client_kw_tree = allocate_ttree(); + server_kw_tree = allocate_ttree(); + (void)parse_client_config(); +} +#endif + +void +parse_client_config (void) +{ + int error; + + yyin = fopen("client.conf", "r"); + + if (yyin == NULL) + { + err_fatal("cannot open client configuration file"); + } + + error = yyparse(); + + if (error) + { + err_fatal("cannot parse client configuration file"); + } +} + +void +parse_server_config (void) +{ + int error; + + yyin = fopen("server.conf", "r"); + + if (yyin == NULL) + { + err_fatal("cannot open server configuration file"); + } + + error = yyparse(); + + if (error) + { + err_fatal("cannot parse server configuration file"); + } +} + +int +add_client_keyword (char * keyword) +{ + cl_kw_data * cd; + + cd = xmalloc(sizeof(cl_kw_data)); + cd -> access = cka; + cd -> hosts = ckh; + + insert_tree (&client_kw_tree, keyword, (void *) cd); + cka = NULL; + pcka = NULL; + ckh = NULL; + pckh = NULL; + + return 0; +} + +int +add_client_kw_access (char * id, char * val) +{ + if (cka == NULL) + { + cka = xmalloc(sizeof(cl_kw_access)); + pcka = cka; + } + else + { + pcka -> next = xmalloc(sizeof(cl_kw_access)); + pcka = pcka -> next; + pcka -> next = NULL; + } + + if (strcmp(id, "uid") == 0) + { + pcka -> id = 1; + pcka -> ut = (uid_t)strtol(val, (char **)NULL, 10); + if (pcka -> ut == 0) + { + err_fatal("wrong UID."); + } + + struct passwd * psw = getpwuid(pcka -> ut); + + if (psw == NULL) + { + err_fatal("getpwuid() failed. Probably wrong UID."); + } + return 0; + } + + if (strcmp(id, "gid") == 0) + { + pcka -> id = 2; + pcka -> gt = (gid_t)strtol(val, (char **)NULL, 10); + if (pcka -> gt == 0) + { + err_fatal("wrong gid"); + } + + struct group * grp = getgrgid (pcka -> gt); + + if (grp = NULL) + { + err_fatal("getgrgid() failed. Probably wrong GID."); + } + + return 0; + } + + if (strcmp(id, "user") == 0) + { + pcka -> id = 1; + + struct passwd * psw = getpwnam(val); + if (psw == NULL) + { + err_fatal("getpwnam() failed. Probably wrong username."); + } + + pcka -> ut = psw -> pw_uid; + return 0; + } + + if (strcmp(id, "group") == 0) + { + pcka -> id = 2; + struct group * grp = getgrnam(val); + if (grp == NULL) + { + err_fatal("getgrnam() failed. Probably wrong groupname."); + } + + pcka -> gt = grp -> gr_gid; + return 0; + } + + return 1; +} + +int +add_client_kw_host (char * host) +{ + if (ckh == NULL) + { + ckh = xmalloc(sizeof(cl_kw_hosts)); + pckh = ckh; + } + else + { + pckh -> next = xmalloc(sizeof(cl_kw_hosts)); + pckh = pckh -> next; + pckh -> next = NULL; + } + + pckh -> host = strdup (host); + + if (pckh -> host == NULL) + { + err_fatal("out of memory."); + } + + return 0; +} + +int +add_client_host (char * host) +{ + return 0; +} + +int +add_server_keyword (char * keyword) +{ + sv_kw_data * sd; + + sd = xmalloc(sizeof(sv_kw_data)); + sd -> hds = svhd; + + insert_tree (&server_kw_tree, keyword, (void *) sd); + svhd = NULL; + psvhd = NULL; + + return 0; +} + +int +add_server_kw_host (char * hostname, char * dir) +{ + if (svhd == NULL) + { + svhd = xmalloc(sizeof(sv_kw_hostdir)); + psvhd = svhd; + } + else + { + psvhd -> next = xmalloc(sizeof(sv_kw_hostdir)); + psvhd = psvhd -> next; + psvhd -> next = NULL; + } + + psvhd -> host = strdup (hostname); + psvhd -> dir = strdup (dir); + + if (psvhd -> host == NULL || psvhd -> dir == NULL) + { + err_fatal("out of memory!"); + } + + return 0; +} + +int +add_server_host (char * host) +{ + return 0; +} ==== //depot/projects/soc2007/karma_audit/dlog/daemon/config.h#2 (text+ko) ==== @@ -1,0 +1,49 @@ +#ifndef DLOG_CONFIG_H +#define DLOG_CONFIG_H +#include "ttree.h" +#include + +typedef struct client_kw_access { + int id; + uid_t ut; + gid_t gt; + struct client_kw_access * next; +} cl_kw_access; + +typedef struct client_kw_host { + char *host; + struct client_kw_host * next; +} cl_kw_hosts; + +typedef struct server_kw_host { + char *host; + char *dir; + struct server_kw_host * next; +} sv_kw_hostdir; + +typedef struct keyword_cli_data { + cl_kw_access *access; + cl_kw_hosts *hosts; +} cl_kw_data; + +typedef struct keyword_srv_data { + sv_kw_hostdir *hds; +} sv_kw_data; + + +TTree * client_kw_tree; +TTree * server_kw_tree; +TTree * client_host_tree; +TTree * server_host_tree; + +int add_client_keyword (char * keyword); +int add_client_kw_access (char * id, char * val); +int add_client_kw_host (char * host); + +int add_server_keyword (char * keyword); +int add_server_kw_host (char * hostname, char * dir); + +void parse_client_config(); +void parse_server_config(); + +#endif ==== //depot/projects/soc2007/karma_audit/dlog/daemon/server.c#2 (text+ko) ==== @@ -1,0 +1,69 @@ +#include "../config.h" +#include +#include +#include +#include + +#define QLEN 10 + +void +server_serve (int s) +{ + return; +} + +void +server_main() +{ + int s,err; + struct addrinfo *aip, *ailist; + struct addrinfo hint; + char *host; + + hint.ai_flags = AI_CANONNAME; + hint.ai_family = 0; + hint.ai_socktype = SOCK_STREAM; + hint.ai_protocol = 0; + hint.ai_addrlen = 0; + hint.ai_canonname = NULL; + hint.ai_addr = NULL; + hint.ai_next = NULL; + + if (gethostname(host, _POSIX_HOST_NAME_MAX) < 0) + { + err_fatal("gethostname() error"); + } + + + err = getaddrinfo(host, SERVER_PORT, &hint, &ailist); + + if (err < 0) + { + err_fatal("getaddrinfo() error"); + } + + for (aip = ailist; aip != NULL; aip = aip -> ai_next) + { + + s = socket(PF_INET, SOCK_STREAM, 0); + + if (s < 0) + { + err_fatal("can't create PF_INET socket"); + } + + if (bind(s, aip -> ai_addr, aip -> ai_addrlen) < 0) + { + err_fatal("bind() error on PF_INET socket"); + } + + if (listen(s, QLEN) < 0) + { + err_fatal("listen() error on PF_INET socket"); + } + + server_serve(s); + return; + } +} + ==== //depot/projects/soc2007/karma_audit/dlog/daemon/server.h#2 (text+ko) ==== @@ -1,0 +1,6 @@ +#ifndef DLOG_SERVER_H +#define DLOG_SERVER_H + +void server_main(); + +#endif From owner-p4-projects@FreeBSD.ORG Mon Jul 2 21:40:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A9DD16A46D; Mon, 2 Jul 2007 21:40:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 09CD116A46B for ; Mon, 2 Jul 2007 21:40:49 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id EDBE313C46C for ; Mon, 2 Jul 2007 21:40:48 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62LemBu019187 for ; Mon, 2 Jul 2007 21:40:48 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62Lem8X019183 for perforce@freebsd.org; Mon, 2 Jul 2007 21:40:48 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 2 Jul 2007 21:40:48 GMT Message-Id: <200707022140.l62Lem8X019183@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 21:40:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122745 Change 122745 by lulf@lulf_carrot on 2007/07/02 21:40:03 - Remove complicated bio_completed divding technique, and just set bio_completed = bio_length as g_mirror does. - Remember that syncing at the end of plex might not be a true multiple of the syncsize, so use the minimal of default size and the size we have left to sync. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#11 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#11 (text+ko) ==== @@ -124,7 +124,6 @@ struct gv_volume *v; struct gv_plex *p; struct gv_sd *s; - int numplex; s = bp->bio_caller1; KASSERT(s != NULL, ("gv_bio_done: NULL s")); @@ -139,40 +138,15 @@ pbp = bp->bio_parent; if (pbp->bio_error == 0) pbp->bio_error = bp->bio_error; - pbp->bio_completed += bp->bio_completed; g_destroy_bio(bp); pbp->bio_inbed++; if (pbp->bio_children == pbp->bio_inbed) { + /* Just set it to length since multiple plexes will + * screw things up. */ + pbp->bio_completed = pbp->bio_length; if (pbp->bio_cflags & GV_BIO_SYNCREQ) gv_sync_complete(p, pbp); else { - /* - * If completed is a multiple of a number less - * than or equal to the plexcount, we can be - * sure that a write got through, and adjust - * bio_completed accordingly. - * - * A) We can be sure all plexes will have - * written the BIO, becaouse bio_children == - * bio_inbed which is "global" for all plexes - * since the same BIO was sent to all. - * B) If a plex fails to write totally, we get - * a wrong length/completed number which is - * lower than it should, and the error shouldn't - * really occur. - * - * XXX: This is sort of a hack, but I can't find - * any better way without cloning the initial - * BIO being sent down to all plexes in a mirror - * - * Actually, cloning the BIO would be - * preferable. - */ - numplex = pbp->bio_completed / pbp->bio_length; - if (numplex <= v->plexcount && - (pbp->bio_completed % pbp->bio_length) == 0) - pbp->bio_completed = - pbp->bio_completed / numplex; g_io_deliver(pbp, pbp->bio_error); } } @@ -193,6 +167,7 @@ struct gv_sd *s; struct gv_volume *v; struct gv_softc *sc; + off_t offset; int err; g_topology_assert_not(); @@ -219,8 +194,10 @@ LIST_FOREACH(s, &to->subdisks, in_plex) gv_update_sd_state(s); } else { - err = gv_sync_request(from, to, bp->bio_offset + - bp->bio_length, bp->bio_length, BIO_READ, NULL); + offset = bp->bio_offset + bp->bio_length; + err = gv_sync_request(from, to, offset, + MIN(bp->bio_length, from->size - offset), + BIO_READ, NULL); } } g_destroy_bio(bp); From owner-p4-projects@FreeBSD.ORG Mon Jul 2 21:52:05 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F74A16A469; Mon, 2 Jul 2007 21:52:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BE11816A421 for ; Mon, 2 Jul 2007 21:52:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ADB0B13C484 for ; Mon, 2 Jul 2007 21:52:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62Lq4Lc020057 for ; Mon, 2 Jul 2007 21:52:04 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62Lq4RK020054 for perforce@freebsd.org; Mon, 2 Jul 2007 21:52:04 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 2 Jul 2007 21:52:04 GMT Message-Id: <200707022152.l62Lq4RK020054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 21:52:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=122746 Change 122746 by lulf@lulf_carrot on 2007/07/02 21:51:06 - Add concat, mirror and stripe commands. - Create userland routines used for parsing the configuration and looking for names. - Create kernel routines that uses the event-system to create the objects that is needed, and connects them the same way that vinum does. - Add geom_vinum_create.c that holds these routines for the kernel. Perhaps moving the gv_create_* routines here as well, since they don't really belong into the events source-file. The commands should work exactly the same way as in vinum. Also, there are alot of printouts currently, since I need them to test this a bit more. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#10 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#24 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#19 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#1 add .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#15 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/geom/geom_vinum/Makefile#2 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#10 (text+ko) ==== @@ -56,11 +56,13 @@ #include "gvinum.h" void gvinum_attach(int, char **); +void gvinum_concat(int, char **); void gvinum_create(int, char **); void gvinum_detach(int, char **); void gvinum_help(void); void gvinum_list(int, char **); void gvinum_move(int, char **); +void gvinum_mirror(int, char **); void gvinum_parityop(int, char **, int); void gvinum_printconfig(int, char **); void gvinum_rename(int, char **); @@ -70,9 +72,15 @@ void gvinum_setstate(int, char **); void gvinum_start(int, char **); void gvinum_stop(int, char **); +void gvinum_stripe(int, char **); void parseline(int, char **); void printconfig(FILE *, char *); +char *create_drive(char *); +void create_volume(int, char **, char *); +char *find_name(const char *, int, int); +char *find_pattern(char *, char *); + int main(int argc, char **argv) { @@ -362,6 +370,223 @@ gctl_free(req); } +/* Create a concatenated volume. */ +void +gvinum_concat(int argc, char **argv) +{ + + printf("Preparing\n"); + if (argc < 2) { + warnx("usage:\tconcat [-fv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "concat"); +} + + +/* Create a drive quick and dirty. */ +char * +create_drive(char *device) +{ + struct gv_drive *d; + struct gctl_req *req; + const char *errstr; + char *drivename; + int drives, volumes, subdisks, plexes; + + plexes = subdisks = volumes = 0; + drives = 1; + printf("Trying to create drive on %s\n", device); + + /* Strip away eventual /dev/ in front. */ + if (strncmp(device, "/dev/", 5) == 0) + device += 5; + + drivename = find_name("gvinumdrive", GV_TYPE_DRIVE, GV_MAXDRIVENAME); + if (drivename == NULL) + return (NULL); + + fprintf(stderr, "Drivename %s is okay\n", drivename); + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + gctl_ro_param(req, "verb", -1, "create"); + d = malloc(sizeof(struct gv_drive)); + if (d == NULL) + err(1, "unable to allocate for gv_drive object"); + memset(d, 0, sizeof(struct gv_drive)); + + strlcpy(d->name, drivename, GV_MAXDRIVENAME); + strlcpy(d->device, device, GV_MAXDRIVENAME); + gctl_ro_param(req, "drive0", sizeof(*d), d); + gctl_ro_param(req, "drives", sizeof(int), &drives); + gctl_ro_param(req, "volumes", sizeof(int), &volumes); + gctl_ro_param(req, "plexes", sizeof(int), &plexes); + gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); + fprintf(stderr, "Creating drive request sent to kernel...\n"); + errstr = gctl_issue(req); + if (errstr != NULL) + warnx("error creating drive: %s", errstr); + gctl_free(req); + printf("Done creating drive %s on %s\n", drivename, device); + return (drivename); +} + +/* + * General routine for creating a volume. Mainly for use by concat, mirror and + * stripe commands. + */ +void +create_volume(int argc, char **argv, char *verb) +{ + struct gctl_req *req; + const char *errstr; + char buf[BUFSIZ], *drivename, *volname; + int drives, flags, i; + + flags = 0; + drives = 0; + volname = NULL; + /* XXX: Should we check for argument length? */ + + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-f")) { + flags |= GV_FLAG_F; + } else if (!strcmp(argv[i], "-n")) { + volname = argv[++i]; + } else if (!strcmp(argv[i], "-v")) { + flags |= GV_FLAG_V; + } else if (!strcmp(argv[i], "-s")) { + flags |= GV_FLAG_S; + } else { + /* Assume it's a drive. */ + snprintf(buf, sizeof(buf), "drive%d", drives++); + + /* First we create the drive. */ + drivename = create_drive(argv[i]); + if (drivename == NULL) + goto bad; + /* Then we add it to the request. */ + gctl_ro_param(req, buf, -1, drivename); + } + } + + /* Find a free volume name. */ + if (volname == NULL) { + fprintf(stderr, "Finding name\n"); + volname = find_name("gvinumvolume", GV_TYPE_VOL, GV_MAXVOLNAME); + fprintf(stderr, "Found name %s\n", volname); + } + + /* Then we send a request to actually create the volumes. */ + gctl_ro_param(req, "verb", -1, verb); + gctl_ro_param(req, "flags", sizeof(int), &flags); + gctl_ro_param(req, "drives", sizeof(int), &drives); + gctl_ro_param(req, "name", -1, volname); + errstr = gctl_issue(req); + if (errstr != NULL) + warnx("creating %s volume failed: %s", verb, errstr); +bad: + gctl_free(req); +} + +/* Parse a line of the config, return the word after . */ +char * +find_pattern(char *line, char *pattern) +{ + char *ptr; + + ptr = strsep(&line, " "); + while (ptr != NULL) { + if (!strcmp(ptr, pattern)) { + /* Return the next. */ + ptr = strsep(&line, " "); + return (ptr); + } + ptr = strsep(&line, " "); + } + return (NULL); +} + +/* Find a free name for an object given a a prefix. */ +char * +find_name(const char *prefix, int type, int namelen) +{ + struct gctl_req *req; + char comment[1], buf[GV_CFG_LEN - 1], *name, *sname, *ptr; + const char *errstr; + int i, n, begin, len, conflict; + char line[1024]; + + comment[0] = '\0'; + + /* Find a name. Fetch out configuration first. */ + printf("Fetching configuration\n"); + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + gctl_ro_param(req, "verb", -1, "getconfig"); + gctl_ro_param(req, "comment", -1, comment); + gctl_rw_param(req, "config", sizeof(buf), buf); + errstr = gctl_issue(req); + if (errstr != NULL) { + warnx("can't get configuration: %s", errstr); + return (NULL); + } + gctl_free(req); + + printf("Got configuration:\n"); + printf(buf); + begin = 0; + len = strlen(buf); + i = 0; + sname = malloc(namelen + 1); + + /* XXX: Max object setting? */ + for (n = 0; n < 10000; n++) { + snprintf(sname, namelen, "%s%d", prefix, n); + conflict = 0; + begin = 0; + /* Loop through the configuration line by line. */ + for (i = 0; i < len; i++) { + if (buf[i] == '\n' || buf[i] == '\0') { + ptr = buf + begin; + strlcpy(line, ptr, (i - begin) + 1); + printf("Processing line: .%s.\n", line); + begin = i + 1; + switch (type) { + case GV_TYPE_DRIVE: + name = find_pattern(line, "drive"); + break; + case GV_TYPE_VOL: + name = find_pattern(line, "volume"); + break; + case GV_TYPE_PLEX: + case GV_TYPE_SD: + name = find_pattern(line, "name"); + break; + default: + printf("Invalid type given\n"); + continue; + } + if (name == NULL) + continue; + printf("Found a name: .%s.\n", name); + if (!strcmp(sname, name)) { + printf("Conflicts, try next\n"); + conflict = 1; + /* XXX: Could quit the loop earlier. */ + } + } + } + if (!conflict) + return (sname); + } + free(sname); + return (NULL); +} + /* Detach a plex or subdisk from its parent. */ void gvinum_detach(int argc, char **argv) @@ -412,6 +637,8 @@ "attach plex volume [rename]\n" "attach subdisk plex [offset] [rename]\n" " Attach a plex to a volume, or a subdisk to a plex\n" + "concat [-fv] [-n name] drives\n" + " Create a concatenated volume from the specified drives.\n" "detach [-f] [plex | subdisk]\n" " Detach a plex or a subdisk from the volume or plex to\n" " which it is attached.\n" @@ -425,6 +652,8 @@ " List information about plexes.\n" "lv [-r] [-v] [-V] [volume]\n" " List information about volumes.\n" + "mirror [-fsv] [-n name] drives\n" + " Create a mirrored volume from the specified drives.\n" "move | mv -f drive object ...\n" " Move the object(s) to the specified drive.\n" "quit Exit the vinum program when running in interactive mode." @@ -447,6 +676,8 @@ " poses only.\n" "start [-S size] volume | plex | subdisk\n" " Allow the system to access the objects.\n" + "stripe [-fv] [-n name] drives\n" + " Create a striped volume from the specified drives.\n" ); return; @@ -572,6 +803,18 @@ return; } +/* Create a mirrored volume. */ +void +gvinum_mirror(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage\tmirror [-fsv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "mirror"); +} + /* Note that move is currently of form '[-r] target object [...]' */ void gvinum_move(int argc, char **argv) @@ -960,6 +1203,18 @@ exit(0); } +/* Create a striped volume. */ +void +gvinum_stripe(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage:\tstripe [-fv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "stripe"); +} + void parseline(int argc, char **argv) { @@ -974,6 +1229,8 @@ gvinum_attach(argc, argv); else if (!strcmp(argv[0], "detach")) gvinum_detach(argc, argv); + else if (!strcmp(argv[0], "concat")) + gvinum_concat(argc, argv); else if (!strcmp(argv[0], "help")) gvinum_help(); else if (!strcmp(argv[0], "list") || !strcmp(argv[0], "l")) @@ -986,6 +1243,8 @@ gvinum_list(argc, argv); else if (!strcmp(argv[0], "lv")) gvinum_list(argc, argv); + else if (!strcmp(argv[0], "mirror")) + gvinum_mirror(argc, argv); else if (!strcmp(argv[0], "move")) gvinum_move(argc, argv); else if (!strcmp(argv[0], "mv")) @@ -1006,6 +1265,8 @@ gvinum_start(argc, argv); else if (!strcmp(argv[0], "stop")) gvinum_stop(argc, argv); + else if (!strcmp(argv[0], "stripe")) + gvinum_stripe(argc, argv); else if (!strcmp(argv[0], "checkparity")) gvinum_parityop(argc, argv, 0); else if (!strcmp(argv[0], "rebuildparity")) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#24 (text+ko) ==== @@ -410,6 +410,9 @@ if (!strcmp(verb, "attach")) { gv_attach(sc, req); + } else if (!strcmp(verb, "concat")) { + gv_concat(gp, req); + } else if (!strcmp(verb, "detach")) { gv_detach(sc, req); @@ -433,6 +436,9 @@ } else if (!strcmp(verb, "create")) { gv_create(gp, req); + } else if (!strcmp(verb, "mirror")) { + gv_mirror(gp, req); + } else if (!strcmp(verb, "move")) { gv_move(gp, req); @@ -452,6 +458,9 @@ } else if (!strcmp(verb, "start")) { gv_start_obj(gp, req); + } else if (!strcmp(verb, "stripe")) { + gv_stripe(gp, req); + } else if (!strcmp(verb, "setstate")) { gv_setstate(gp, req); } else ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#19 (text+ko) ==== @@ -29,6 +29,11 @@ #ifndef _GEOM_VINUM_H_ #define _GEOM_VINUM_H_ +/* geom_vinum_create.c */ +void gv_concat(struct g_geom *gp, struct gctl_req *); +void gv_mirror(struct g_geom *gp, struct gctl_req *); +void gv_stripe(struct g_geom *gp, struct gctl_req *); + /* geom_vinum_drive.c */ void gv_save_config(struct gv_softc *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#15 (text+ko) ==== ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/geom/geom_vinum/Makefile#2 (text+ko) ==== @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../../geom/vinum KMOD= geom_vinum -SRCS= geom_vinum.c geom_vinum_drive.c geom_vinum_plex.c \ +SRCS= geom_vinum.c geom_vinum_create.c geom_vinum_drive.c geom_vinum_plex.c \ geom_vinum_volume.c geom_vinum_subr.c geom_vinum_raid5.c \ geom_vinum_share.c geom_vinum_list.c geom_vinum_rm.c \ geom_vinum_init.c geom_vinum_state.c geom_vinum_rename.c \ From owner-p4-projects@FreeBSD.ORG Mon Jul 2 21:53:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEB2316A468; Mon, 2 Jul 2007 21:53:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9CB8E16A41F for ; Mon, 2 Jul 2007 21:53:06 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 75AD613C45E for ; Mon, 2 Jul 2007 21:53:06 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62Lr65N020124 for ; Mon, 2 Jul 2007 21:53:06 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62Lr6Rh020121 for perforce@freebsd.org; Mon, 2 Jul 2007 21:53:06 GMT (envelope-from thompsa@freebsd.org) Date: Mon, 2 Jul 2007 21:53:06 GMT Message-Id: <200707022153.l62Lr6Rh020121@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 122747 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 21:53:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122747 Change 122747 by thompsa@thompsa_heff on 2007/07/02 21:52:12 IEEE80211_MODE_AUTO is not the right flag for ieee80211_find_channel. Affected files ... .. //depot/projects/wifi/sys/dev/ipw/if_ipw.c#18 edit Differences ... ==== //depot/projects/wifi/sys/dev/ipw/if_ipw.c#18 (text+ko) ==== @@ -992,7 +992,7 @@ #endif ic->ic_bsschan = ieee80211_find_channel(ic, ieee80211_ieee2mhz(frm[2], 0), - IEEE80211_MODE_AUTO); + IEEE80211_CHAN_B); frm += frm[1] + 2; } From owner-p4-projects@FreeBSD.ORG Tue Jul 3 07:50:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A7C216A46D; Tue, 3 Jul 2007 07:50:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D25EE16A468 for ; Tue, 3 Jul 2007 07:50:40 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C1F5613C43E for ; Tue, 3 Jul 2007 07:50:40 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l637oer8098118 for ; Tue, 3 Jul 2007 07:50:40 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l637oe69098109 for perforce@freebsd.org; Tue, 3 Jul 2007 07:50:40 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 3 Jul 2007 07:50:40 GMT Message-Id: <200707030750.l637oe69098109@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 122751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 07:50:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=122751 Change 122751 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/03 07:50:04 adjustment for better handling of configuration file and unmatched case warning Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#6 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#4 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/open/00.t#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/signal/01.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#6 (text+ko) ==== @@ -227,7 +227,7 @@ usage(void) { - fprintf(stderr, "usage: mactest -m label_string syscall args ...\n"); + fprintf(stderr, "usage: mactest -m label_string -f macconf_file syscall args ...\n"); exit(1); } @@ -607,19 +607,23 @@ struct syscall_desc *scall; unsigned int n,nread; const char *label_string = NULL; + const char *macconf_file = NULL; int pid,pid1; int error; int mactestpipefd, logfd; char buf[2048]; int ch; + int notgood = 0; - - while ((ch = getopt(argc, argv, "m:")) != -1) { + while ((ch = getopt(argc, argv, "m:f:")) != -1) { switch(ch) { case 'm': label_string = optarg; break; + case 'f': + macconf_file = optarg; + break; default: usage(); } @@ -632,8 +636,12 @@ usage(); } + if (macconf_file == NULL){ + fprintf(stderr, "must supply macconf_file\n"); + usage(); + } + - if (mac_is_present(NULL) == 1) { mac_t label; @@ -688,7 +696,7 @@ yyparse(); fclose(inputfile); record_from_log = mactestlog_record_chain; - if ((inputfile = fopen("mactest.conf", "r")) == NULL){ + if ((inputfile = fopen(macconf_file, "r")) == NULL){ fprintf(stderr, "mactest.conf do not exists!\n"); exit(1); } @@ -729,7 +737,8 @@ if (iterator) record_from_conf = record_from_conf->next; else{ - fprintf(stderr, "missing ...\n"); + notgood = 1; + fprintf(stderr, "\n missing ...\n"); struct modes_or_flags *iterator1, *tmp1; struct labelstrings *iterator2, *tmp2; @@ -766,12 +775,14 @@ } fprintf(stderr, "\n"); } - exit(1); + record_from_conf = record_from_conf->next; } } } - - exit(0); + if (notgood) + exit(1); + else + exit(0); } static const char * ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#4 (text+ko) ==== @@ -39,19 +39,21 @@ } -mactestnotexpectanyerror() +mactestexpect() { - + e="${1}" + shift ${mactest} $* 2>${tmp_file} 1>>${tmp_file} r=`cat ${tmp_file}` - echo "${r}" | egrep '^''0''$' >/dev/null 2>&1 - if [ $? -eq 0 ] && [ ${#r} -eq 1 ] ; then + echo "${r}" | egrep '^'${e}'$' >/dev/null 2>&1 + if [ $? -eq 0 ] && [ ${#r} -eq ${#e} ]; then echo "ok ${ntest}" else echo ${r} echo "not ok ${ntest}" fi ntest=`expr $ntest + 1` + rm ${tmp_file} } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/open/00.t#3 (text+ko) ==== @@ -6,7 +6,7 @@ dir=`dirname $0` . ${dir}/../misc.sh -echo "1..2" +echo "1..4" n0=`namegen` n1=`namegen` @@ -23,29 +23,76 @@ if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then dvplabel=`getfmac ".."| sed 's/\(\.\.:\ \)\([a-z\,\/]*\)/\2/`; + +############################################################# +#case mkdir: #examine the label of its parent directory - echo "pid = -1 mac_test_check_vnode_lookup: biba/high(low-high),mls/9(low-high) ${dvplabel}" > ${mactest_conf} + echo -n "pid = -1 mac_test_check_vnode_lookup:" > ${mactest_conf} + echo "biba/high(low-high),mls/8(low-high) ${dvplabel}" >> ${mactest_conf} + #check the label of its parent directory - echo "pid = -1 mac_test_check_vnode_create: biba/high(low-high),mls/9(low-high) ${dvplabel}" >> ${mactest_conf} + echo -n "pid = -1 mac_test_check_vnode_create:" >> ${mactest_conf} + echo "biba/high(low-high),mls/8(low-high) ${dvplabel}" >> ${mactest_conf} + #init the label of currently created vnode echo "pid = -1 mac_test_init_vnode_label" >> ${mactest_conf} + #associate the extattr of newly created vnode - echo "pid = -1 mac_test_create_vnode_extattr: biba/high(low-high),mls/9(low-high) * ${dvplabel} biba/high,mls/9" >> ${mactest_conf} - mactestnotexpectanyerror -m "mls/9(low-high)" mkdir ${n1} 0755 - rm ${mactest_conf} + echo -n "pid = -1 mac_test_create_vnode_extattr:" >> ${mactest_conf} + echo "biba/high(low-high),mls/8(low-high) * ${dvplabel} biba/high,mls/8" >> ${mactest_conf} + mactestexpect 0 -m "mls/8(low-high)" -f ${mactest_conf} mkdir ${n1} 0755 + +############################################################# +#case creative open: cd ${n1} - echo "pid = -1 mac_test_check_vnode_lookup with cr_label and dvplabel:biba/high(low-high),mls/9(low-high) biba/high,mls/9" > ${mactest_conf} - echo "pid = -1 mac_test_check_vnode_create with cr_label and dvplabel:biba/high(low-high),mls/9(low-high) biba/high,mls/9" >> ${mactest_conf} + echo -n "pid = -1 mac_test_check_vnode_lookup:" > ${mactest_conf} + echo "biba/high(low-high),mls/9(low-high) biba/high,mls/8" >> ${mactest_conf} + + echo -n "pid = -1 mac_test_check_vnode_create:" >> ${mactest_conf} + echo "biba/high(low-high),mls/9(low-high) biba/high,mls/8" >> ${mactest_conf} + echo "pid = -1 mac_test_init_vnode_label" >> ${mactest_conf} - echo "pid = -1 mac_test_create_vnode_extattr with cr_label mplabel dvplabel and vplabel:biba/high(low-high),mls/9(low-high) biba/high,mls/low biba/high,mls/9 biba/high,mls/9" >> ${mactest_conf} - echo "pid = -1 mac_test_check_vnode_open with acc_mode and cr_label and vplabel#VWRITE :biba/high(low-high),mls/9(low-high) biba/high,mls/9" >> ${mactest_conf} - mv ${mactest_conf} "mactest.conf" - mactestnotexpectanyerror -m "mls/9(low-high)" open ${n0} O_CREAT,O_WRONLY 0755 - rm "mactest.conf" + + echo -n "pid = -1 mac_test_create_vnode_extattr:" >> ${mactest_conf} + echo "biba/high(low-high),mls/9(low-high) biba/high,mls/low biba/high,mls/8 biba/high,mls/9" >> ${mactest_conf} + + echo -n "pid = -1 mac_test_check_vnode_open#VWRITE :" >> ${mactest_conf} + echo "biba/high(low-high),mls/9(low-high) biba/high,mls/9" >> ${mactest_conf} + + mactestexpect 0 -m "mls/9(low-high)" -f ${mactest_conf} open ${n0} O_CREAT,O_WRONLY 0755 + + + +############################################################# +#case lstat: +#dvplabel is mls/8 + echo -n "pid = -1 mac_test_check_vnode_lookup with cr_label and dvplabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/high(low-high) biba/high,mls/8" >> ${mactest_conf} + +#no file label + echo -n "pid = -1 mac_test_check_vnode_stat with cred label, file label and vplabel:" >> ${mactest_conf} + echo "biba/high(low-high),mls/high(low-high) NULL biba/high,mls/9" >> ${mactest_conf} + mactestexpect regular,0755 -m "mls/high" -f ${mactest_conf} lstat ${n0} type,mode + + +############################################################# +#case unlink: +#This case will show complex of access control for mls directory structure +#dvplabel is mls/8 + echo -n "pid = -1 mac_test_check_vnode_lookup with cr_label and dvplabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/8" >> ${mactest_conf} + +#the hook for delete + echo -n "pid = -1 mac_test_check_vnode_delete with cr_label dvplabel and vplabel:" >> ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/8 biba/high,mls/9" >> ${mactest_conf} + echo "pid = -1 mac_test_destroy_vnode_label" >> ${mactest_conf} + mactestexpect 0 -m "mls/6" -f ${mactest_conf} unlink ${n0} cd .. + +#cleanup: rm -fr ${n1} fi ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/signal/01.t#2 (text+ko) ==== @@ -7,7 +7,6 @@ dir=`dirname $0` . ${dir}/../misc.sh -mactest_conf="mactest.conf" #turn off all the switches @@ -23,13 +22,12 @@ maccmdnotexpectanyerror "mls/3(2-7)" ${macproc} -w 100 -f "${pid_file}" getmacprocpid - echo "pid = -1 mac_test_check_proc_signal with cr_label and proc label: biba/high(low-high),mls/9(low-high) biba/high(low-high),mls/3(2-7)" > ${mactest_conf} + echo "pid = -1 mac_test_check_proc_signal with cr_label and proc label: biba/high(low-high),mls/9(low-high) mls/3(2-7),biba/high(low-high)" > ${mactest_conf} - mactestnotexpectanyerror -m "mls/9" kill ${pid} 9 + mactestexpect 0 -m "mls/9" -f ${mactest_conf} kill ${pid} 9 rm ${mactest_conf} rm ${pid_file} - rm ${tmp_file} fi From owner-p4-projects@FreeBSD.ORG Tue Jul 3 08:06:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F75016A421; Tue, 3 Jul 2007 08:06:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1051B16A46C for ; Tue, 3 Jul 2007 08:06:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0022613C4BA for ; Tue, 3 Jul 2007 08:06:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l638607p000478 for ; Tue, 3 Jul 2007 08:06:00 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63860H7000475 for perforce@freebsd.org; Tue, 3 Jul 2007 08:06:00 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 3 Jul 2007 08:06:00 GMT Message-Id: <200707030806.l63860H7000475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122752 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 08:06:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=122752 Change 122752 by rdivacky@rdivacky_witten on 2007/07/03 08:05:17 O_EXEC support. it is able to fexecve "/bin/date" when opened with O_RDONLY or O_EXEC. I am a little suspicious about this patch because audacious (mp3 player) acts really weird now. Needs some more investigation. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/imgact_elf.c#3 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/imgact.h#3 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/imgact_elf.c#3 (text+ko) ==== @@ -512,7 +512,7 @@ /* * Check permissions, modes, uid, etc on the file, and "open" it. */ - error = exec_check_permissions(imgp); + error = exec_check_permissions(imgp, 0, 0); if (error) goto fail; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#10 (text+ko) ==== @@ -402,7 +402,7 @@ /* * Check file permissions (also 'opens' file) */ - error = exec_check_permissions(imgp); + error = exec_check_permissions(imgp, args->fname == NULL, args->fd); if (error) goto exec_fail_dealloc; @@ -1226,8 +1226,10 @@ * Return 0 for success or error code on failure. */ int -exec_check_permissions(imgp) +exec_check_permissions(imgp, fexecve, fd) struct image_params *imgp; + int fexecve; + int fd; { struct vnode *vp = imgp->vp; struct vattr *attr = imgp->attr; @@ -1281,6 +1283,27 @@ return (ETXTBSY); /* + * Check for the mode the file was opened with + */ + if (fexecve) { + struct file f; + struct file *fp = &f; + + FILEDESC_SLOCK(td->td_proc->p_fd); + fp = fget_locked(td->td_proc->p_fd, fd); + if (fp == NULL || fp->f_ops == &badfileops) { + FILEDESC_SUNLOCK(td->td_proc->p_fd); + return (EBADF); + } + fhold(fp); + FILEDESC_SUNLOCK(td->td_proc->p_fd); + if (!(fp->f_flag & FREAD) && !(fp->f_flag & O_EXEC)) { + fdrop(fp, td); + return (EACCES); + } + fdrop(fp, td); + } + /* * Call filesystem specific open routine (which does nothing in the * general case). */ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#8 (text+ko) ==== @@ -74,10 +74,6 @@ #define O_WRONLY 0x0001 /* open for writing only */ #define O_RDWR 0x0002 /* open for reading and writing */ #define O_ACCMODE 0x0003 /* mask for above modes */ -#if 0 -#define O_EXEC 0x0004 /* open for execute only */ -#define O_ACCMODE 0x0007 /* mask for above modes */ -#endif /* * Kernel encoding of open mode; separate read and write bits that are @@ -107,6 +103,7 @@ #ifdef _KERNEL #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ #endif +#define O_EXEC 0x8000 /* open for execute only */ /* Defined by POSIX Extended API ... TODO: number of the spec */ #define AT_FDCWD -100 /* Use the current working directory to determine the target of relative @@ -138,7 +135,7 @@ #define OFLAGS(fflags) ((fflags) - 1) /* bits to save after open */ -#define FMASK (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FNONBLOCK|O_DIRECT) +#define FMASK (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FNONBLOCK|O_DIRECT|O_EXEC) /* bits settable by fcntl(F_SETFL, ...) */ #define FCNTLFLAGS (FAPPEND|FASYNC|FFSYNC|FNONBLOCK|FPOSIXSHM|O_DIRECT) #endif ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/imgact.h#3 (text+ko) ==== @@ -71,7 +71,7 @@ struct sysentvec; struct thread; -int exec_check_permissions(struct image_params *); +int exec_check_permissions(struct image_params *, int fexecve, int fd); register_t *exec_copyout_strings(struct image_params *); int exec_new_vmspace(struct image_params *, struct sysentvec *); void exec_setregs(struct thread *, u_long, u_long, u_long); From owner-p4-projects@FreeBSD.ORG Tue Jul 3 09:15:33 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E99916A46C; Tue, 3 Jul 2007 09:15:33 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BADBF16A469 for ; Tue, 3 Jul 2007 09:15:32 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8A73713C4AE for ; Tue, 3 Jul 2007 09:15:32 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l639FWIC017961 for ; Tue, 3 Jul 2007 09:15:32 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l639FWih017958 for perforce@freebsd.org; Tue, 3 Jul 2007 09:15:32 GMT (envelope-from zec@FreeBSD.org) Date: Tue, 3 Jul 2007 09:15:32 GMT Message-Id: <200707030915.l639FWih017958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122758 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 09:15:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=122758 Change 122758 by zec@zec_tpx32 on 2007/07/03 09:14:43 Do not skip tcptw_zone creation for vnet_0. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#4 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#4 (text+ko) ==== @@ -170,7 +170,7 @@ TAILQ_INIT(&V_twq_2msl); #ifdef VIMAGE - if (curvnet == &vnet_0) + if (curvnet != &vnet_0) return; #endif From owner-p4-projects@FreeBSD.ORG Tue Jul 3 10:39:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FFB616A474; Tue, 3 Jul 2007 10:39:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3816816A468 for ; Tue, 3 Jul 2007 10:39:18 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 287D813C4C3 for ; Tue, 3 Jul 2007 10:39:18 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63AdIMn028724 for ; Tue, 3 Jul 2007 10:39:18 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63AdHRk028721 for perforce@freebsd.org; Tue, 3 Jul 2007 10:39:17 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 3 Jul 2007 10:39:17 GMT Message-Id: <200707031039.l63AdHRk028721@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122761 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 10:39:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=122761 Change 122761 by rdivacky@rdivacky_witten on 2007/07/03 10:38:33 Actually LOCK Giant and not just check for this beeing needed and do this before VOP_LOCK. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#11 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#11 (text+ko) ==== @@ -394,8 +394,8 @@ error = fgetvp(td, args->fd, &binvp); if (error) goto exec_fail; + vfslocked = VFS_LOCK_GIANT(binvp->v_mount); VOP_LOCK(binvp, LK_EXCLUSIVE, td); - vfslocked = VFS_NEEDSGIANT(binvp->v_mount); imgp->vp = binvp; } From owner-p4-projects@FreeBSD.ORG Tue Jul 3 12:50:02 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B34416A469; Tue, 3 Jul 2007 12:50:02 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BECF216A400 for ; Tue, 3 Jul 2007 12:50:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ABBCE13C469 for ; Tue, 3 Jul 2007 12:50:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63Co1jY052527 for ; Tue, 3 Jul 2007 12:50:01 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63Co1fP052522 for perforce@freebsd.org; Tue, 3 Jul 2007 12:50:01 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 3 Jul 2007 12:50:01 GMT Message-Id: <200707031250.l63Co1fP052522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122771 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 12:50:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=122771 Change 122771 by rdivacky@rdivacky_witten on 2007/07/03 12:49:29 Mostly backup previous commit and reimplement it. Introduce fgetvp_exec which returns a vnode if a file was opened with either FREAD or FEXEC and use this in do_execve(). This way we should be able to prevent some races introduced by dropping locks. Insisted upon by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/imgact_elf.c#4 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#4 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#12 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#9 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/file.h#2 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/imgact.h#4 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/imgact_elf.c#4 (text+ko) ==== @@ -512,7 +512,7 @@ /* * Check permissions, modes, uid, etc on the file, and "open" it. */ - error = exec_check_permissions(imgp, 0, 0); + error = exec_check_permissions(imgp); if (error) goto fail; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#4 (text+ko) ==== @@ -1969,6 +1969,10 @@ FILEDESC_SUNLOCK(fdp); return (EBADF); } + if (flags == FEXEC && (fp->f_flag & FREAD) == 0 && (fp->f_flag & FEXEC) == 0) { + FILEDESC_SUNLOCK(fdp); + return (EBADF); + } if (hold) { fhold(fp); FILEDESC_SUNLOCK(fdp); @@ -2047,6 +2051,29 @@ } #endif + +/* Gets a vnode if file was opened with either FREAD or FEXEC flag. */ +int +fgetvp_exec(struct thread *td, int fd, struct vnode **vpp) +{ + struct file *fp; + int error; + + *vpp = NULL; + + if ((error = _fget(td, fd, &fp, FEXEC, 0)) != 0) + return (error); + if (fp->f_vnode == NULL) { + error = EINVAL; + } else { + *vpp = fp->f_vnode; + vref(*vpp); + } + FILEDESC_SUNLOCK(td->td_proc->p_fd); + + return (0); +} + /* * Like fget() but loads the underlying socket, or returns an error if the * descriptor does not represent a socket. ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#12 (text+ko) ==== @@ -391,7 +391,7 @@ binvp = ndp->ni_vp; imgp->vp = binvp; } else { - error = fgetvp(td, args->fd, &binvp); + error = fgetvp_exec(td, args->fd, &binvp); if (error) goto exec_fail; vfslocked = VFS_LOCK_GIANT(binvp->v_mount); @@ -402,7 +402,7 @@ /* * Check file permissions (also 'opens' file) */ - error = exec_check_permissions(imgp, args->fname == NULL, args->fd); + error = exec_check_permissions(imgp); if (error) goto exec_fail_dealloc; @@ -1226,10 +1226,8 @@ * Return 0 for success or error code on failure. */ int -exec_check_permissions(imgp, fexecve, fd) +exec_check_permissions(imgp) struct image_params *imgp; - int fexecve; - int fd; { struct vnode *vp = imgp->vp; struct vattr *attr = imgp->attr; @@ -1283,27 +1281,6 @@ return (ETXTBSY); /* - * Check for the mode the file was opened with - */ - if (fexecve) { - struct file f; - struct file *fp = &f; - - FILEDESC_SLOCK(td->td_proc->p_fd); - fp = fget_locked(td->td_proc->p_fd, fd); - if (fp == NULL || fp->f_ops == &badfileops) { - FILEDESC_SUNLOCK(td->td_proc->p_fd); - return (EBADF); - } - fhold(fp); - FILEDESC_SUNLOCK(td->td_proc->p_fd); - if (!(fp->f_flag & FREAD) && !(fp->f_flag & O_EXEC)) { - fdrop(fp, td); - return (EACCES); - } - fdrop(fp, td); - } - /* * Call filesystem specific open routine (which does nothing in the * general case). */ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#9 (text+ko) ==== @@ -104,6 +104,7 @@ #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ #endif #define O_EXEC 0x8000 /* open for execute only */ +#define FEXEC 0x8000 /* Defined by POSIX Extended API ... TODO: number of the spec */ #define AT_FDCWD -100 /* Use the current working directory to determine the target of relative @@ -135,7 +136,7 @@ #define OFLAGS(fflags) ((fflags) - 1) /* bits to save after open */ -#define FMASK (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FNONBLOCK|O_DIRECT|O_EXEC) +#define FMASK (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FNONBLOCK|O_DIRECT|FEXEC) /* bits settable by fcntl(F_SETFL, ...) */ #define FCNTLFLAGS (FAPPEND|FASYNC|FFSYNC|FNONBLOCK|FPOSIXSHM|O_DIRECT) #endif ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/file.h#2 (text+ko) ==== @@ -205,6 +205,7 @@ int fgetvp(struct thread *td, int fd, struct vnode **vpp); int fgetvp_read(struct thread *td, int fd, struct vnode **vpp); int fgetvp_write(struct thread *td, int fd, struct vnode **vpp); +int fgetvp_exec(struct thread *td, int fd, struct vnode **vpp); int fgetsock(struct thread *td, int fd, struct socket **spp, u_int *fflagp); void fputsock(struct socket *sp); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/imgact.h#4 (text+ko) ==== @@ -71,7 +71,7 @@ struct sysentvec; struct thread; -int exec_check_permissions(struct image_params *, int fexecve, int fd); +int exec_check_permissions(struct image_params *); register_t *exec_copyout_strings(struct image_params *); int exec_new_vmspace(struct image_params *, struct sysentvec *); void exec_setregs(struct thread *, u_long, u_long, u_long); From owner-p4-projects@FreeBSD.ORG Tue Jul 3 13:28:54 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DBA816A468; Tue, 3 Jul 2007 13:28:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A7E9816A421 for ; Tue, 3 Jul 2007 13:28:53 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 974F313C45E for ; Tue, 3 Jul 2007 13:28:53 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63DSr3T056932 for ; Tue, 3 Jul 2007 13:28:53 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63DSrEm056929 for perforce@freebsd.org; Tue, 3 Jul 2007 13:28:53 GMT (envelope-from thioretic@FreeBSD.org) Date: Tue, 3 Jul 2007 13:28:53 GMT Message-Id: <200707031328.l63DSrEm056929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122775 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 13:28:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=122775 Change 122775 by thioretic@thioretic on 2007/07/03 13:28:45 Yeserday's attempt failed. So now there is being intoduced the compatibility layer to newbus (drv_compat_*). It's supposed to be a more *delicate* way to let old- and new-*fashioned* drivers to coexist. Overwise all those current drivers could just fall on my head. :o) Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#5 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#4 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#5 (text+ko) ==== @@ -48,9 +48,10 @@ FILE(S) AFFECTED: kern/sns_drivers.c a. ADD a.1.drivers - SOLUTION: modify newbus so that it's aware about stacked - structure of a device. + SOLUTION: add compatibility layer to newbus FILE(S) AFFECTED: sys/bus.h, kern/subr_bus.c # since now internally (and externally) for newbus, driver is # not just kernel object class to be compiled into device, but - # also has flags, default driversops (TODO)... + # also has flags, default driversops (TODO)... + # all these are hosted by compatibility layer (drv_compat_*) +#TODO: check drivers, which use chainevh ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#4 (text+ko) ==== @@ -63,17 +63,23 @@ */ typedef struct driverlink *driverlink_t; struct driverlink { -// kobj_class_t driver; - drv_internal_t driver; + kobj_class_t driver; TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ }; +struct drv_compat { + kobj_class_t driver; + uint32_t flags; + TAILQ_ENTRY(drv_compat) link; +}; +typedef struct drv_compat *drv_compat_t; /* * Forward declarations */ typedef TAILQ_HEAD(devclass_list, devclass) devclass_list_t; typedef TAILQ_HEAD(driver_list, driverlink) driver_list_t; typedef TAILQ_HEAD(device_list, device) device_list_t; +typedef TAILQ_HEAD(drv_compat_list, drv_compat) drv_compat_list_t; struct devclass { TAILQ_ENTRY(devclass) link; @@ -108,9 +114,10 @@ /* * Details of this device. */ -// driver_t *driver; /**< current driver */ - driver_list_t drivers[DRV_LEVELS]; /**< list of all drivers in stack*/ - devclass_t devclass; /**< current device class */ /*TODO*/ + //driver_t *driver; /**< current driver */ + driver_list_t drivers[DRV_LEVELS]; + int drv_compat_flags; + devclass_t devclass; /**< current device class */ int unit; /**< current unit number */ char* nameunit; /**< name+unit e.g. foodev0 */ char* desc; /**< driver specific description */ @@ -241,10 +248,8 @@ { device_t dev = (device_t)arg1; const char *value; - char *buf, *tmpbuf; + char *buf; int error; - int level; - driverlink_t dl; buf = NULL; switch (arg2) { @@ -264,9 +269,9 @@ } if (strlen(tmpbuf)+strlen(buf)>1023) break; TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ - if(strlen(dl->driver->devops->name)+strlen(buf)>1022) + if(strlen(dl->driver->name)+strlen(buf)>1022) break; - strcat(buf,dl->driver->devops->name); + strcat(buf,dl->driver->name); strcat(buf,","); } buf[strlen(buf)]='\0'; @@ -311,10 +316,10 @@ OID_AUTO, "%desc", CTLFLAG_RD, dev, DEVICE_SYSCTL_DESC, device_sysctl_handler, "A", "device description"); - SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), /**TODO*/ + SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), OID_AUTO, "%driver", CTLFLAG_RD, dev, DEVICE_SYSCTL_DRIVER, device_sysctl_handler, "A", - "device stacked drivers names"); + "device driver name"); /*TODO*/ SYSCTL_ADD_PROC(&dev->sysctl_ctx, SYSCTL_CHILDREN(dev->sysctl_tree), OID_AUTO, "%location", CTLFLAG_RD, dev, DEVICE_SYSCTL_LOCATION, device_sysctl_handler, "A", @@ -755,6 +760,161 @@ DEFINE_CLASS(null, null_methods, 0); /* + * Driver compatibility layer implementation + */ + +static drv_compat_list_t drv_compat_layer = TAILQ_HEAD_INITIALIZER(drv_compat_layer); + +/** + * @internal + * @brief Find or add driver compatibility settings + * + * If a driver is already present in compatibility layer + * return it, else, if @p add non-zero, add it. + * + * @param driver the device class and flags + * @param add non-zero to add driver to layer + */ +static drv_compat_t +drv_compat_find_internal (drv_internal_t driver, int add) { + drv_compat_t drvc; + + PDEBUG(("looking for driver %s to compatibility layer"), driver->devops->name); + if (!driver) + return (NULL); + + TAILQ_FOREACH(drvc,&drv_compat_layer,link){ + if (driver->devops == drvc->driver) + break; + } + + if (!drvc && add){ + PDEBUG(("adding driver %s to compatibility layer"), driver->devops->name); + drvc = malloc(sizeof(struct drv_compat), M_BUS, M_NOWAIT|M_ZERO); + if (!drvc) + return (NULL); + drvc->driver = driver->devops; + drvc->flags = driver->flags; + TAILQ_INSERT_TAIL(&drv_compat_layer, drvc, link); + + bus_data_generation_update(); + } + return (drvc); +} + +/** + * @internal + * @brief find compartibility layer entry, associated + * with the driver + * + * @param driver device kobj_class pointer + */ +static drv_compat_t +drv_compat_find_driver (driver_t *driver) { + drv_compat_t drvc; + + TAILQ_FOREACH(drvc,&drv_compat_layer,link){ + if (driver == drvc->driver) + break; + } + + return drvc; +} + +/** + * @internal + * @brief Add driver to compatibility layer + * + * If driver is already in compartibility layer + * return it, else add it + * + * @param driver devops plus flags + */ +static drv_compat_t +drv_compat_add_driver (drv_internal_t driver) { + return (drv_compat_find_internal(driver, TRUE)); +} + +/** + * @internal + * @brief Removes a driver from compatibility layer + * + * @param driver pointer to device methods + * implementation + */ +static void +drv_compat_delete_driver (driver_t *driver) { + drv_compat_t drvc; + drvc = drv_compat_find_driver(driver); + TAILQ_REMOVE(&drv_compat_layer, drvc, link); +} + +/** + * @internal + * @brief Get compatibility layer's flags for a driver + * + * @param driver pointer to device methods implementation + * @param flags pointer to flags to be stored + */ +static int +drv_compat_get_flags (driver_t *driver, uint32_t *flags){ + drv_compat_t drvc; + + drvc = drv_compat_find_driver(driver); + + if (!drvc) + return (0); + + *flags = drvc->flags; + return (1); +} + +/** + * @internal + * @brief Set compatibility layer's flags for a driver + * + * @param driver pointer to device methods implementation + * @param flags flags to be set + */ +static int +drv_compat_set_flags (driver_t *driver, uint32_t flags){ + drv_compat_t drvc; + + drvc = drv_compat_find_driver(driver); + + if (!drvc) + return (0); + drvc->flags = flags; + return (1); +} +/* + * End of compatibility layer implementaion + */ + +int +is_device_driver (device_t dev, driver_t *driver){ /*TODO*/ + int level; + uint32_t flags; + driverlink_t dl; + + if (!drv_compat_get_flags(driver, &flags)) + /*todo what?*/ + + switch ((flags)&(DR_LOWEST|DR_LOWER|DR_MIDDLE|DR_UPPER|DR_TOPMOST)) { + case DR_LOWEST: level=DRV_LOWEST; break; + case DR_LOWER: level=DRV_LOWER; break; + case DR_MIDDLE: level=DRV_MIDDLE; break; + case DR_UPPER: level=DRV_UPPER; break; + case DR_TOPMOST: level=DRV_TOPMOST; break; + } + TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ + if (dl->driver==driver) return(TRUE); + } + return(FALSE); +} + + +/* * Devclass implementation */ @@ -862,12 +1022,12 @@ * @param driver the driver to register */ int -devclass_add_driver(devclass_t dc, /*driver_t **/ drv_internal_t driver) /**TODO*/ +devclass_add_driver(devclass_t dc, driver_t *driver) { driverlink_t dl; int i; - PDEBUG(("%s", DRIVERNAME(driver->devops))); + PDEBUG(("%s", DRIVERNAME(driver))); dl = malloc(sizeof *dl, M_BUS, M_NOWAIT|M_ZERO); if (!dl) @@ -879,12 +1039,12 @@ * goes. This means we can safely use static methods and avoids a * double-free in devclass_delete_driver. */ - kobj_class_compile((kobj_class_t) (driver->devops)); + kobj_class_compile((kobj_class_t) driver); /* * Make sure the devclass which the driver is implementing exists. */ - devclass_find_internal(driver->devops->name, 0, TRUE); + devclass_find_internal(driver->name, 0, TRUE); dl->driver = driver; TAILQ_INSERT_TAIL(&dc->drivers, dl, link); @@ -901,23 +1061,6 @@ return (0); } -int -is_device_driver (device_t dev, drv_internal_t driver){ - int level; - driverlink_t dl; - - switch ((driver->flags)&(DR_LOWEST|DR_LOWER|DR_MIDDLE|DR_UPPER|DR_TOPMOST)) { - case DR_LOWEST: level=DRV_LOWEST; break; - case DR_LOWER: level=DRV_LOWER; break; - case DR_MIDDLE: level=DRV_MIDDLE; break; - case DR_UPPER: level=DRV_UPPER; break; - case DR_TOPMOST: level=DRV_TOPMOST; break; - } - TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ - if (dl->driver==driver) return(1); - } - return(0); -} /** * @brief Delete a device driver from a device class * @@ -933,16 +1076,15 @@ * @param driver the driver to unregister */ int -devclass_delete_driver(devclass_t busclass, /*driver_t **/drv_internal_t driver) -/**TODO*/ +devclass_delete_driver(devclass_t busclass, driver_t *driver) /*TODO*/ { - devclass_t dc = devclass_find(driver->devops->name); + devclass_t dc = devclass_find(driver->name); driverlink_t dl; device_t dev; int i; int error; - PDEBUG(("%s from devclass %s", driver->devops->name, DEVCLANAME(busclass))); + PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); if (!dc) return (0); @@ -956,7 +1098,7 @@ } if (!dl) { - PDEBUG(("%s not found in %s list", driver->devops->name, + PDEBUG(("%s not found in %s list", driver->name, busclass->name)); return (ENOENT); } @@ -974,8 +1116,8 @@ for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; - if (/*dev->driver == driver*/ - is_device_driver(dev,driver) && dev->parent && + if (/*dev->driver == driver*/ + is_device_driver(dev, driver) && dev->parent && dev->parent->devclass == busclass) { if ((error = device_detach(dev)) != 0) return (error); @@ -990,7 +1132,7 @@ /* XXX: kobj_mtx */ driver->refs--; if (driver->refs == 0) - kobj_class_free((kobj_class_t) (driver->devops)); + kobj_class_free((kobj_class_t) driver); bus_data_generation_update(); return (0); @@ -1010,15 +1152,15 @@ * @param driver the driver to unregister */ int -devclass_quiesce_driver(devclass_t busclass, /*driver_t **/ drv_internal_t driver) /**TODO*/ +devclass_quiesce_driver(devclass_t busclass, driver_t *driver) /*TODO*/ { - devclass_t dc = devclass_find(driver->devops->name); + devclass_t dc = devclass_find(driver->name); driverlink_t dl; device_t dev; int i; int error; - PDEBUG(("%s from devclass %s", driver->devops->name, DEVCLANAME(busclass))); + PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); if (!dc) return (0); @@ -1032,7 +1174,7 @@ } if (!dl) { - PDEBUG(("%s not found in %s list", driver->devops->name, + PDEBUG(("%s not found in %s list", driver->name, busclass->name)); return (ENOENT); } @@ -1050,8 +1192,8 @@ for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; - if (/*dev->driver == driver*/ - is_device_driver(dev,driver) && dev->parent && + if (/*dev->driver == driver*/ + is_device_driver(dev, driver) && dev->parent && dev->parent->devclass == busclass) { if ((error = device_quiesce(dev)) != 0) return (error); @@ -1066,14 +1208,14 @@ * @internal */ static driverlink_t -devclass_find_driver_internal(devclass_t dc, const char *classname) /**TODO*/ +devclass_find_driver_internal(devclass_t dc, const char *classname) { driverlink_t dl; PDEBUG(("%s in devclass %s", classname, DEVCLANAME(dc))); TAILQ_FOREACH(dl, &dc->drivers, link) { - if (!strcmp(dl->driver->devops->name, classname)) + if (!strcmp(dl->driver->name, classname)) return (dl); } @@ -1091,8 +1233,8 @@ * @param dc the devclass to search * @param classname the driver name to search for */ -/*kobj_class_t*/ drv_internal_t -devclass_find_driver(devclass_t dc, const char *classname) /**TODO*/ +kobj_class_t +devclass_find_driver(devclass_t dc, const char *classname) { driverlink_t dl; @@ -1208,17 +1350,16 @@ * @retval ENOMEM the array allocation failed */ int -devclass_get_drivers(devclass_t dc, /*driver_t **/ - drv_internal_t **listp, int *countp) /**TODO*/ +devclass_get_drivers(devclass_t dc, driver_t ***listp, int *countp) { driverlink_t dl; - /*driver_t **/ drv_internal_t *list; + driver_t **list; int count; count = 0; TAILQ_FOREACH(dl, &dc->drivers, link) count++; - list = malloc(count * sizeof(/*driver_t **/drv_internal_t), M_TEMP, M_NOWAIT); + list = malloc(count * sizeof(driver_t *), M_TEMP, M_NOWAIT); if (list == NULL) return (ENOMEM); @@ -1474,7 +1615,7 @@ * @returns the new device */ static device_t -make_device(device_t parent, const char *name, int unit) /**TODO*/ +make_device(device_t parent, const char *name, int unit) /*TODO*/ { device_t dev; devclass_t dc; @@ -1500,10 +1641,9 @@ dev->parent = parent; TAILQ_INIT(&dev->children); kobj_init((kobj_t) dev, &null_class); -// dev->driver = NULL; - for (level=DRV_LOWEST;level<=DRV_TOPMOST;level++){ + //dev->driver = NULL; + for (level=DRV_LOWEST; level<=DRV_TOPMOST; level++) TAILQ_INIT(&((dev->drivers)[level])); - } dev->devclass = NULL; dev->unit = unit; dev->nameunit = NULL; @@ -1710,7 +1850,7 @@ * @internal */ static driverlink_t -first_matching_driver(devclass_t dc, device_t dev) /**TODO*/ +first_matching_driver(devclass_t dc, device_t dev) { if (dev->devclass) return (devclass_find_driver_internal(dc, dev->devclass->name)); @@ -1721,12 +1861,12 @@ * @internal */ static driverlink_t -next_matching_driver(devclass_t dc, device_t dev, driverlink_t last) /**TODO*/ +next_matching_driver(devclass_t dc, device_t dev, driverlink_t last) { if (dev->devclass) { driverlink_t dl; for (dl = TAILQ_NEXT(last, link); dl; dl = TAILQ_NEXT(dl, link)) - if (!strcmp(dev->devclass->name, dl->driver->devops->name)) + if (!strcmp(dev->devclass->name, dl->driver->name)) return (dl); return (NULL); } @@ -1737,13 +1877,14 @@ * @internal */ static int -device_probe_child(device_t dev, device_t child) /*TODO*/ +device_probe_child(device_t dev, device_t child) { devclass_t dc; driverlink_t best = 0; driverlink_t dl; int result, pri = 0; int hasclass = (child->devclass != 0); + uint32_t flags; GIANT_REQUIRED; @@ -1755,22 +1896,25 @@ * If the state is already probed, then return. However, don't * return if we can rebid this object. */ - if (/*child->state == DS_ALIVE && */(child->flags & DF_REBID) == 0) + if (/*child->state == DS_ALIVE &&*/ (child->flags & DF_REBID) == 0) return (0); for (; dc; dc = dc->parent) { for (dl = first_matching_driver(dc, child); dl; dl = next_matching_driver(dc, child, dl)) { - if ((child->state == DS_ALIVE && dl->driver->flags & DR_STACKAWARE && dl->driver->flags & DR_LOWEST) || (child->state != DS_ALIVE && dl->driver->flags & ~DR_LOWEST)) + if(!drv_compat_get_flags(dl->driver, &flags)) + /*todo what?*/; + if (child->state == DS_ALIVE && flags & DR_LOWEST || + (child->state != DS_ALIVE && flags & ~(DR_STACKAWARE|DR_LOWEST))) continue; - PDEBUG(("Trying %s", DRIVERNAME(dl->driver->devops))); + PDEBUG(("Trying %s", DRIVERNAME(dl->driver))); device_set_driver(child, dl->driver); if (!hasclass) - device_set_devclass(child, dl->driver->devops->name); + device_set_devclass(child, dl->driver->name); /* Fetch any flags for the device before probing. */ - resource_int_value(dl->driver->devops->name, child->unit, + resource_int_value(dl->driver->name, child->unit, "flags", &child->devflags); result = DEVICE_PROBE(child); @@ -1846,9 +1990,9 @@ /* Set the winning driver, devclass, and flags. */ if (!child->devclass) - device_set_devclass(child, best->driver->devops->name); + device_set_devclass(child, best->driver->name); device_set_driver(child, best->driver); - resource_int_value(best->driver->devops->name, child->unit, + resource_int_value(best->driver->name, child->unit, "flags", &child->devflags); if (pri < 0) { @@ -1929,9 +2073,14 @@ * is no driver currently attached */ driver_t * -device_get_driver(device_t dev) /*TODO*/ +device_get_driver(device_t dev) { - return (dev->driver); + driverlink_t dl; + if (!TAILQ_EMPTY(&((dev->drivers)[DRV_LOWEST]))){ + dl=TAILQ_FIRST(&((dev->drivers)[DRV_LOWEST])); + return (dl->driver); + } + return (NULL); } /** @@ -2309,7 +2458,7 @@ * @retval ENOMEM a memory allocation failure occurred */ int -device_set_driver(device_t dev, driver_t *driver) /*TODO*/ +device_set_driver(device_t dev, driver_t *driver) { if (dev->state >= DS_ATTACHED) return (EBUSY); @@ -2370,7 +2519,7 @@ * @retval non-zero some other unix error code */ int -device_probe_and_attach(device_t dev) /*TODO*/ +device_probe_and_attach(device_t dev) { int error; @@ -2419,7 +2568,7 @@ * @retval non-zero some other unix error code */ int -device_attach(device_t dev) /*TODO*/ +device_attach(device_t dev) { int error; @@ -2459,7 +2608,7 @@ * @retval non-zero some other unix error code */ int -device_detach(device_t dev) /*TODO*/ +device_detach(device_t dev) { int error; @@ -2906,7 +3055,7 @@ * devclass. */ int -bus_generic_probe(device_t dev) /*TODO*/ +bus_generic_probe(device_t dev) { devclass_t dc = dev->devclass; driverlink_t dl; @@ -2926,7 +3075,7 @@ * children. */ int -bus_generic_attach(device_t dev) /*TODO*/ +bus_generic_attach(device_t dev) { device_t child; @@ -3126,14 +3275,14 @@ * and then calls device_probe_and_attach() for each unattached child. */ void -bus_generic_driver_added(device_t dev, driver_t *driver) /*TODO*/ +bus_generic_driver_added(device_t dev, driver_t *driver) { device_t child; DEVICE_IDENTIFY(driver, dev); TAILQ_FOREACH(child, &dev->children, link) { - if (child->state == DS_NOTPRESENT || - (child->flags & DF_REBID)) +// if (child->state == DS_NOTPRESENT || +// (child->flags & DF_REBID)) device_probe_and_attach(child); } } @@ -3146,7 +3295,7 @@ */ int bus_generic_setup_intr(device_t dev, device_t child, struct resource *irq, - int flags, driver_intr_t *intr, void *arg, void **cookiep) /*TODO*/ + int flags, driver_intr_t *intr, void *arg, void **cookiep) { /* Propagate up the bus hierarchy until someone handles it. */ if (dev->parent) @@ -3459,7 +3608,7 @@ */ int bus_setup_intr(device_t dev, struct resource *r, int flags, - driver_intr_t handler, void *arg, void **cookiep) /*TODO*/ + driver_intr_t handler, void *arg, void **cookiep) { int error; @@ -3670,7 +3819,7 @@ return (-1); } -static kobj_method_t root_methods[] = { /*TODO*/ +static kobj_method_t root_methods[] = { /* Device interface */ KOBJMETHOD(device_shutdown, bus_generic_shutdown), KOBJMETHOD(device_suspend, bus_generic_suspend), @@ -3696,7 +3845,7 @@ devclass_t root_devclass; static int -root_bus_module_handler(module_t mod, int what, void* arg) /*TODO*/ +root_bus_module_handler(module_t mod, int what, void* arg) { switch (what) { case MOD_LOAD: @@ -3755,11 +3904,12 @@ * driver_module_data structure pointed to by @p arg */ int -driver_module_handler(module_t mod, int what, void *arg) /*TODO*/ +driver_module_handler(module_t mod, int what, void *arg) { int error; struct driver_module_data *dmd; devclass_t bus_devclass; + drv_internal_t drv_intnl; kobj_class_t driver; dmd = (struct driver_module_data *)arg; @@ -3771,7 +3921,10 @@ if (dmd->dmd_chainevh) error = dmd->dmd_chainevh(mod,what,dmd->dmd_chainarg); - driver = dmd->dmd_driver; + //driver = dmd->dmd_driver; + drv_intnl = dmd->dmd_driver; + drv_compat_add_driver(drv_intnl); + driver = drv_intnl->devops; PDEBUG(("Loading module: driver %s on bus %s", DRIVERNAME(driver), dmd->dmd_busname)); error = devclass_add_driver(bus_devclass, driver); @@ -3798,16 +3951,18 @@ break; case MOD_UNLOAD: + drv_intnl = dmd->dmd_driver; + driver = drv_intnl->devops; PDEBUG(("Unloading module: driver %s from bus %s", - DRIVERNAME(dmd->dmd_driver), + DRIVERNAME(driver), dmd->dmd_busname)); error = devclass_delete_driver(bus_devclass, - dmd->dmd_driver); - + driver); + drv_compat_delete_driver(driver); if (!error && dmd->dmd_chainevh) error = dmd->dmd_chainevh(mod,what,dmd->dmd_chainarg); break; - case MOD_QUIESCE: + case MOD_QUIESCE: /*TODO*/ PDEBUG(("Quiesce module: driver %s from bus %s", DRIVERNAME(dmd->dmd_driver), dmd->dmd_busname)); From owner-p4-projects@FreeBSD.ORG Tue Jul 3 16:34:35 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82BD216A473; Tue, 3 Jul 2007 16:34:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 373B016A46D for ; Tue, 3 Jul 2007 16:34:35 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 19B6113C483 for ; Tue, 3 Jul 2007 16:34:35 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63GYZNi081420 for ; Tue, 3 Jul 2007 16:34:35 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63GYTH3081413 for perforce@freebsd.org; Tue, 3 Jul 2007 16:34:29 GMT (envelope-from imp@freebsd.org) Date: Tue, 3 Jul 2007 16:34:29 GMT Message-Id: <200707031634.l63GYTH3081413@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 122788 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 16:34:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=122788 Change 122788 by imp@imp_paco-paco on 2007/07/03 16:33:51 IFC @122786 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#23 integrate .. //depot/projects/arm/src/UPDATING#18 integrate .. //depot/projects/arm/src/bin/ed/Makefile#2 integrate .. //depot/projects/arm/src/contrib/ipfilter/tools/ipfstat.c#4 integrate .. //depot/projects/arm/src/contrib/less/main.c#6 integrate .. //depot/projects/arm/src/contrib/less/screen.c#5 integrate .. //depot/projects/arm/src/contrib/netcat/netcat.c#3 integrate .. //depot/projects/arm/src/contrib/pf/authpf/authpf.8#2 integrate .. //depot/projects/arm/src/contrib/pf/authpf/authpf.c#2 integrate .. //depot/projects/arm/src/contrib/pf/ftp-proxy/filter.c#1 branch .. //depot/projects/arm/src/contrib/pf/ftp-proxy/filter.h#1 branch .. //depot/projects/arm/src/contrib/pf/ftp-proxy/ftp-proxy.8#2 integrate .. //depot/projects/arm/src/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate .. //depot/projects/arm/src/contrib/pf/ftp-proxy/getline.c#2 delete .. //depot/projects/arm/src/contrib/pf/ftp-proxy/util.c#2 delete .. //depot/projects/arm/src/contrib/pf/ftp-proxy/util.h#2 delete .. //depot/projects/arm/src/contrib/pf/libevent/buffer.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/evbuffer.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/event-internal.h#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/event.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/event.h#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/evsignal.h#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/kqueue.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/log.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/log.h#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/poll.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/select.c#1 branch .. //depot/projects/arm/src/contrib/pf/libevent/signal.c#1 branch .. //depot/projects/arm/src/contrib/pf/man/pf.4#2 integrate .. //depot/projects/arm/src/contrib/pf/man/pf.conf.5#4 integrate .. //depot/projects/arm/src/contrib/pf/man/pf.os.5#2 integrate .. //depot/projects/arm/src/contrib/pf/man/pflog.4#2 integrate .. //depot/projects/arm/src/contrib/pf/man/pfsync.4#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/parse.y#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pf_print_state.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl.8#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl.h#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_altq.c#3 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_optimize.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_osfp.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_parser.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_parser.h#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_radix.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pfctl/pfctl_table.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pflogd/pflogd.8#2 integrate .. //depot/projects/arm/src/contrib/pf/pflogd/pflogd.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pflogd/pflogd.h#2 integrate .. //depot/projects/arm/src/contrib/pf/pflogd/privsep.c#2 integrate .. //depot/projects/arm/src/contrib/pf/tftp-proxy/filter.c#1 branch .. //depot/projects/arm/src/contrib/pf/tftp-proxy/filter.h#1 branch .. //depot/projects/arm/src/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch .. //depot/projects/arm/src/contrib/pf/tftp-proxy/tftp-proxy.c#1 branch .. //depot/projects/arm/src/contrib/telnet/telnet/externs.h#2 integrate .. //depot/projects/arm/src/contrib/traceroute/traceroute.c#4 integrate .. //depot/projects/arm/src/etc/mtree/BSD.include.dist#9 integrate .. //depot/projects/arm/src/include/Makefile#10 integrate .. //depot/projects/arm/src/lib/libarchive/Makefile#14 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#15 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_fd.c#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#10 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_filename.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_by_name.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio_newc.c#1 branch .. //depot/projects/arm/src/lib/libarchive/test/Makefile#6 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_format_cpio.c#1 branch .. //depot/projects/arm/src/lib/libc/arm/sys/sbrk.S#2 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_sys_calls.c#6 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_accept_sec_context.c#3 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_display_status.c#2 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_export_name.c#2 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_indicate_mechs.c#2 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_init_sec_context.c#4 integrate .. //depot/projects/arm/src/lib/libipsec/Makefile#3 integrate .. //depot/projects/arm/src/lib/libipsec/ipsec_dump_policy.c#2 integrate .. //depot/projects/arm/src/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/arm/src/lib/libipsec/ipsec_set_policy.3#3 integrate .. //depot/projects/arm/src/lib/libipsec/ipsec_strerror.3#2 integrate .. //depot/projects/arm/src/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/arm/src/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/arm/src/lib/libipsec/pfkey_dump.c#3 integrate .. //depot/projects/arm/src/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/arm/src/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/arm/src/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/arm/src/libexec/Makefile#2 integrate .. //depot/projects/arm/src/libexec/ftp-proxy/Makefile#2 delete .. //depot/projects/arm/src/libexec/tftp-proxy/Makefile#1 branch .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#15 integrate .. //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#8 integrate .. //depot/projects/arm/src/release/i386/fixit_crunch.conf#3 integrate .. //depot/projects/arm/src/release/scripts/src-install.sh#2 integrate .. //depot/projects/arm/src/rescue/rescue/Makefile#6 integrate .. //depot/projects/arm/src/sbin/Makefile#7 integrate .. //depot/projects/arm/src/sbin/mount/mount.8#5 integrate .. //depot/projects/arm/src/sbin/mount/mount.c#8 integrate .. //depot/projects/arm/src/sbin/mount_umapfs/Makefile#2 delete .. //depot/projects/arm/src/sbin/mount_umapfs/mount_umapfs.8#2 delete .. //depot/projects/arm/src/sbin/mount_umapfs/mount_umapfs.c#2 delete .. //depot/projects/arm/src/sbin/mount_umapfs/sample.group.mapfile#2 delete .. //depot/projects/arm/src/sbin/mount_umapfs/sample.user.mapfile#2 delete .. //depot/projects/arm/src/sbin/mount_umapfs/umap_manual#2 delete .. //depot/projects/arm/src/sbin/pfctl/Makefile#2 integrate .. //depot/projects/arm/src/sbin/ping/ping.c#4 integrate .. //depot/projects/arm/src/sbin/ping6/Makefile#3 integrate .. //depot/projects/arm/src/sbin/ping6/ping6.c#3 integrate .. //depot/projects/arm/src/sbin/setkey/Makefile#3 integrate .. //depot/projects/arm/src/sbin/setkey/parse.y#2 integrate .. //depot/projects/arm/src/sbin/setkey/setkey.c#2 integrate .. //depot/projects/arm/src/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/arm/src/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/arm/src/sbin/setkey/token.l#3 integrate .. //depot/projects/arm/src/share/Makefile#2 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#15 integrate .. //depot/projects/arm/src/share/man/man4/ath.4#4 integrate .. //depot/projects/arm/src/share/man/man4/bce.4#7 integrate .. //depot/projects/arm/src/share/man/man4/ieee80211.4#2 integrate .. //depot/projects/arm/src/share/man/man4/mac.4#2 integrate .. //depot/projects/arm/src/share/man/man4/msk.4#3 integrate .. //depot/projects/arm/src/share/man/man4/nxge.4#1 branch .. //depot/projects/arm/src/share/man/man4/pcm.4#6 integrate .. //depot/projects/arm/src/share/man/man4/tty.4#2 integrate .. //depot/projects/arm/src/share/man/man4/ucom.4#3 integrate .. //depot/projects/arm/src/share/man/man4/uhid.4#4 integrate .. //depot/projects/arm/src/share/man/man4/wi.4#3 integrate .. //depot/projects/arm/src/share/man/man7/hier.7#10 integrate .. //depot/projects/arm/src/share/man/man9/ieee80211_ioctl.9#3 integrate .. //depot/projects/arm/src/share/man/man9/priv.9#5 integrate .. //depot/projects/arm/src/share/man/man9/suser.9#4 integrate .. //depot/projects/arm/src/share/misc/committers-ports.dot#7 integrate .. //depot/projects/arm/src/share/misc/committers-src.dot#6 integrate .. //depot/projects/arm/src/share/mk/bsd.own.mk#14 integrate .. //depot/projects/arm/src/share/mk/sys.mk#3 integrate .. //depot/projects/arm/src/sys/Makefile#13 integrate .. //depot/projects/arm/src/sys/amd64/amd64/pmap.c#35 integrate .. //depot/projects/arm/src/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/arm/src/sys/amd64/conf/NOTES#16 integrate .. //depot/projects/arm/src/sys/boot/forth/loader.conf#15 integrate .. //depot/projects/arm/src/sys/cam/cam_xpt.c#22 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_da.c#22 integrate .. //depot/projects/arm/src/sys/conf/NOTES#51 integrate .. //depot/projects/arm/src/sys/conf/files#75 integrate .. //depot/projects/arm/src/sys/conf/files.amd64#25 integrate .. //depot/projects/arm/src/sys/conf/files.arm#8 integrate .. //depot/projects/arm/src/sys/conf/files.i386#27 integrate .. //depot/projects/arm/src/sys/conf/files.ia64#10 integrate .. //depot/projects/arm/src/sys/conf/files.pc98#18 integrate .. //depot/projects/arm/src/sys/conf/files.powerpc#16 integrate .. //depot/projects/arm/src/sys/conf/files.sparc64#13 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#8 integrate .. //depot/projects/arm/src/sys/conf/options#48 integrate .. //depot/projects/arm/src/sys/contrib/altq/altq/altq_cbq.c#4 integrate .. //depot/projects/arm/src/sys/contrib/altq/altq/altq_hfsc.c#3 integrate .. //depot/projects/arm/src/sys/contrib/altq/altq/altq_priq.c#3 integrate .. //depot/projects/arm/src/sys/contrib/altq/altq/altq_red.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#6 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pflog.c#6 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pflog.h#5 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pfsync.c#10 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pfsync.h#4 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf.c#10 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_ioctl.c#9 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/arm/src/sys/contrib/pf/net/pf_norm.c#7 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_osfp.c#3 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/arm/src/sys/contrib/pf/net/pf_subr.c#3 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_table.c#3 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pfvar.h#5 integrate .. //depot/projects/arm/src/sys/crypto/via/padlock.c#10 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi.c#24 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.h#16 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#37 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-disk.c#14 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-pci.h#21 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-usb.c#6 integrate .. //depot/projects/arm/src/sys/dev/ath/if_ath.c#31 integrate .. //depot/projects/arm/src/sys/dev/ipw/if_ipw.c#11 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#22 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.h#21 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#12 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#28 integrate .. //depot/projects/arm/src/sys/dev/isp/ispvar.h#18 integrate .. //depot/projects/arm/src/sys/dev/iwi/if_iwi.c#18 integrate .. //depot/projects/arm/src/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/arm/src/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/arm/src/sys/dev/ral/rt2560.c#12 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2661.c#10 integrate .. //depot/projects/arm/src/sys/dev/rp/rp.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#16 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac_private.h#7 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/ac97_patch.c#7 integrate .. //depot/projects/arm/src/sys/dev/sym/sym_hipd.c#12 integrate .. //depot/projects/arm/src/sys/dev/usb/if_aue.c#15 integrate .. //depot/projects/arm/src/sys/dev/usb/if_axe.c#13 integrate .. //depot/projects/arm/src/sys/dev/usb/if_axereg.h#7 integrate .. //depot/projects/arm/src/sys/dev/usb/if_cdce.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/if_cue.c#6 integrate .. //depot/projects/arm/src/sys/dev/usb/if_kue.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/if_ural.c#24 integrate .. //depot/projects/arm/src/sys/dev/usb/uark.c#4 integrate .. //depot/projects/arm/src/sys/dev/usb/ucom.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/ugen.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/uhub.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/ukbd.c#11 integrate .. //depot/projects/arm/src/sys/dev/usb/umass.c#18 integrate .. //depot/projects/arm/src/sys/dev/usb/umodem.c#6 integrate .. //depot/projects/arm/src/sys/dev/usb/ums.c#10 integrate .. //depot/projects/arm/src/sys/dev/usb/usb.h#6 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_port.h#10 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_quirks.c#15 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_quirks.h#8 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_subr.c#17 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdevs#34 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdi.c#11 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdi.h#7 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wi.c#14 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_fifoops.h#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_uma.c#2 delete .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_uma.h#2 delete .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/arm/src/sys/fs/umapfs/umap.h#2 delete .. //depot/projects/arm/src/sys/fs/umapfs/umap_subr.c#3 delete .. //depot/projects/arm/src/sys/fs/umapfs/umap_vfsops.c#6 delete .. //depot/projects/arm/src/sys/fs/umapfs/umap_vnops.c#5 delete .. //depot/projects/arm/src/sys/i386/conf/GENERIC#24 integrate .. //depot/projects/arm/src/sys/i386/conf/NOTES#24 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#34 integrate .. //depot/projects/arm/src/sys/kern/Make.tags.inc#5 integrate .. //depot/projects/arm/src/sys/kern/Makefile#4 integrate .. //depot/projects/arm/src/sys/kern/kern_malloc.c#12 integrate .. //depot/projects/arm/src/sys/kern/kern_priv.c#3 integrate .. //depot/projects/arm/src/sys/kern/kern_rwlock.c#12 integrate .. //depot/projects/arm/src/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/arm/src/sys/kern/sysv_sem.c#10 integrate .. //depot/projects/arm/src/sys/kern/tty.c#16 integrate .. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#26 integrate .. //depot/projects/arm/src/sys/modules/Makefile#45 integrate .. //depot/projects/arm/src/sys/modules/acpi/acpi_video/Makefile#4 integrate .. //depot/projects/arm/src/sys/modules/ath_rate_amrr/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/ath_rate_onoe/Makefile#4 integrate .. //depot/projects/arm/src/sys/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/i2c/controllers/viapm/Makefile#3 integrate .. //depot/projects/arm/src/sys/modules/ipfw/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/nxge/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/pf/Makefile#6 integrate .. //depot/projects/arm/src/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/umapfs/Makefile#2 delete .. //depot/projects/arm/src/sys/net/bridgestp.c#17 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#25 integrate .. //depot/projects/arm/src/sys/net/if_gre.c#10 integrate .. //depot/projects/arm/src/sys/net/if_ppp.c#12 integrate .. //depot/projects/arm/src/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/arm/src/sys/net80211/_ieee80211.h#9 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_freebsd.h#8 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_input.c#19 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_radiotap.h#5 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/arm/src/sys/netatalk/aarp.h#3 integrate .. //depot/projects/arm/src/sys/netatalk/ddp.h#3 integrate .. //depot/projects/arm/src/sys/netatm/atm_cm.c#4 integrate .. //depot/projects/arm/src/sys/netatm/ipatm/ipatm_event.c#2 integrate .. //depot/projects/arm/src/sys/netatm/spans/spans_proto.c#2 integrate .. //depot/projects/arm/src/sys/netatm/uni/sscf_uni_lower.c#2 integrate .. //depot/projects/arm/src/sys/netatm/uni/uniarp.c#3 integrate .. //depot/projects/arm/src/sys/netatm/uni/uniarp_timer.c#2 integrate .. //depot/projects/arm/src/sys/netatm/uni/unisig_decode.h#2 integrate .. //depot/projects/arm/src/sys/netatm/uni/unisig_proto.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#7 integrate .. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#5 integrate .. //depot/projects/arm/src/sys/netgraph/ng_parse.c#5 integrate .. //depot/projects/arm/src/sys/netinet/in_pcb.c#22 integrate .. //depot/projects/arm/src/sys/netinet/in_pcb.h#12 integrate .. //depot/projects/arm/src/sys/netinet/in_proto.c#8 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#33 integrate .. //depot/projects/arm/src/sys/netinet/ip_icmp.c#8 integrate .. //depot/projects/arm/src/sys/netinet/ip_input.c#20 integrate .. //depot/projects/arm/src/sys/netinet/ip_ipsec.c#5 integrate .. //depot/projects/arm/src/sys/netinet/ip_output.c#24 integrate .. //depot/projects/arm/src/sys/netinet/raw_ip.c#16 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.c#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.h#7 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.c#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.h#5 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os_bsd.h#12 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.c#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.c#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_uio.h#15 integrate .. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_var.h#9 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.c#18 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#33 integrate .. //depot/projects/arm/src/sys/netinet/tcp_output.c#20 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#28 integrate .. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#23 integrate .. //depot/projects/arm/src/sys/netinet/udp_usrreq.c#22 integrate .. //depot/projects/arm/src/sys/netinet6/ah.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ah6.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ah_aesxcbcmac.c#4 delete .. //depot/projects/arm/src/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ah_core.c#5 delete .. //depot/projects/arm/src/sys/netinet6/ah_input.c#3 delete .. //depot/projects/arm/src/sys/netinet6/ah_output.c#4 delete .. //depot/projects/arm/src/sys/netinet6/esp.h#2 delete .. //depot/projects/arm/src/sys/netinet6/esp6.h#2 delete .. //depot/projects/arm/src/sys/netinet6/esp_aesctr.c#5 delete .. //depot/projects/arm/src/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/arm/src/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/arm/src/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/arm/src/sys/netinet6/esp_core.c#5 delete .. //depot/projects/arm/src/sys/netinet6/esp_input.c#3 delete .. //depot/projects/arm/src/sys/netinet6/esp_rijndael.c#3 delete .. //depot/projects/arm/src/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/arm/src/sys/netinet6/icmp6.c#12 integrate .. //depot/projects/arm/src/sys/netinet6/in6.h#6 integrate .. //depot/projects/arm/src/sys/netinet6/in6_pcb.c#15 integrate .. //depot/projects/arm/src/sys/netinet6/in6_proto.c#10 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_forward.c#8 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_input.c#11 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/arm/src/sys/netinet6/ip6_output.c#9 integrate .. //depot/projects/arm/src/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ipcomp_core.c#3 delete .. //depot/projects/arm/src/sys/netinet6/ipcomp_input.c#4 delete .. //depot/projects/arm/src/sys/netinet6/ipcomp_output.c#3 delete .. //depot/projects/arm/src/sys/netinet6/ipsec.c#11 delete .. //depot/projects/arm/src/sys/netinet6/ipsec.h#2 delete .. //depot/projects/arm/src/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/arm/src/sys/netinet6/nd6.c#16 integrate .. //depot/projects/arm/src/sys/netinet6/nd6_nbr.c#8 integrate .. //depot/projects/arm/src/sys/netinet6/raw_ip6.c#10 integrate .. //depot/projects/arm/src/sys/netinet6/sctp6_usrreq.c#15 integrate .. //depot/projects/arm/src/sys/netinet6/udp6_output.c#6 integrate .. //depot/projects/arm/src/sys/netinet6/udp6_usrreq.c#14 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec.c#11 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec.h#5 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec_mbuf.c#4 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec_output.c#5 integrate .. //depot/projects/arm/src/sys/netipsec/key.c#6 integrate .. //depot/projects/arm/src/sys/netipsec/key_debug.c#3 integrate .. //depot/projects/arm/src/sys/netipsec/keysock.c#6 integrate .. //depot/projects/arm/src/sys/netipsec/xform_ah.c#6 integrate .. //depot/projects/arm/src/sys/netipsec/xform_ipip.c#4 integrate .. //depot/projects/arm/src/sys/netkey/key.c#4 delete .. //depot/projects/arm/src/sys/netkey/key.h#2 delete .. //depot/projects/arm/src/sys/netkey/key_debug.c#3 delete .. //depot/projects/arm/src/sys/netkey/key_debug.h#2 delete .. //depot/projects/arm/src/sys/netkey/key_var.h#2 delete .. //depot/projects/arm/src/sys/netkey/keydb.c#4 delete .. //depot/projects/arm/src/sys/netkey/keydb.h#2 delete .. //depot/projects/arm/src/sys/netkey/keysock.c#6 delete .. //depot/projects/arm/src/sys/netkey/keysock.h#3 delete .. //depot/projects/arm/src/sys/security/audit/audit.c#19 integrate .. //depot/projects/arm/src/sys/security/audit/audit.h#9 integrate .. //depot/projects/arm/src/sys/security/audit/audit_arg.c#14 integrate .. //depot/projects/arm/src/sys/security/audit/audit_bsm.c#13 integrate .. //depot/projects/arm/src/sys/security/audit/audit_bsm_token.c#11 integrate .. //depot/projects/arm/src/sys/security/audit/audit_syscalls.c#15 integrate .. //depot/projects/arm/src/sys/security/mac/mac_audit.c#2 integrate .. //depot/projects/arm/src/sys/security/mac/mac_framework.h#8 integrate .. //depot/projects/arm/src/sys/security/mac/mac_policy.h#4 integrate .. //depot/projects/arm/src/sys/security/mac_stub/mac_stub.c#8 integrate .. //depot/projects/arm/src/sys/security/mac_test/mac_test.c#7 integrate .. //depot/projects/arm/src/sys/sys/_rwlock.h#4 integrate .. //depot/projects/arm/src/sys/sys/mbuf.h#23 integrate .. //depot/projects/arm/src/sys/sys/param.h#33 integrate .. //depot/projects/arm/src/sys/sys/rwlock.h#9 integrate .. //depot/projects/arm/src/sys/sys/systm.h#25 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_softdep.c#19 integrate .. //depot/projects/arm/src/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/arm/src/sys/ufs/ufs/ufs_inode.c#9 integrate .. //depot/projects/arm/src/sys/vm/swap_pager.c#14 integrate .. //depot/projects/arm/src/sys/vm/vm_pageout.c#13 integrate .. //depot/projects/arm/src/tools/regression/fsx/fsx.c#3 integrate .. //depot/projects/arm/src/tools/regression/lib/libc/nss/test-gethostby.c#2 integrate .. //depot/projects/arm/src/tools/regression/lib/libc/nss/test-gethostby.t#2 integrate .. //depot/projects/arm/src/tools/regression/tmpfs/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/tmpfs/t_id_gen#2 delete .. //depot/projects/arm/src/tools/tools/README#4 integrate .. //depot/projects/arm/src/tools/tools/nxge/Makefile#1 branch .. //depot/projects/arm/src/tools/tools/nxge/xge_cmn.h#1 branch .. //depot/projects/arm/src/tools/tools/nxge/xge_info.c#1 branch .. //depot/projects/arm/src/tools/tools/nxge/xge_info.h#1 branch .. //depot/projects/arm/src/tools/tools/nxge/xge_log.c#1 branch .. //depot/projects/arm/src/tools/tools/nxge/xge_log.h#1 branch .. //depot/projects/arm/src/tools/tools/tinybsd/conf/bridge/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/default/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/firewall/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/minimal/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/vpn/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/wireless/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/conf/wrap/tinybsd.basefiles#3 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.freebsd#15 integrate .. //depot/projects/arm/src/usr.bin/netstat/Makefile#4 integrate .. //depot/projects/arm/src/usr.bin/netstat/ipsec.c#4 integrate .. //depot/projects/arm/src/usr.bin/netstat/main.c#4 integrate .. //depot/projects/arm/src/usr.bin/netstat/netstat.h#4 integrate .. //depot/projects/arm/src/usr.bin/netstat/pfkey.c#4 integrate .. //depot/projects/arm/src/usr.bin/telnet/Makefile#4 integrate .. //depot/projects/arm/src/usr.bin/truss/amd64-fbsd.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/i386-fbsd.c#4 integrate .. //depot/projects/arm/src/usr.bin/truss/i386-linux.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/ia64-fbsd.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/main.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/powerpc-fbsd.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/setup.c#3 integrate .. //depot/projects/arm/src/usr.bin/truss/sparc64-fbsd.c#3 integrate .. //depot/projects/arm/src/usr.bin/usbhidaction/usbhidaction.1#2 integrate .. //depot/projects/arm/src/usr.bin/usbhidaction/usbhidaction.c#2 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#12 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c#2 integrate .. //depot/projects/arm/src/usr.sbin/ftp-proxy/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/ftp-proxy/Makefile.inc#1 branch .. //depot/projects/arm/src/usr.sbin/ftp-proxy/ftp-proxy/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/ftp-proxy/libevent/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/inetd/Makefile#4 integrate .. //depot/projects/arm/src/usr.sbin/inetd/inetd.c#4 integrate .. //depot/projects/arm/src/usr.sbin/periodic/periodic.8#2 integrate .. //depot/projects/arm/src/usr.sbin/periodic/periodic.sh#2 integrate .. //depot/projects/arm/src/usr.sbin/portsnap/phttpget/phttpget.c#3 integrate .. //depot/projects/arm/src/usr.sbin/rrenumd/Makefile#3 integrate .. //depot/projects/arm/src/usr.sbin/rrenumd/rrenumd.c#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/dist.c#5 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/dist.h#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/distributions.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/fixit.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/media.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/network_device.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/options.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/securelevel.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/help/shortcuts.hlp#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/index.c#8 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/install.c#5 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/menus.c#5 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/sysinstall.8#3 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/sysinstall.h#3 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/system.c#3 integrate .. //depot/projects/arm/src/usr.sbin/traceroute6/Makefile#3 integrate .. //depot/projects/arm/src/usr.sbin/traceroute6/traceroute6.c#4 integrate .. //depot/projects/arm/src/usr.sbin/wicontrol/Makefile#2 delete .. //depot/projects/arm/src/usr.sbin/wicontrol/wicontrol.8#3 delete .. //depot/projects/arm/src/usr.sbin/wicontrol/wicontrol.c#3 delete Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#23 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.96 2007/06/18 18:50:59 rafan Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.102 2007/07/03 13:06:45 mlaier 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,36 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070703: pf 4.1 import +OLD_FILES+=usr/libexec/ftp-proxy +# 20070701: KAME IPSec removal +OLD_FILES+=usr/include/netinet6/ah.h +OLD_FILES+=usr/include/netinet6/ah6.h +OLD_FILES+=usr/include/netinet6/ah_aesxcbcmac.h +OLD_FILES+=usr/include/netinet6/esp.h +OLD_FILES+=usr/include/netinet6/esp6.h +OLD_FILES+=usr/include/netinet6/esp_aesctr.h +OLD_FILES+=usr/include/netinet6/esp_camellia.h +OLD_FILES+=usr/include/netinet6/esp_rijndael.h +OLD_FILES+=usr/include/netinet6/ipsec.h +OLD_FILES+=usr/include/netinet6/ipsec6.h +OLD_FILES+=usr/include/netinet6/ipcomp.h +OLD_FILES+=usr/include/netinet6/ipcomp6.h +OLD_FILES+=usr/include/netkey/key.h +OLD_FILES+=usr/include/netkey/key_debug.h +OLD_FILES+=usr/include/netkey/key_var.h +OLD_FILES+=usr/include/netkey/keydb.h +OLD_FILES+=usr/include/netkey/keysock.h +OLD_DIRS+=usr/include/netkey +# 20070701: remove wicontrol +OLD_FILES+=usr/sbin/wicontrol +OLD_FILES+=usr/share/man/man8/wicontrol.8.gz +# 20070625: umapfs removal +OLD_FILES+=rescue/mount_umapfs +OLD_FILES+=sbin/mount_umapfs +OLD_FILES+=usr/include/fs/umapfs/umap.h +OLD_FILES+=usr/share/man/man8/mount_umapfs.8.gz +OLD_DIRS+=usr/include/fs/umapfs # 20070618: shared library version bump OLD_LIBS+=lib/libalias.so.5 OLD_LIBS+=lib/libbsnmp.so.3 @@ -3583,7 +3613,6 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/arm/src/UPDATING#18 (text+ko) ==== @@ -21,6 +21,26 @@ developers choose to disable these features on build machines to maximize performance. +20070702: + The packet filter (pf) code has been updated to OpenBSD 4.1 Please + note the changed syntax - keep state is now on by default. Also + note the fact that ftp-proxy(8) has been changed from bottom up and + has been moved from libexec to usr/sbin. Changes in the ALTQ + handling also affect users of IPFW's ALTQ capabilities. + +20070701: + Remove KAME IPsec in favor of FAST_IPSEC, which is now the + only IPsec supported by FreeBSD. The new IPsec stack + supports both IPv4 and IPv6. The kernel option will change + after the code changes have settled in. For now the kernel + option IPSEC is deprecated and FAST_IPSEC is the only option, that + will change after some settling time. + +20070701: + The wicontrol(8) utility has been removed from the base system. wi(4) + cards should be configured using ifconfig(8), see the man page for more + information. + 20070612: By default, /etc/rc.d/sendmail no longer rebuilds the aliases database if it is missing or older than the aliases file. If @@ -857,4 +877,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ +$FreeBSD: src/UPDATING,v 1.500 2007/07/03 13:06:44 mlaier Exp $ ==== //depot/projects/arm/src/bin/ed/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/ed/Makefile,v 1.32 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/ed/Makefile,v 1.33 2007/07/02 14:00:25 kensmith Exp $ .include @@ -7,11 +7,13 @@ LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 +.if !defined(RELEASE_CRUNCH) .if ${MK_OPENSSL} != "no" CFLAGS+=-DDES WARNS?= 2 DPADD= ${LIBCRYPTO} LDADD= -lcrypto .endif +.endif .include ==== //depot/projects/arm/src/contrib/ipfilter/tools/ipfstat.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/tools/ipfstat.c,v 1.5 2007/06/04 02:54:34 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/tools/ipfstat.c,v 1.6 2007/06/24 16:39:12 darrenr Exp $ */ /* * Copyright (C) 2002-2006 by Darren Reed. @@ -1811,7 +1811,7 @@ *port = -1; } else if (!sscanf(comma + 1, "%d", port) || (*port < 0) || (*port > 65535)) { - fprintf(stderr, "Invalid port specfication in %s\n", + fprintf(stderr, "Invalid port specification in %s\n", argument); free(s); exit(-2); @@ -1823,6 +1823,7 @@ /* get ip address */ if (!strcasecmp(s, "any")) { ip->in4.s_addr = INADDR_ANY; + ok = 1; #ifdef USE_INET6 ip->in6 = in6addr_any; } else if (use_inet6 && inet_pton(AF_INET6, s, &ip->in6)) { ==== //depot/projects/arm/src/contrib/less/main.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.8 2007/06/21 10:39:24 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.9 2007/06/23 15:28:00 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -59,6 +59,7 @@ extern int missing_cap; extern int know_dumb; extern int quit_if_one_screen; +extern int no_init; extern int pr_type; @@ -165,7 +166,7 @@ } if (less_is_more && get_quit_at_eof()) - quit_if_one_screen = TRUE; + no_init = quit_if_one_screen = TRUE; #if EDITOR editor = lgetenv("VISUAL"); ==== //depot/projects/arm/src/contrib/less/screen.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/screen.c,v 1.7 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/screen.c,v 1.8 2007/06/23 15:28:00 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -228,8 +228,6 @@ extern int no_back_scroll; extern int swindow; extern int no_init; -extern int quit_at_eof; -extern int less_is_more; extern int no_keypad; extern int sigs; extern int wscroll; @@ -1211,19 +1209,11 @@ if (sc_e_keypad == NULL) sc_e_keypad = ""; - /* - * This loses for terminals with termcap entries with ti/te strings - * that switch to/from an alternate screen, and we're in quit_at_eof - * (eg, more(1)). - */ - if (!quit_at_eof && !less_is_more) { - sc_init = ltgetstr("ti", &sp); - sc_deinit = ltgetstr("te", &sp); - } - + sc_init = ltgetstr("ti", &sp); if (sc_init == NULL) sc_init = ""; + sc_deinit= ltgetstr("te", &sp); if (sc_deinit == NULL) sc_deinit = ""; ==== //depot/projects/arm/src/contrib/netcat/netcat.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.5 2007/03/28 01:57:03 delphij Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.6 2007/07/01 12:08:04 gnn Exp $ */ /* @@ -42,7 +42,7 @@ #include #include #ifdef IPSEC -#include +#include #endif #include #include ==== //depot/projects/arm/src/contrib/pf/authpf/authpf.8#2 (text+ko) ==== @@ -1,29 +1,19 @@ -.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.2 2006/03/28 15:26:16 mlaier Exp $ -.\" $OpenBSD: authpf.8,v 1.38 2005/01/04 09:57:04 jmc Exp $ +.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.3 2007/07/03 12:30:00 mlaier Exp $ +.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ .\" -.\" Copyright (c) 2002 Bob Beck (beck@openbsd.org>. All rights reserved. +.\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd March 28, 2006 .Dt AUTHPF 8 @@ -230,8 +220,11 @@ hijack the session. Note that TCP keepalives are not sufficient for this, since they are not secure. -Also note that +Also note that the various SSH tunnelling mechanisms, +such as .Ar AllowTcpForwarding +and +.Ar PermitTunnel , should be disabled for .Nm users to prevent them from circumventing restrictions imposed by the @@ -429,8 +422,7 @@ external_if = "xl0" internal_if = "fxp0" -pass in log quick on $internal_if proto tcp from $user_ip to any \e - keep state +pass in log quick on $internal_if proto tcp from $user_ip to any pass in quick on $internal_if from $user_ip to any .Ed .Pp @@ -445,16 +437,15 @@ # rdr ftp for proxying by ftp-proxy(8) rdr on $internal_if proto tcp from $user_ip to any port 21 \e - -> 127.0.0.1 port 8081 + -> 127.0.0.1 port 8021 # allow out ftp, ssh, www and https only, and allow user to negotiate # ipsec with the ipsec server. pass in log quick on $internal_if proto tcp from $user_ip to any \e - port { 21, 22, 80, 443 } flags S/SA + port { 21, 22, 80, 443 } pass in quick on $internal_if proto tcp from $user_ip to any \e port { 21, 22, 80, 443 } -pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp \e - keep state +pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp pass in quick proto esp from $user_ip to $ipsec_gw .Ed .Pp @@ -469,7 +460,7 @@ # nat and tag connections... nat on $ext_if from $user_ip to any tag $user_ip -> $ext_addr pass in quick on $int_if from $user_ip to any -pass out log quick on $ext_if tagged $user_ip keep state +pass out log quick on $ext_if tagged $user_ip .Ed .Pp With the above rules added by @@ -495,7 +486,7 @@ .Bd -literal table persist pass in on $ext_if proto tcp from \e - to port { smtp imap } keep state + to port { smtp imap } .Ed .Pp It is also possible to use the "authpf_users" @@ -522,6 +513,7 @@ .Xr pf 4 , .Xr pf.conf 5 , .Xr fdescfs 5 , +.Xr securelevel 7 , .Xr ftp-proxy 8 .Sh HISTORY The ==== //depot/projects/arm/src/contrib/pf/authpf/authpf.c#2 (text+ko) ==== @@ -1,32 +1,23 @@ -/* $OpenBSD: authpf.c,v 1.89 2005/02/10 04:24:15 joel Exp $ */ +/* $OpenBSD: authpf.c,v 1.104 2007/02/24 17:35:08 beck Exp $ */ /* - * Copyright (C) 1998 - 2002 Bob Beck (beck@openbsd.org). + * Copyright (C) 1998 - 2007 Bob Beck (beck@openbsd.org). * - * 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. + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * 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. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include -__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.7 2005/12/25 22:57:08 mlaier Exp $"); +__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.8 2007/07/03 12:30:01 mlaier Exp $"); #include #include @@ -56,15 +47,13 @@ #include "pathnames.h" -extern int symset(const char *, const char *, int); - static int read_config(FILE *); static void print_message(char *); static int allowed_luser(char *); static int check_luser(char *, char *); static int remove_stale_rulesets(void); static int change_filter(int, const char *, const char *); -static int change_table(int, const char *, const char *); +static int change_table(int, const char *); static void authpf_kill_states(void); int dev; /* pf device */ @@ -73,7 +62,6 @@ char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; FILE *pidfp; -char *infile; /* file name printed by yyerror() in parse.y */ char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -102,11 +90,16 @@ struct in6_addr ina; struct passwd *pw; char *cp; + gid_t gid; uid_t uid; char *shell; login_cap_t *lc; config = fopen(PATH_CONFFILE, "r"); + if (config == NULL) { + syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + exit(1); + } if ((cp = getenv("SSH_TTY")) == NULL) { syslog(LOG_ERR, "non-interactive session connection for authpf"); @@ -143,7 +136,6 @@ uid = getuid(); pw = getpwuid(uid); - endpwent(); if (pw == NULL) { syslog(LOG_ERR, "cannot find user for uid %u", uid); goto die; @@ -256,6 +248,8 @@ if (++lockcnt > 10) { syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", otherpid); + fclose(pidfp); + pidfp = NULL; goto dogdeath; } sleep(1); @@ -265,12 +259,22 @@ * it's lock, giving us a chance to get it now */ fclose(pidfp); + pidfp = NULL; } while (1); + + /* whack the group list */ + gid = getegid(); + if (setgroups(1, &gid) == -1) { + syslog(LOG_INFO, "setgroups: %s", strerror(errno)); + do_death(0); + } /* revoke privs */ - seteuid(getuid()); - setuid(getuid()); - + uid = getuid(); + if (setresuid(uid, uid, uid) == -1) { + syslog(LOG_INFO, "setresuid: %s", strerror(errno)); + do_death(0); + } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { @@ -278,8 +282,8 @@ do_death(0); } - if (config == NULL || read_config(config)) { - syslog(LOG_INFO, "bad or nonexistent %s", PATH_CONFFILE); + if (read_config(config)) { + syslog(LOG_ERR, "invalid config file %s", PATH_CONFFILE); do_death(0); } @@ -298,7 +302,7 @@ printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, luser, ipsrc) == -1) { + if (change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); @@ -309,7 +313,7 @@ signal(SIGALRM, need_death); signal(SIGPIPE, need_death); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 3 17:10:20 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E03D16A46E; Tue, 3 Jul 2007 17:10:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0946F16A41F for ; Tue, 3 Jul 2007 17:10:20 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D500E13C455 for ; Tue, 3 Jul 2007 17:10:19 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63HAJFB093961 for ; Tue, 3 Jul 2007 17:10:19 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63HAJvB093958 for perforce@freebsd.org; Tue, 3 Jul 2007 17:10:19 GMT (envelope-from imp@freebsd.org) Date: Tue, 3 Jul 2007 17:10:19 GMT Message-Id: <200707031710.l63HAJvB093958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 122790 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 17:10:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=122790 Change 122790 by imp@imp_paco-paco on 2007/07/03 17:09:23 IFC @122789 Affected files ... .. //depot/projects/arm/src/contrib/pf/pflogd/pidfile.c#2 integrate .. //depot/projects/arm/src/contrib/pf/pflogd/pidfile.h#2 integrate Differences ... ==== //depot/projects/arm/src/contrib/pf/pflogd/pidfile.c#2 (text+ko) ==== ==== //depot/projects/arm/src/contrib/pf/pflogd/pidfile.h#2 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Jul 3 17:52:35 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 417FD16A474; Tue, 3 Jul 2007 17:52:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E8F7F16A46F for ; Tue, 3 Jul 2007 17:52:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DA11713C4AD for ; Tue, 3 Jul 2007 17:52:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63HqY7q097612 for ; Tue, 3 Jul 2007 17:52:34 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63HqYGI097608 for perforce@freebsd.org; Tue, 3 Jul 2007 17:52:34 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 17:52:34 GMT Message-Id: <200707031752.l63HqYGI097608@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122795 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 17:52:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=122795 Change 122795 by peter@peter_overcee on 2007/07/03 17:51:56 Compiling is good. Affected files ... .. //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#18 edit .. //depot/projects/hammer/sys/compat/linux/linux_file.c#22 edit Differences ... ==== //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#18 (text+ko) ==== @@ -927,7 +927,6 @@ bsd_args.len = linux_args->len; } bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE; - bsd_args.pad = 0; #ifdef DEBUG if (ldebug(mmap)) @@ -1153,7 +1152,6 @@ #endif sa.fd = args->fd; - sa.pad = 0; sa.length = args->length; return ftruncate(td, &sa); } ==== //depot/projects/hammer/sys/compat/linux/linux_file.c#22 (text+ko) ==== @@ -835,7 +835,6 @@ } */ nuap; nuap.fd = args->fd; - nuap.pad = 0; nuap.length = args->length; return (ftruncate(td, &nuap)); } From owner-p4-projects@FreeBSD.ORG Tue Jul 3 21:23:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2313516A469; Tue, 3 Jul 2007 21:23:07 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C4AC516A41F for ; Tue, 3 Jul 2007 21:23:06 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B350E13C487 for ; Tue, 3 Jul 2007 21:23:06 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63LN67A027569 for ; Tue, 3 Jul 2007 21:23:06 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63LN66F027566 for perforce@freebsd.org; Tue, 3 Jul 2007 21:23:06 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 3 Jul 2007 21:23:06 GMT Message-Id: <200707032123.l63LN66F027566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122803 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 21:23:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122803 Change 122803 by lulf@lulf_carrot on 2007/07/03 21:22:13 - Clean up code and remove debug printfs. - Add initial testplan draft. I also have some testscripts that will be comitted when they're ready. - Add my scratchpad TODO. Affected files ... .. //depot/projects/soc2007/lulf/TESTPLAN#1 add .. //depot/projects/soc2007/lulf/TODO#3 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#11 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#2 edit Differences ... ==== //depot/projects/soc2007/lulf/TODO#3 (text+ko) ==== @@ -8,3 +8,148 @@ 6. Make sure other parts is function correctly, and implement what perhaps is not implemented yet. 7. Run some tests to make sure the new gvinum code-base is good enough. + + +### MY internal scratchpad. This might be outdated, but I'm trying to mark the +things I've finished with DONE. + +1. Find out if we can support adding subdisks to a raid5 plex. + +2. Need a way to tell if we're adding a subdisk to a degraded raid5 plex or not. +This means we only add subdisks to a raid5 plex if the original size is larger +than the size during attachment. One way is to have a original size of the plex. +Another way is to allow a subdisk to attach itself to a plex _if_ the plex is +degraded and all other subdisks are up. The best would probably be to have a +pled->origsize field to keep the original size of the plex intact. This could +expand if we later want to expand a raid5 array. DONE. + +3. Must make sure that we don't use a subdisks plex if it's detached (same with +plex and volume). NO + +4. Make sure gv_plex_size uses the smallest stripe... makes it possible to have +unequal sized subdisks, but only parts of it is used... ?NO + +5. To support mounted raid5 rebuild... we need to check if both rebuild and +normal request BIO's can work side by side... As long as it is in the degraded +state perhaps? + +6. To get syncing working... we need a way to read BIOs from one plex and write +them to another plex. One way of doing this is that we issue a read-bio for one +plex, and when that bio returns, it will issue a BIO with the data to be written +to a destination plex. Either, issue all reads at once, or issue one read, and +let the 'done'-routines handle issueing of the next bios. +In both ways, we need a way to tell the destination of a write, or where the +original data came from. DONE + +Todo: +* Need to check if it works to use bio_caller1. Doesn't, its used, but + bio_caller2 works... for now +* Try to make send_parity work for sync as well. NO, created another one. +* Restructure gv_sync_completed and split it a bit up to create a better + abstraction. DONE +* Test it. DONE +* Make sure we don't have write between syncing. + Krav: + - Skal kunne lese av mirror mens mountet. + - Skal kunne skrive til mirror mens mountet. + - Må delaye writes. + - Reads som kommer når vi har noe i queuen må også delayes. + + To achieve this, we can - for each BIO that comes down to a volume - + check that if one plex is syncing, we put the BIO in a wait-queue that + is only processed when NO plexes are in GV_PLEX_SYNCING state. + +7. Investigate problem with setting plex state to up even with forcing. Fixed. +8. Check why panic when using mirror. + It's because a BIO is shared between all plexes for a write. Se my + comment in the hack in gv_bio_done for more explanation. +9. Check weird states showing up when doing rebuild/sync etc and prevent from +config being listed up all the time. Config not listed anymore. +10. Make sure we can use bio_caller2 in sync. +11. Change event structure to include non-pointer parameters for flags etc. +12. Since GV_SD_INITIALIZING is used by gv_sync and gv_rebuild, we should +perhaps update s->initialized, or create a new state called syncing or +something. Because gv_list gives a weird output when s->initialized is not used. +Perhaps have another state. + +13. Don't crash when we try rebuild on a up plex with only down/stale subdisks. +Perhaps it's okay since we're forcing the state anyway and the user literally +asks for it. + +14. When a raid5 plex is created, the subdisks are stale and the plex is down, +but it shouldn't. When a mirror is created, the second one is stale, but it +shouldn't. + +15. Implement initialization. Done + +16. Initially, parity is wrong... so must remember to rebuild, but should this +be necessary? No, init is used + + +* What may this problem be? Me using bio_caller1? No, we don't have enough bits +* for our flags :) fixed. +* Got a recursing lock issue. Fixed. + +* Syncing problem. Lukas proposed: +> +> Well, that's even easier than the RAID5 rebuild problem: reads are only +> served from the "good" plex, writes go through to all plexes, as the new +> data would be written anyway (after a read from the "good" plex). Some +> locking would be advisable, though. + +The flaw with this is that if a write is done on a plex, it can be overwritten +by a sync write, so it will have to wait for the sync to be done, and then +overwrite the sync. We could perhaps examine if the offset is greater than +current synced offset, and then we again have to make sure all plexes are beyond +that offset. + +Suggestion for handling mounted rebuilds: +Imagine this situation: you have rebuilt the parity up to offset X of +the RAID5 plex. I/O that requests something from below X can go through +normally, I/O that requests something beyond X needs to run like in +degraded mode. The trick is to get the locking right, so that the +rebuild process and the normal I/O don't interfere when they are around +the some offset. + +* It's already checked that if a plex is syncing and synced > the offset + + length, then the request can be served. +* Otherwise, the request will be served like a degraded or no-parity. The + problem is that if NOPARITY or REBUILD is detected (begause s->state is not + UP), data will be written without parity, and we'd have to rebuild parity + or write the data afterwards. + +15. Must test and debug! Check why hanging while rebuilding and copying at the +same time (initiating copy first) + +* Bug #1: When trying to newfs on a degraded volume where the _first_ subdisk is + down, i get cg 0: bad magic number. Hmmm.... + Actually, it's a bug in RAID5 degraded write/read code. We got a data + corruption bug. Fixed, we forgot to write correct parity data. + + +* Check if we need to check for REBUILD flag when syncing. + +ISSUES: +* We don't but delayed requests due to rebuild on the global queue, since + A) They shouldn't be run by all plexes. + B) They were issued before new I/Os, so they should be sendt down before + them. +* Delayed requests due to REBUILD currently use it's own BIO queue. Perhaps we + should rework the way plex queues are used. + +18. Rewrite rename, move. DONE. + + +19. Concat/mirror/stripe + * Right now, we ask the kernel for each drive. Another way could be to + tell the kernel to send the whole config, and create parse routines + for it. + + * Fix padding in gv_volume for userland. DONE + +20. Make sync/rebuild requests also get delayed due to rebuild requests? + +20. When to trondheim. Write papers for status report. + +21. Updateman-page + ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#11 (text+ko) ==== @@ -375,7 +375,6 @@ gvinum_concat(int argc, char **argv) { - printf("Preparing\n"); if (argc < 2) { warnx("usage:\tconcat [-fv] [-n name] drives\n"); return; @@ -396,7 +395,6 @@ plexes = subdisks = volumes = 0; drives = 1; - printf("Trying to create drive on %s\n", device); /* Strip away eventual /dev/ in front. */ if (strncmp(device, "/dev/", 5) == 0) @@ -406,7 +404,6 @@ if (drivename == NULL) return (NULL); - fprintf(stderr, "Drivename %s is okay\n", drivename); req = gctl_get_handle(); gctl_ro_param(req, "class", -1, "VINUM"); gctl_ro_param(req, "verb", -1, "create"); @@ -422,12 +419,10 @@ gctl_ro_param(req, "volumes", sizeof(int), &volumes); gctl_ro_param(req, "plexes", sizeof(int), &plexes); gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); - fprintf(stderr, "Creating drive request sent to kernel...\n"); errstr = gctl_issue(req); if (errstr != NULL) warnx("error creating drive: %s", errstr); gctl_free(req); - printf("Done creating drive %s on %s\n", drivename, device); return (drivename); } @@ -474,11 +469,8 @@ } /* Find a free volume name. */ - if (volname == NULL) { - fprintf(stderr, "Finding name\n"); + if (volname == NULL) volname = find_name("gvinumvolume", GV_TYPE_VOL, GV_MAXVOLNAME); - fprintf(stderr, "Found name %s\n", volname); - } /* Then we send a request to actually create the volumes. */ gctl_ro_param(req, "verb", -1, verb); @@ -523,7 +515,6 @@ comment[0] = '\0'; /* Find a name. Fetch out configuration first. */ - printf("Fetching configuration\n"); req = gctl_get_handle(); gctl_ro_param(req, "class", -1, "VINUM"); gctl_ro_param(req, "verb", -1, "getconfig"); @@ -536,7 +527,6 @@ } gctl_free(req); - printf("Got configuration:\n"); printf(buf); begin = 0; len = strlen(buf); @@ -553,7 +543,6 @@ if (buf[i] == '\n' || buf[i] == '\0') { ptr = buf + begin; strlcpy(line, ptr, (i - begin) + 1); - printf("Processing line: .%s.\n", line); begin = i + 1; switch (type) { case GV_TYPE_DRIVE: @@ -572,9 +561,7 @@ } if (name == NULL) continue; - printf("Found a name: .%s.\n", name); if (!strcmp(sname, name)) { - printf("Conflicts, try next\n"); conflict = 1; /* XXX: Could quit the loop earlier. */ } @@ -928,45 +915,6 @@ if (errstr) warnx("%s\n", errstr); gctl_free(req); -/* do { - rv = 0; - req = gctl_get_handle(); - gctl_ro_param(req, "class", -1, "VINUM"); - gctl_ro_param(req, "verb", -1, "parityop"); - gctl_ro_param(req, "flags", sizeof(int), &flags); - gctl_ro_param(req, "rebuild", sizeof(int), &rebuild); - gctl_rw_param(req, "rv", sizeof(int), &rv); - gctl_rw_param(req, "offset", sizeof(off_t), &offset); - gctl_ro_param(req, "plex", -1, argv[0]); - errstr = gctl_issue(req); - if (errstr) { - warnx("%s\n", errstr); - gctl_free(req); - break; - } - gctl_free(req); - if (flags & GV_FLAG_V) { - printf("\r%s at %s ... ", msg, - gv_roughlength(offset, 1)); - } - if (rv == 1) { - printf("Parity incorrect at offset 0x%jx\n", - (intmax_t)offset); - if (!rebuild) - break; - } - fflush(stdout); - - Clear the -f flag. - flags &= ~GV_FLAG_F; - } while (rv >= 0);*/ - -/* if ((rv == 2) && (flags & GV_FLAG_V)) { - if (rebuild) - printf("Rebuilt parity on %s\n", argv[0]); - else - printf("%s has correct parity\n", argv[0]); - }*/ } void ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#2 (text+ko) ==== @@ -54,18 +54,15 @@ sc = gp->softc; dcount = 0; - printf("Starting to create concat device\n"); vol = gctl_get_param(req, "name", NULL); if (vol == NULL) { gctl_error(req, "volume's not given"); return; } - printf("Got first parameter name: %s\n", vol); flags = gctl_get_paraml(req, "flags", sizeof(*flags)); drives = gctl_get_paraml(req, "drives", sizeof(*drives)); - printf("Got both flags and drives\n"); if (drives == NULL) { gctl_error(req, "drives not given"); return; @@ -85,18 +82,11 @@ p->stripesize = 0; gv_post_event(sc, GV_EVENT_CREATE_PLEX, p, NULL, 0, 0); - /* XXX: We'll might have a problem making sure all of these things exists - * when we come into the event loop. */ - - printf("We have created the volume and plex. Time to create subdisks\n"); - /* Drives are first (only right now) priority */ + /* Drives are first (right now) priority */ for (dcount = 0; dcount < *drives; dcount++) { snprintf(buf, sizeof(buf), "drive%d", dcount); drive = gctl_get_param(req, buf, NULL); - printf("We're looking for drive %s\n", drive); d = gv_find_drive(sc, drive); - printf("Creating subdisk for drive %s on device %s\n", d->name, - d->device); if (d == NULL) { gctl_error(req, "No such drive '%s'", drive); continue; @@ -110,6 +100,7 @@ s->size = -1; gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } /* @@ -130,26 +121,21 @@ dcount = 0; scount = 0; pcount = 0; - printf("Starting to create mirror device\n"); vol = gctl_get_param(req, "name", NULL); if (vol == NULL) { gctl_error(req, "volume's not given"); return; } - printf("Got first parameter name: %s\n", vol); flags = gctl_get_paraml(req, "flags", sizeof(*flags)); drives = gctl_get_paraml(req, "drives", sizeof(*drives)); - printf("Got both flags and drives\n"); - /* XXX: Remove when we have support for drivegroups. */ if (drives == NULL) { gctl_error(req, "drives not given"); return; } /* We must have an even number of drives. */ - /* XXX: We need supported for striped mirror as well. */ if (*drives % 2 != 0) { gctl_error(req, "must have an even number of drives"); return; @@ -186,10 +172,7 @@ for (dcount = pcount; dcount < *drives; dcount += 2) { snprintf(buf, sizeof(buf), "drive%d", dcount); drive = gctl_get_param(req, buf, NULL); - printf("We're looking for drive %s\n", drive); d = gv_find_drive(sc, drive); - printf("Creating subdisk for drive %s on device %s\n", - d->name, d->device); if (d == NULL) { gctl_error(req, "No such drive '%s'", drive); /* XXX: Should we fail instead? */ @@ -208,6 +191,7 @@ scount++; } } + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } /* @@ -227,7 +211,6 @@ sc = gp->softc; dcount = 0; pcount = 0; - printf("Starting to create striped device\n"); vol = gctl_get_param(req, "name", NULL); if (vol == NULL) { gctl_error(req, "volume's not given"); @@ -236,8 +219,6 @@ flags = gctl_get_paraml(req, "flags", sizeof(*flags)); drives = gctl_get_paraml(req, "drives", sizeof(*drives)); - printf("Got both flags and drives\n"); - /* XXX: Remove when we have support for drivegroups. */ if (drives == NULL) { gctl_error(req, "drives not given"); return; @@ -268,10 +249,7 @@ for (dcount = 0; dcount < *drives; dcount++) { snprintf(buf, sizeof(buf), "drive%d", dcount); drive = gctl_get_param(req, buf, NULL); - printf("We're looking for drive %s\n", drive); d = gv_find_drive(sc, drive); - printf("Creating subdisk for drive %s on device %s\n", d->name, - d->device); if (d == NULL) { gctl_error(req, "No such drive '%s'", drive); continue; @@ -285,4 +263,5 @@ s->size = -1; gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } From owner-p4-projects@FreeBSD.ORG Tue Jul 3 21:59:55 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4CA0316A469; Tue, 3 Jul 2007 21:59:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1B34316A468 for ; Tue, 3 Jul 2007 21:59:55 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E80F013C457 for ; Tue, 3 Jul 2007 21:59:54 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63Lxs2d030771 for ; Tue, 3 Jul 2007 21:59:54 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63Lxst2030768 for perforce@freebsd.org; Tue, 3 Jul 2007 21:59:54 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 21:59:54 GMT Message-Id: <200707032159.l63Lxst2030768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122806 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 21:59:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=122806 Change 122806 by peter@peter_work on 2007/07/03 21:59:34 Compiling is good! Affected files ... .. //depot/projects/hammer/sys/i386/linux/linux_machdep.c#25 edit Differences ... ==== //depot/projects/hammer/sys/i386/linux/linux_machdep.c#25 (text+ko) ==== @@ -778,7 +778,6 @@ bsd_args.len = linux_args->len; } bsd_args.pos = linux_args->pgoff; - bsd_args.pad = 0; #ifdef DEBUG if (ldebug(mmap)) @@ -1076,7 +1075,6 @@ #endif sa.fd = args->fd; - sa.pad = 0; sa.length = args->length; return ftruncate(td, &sa); } From owner-p4-projects@FreeBSD.ORG Tue Jul 3 22:26:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C834A16A46C; Tue, 3 Jul 2007 22:26:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 808D916A469 for ; Tue, 3 Jul 2007 22:26:29 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6EFFC13C4B0 for ; Tue, 3 Jul 2007 22:26:29 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63MQTEA033857 for ; Tue, 3 Jul 2007 22:26:29 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63MQTsx033854 for perforce@freebsd.org; Tue, 3 Jul 2007 22:26:29 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 22:26:29 GMT Message-Id: <200707032226.l63MQTsx033854@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122808 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 22:26:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122808 Change 122808 by peter@peter_daintree on 2007/07/03 22:25:42 Precede a panic with an indication of a crash. Submitted by: reppie Affected files ... .. //depot/projects/hammer/sys/kern/kern_shutdown.c#44 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_shutdown.c#44 (text+ko) ==== @@ -528,6 +528,11 @@ newpanic = 1; } + printf("\n o _ _ _\n"); + printf(" _o /\\_ _ \\\\o (_)\\__/o (_)\n"); + printf(" _< \\_ _>(_) (_)/<_ \\_| \\ _|/' \\/\n"); + printf(" (_)>(_) (_) (_) (_) (_)' _\\o_\n\n"); + va_start(ap, fmt); if (newpanic) { (void)vsnprintf(buf, sizeof(buf), fmt, ap); From owner-p4-projects@FreeBSD.ORG Tue Jul 3 22:37:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5BA1116A46B; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2B25516A468 for ; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1C18C13C483 for ; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63MbhAU034606 for ; Tue, 3 Jul 2007 22:37:43 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63Mbhar034603 for perforce@freebsd.org; Tue, 3 Jul 2007 22:37:43 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 22:37:43 GMT Message-Id: <200707032237.l63Mbhar034603@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122809 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 22:37:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=122809 Change 122809 by peter@peter_daintree on 2007/07/03 22:36:56 If excluding gssapi headers, don't forget to exclude the library. Affected files ... .. //depot/projects/hammer/lib/Makefile#61 edit Differences ... ==== //depot/projects/hammer/lib/Makefile#61 (text+ko) ==== @@ -31,7 +31,7 @@ libbegemot ${_libbluetooth} libbsnmp libbz2 \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libedit libexpat libfetch libftpio libgeom ${_libgpib} \ - libgssapi libipsec \ + ${_libgssapi} libipsec \ ${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \ ${_libncp} ${_libngatm} libopie libpam libpcap \ libpmc ${_libpthread} librt ${_libsdp} ${_libsm} ${_libsmb} \ @@ -123,4 +123,8 @@ _libgpib= libgpib .endif +.if ${MK_KERBEROS} != "no" +_libgssapi= libgssapi +.endif + .include From owner-p4-projects@FreeBSD.ORG Tue Jul 3 22:37:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF42B16A531; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8120916A4E2 for ; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7015413C48C for ; Tue, 3 Jul 2007 22:37:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63Mbiee034613 for ; Tue, 3 Jul 2007 22:37:44 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63Mbiqr034609 for perforce@freebsd.org; Tue, 3 Jul 2007 22:37:44 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 22:37:44 GMT Message-Id: <200707032237.l63Mbiqr034609@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 22:37:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=122810 Change 122810 by peter@peter_daintree on 2007/07/03 22:37:30 Oops. i386 uses both SYSCALL() and RSYSCALL(), unlike amd64 which just uses RSYSCALL. Affected files ... .. //depot/projects/hammer/lib/libc/i386/SYS.h#5 edit Differences ... ==== //depot/projects/hammer/lib/libc/i386/SYS.h#5 (text+ko) ==== @@ -36,15 +36,16 @@ #include #include -#define RSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ +#define SYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(x); \ .set CNAME(x),CNAME(__CONCAT(__sys_,x)); \ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ - mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b; ret + mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b +#define RSYSCALL(x) SYSCALL(x); ret -#define PSEUDO(x) 2: PIC_PROLOGUE; jmp mp PIC_PLT(HIDENAME(cerror)); \ +#define PSEUDO(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ ENTRY(__CONCAT(__sys_,x)); \ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ From owner-p4-projects@FreeBSD.ORG Tue Jul 3 22:58:20 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0800116A46D; Tue, 3 Jul 2007 22:58:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A3D9216A468 for ; Tue, 3 Jul 2007 22:58:19 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 91D2813C459 for ; Tue, 3 Jul 2007 22:58:19 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63MwJEe036043 for ; Tue, 3 Jul 2007 22:58:19 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63MwAEl036038 for perforce@freebsd.org; Tue, 3 Jul 2007 22:58:10 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 22:58:10 GMT Message-Id: <200707032258.l63MwAEl036038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122811 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 22:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=122811 Change 122811 by peter@peter_daintree on 2007/07/03 22:57:37 IFC @122807 Affected files ... .. //depot/projects/hammer/ObsoleteFiles.inc#29 integrate .. //depot/projects/hammer/UPDATING#103 integrate .. //depot/projects/hammer/bin/ed/Makefile#11 integrate .. //depot/projects/hammer/contrib/netcat/netcat.c#4 integrate .. //depot/projects/hammer/contrib/pf/authpf/authpf.8#5 integrate .. //depot/projects/hammer/contrib/pf/authpf/authpf.c#6 integrate .. //depot/projects/hammer/contrib/pf/ftp-proxy/filter.c#1 branch .. //depot/projects/hammer/contrib/pf/ftp-proxy/filter.h#1 branch .. //depot/projects/hammer/contrib/pf/ftp-proxy/ftp-proxy.8#5 integrate .. //depot/projects/hammer/contrib/pf/ftp-proxy/ftp-proxy.c#5 integrate .. //depot/projects/hammer/contrib/pf/ftp-proxy/getline.c#3 delete .. //depot/projects/hammer/contrib/pf/ftp-proxy/util.c#4 delete .. //depot/projects/hammer/contrib/pf/ftp-proxy/util.h#3 delete .. //depot/projects/hammer/contrib/pf/libevent/buffer.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/evbuffer.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/event-internal.h#1 branch .. //depot/projects/hammer/contrib/pf/libevent/event.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/event.h#1 branch .. //depot/projects/hammer/contrib/pf/libevent/evsignal.h#1 branch .. //depot/projects/hammer/contrib/pf/libevent/kqueue.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/log.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/log.h#1 branch .. //depot/projects/hammer/contrib/pf/libevent/poll.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/select.c#1 branch .. //depot/projects/hammer/contrib/pf/libevent/signal.c#1 branch .. //depot/projects/hammer/contrib/pf/man/pf.4#8 integrate .. //depot/projects/hammer/contrib/pf/man/pf.conf.5#12 integrate .. //depot/projects/hammer/contrib/pf/man/pf.os.5#5 integrate .. //depot/projects/hammer/contrib/pf/man/pflog.4#6 integrate .. //depot/projects/hammer/contrib/pf/man/pfsync.4#10 integrate .. //depot/projects/hammer/contrib/pf/pfctl/parse.y#6 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pf_print_state.c#4 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl.8#5 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl.c#5 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl.h#5 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_altq.c#7 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_optimize.c#2 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_osfp.c#4 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_parser.c#6 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_parser.h#5 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_radix.c#4 integrate .. //depot/projects/hammer/contrib/pf/pfctl/pfctl_table.c#6 integrate .. //depot/projects/hammer/contrib/pf/pflogd/pflogd.8#5 integrate .. //depot/projects/hammer/contrib/pf/pflogd/pflogd.c#9 integrate .. //depot/projects/hammer/contrib/pf/pflogd/pflogd.h#2 integrate .. //depot/projects/hammer/contrib/pf/pflogd/privsep.c#3 integrate .. //depot/projects/hammer/contrib/pf/tftp-proxy/filter.c#1 branch .. //depot/projects/hammer/contrib/pf/tftp-proxy/filter.h#1 branch .. //depot/projects/hammer/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch .. //depot/projects/hammer/contrib/pf/tftp-proxy/tftp-proxy.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/externs.h#2 integrate .. //depot/projects/hammer/contrib/traceroute/traceroute.c#9 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#45 integrate .. //depot/projects/hammer/include/Makefile#67 integrate .. //depot/projects/hammer/lib/libc/net/sctp_sys_calls.c#7 integrate .. //depot/projects/hammer/lib/libipsec/Makefile#11 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_dump_policy.c#4 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_set_policy.3#9 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_strerror.3#7 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/hammer/lib/libipsec/pfkey.c#4 integrate .. //depot/projects/hammer/lib/libipsec/pfkey_dump.c#7 integrate .. //depot/projects/hammer/lib/libipsec/policy_parse.y#3 integrate .. //depot/projects/hammer/lib/libipsec/policy_token.l#4 integrate .. //depot/projects/hammer/lib/libipsec/test-policy.c#3 integrate .. //depot/projects/hammer/libexec/Makefile#32 integrate .. //depot/projects/hammer/libexec/ftp-proxy/Makefile#3 delete .. //depot/projects/hammer/libexec/tftp-proxy/Makefile#1 branch .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate .. //depot/projects/hammer/release/i386/fixit_crunch.conf#9 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient-script#11 integrate .. //depot/projects/hammer/sbin/pfctl/Makefile#7 integrate .. //depot/projects/hammer/sbin/ping/ping.c#22 integrate .. //depot/projects/hammer/sbin/ping6/Makefile#6 integrate .. //depot/projects/hammer/sbin/ping6/ping6.c#10 integrate .. //depot/projects/hammer/sbin/setkey/Makefile#4 integrate .. //depot/projects/hammer/sbin/setkey/parse.y#3 integrate .. //depot/projects/hammer/sbin/setkey/setkey.c#2 integrate .. //depot/projects/hammer/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/hammer/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/hammer/sbin/setkey/token.l#3 integrate .. //depot/projects/hammer/share/man/man4/ath.4#34 integrate .. //depot/projects/hammer/share/man/man4/ieee80211.4#7 integrate .. //depot/projects/hammer/share/man/man4/msk.4#3 integrate .. //depot/projects/hammer/share/man/man4/wi.4#28 integrate .. //depot/projects/hammer/share/man/man7/hier.7#35 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_ioctl.9#5 integrate .. //depot/projects/hammer/share/misc/committers-ports.dot#4 integrate .. //depot/projects/hammer/share/mk/sys.mk#23 integrate .. //depot/projects/hammer/sys/Makefile#16 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#161 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#96 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#100 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#43 integrate .. //depot/projects/hammer/sys/conf/NOTES#121 integrate .. //depot/projects/hammer/sys/conf/files#153 integrate .. //depot/projects/hammer/sys/conf/files.amd64#92 integrate .. //depot/projects/hammer/sys/conf/files.arm#9 integrate .. //depot/projects/hammer/sys/conf/files.i386#78 integrate .. //depot/projects/hammer/sys/conf/files.ia64#39 integrate .. //depot/projects/hammer/sys/conf/files.pc98#61 integrate .. //depot/projects/hammer/sys/conf/files.powerpc#23 integrate .. //depot/projects/hammer/sys/conf/files.sparc64#41 integrate .. //depot/projects/hammer/sys/conf/files.sun4v#3 integrate .. //depot/projects/hammer/sys/conf/options#108 integrate .. //depot/projects/hammer/sys/contrib/altq/altq/altq_cbq.c#4 integrate .. //depot/projects/hammer/sys/contrib/altq/altq/altq_hfsc.c#3 integrate .. //depot/projects/hammer/sys/contrib/altq/altq/altq_priq.c#3 integrate .. //depot/projects/hammer/sys/contrib/altq/altq/altq_red.c#3 integrate .. //depot/projects/hammer/sys/contrib/pf/net/if_pflog.c#19 integrate .. //depot/projects/hammer/sys/contrib/pf/net/if_pflog.h#8 integrate .. //depot/projects/hammer/sys/contrib/pf/net/if_pfsync.c#26 integrate .. //depot/projects/hammer/sys/contrib/pf/net/if_pfsync.h#7 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#30 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_if.c#9 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_ioctl.c#24 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/hammer/sys/contrib/pf/net/pf_norm.c#13 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_osfp.c#5 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/hammer/sys/contrib/pf/net/pf_subr.c#3 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_table.c#6 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pfvar.h#13 integrate .. //depot/projects/hammer/sys/crypto/via/padlock.c#6 integrate .. //depot/projects/hammer/sys/dev/isp/isp.c#26 integrate .. //depot/projects/hammer/sys/dev/isp/isp_freebsd.h#22 integrate .. //depot/projects/hammer/sys/dev/isp/isp_library.c#7 integrate .. //depot/projects/hammer/sys/dev/isp/ispvar.h#20 integrate .. //depot/projects/hammer/sys/dev/snp/snp.c#22 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac_private.h#5 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97_patch.c#9 integrate .. //depot/projects/hammer/sys/dev/usb/umass.c#45 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#81 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_int.h#4 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#51 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC#54 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#90 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#93 integrate .. //depot/projects/hammer/sys/kern/kern_conf.c#44 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#69 integrate .. //depot/projects/hammer/sys/kern/kern_lockf.c#15 integrate .. //depot/projects/hammer/sys/kern/kern_priv.c#3 integrate .. //depot/projects/hammer/sys/kern/subr_smp.c#30 integrate .. //depot/projects/hammer/sys/kern/sysv_sem.c#27 integrate .. //depot/projects/hammer/sys/kern/tty_pts.c#6 integrate .. //depot/projects/hammer/sys/kern/tty_pty.c#34 integrate .. //depot/projects/hammer/sys/kern/tty_tty.c#13 integrate .. //depot/projects/hammer/sys/kern/uipc_syscalls.c#63 integrate .. //depot/projects/hammer/sys/modules/ipfw/Makefile#9 integrate .. //depot/projects/hammer/sys/modules/pf/Makefile#13 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#64 integrate .. //depot/projects/hammer/sys/net/if_ppp.c#30 integrate .. //depot/projects/hammer/sys/net/pfkeyv2.h#8 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_radiotap.h#9 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#49 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.h#34 integrate .. //depot/projects/hammer/sys/netinet/in_proto.c#23 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#83 integrate .. //depot/projects/hammer/sys/netinet/ip_icmp.c#34 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#66 integrate .. //depot/projects/hammer/sys/netinet/ip_ipsec.c#5 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#64 integrate .. //depot/projects/hammer/sys/netinet/raw_ip.c#48 integrate .. //depot/projects/hammer/sys/netinet/sctp_indata.c#10 integrate .. //depot/projects/hammer/sys/netinet/sctp_input.c#9 integrate .. //depot/projects/hammer/sys/netinet/sctp_input.h#5 integrate .. //depot/projects/hammer/sys/netinet/sctp_os_bsd.h#9 integrate .. //depot/projects/hammer/sys/netinet/sctp_output.c#9 integrate .. //depot/projects/hammer/sys/netinet/sctp_pcb.c#9 integrate .. //depot/projects/hammer/sys/netinet/sctp_usrreq.c#9 integrate .. //depot/projects/hammer/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/hammer/sys/netinet/sctputil.c#11 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#74 integrate .. //depot/projects/hammer/sys/netinet/tcp_output.c#43 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#66 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#43 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#48 integrate .. //depot/projects/hammer/sys/netinet6/ah.h#5 delete .. //depot/projects/hammer/sys/netinet6/ah6.h#4 delete .. //depot/projects/hammer/sys/netinet6/ah_aesxcbcmac.c#5 delete .. //depot/projects/hammer/sys/netinet6/ah_aesxcbcmac.h#3 delete .. //depot/projects/hammer/sys/netinet6/ah_core.c#13 delete .. //depot/projects/hammer/sys/netinet6/ah_input.c#8 delete .. //depot/projects/hammer/sys/netinet6/ah_output.c#9 delete .. //depot/projects/hammer/sys/netinet6/esp.h#4 delete .. //depot/projects/hammer/sys/netinet6/esp6.h#3 delete .. //depot/projects/hammer/sys/netinet6/esp_aesctr.c#6 delete .. //depot/projects/hammer/sys/netinet6/esp_aesctr.h#3 delete .. //depot/projects/hammer/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/hammer/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/hammer/sys/netinet6/esp_core.c#11 delete .. //depot/projects/hammer/sys/netinet6/esp_input.c#11 delete .. //depot/projects/hammer/sys/netinet6/esp_rijndael.c#7 delete .. //depot/projects/hammer/sys/netinet6/esp_rijndael.h#5 delete .. //depot/projects/hammer/sys/netinet6/icmp6.c#29 integrate .. //depot/projects/hammer/sys/netinet6/in6.h#17 integrate .. //depot/projects/hammer/sys/netinet6/in6_pcb.c#30 integrate .. //depot/projects/hammer/sys/netinet6/in6_proto.c#18 integrate .. //depot/projects/hammer/sys/netinet6/ip6_forward.c#18 integrate .. //depot/projects/hammer/sys/netinet6/ip6_input.c#31 integrate .. //depot/projects/hammer/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/hammer/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/hammer/sys/netinet6/ip6_output.c#43 integrate .. //depot/projects/hammer/sys/netinet6/ipcomp.h#3 delete .. //depot/projects/hammer/sys/netinet6/ipcomp6.h#3 delete .. //depot/projects/hammer/sys/netinet6/ipcomp_core.c#6 delete .. //depot/projects/hammer/sys/netinet6/ipcomp_input.c#6 delete .. //depot/projects/hammer/sys/netinet6/ipcomp_output.c#6 delete .. //depot/projects/hammer/sys/netinet6/ipsec.c#22 delete .. //depot/projects/hammer/sys/netinet6/ipsec.h#9 delete .. //depot/projects/hammer/sys/netinet6/ipsec6.h#6 delete .. //depot/projects/hammer/sys/netinet6/nd6.c#31 integrate .. //depot/projects/hammer/sys/netinet6/nd6_nbr.c#22 integrate .. //depot/projects/hammer/sys/netinet6/raw_ip6.c#30 integrate .. //depot/projects/hammer/sys/netinet6/sctp6_usrreq.c#9 integrate .. //depot/projects/hammer/sys/netinet6/udp6_output.c#17 integrate .. //depot/projects/hammer/sys/netinet6/udp6_usrreq.c#27 integrate .. //depot/projects/hammer/sys/netipsec/ipsec.c#18 integrate .. //depot/projects/hammer/sys/netipsec/ipsec.h#12 integrate .. //depot/projects/hammer/sys/netipsec/ipsec6.h#3 integrate .. //depot/projects/hammer/sys/netipsec/ipsec_mbuf.c#8 integrate .. //depot/projects/hammer/sys/netipsec/ipsec_output.c#11 integrate .. //depot/projects/hammer/sys/netipsec/key.c#17 integrate .. //depot/projects/hammer/sys/netipsec/key_debug.c#5 integrate .. //depot/projects/hammer/sys/netipsec/keysock.c#14 integrate .. //depot/projects/hammer/sys/netipsec/xform_ah.c#12 integrate .. //depot/projects/hammer/sys/netipsec/xform_ipip.c#11 integrate .. //depot/projects/hammer/sys/netkey/key.c#25 delete .. //depot/projects/hammer/sys/netkey/key.h#5 delete .. //depot/projects/hammer/sys/netkey/key_debug.c#8 delete .. //depot/projects/hammer/sys/netkey/key_debug.h#5 delete .. //depot/projects/hammer/sys/netkey/key_var.h#4 delete .. //depot/projects/hammer/sys/netkey/keydb.c#8 delete .. //depot/projects/hammer/sys/netkey/keydb.h#7 delete .. //depot/projects/hammer/sys/netkey/keysock.c#17 delete .. //depot/projects/hammer/sys/netkey/keysock.h#5 delete .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#43 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#28 integrate .. //depot/projects/hammer/sys/security/audit/audit.c#9 integrate .. //depot/projects/hammer/sys/security/audit/audit_bsm.c#9 integrate .. //depot/projects/hammer/sys/sys/conf.h#41 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#60 integrate .. //depot/projects/hammer/sys/sys/param.h#88 integrate .. //depot/projects/hammer/sys/sys/systm.h#47 integrate .. //depot/projects/hammer/sys/ufs/ufs/dir.h#5 integrate .. //depot/projects/hammer/sys/vm/vm_pageout.c#44 integrate .. //depot/projects/hammer/tools/tools/tinybsd/conf/bridge/tinybsd.basefiles#3 integrate .. //depot/projects/hammer/tools/tools/tinybsd/conf/default/tinybsd.basefiles#3 integrate .. //depot/projects/hammer/tools/tools/tinybsd/conf/wireless/tinybsd.basefiles#3 integrate .. //depot/projects/hammer/tools/tools/tinybsd/conf/wrap/tinybsd.basefiles#3 integrate .. //depot/projects/hammer/usr.bin/netstat/Makefile#14 integrate .. //depot/projects/hammer/usr.bin/netstat/ipsec.c#7 integrate .. //depot/projects/hammer/usr.bin/netstat/main.c#23 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.h#17 integrate .. //depot/projects/hammer/usr.bin/netstat/pfkey.c#3 integrate .. //depot/projects/hammer/usr.bin/telnet/Makefile#9 integrate .. //depot/projects/hammer/usr.sbin/Makefile#78 integrate .. //depot/projects/hammer/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c#6 integrate .. //depot/projects/hammer/usr.sbin/ftp-proxy/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/ftp-proxy/Makefile.inc#1 branch .. //depot/projects/hammer/usr.sbin/ftp-proxy/ftp-proxy/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/ftp-proxy/libevent/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/inetd/Makefile#8 integrate .. //depot/projects/hammer/usr.sbin/inetd/inetd.c#19 integrate .. //depot/projects/hammer/usr.sbin/rrenumd/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/rrenumd/rrenumd.c#4 integrate .. //depot/projects/hammer/usr.sbin/traceroute6/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/traceroute6/traceroute6.c#10 integrate .. //depot/projects/hammer/usr.sbin/wicontrol/Makefile#3 delete .. //depot/projects/hammer/usr.sbin/wicontrol/wicontrol.8#15 delete .. //depot/projects/hammer/usr.sbin/wicontrol/wicontrol.c#11 delete Differences ... ==== //depot/projects/hammer/ObsoleteFiles.inc#29 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.97 2007/06/25 05:06:52 rafan Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.102 2007/07/03 13:06:45 mlaier 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,30 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070703: pf 4.1 import +OLD_FILES+=usr/libexec/ftp-proxy +# 20070701: KAME IPSec removal +OLD_FILES+=usr/include/netinet6/ah.h +OLD_FILES+=usr/include/netinet6/ah6.h +OLD_FILES+=usr/include/netinet6/ah_aesxcbcmac.h +OLD_FILES+=usr/include/netinet6/esp.h +OLD_FILES+=usr/include/netinet6/esp6.h +OLD_FILES+=usr/include/netinet6/esp_aesctr.h +OLD_FILES+=usr/include/netinet6/esp_camellia.h +OLD_FILES+=usr/include/netinet6/esp_rijndael.h +OLD_FILES+=usr/include/netinet6/ipsec.h +OLD_FILES+=usr/include/netinet6/ipsec6.h +OLD_FILES+=usr/include/netinet6/ipcomp.h +OLD_FILES+=usr/include/netinet6/ipcomp6.h +OLD_FILES+=usr/include/netkey/key.h +OLD_FILES+=usr/include/netkey/key_debug.h +OLD_FILES+=usr/include/netkey/key_var.h +OLD_FILES+=usr/include/netkey/keydb.h +OLD_FILES+=usr/include/netkey/keysock.h +OLD_DIRS+=usr/include/netkey +# 20070701: remove wicontrol +OLD_FILES+=usr/sbin/wicontrol +OLD_FILES+=usr/share/man/man8/wicontrol.8.gz # 20070625: umapfs removal OLD_FILES+=rescue/mount_umapfs OLD_FILES+=sbin/mount_umapfs @@ -3589,7 +3613,6 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/hammer/UPDATING#103 (text+ko) ==== @@ -21,6 +21,26 @@ developers choose to disable these features on build machines to maximize performance. +20070702: + The packet filter (pf) code has been updated to OpenBSD 4.1 Please + note the changed syntax - keep state is now on by default. Also + note the fact that ftp-proxy(8) has been changed from bottom up and + has been moved from libexec to usr/sbin. Changes in the ALTQ + handling also affect users of IPFW's ALTQ capabilities. + +20070701: + Remove KAME IPsec in favor of FAST_IPSEC, which is now the + only IPsec supported by FreeBSD. The new IPsec stack + supports both IPv4 and IPv6. The kernel option will change + after the code changes have settled in. For now the kernel + option IPSEC is deprecated and FAST_IPSEC is the only option, that + will change after some settling time. + +20070701: + The wicontrol(8) utility has been removed from the base system. wi(4) + cards should be configured using ifconfig(8), see the man page for more + information. + 20070612: By default, /etc/rc.d/sendmail no longer rebuilds the aliases database if it is missing or older than the aliases file. If @@ -857,4 +877,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ +$FreeBSD: src/UPDATING,v 1.500 2007/07/03 13:06:44 mlaier Exp $ ==== //depot/projects/hammer/bin/ed/Makefile#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/ed/Makefile,v 1.32 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/ed/Makefile,v 1.33 2007/07/02 14:00:25 kensmith Exp $ .include @@ -7,11 +7,13 @@ LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 +.if !defined(RELEASE_CRUNCH) .if ${MK_OPENSSL} != "no" CFLAGS+=-DDES WARNS?= 2 DPADD= ${LIBCRYPTO} LDADD= -lcrypto .endif +.endif .include ==== //depot/projects/hammer/contrib/netcat/netcat.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.5 2007/03/28 01:57:03 delphij Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.6 2007/07/01 12:08:04 gnn Exp $ */ /* @@ -42,7 +42,7 @@ #include #include #ifdef IPSEC -#include +#include #endif #include #include ==== //depot/projects/hammer/contrib/pf/authpf/authpf.8#5 (text+ko) ==== @@ -1,29 +1,19 @@ -.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.2 2006/03/28 15:26:16 mlaier Exp $ -.\" $OpenBSD: authpf.8,v 1.38 2005/01/04 09:57:04 jmc Exp $ +.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.3 2007/07/03 12:30:00 mlaier Exp $ +.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ .\" -.\" Copyright (c) 2002 Bob Beck (beck@openbsd.org>. All rights reserved. +.\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd March 28, 2006 .Dt AUTHPF 8 @@ -230,8 +220,11 @@ hijack the session. Note that TCP keepalives are not sufficient for this, since they are not secure. -Also note that +Also note that the various SSH tunnelling mechanisms, +such as .Ar AllowTcpForwarding +and +.Ar PermitTunnel , should be disabled for .Nm users to prevent them from circumventing restrictions imposed by the @@ -429,8 +422,7 @@ external_if = "xl0" internal_if = "fxp0" -pass in log quick on $internal_if proto tcp from $user_ip to any \e - keep state +pass in log quick on $internal_if proto tcp from $user_ip to any pass in quick on $internal_if from $user_ip to any .Ed .Pp @@ -445,16 +437,15 @@ # rdr ftp for proxying by ftp-proxy(8) rdr on $internal_if proto tcp from $user_ip to any port 21 \e - -> 127.0.0.1 port 8081 + -> 127.0.0.1 port 8021 # allow out ftp, ssh, www and https only, and allow user to negotiate # ipsec with the ipsec server. pass in log quick on $internal_if proto tcp from $user_ip to any \e - port { 21, 22, 80, 443 } flags S/SA + port { 21, 22, 80, 443 } pass in quick on $internal_if proto tcp from $user_ip to any \e port { 21, 22, 80, 443 } -pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp \e - keep state +pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp pass in quick proto esp from $user_ip to $ipsec_gw .Ed .Pp @@ -469,7 +460,7 @@ # nat and tag connections... nat on $ext_if from $user_ip to any tag $user_ip -> $ext_addr pass in quick on $int_if from $user_ip to any -pass out log quick on $ext_if tagged $user_ip keep state +pass out log quick on $ext_if tagged $user_ip .Ed .Pp With the above rules added by @@ -495,7 +486,7 @@ .Bd -literal table persist pass in on $ext_if proto tcp from \e - to port { smtp imap } keep state + to port { smtp imap } .Ed .Pp It is also possible to use the "authpf_users" @@ -522,6 +513,7 @@ .Xr pf 4 , .Xr pf.conf 5 , .Xr fdescfs 5 , +.Xr securelevel 7 , .Xr ftp-proxy 8 .Sh HISTORY The ==== //depot/projects/hammer/contrib/pf/authpf/authpf.c#6 (text+ko) ==== @@ -1,32 +1,23 @@ -/* $OpenBSD: authpf.c,v 1.89 2005/02/10 04:24:15 joel Exp $ */ +/* $OpenBSD: authpf.c,v 1.104 2007/02/24 17:35:08 beck Exp $ */ /* - * Copyright (C) 1998 - 2002 Bob Beck (beck@openbsd.org). + * Copyright (C) 1998 - 2007 Bob Beck (beck@openbsd.org). * - * 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. + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * 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. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include -__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.7 2005/12/25 22:57:08 mlaier Exp $"); +__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.8 2007/07/03 12:30:01 mlaier Exp $"); #include #include @@ -56,15 +47,13 @@ #include "pathnames.h" -extern int symset(const char *, const char *, int); - static int read_config(FILE *); static void print_message(char *); static int allowed_luser(char *); static int check_luser(char *, char *); static int remove_stale_rulesets(void); static int change_filter(int, const char *, const char *); -static int change_table(int, const char *, const char *); +static int change_table(int, const char *); static void authpf_kill_states(void); int dev; /* pf device */ @@ -73,7 +62,6 @@ char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; FILE *pidfp; -char *infile; /* file name printed by yyerror() in parse.y */ char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -102,11 +90,16 @@ struct in6_addr ina; struct passwd *pw; char *cp; + gid_t gid; uid_t uid; char *shell; login_cap_t *lc; config = fopen(PATH_CONFFILE, "r"); + if (config == NULL) { + syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + exit(1); + } if ((cp = getenv("SSH_TTY")) == NULL) { syslog(LOG_ERR, "non-interactive session connection for authpf"); @@ -143,7 +136,6 @@ uid = getuid(); pw = getpwuid(uid); - endpwent(); if (pw == NULL) { syslog(LOG_ERR, "cannot find user for uid %u", uid); goto die; @@ -256,6 +248,8 @@ if (++lockcnt > 10) { syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", otherpid); + fclose(pidfp); + pidfp = NULL; goto dogdeath; } sleep(1); @@ -265,12 +259,22 @@ * it's lock, giving us a chance to get it now */ fclose(pidfp); + pidfp = NULL; } while (1); + + /* whack the group list */ + gid = getegid(); + if (setgroups(1, &gid) == -1) { + syslog(LOG_INFO, "setgroups: %s", strerror(errno)); + do_death(0); + } /* revoke privs */ - seteuid(getuid()); - setuid(getuid()); - + uid = getuid(); + if (setresuid(uid, uid, uid) == -1) { + syslog(LOG_INFO, "setresuid: %s", strerror(errno)); + do_death(0); + } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { @@ -278,8 +282,8 @@ do_death(0); } - if (config == NULL || read_config(config)) { - syslog(LOG_INFO, "bad or nonexistent %s", PATH_CONFFILE); + if (read_config(config)) { + syslog(LOG_ERR, "invalid config file %s", PATH_CONFFILE); do_death(0); } @@ -298,7 +302,7 @@ printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, luser, ipsrc) == -1) { + if (change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); @@ -309,7 +313,7 @@ signal(SIGALRM, need_death); signal(SIGPIPE, need_death); signal(SIGHUP, need_death); - signal(SIGSTOP, need_death); + signal(SIGQUIT, need_death); signal(SIGTSTP, need_death); while (1) { printf("\r\nHello %s. ", luser); @@ -559,9 +563,11 @@ while (fputs(tmp, stdout) != EOF && !feof(f)) { if (fgets(tmp, sizeof(tmp), f) == NULL) { fflush(stdout); + fclose(f); return (0); } } + fclose(f); } fflush(stdout); return (0); @@ -645,6 +651,7 @@ char *fdpath = NULL, *userstr = NULL, *ipstr = NULL; char *rsn = NULL, *fn = NULL; pid_t pid; + gid_t gid; int s; if (luser == NULL || !luser[0] || ipsrc == NULL || !ipsrc[0]) { @@ -684,8 +691,14 @@ switch (pid = fork()) { case -1: - err(1, "fork failed"); + syslog(LOG_ERR, "fork failed"); + goto error; case 0: + /* revoke group privs before exec */ + gid = getgid(); + if (setregid(gid, gid) == -1) { + err(1, "setregid"); + } execvp(PATH_PFCTL, pargv); warn("exec of %s failed", PATH_PFCTL); _exit(1); @@ -694,10 +707,8 @@ /* parent */ waitpid(pid, &s, 0); if (s != 0) { - if (WIFEXITED(s)) { - syslog(LOG_ERR, "pfctl exited abnormally"); - goto error; - } + syslog(LOG_ERR, "pfctl exited abnormally"); + goto error; } if (add) { @@ -718,16 +729,10 @@ syslog(LOG_ERR, "malloc failed"); error: free(fdpath); - fdpath = NULL; free(rsn); - rsn = NULL; free(userstr); - userstr = NULL; free(ipstr); - ipstr = NULL; free(fn); - fn = NULL; - infile = NULL; return (-1); } @@ -735,13 +740,14 @@ * Add/remove this IP from the "authpf_users" table. */ static int -change_table(int add, const char *luser, const char *ipsrc) +change_table(int add, const char *ipsrc) { struct pfioc_table io; struct pfr_addr addr; bzero(&io, sizeof(io)); - strlcpy(io.pfrio_table.pfrt_name, tablename, sizeof(io.pfrio_table)); + strlcpy(io.pfrio_table.pfrt_name, tablename, + sizeof(io.pfrio_table.pfrt_name)); io.pfrio_buffer = &addr; io.pfrio_esize = sizeof(addr); io.pfrio_size = 1; @@ -834,13 +840,11 @@ if (active) { change_filter(0, luser, ipsrc); - change_table(0, luser, ipsrc); + change_table(0, ipsrc); authpf_kill_states(); remove_stale_rulesets(); } - if (pidfp) - ftruncate(fileno(pidfp), 0); - if (pidfile[0]) + if (pidfile[0] && (pidfp != NULL)) if (unlink(pidfile) == -1) syslog(LOG_ERR, "cannot unlink %s (%m)", pidfile); exit(ret); ==== //depot/projects/hammer/contrib/pf/ftp-proxy/ftp-proxy.8#5 (text+ko) ==== @@ -1,295 +1,185 @@ -.\" $OpenBSD: ftp-proxy.8,v 1.42 2004/11/19 00:47:23 jmc Exp $ +.\" $OpenBSD: ftp-proxy.8,v 1.7 2006/12/30 13:01:54 camield Exp $ .\" -.\" Copyright (c) 1996-2001 -.\" Obtuse Systems Corporation, All rights reserved. +.\" Copyright (c) 2004, 2005 Camiel Dobbelaar, .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED BY OBTUSE SYSTEMS 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 OBTUSE 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/contrib/pf/ftp-proxy/ftp-proxy.8,v 1.4 2005/05/03 16:55:19 mlaier Exp $ +.\" $FreeBSD: src/contrib/pf/ftp-proxy/ftp-proxy.8,v 1.5 2007/07/03 12:30:01 mlaier Exp $ .\" -.Dd August 17, 2001 +.Dd November 28, 2004 .Dt FTP-PROXY 8 .Os .Sh NAME .Nm ftp-proxy -.Nd Internet File Transfer Protocol proxy server +.Nd Internet File Transfer Protocol proxy daemon .Sh SYNOPSIS .Nm ftp-proxy -.Bk -words -.Op Fl AnrVw +.Op Fl 6Adrv .Op Fl a Ar address -.Op Fl D Ar debuglevel -.Op Fl g Ar group -.Op Fl M Ar maxport -.Op Fl m Ar minport -.Op Fl R Ar address[:port] -.Op Fl S Ar address +.Op Fl b Ar address +.Op Fl D Ar level +.Op Fl m Ar maxsessions +.Op Fl P Ar port +.Op Fl p Ar port +.Op Fl q Ar queue +.Op Fl R Ar address .Op Fl t Ar timeout -.Op Fl u Ar user -.Ek .Sh DESCRIPTION .Nm is a proxy for the Internet File Transfer Protocol. -The proxy uses +FTP control connections should be redirected into the proxy using the .Xr pf 4 -and expects to have the FTP control connection as described in -.Xr services 5 -redirected to it via a +.Ar rdr +command, after which the proxy connects to the server on behalf of +the client. +.Pp +The proxy allows data connections to pass, rewriting and redirecting +them so that the right addresses are used. +All connections from the client to the server have their source +address rewritten so they appear to come from the proxy. +Consequently, all connections from the server to the proxy have +their destination address rewritten, so they are redirected to the +client. +The proxy uses the .Xr pf 4 -.Em rdr -command. -An example of how to do that is further down in this document. +.Ar anchor +facility for this. +.Pp +Assuming the FTP control connection is from $client to $server, the +proxy connected to the server using the $proxy source address, and +$port is negotiated, then +.Nm ftp-proxy +adds the following rules to the various anchors. +(These example rules use inet, but the proxy also supports inet6.) +.Pp +In case of active mode (PORT or EPRT): +.Bd -literal -offset 2n +rdr from $server to $proxy port $port -> $client +pass quick inet proto tcp \e + from $server to $client port $port +.Ed +.Pp +In case of passive mode (PASV or EPSV): +.Bd -literal -offset 2n +nat from $client to $server port $port -> $proxy +pass in quick inet proto tcp \e + from $client to $server port $port +pass out quick inet proto tcp \e + from $proxy to $server port $port +.Ed .Pp The options are as follows: .Bl -tag -width Ds +.It Fl 6 +IPv6 mode. +The proxy will expect and use IPv6 addresses for all communication. +Only the extended FTP modes EPSV and EPRT are allowed with IPv6. +The proxy is in IPv4 mode by default. .It Fl A -Permit only anonymous FTP connections. -The proxy will allow connections to log in to other sites as the user -.Qq ftp -or -.Qq anonymous -only. -Any attempt to log in as another user will be blocked by the proxy. +Only permit anonymous FTP connections. +Either user "ftp" or user "anonymous" is allowed. .It Fl a Ar address -Specify the local IP address to use in -.Xr bind 2 -as the source for connections made by -.Nm ftp-proxy -when connecting to destination FTP servers. -This may be necessary if the interface address of -your default route is not reachable from the destinations -.Nm -is attempting connections to, or this address is different from the one -connections are being NATed to. -In the usual case this means that -.Ar address -should be a publicly visible IP address assigned to one of -the interfaces on the machine running -.Nm -and should be the same address to which you are translating traffic -if you are using the -.Fl n -option. -.It Fl D Ar debuglevel -Specify a debug level, where the proxy emits verbose debug output -into -.Xr syslogd 8 -at level -.Dv LOG_DEBUG . -Meaningful values of debuglevel are 0-3, where 0 is no debug output and -3 is lots of debug output, the default being 0. -.It Fl g Ar group -Specify the named group to drop group privileges to, after doing -.Xr pf 4 -lookups which require root. -By default, -.Nm -uses the default group of the user it drops privilege to. -.It Fl M Ar maxport -Specify the upper end of the port range the proxy will use for the -data connections it establishes. -The default is -.Dv IPPORT_HILASTAUTO -defined in -.Aq Pa netinet/in.h -as 65535. -.It Fl m Ar minport -Specify the lower end of the port range the proxy will use for all -data connections it establishes. -The default is -.Dv IPPORT_HIFIRSTAUTO -defined in -.Aq Pa netinet/in.h -as 49152. -.It Fl n -Activate network address translation -.Pq NAT -mode. -In this mode, the proxy will not attempt to proxy passive mode -.Pq PASV or EPSV -data connections. -In order for this to work, the machine running the proxy will need to -be forwarding packets and doing network address translation to allow -the outbound passive connections from the client to reach the server. -See -.Xr pf.conf 5 -for more details on NAT. -The proxy only ignores passive mode data connections when using this flag; -it will still proxy PORT and EPRT mode data connections. -Without this flag, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 3 23:05:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1E2116A469; Tue, 3 Jul 2007 23:05:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6E6B716A421 for ; Tue, 3 Jul 2007 23:05:29 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5F4C813C4CE for ; Tue, 3 Jul 2007 23:05:29 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63N5TnB038002 for ; Tue, 3 Jul 2007 23:05:29 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63N5TLC037999 for perforce@freebsd.org; Tue, 3 Jul 2007 23:05:29 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 23:05:29 GMT Message-Id: <200707032305.l63N5TLC037999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122812 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 23:05:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122812 Change 122812 by peter@peter_daintree on 2007/07/03 23:05:25 IFC @122807 Affected files ... .. //depot/projects/hammer/contrib/pf/pflogd/pidfile.c#5 integrate .. //depot/projects/hammer/contrib/pf/pflogd/pidfile.h#2 integrate Differences ... ==== //depot/projects/hammer/contrib/pf/pflogd/pidfile.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/pf/pflogd/pidfile.c,v 1.4 2005/05/03 16:55:20 mlaier Exp $ */ +/* $FreeBSD: src/contrib/pf/pflogd/pidfile.c,v 1.6 2007/07/03 14:08:49 mlaier Exp $ */ /* $OpenBSD: pidfile.c,v 1.5 2002/05/26 09:29:02 deraadt Exp $ */ /* $NetBSD: pidfile.c,v 1.4 2001/02/19 22:43:42 cgd Exp $ */ ==== //depot/projects/hammer/contrib/pf/pflogd/pidfile.h#2 (text+ko) ==== @@ -1,1 +1,3 @@ +/* $FreeBSD: src/contrib/pf/pflogd/pidfile.h,v 1.3 2007/07/03 14:08:49 mlaier Exp $ */ + int pidfile(const char *); From owner-p4-projects@FreeBSD.ORG Tue Jul 3 23:18:48 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB50016A469; Tue, 3 Jul 2007 23:18:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A813416A421 for ; Tue, 3 Jul 2007 23:18:47 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 98CCF13C458 for ; Tue, 3 Jul 2007 23:18:47 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l63NIlEl040518 for ; Tue, 3 Jul 2007 23:18:47 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l63NIll4040515 for perforce@freebsd.org; Tue, 3 Jul 2007 23:18:47 GMT (envelope-from peter@freebsd.org) Date: Tue, 3 Jul 2007 23:18:47 GMT Message-Id: <200707032318.l63NIll4040515@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2007 23:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=122814 Change 122814 by peter@peter_daintree on 2007/07/03 23:18:27 Chase freebsd_version bumps Affected files ... .. //depot/projects/hammer/lib/libc/sys/ftruncate.c#8 edit .. //depot/projects/hammer/lib/libc/sys/lseek.c#8 edit .. //depot/projects/hammer/lib/libc/sys/mmap.c#9 edit .. //depot/projects/hammer/lib/libc/sys/pread.c#8 edit .. //depot/projects/hammer/lib/libc/sys/pwrite.c#8 edit .. //depot/projects/hammer/lib/libc/sys/truncate.c#8 edit .. //depot/projects/hammer/sys/sys/param.h#89 edit Differences ... ==== //depot/projects/hammer/lib/libc/sys/ftruncate.c#8 (text+ko) ==== @@ -48,7 +48,7 @@ off_t length; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return(__sys_ftruncate(fd, length)); else return(__sys_freebsd6_ftruncate(fd, 0, length)); ==== //depot/projects/hammer/lib/libc/sys/lseek.c#8 (text+ko) ==== @@ -49,7 +49,7 @@ int whence; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return(__sys_lseek(fd, offset, whence)); else return(__sys_freebsd6_lseek(fd, 0, offset, whence)); ==== //depot/projects/hammer/lib/libc/sys/mmap.c#9 (text+ko) ==== @@ -53,7 +53,7 @@ off_t offset; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return (__sys_mmap(addr, len, prot, flags, fd, offset)); else ==== //depot/projects/hammer/lib/libc/sys/pread.c#8 (text+ko) ==== @@ -50,7 +50,7 @@ off_t offset; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return (__sys_pread(fd, buf, nbyte, offset)); else return (__sys_freebsd6_pread(fd, buf, nbyte, 0, offset)); ==== //depot/projects/hammer/lib/libc/sys/pwrite.c#8 (text+ko) ==== @@ -49,7 +49,7 @@ size_t nbyte; off_t offset; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return (__sys_pwrite(fd, buf, nbyte, offset)); else return (__sys_freebsd6_pwrite(fd, buf, nbyte, 0, offset)); ==== //depot/projects/hammer/lib/libc/sys/truncate.c#8 (text+ko) ==== @@ -48,7 +48,7 @@ off_t length; { - if (__getosreldate() >= 700049) + if (__getosreldate() >= 700050) return(__sys_truncate(path, length)); else return(__sys_freebsd6_truncate(path, 0, length)); ==== //depot/projects/hammer/sys/sys/param.h#89 (text+ko) ==== @@ -57,7 +57,7 @@ * is created, otherwise 1. */ #undef __FreeBSD_version -#define __FreeBSD_version 700049 /* Master, propagated to newvers */ +#define __FreeBSD_version 700050 /* Master, propagated to newvers */ #ifndef LOCORE #include From owner-p4-projects@FreeBSD.ORG Wed Jul 4 00:48:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2574916A473; Wed, 4 Jul 2007 00:48:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0368816A46B for ; Wed, 4 Jul 2007 00:48:43 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E88D513C45E for ; Wed, 4 Jul 2007 00:48:42 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l640mghx058131 for ; Wed, 4 Jul 2007 00:48:42 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l640mglh058127 for perforce@freebsd.org; Wed, 4 Jul 2007 00:48:42 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 4 Jul 2007 00:48:42 GMT Message-Id: <200707040048.l640mglh058127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 00:48:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=122818 Change 122818 by zec@zec_tca51 on 2007/07/04 00:48:04 Populate the vimage_0 struct eariler in the boot process. Before this change, an SMP kernel with options AUDIT compiled in would hang at first fork1() invocation. Affected files ... .. //depot/projects/vimage/src/sys/sys/kernel.h#6 edit Differences ... ==== //depot/projects/vimage/src/sys/sys/kernel.h#6 (text+ko) ==== @@ -120,12 +120,12 @@ SI_SUB_MAC = 0x2180000, /* TrustedBSD MAC subsystem */ SI_SUB_MAC_POLICY = 0x21C0000, /* TrustedBSD MAC policies */ SI_SUB_MAC_LATE = 0x21D0000, /* TrustedBSD MAC subsystem */ + SI_SUB_VIMAGE = 0x21E0000, /* vimage 0 */ SI_SUB_INTRINSIC = 0x2200000, /* proc 0*/ SI_SUB_VM_CONF = 0x2300000, /* config VM, set limits*/ SI_SUB_RUN_QUEUE = 0x2400000, /* set up run queue*/ SI_SUB_KTRACE = 0x2480000, /* ktrace */ SI_SUB_AUDIT = 0x24C0000, /* audit */ - SI_SUB_VIMAGE = 0x24E0000, /* vimage XXX */ SI_SUB_CREATE_INIT = 0x2500000, /* create init process*/ SI_SUB_SCHED_IDLE = 0x2600000, /* required idle procs */ SI_SUB_MBUF = 0x2700000, /* mbuf subsystem */ From owner-p4-projects@FreeBSD.ORG Wed Jul 4 00:50:46 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FE4516A421; Wed, 4 Jul 2007 00:50:46 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0C8AC16A46F for ; Wed, 4 Jul 2007 00:50:46 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D939F13C46C for ; Wed, 4 Jul 2007 00:50:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l640ojog058277 for ; Wed, 4 Jul 2007 00:50:45 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l640ojvk058274 for perforce@freebsd.org; Wed, 4 Jul 2007 00:50:45 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 4 Jul 2007 00:50:45 GMT Message-Id: <200707040050.l640ojvk058274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122819 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 00:50:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=122819 Change 122819 by zec@zec_tpx32 on 2007/07/04 00:49:56 We should now boot fine to SMP with AUDIT compiled in, so nuke nooptions AUDIT from the VIMAGE config file. Affected files ... .. //depot/projects/vimage/src/sys/i386/conf/VIMAGE#9 edit Differences ... ==== //depot/projects/vimage/src/sys/i386/conf/VIMAGE#9 (text+ko) ==== @@ -14,4 +14,3 @@ # from the configuration for now. # nooptions SCTP -nooptions AUDIT From owner-p4-projects@FreeBSD.ORG Wed Jul 4 01:33:40 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E334316A468; Wed, 4 Jul 2007 01:33:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B6C6616A41F for ; Wed, 4 Jul 2007 01:33:39 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A79B613C458 for ; Wed, 4 Jul 2007 01:33:39 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l641XdPJ062432 for ; Wed, 4 Jul 2007 01:33:39 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l641XdlB062429 for perforce@freebsd.org; Wed, 4 Jul 2007 01:33:39 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 01:33:39 GMT Message-Id: <200707040133.l641XdlB062429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 01:33:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=122821 Change 122821 by rpaulo@rpaulo_epsilon on 2007/07/04 01:33:12 When an interrupt from the Sudden Motion Sensor occurs call devctl_notify() so that we can turn off (standby, suspend) the disks. This is useful because it allows you to prevent disk damage. A taskqueue is now created to handle this (devctl_notify() can't be called directly from an interrupt handler). Reviewed by: attilio Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#15 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#6 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#15 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#14 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#15 $ * */ @@ -42,10 +42,12 @@ #include #include #include +#include #include #include #include #include +#include #include @@ -80,7 +82,7 @@ static int asmc_sms_intr(void *); static void asmc_sms_fastintr(void *); static void asmc_sms_printintr(device_t, uint8_t); - +static void asmc_sms_task(void *, int); /* * Model functions. */ @@ -365,6 +367,22 @@ "Sudden Motion Sensor Z value"); /* + * Need a taskqueue to send devctl_notify() events + * when the SMS interrupt us. + * + * PI_REALTIME is used due to the sensitivity of the + * interrupt. An interrupt from the SMS means that the + * disk heads should be turned off as quickly as possible. + */ + TASK_INIT(&sc->sms_task, 0, asmc_sms_task, sc); + sc->sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, + taskqueue_thread_enqueue, + &sc->sms_tq); + taskqueue_start_threads(&sc->sms_tq, 1, PI_REALTIME, "%s sms taskq", + device_get_nameunit(dev)); + + + /* * Allocate an IRQ for the SMS. */ sc->sc_rid = 0; @@ -372,6 +390,7 @@ ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); + taskqueue_free(sc->sms_tq); goto out; } @@ -406,6 +425,11 @@ sysctl_ctx_free(&sc->sc_sysctl_ctx); + if (sc->sms_tq) { + taskqueue_drain(sc->sms_tq, &sc->sms_task); + taskqueue_free(sc->sms_tq); + } + if (sc->sc_cookie) bus_teardown_intr(dev, sc->sc_res, sc->sc_cookie); if (sc->sc_res) @@ -773,7 +797,9 @@ type = inb(ASMC_INTPORT); mtx_unlock_spin(&sc->sc_mtx); + sc->sms_intrtype = type; asmc_sms_printintr(dev, type); + taskqueue_enqueue(sc->sms_tq, &sc->sms_task); return (FILTER_HANDLED); } @@ -789,7 +815,9 @@ type = inb(ASMC_INTPORT); mtx_unlock_spin(&sc->sc_mtx); + sc->sms_intrtype = type; asmc_sms_printintr(dev, type); + taskqueue_enqueue_fast(sc->sms_tq, &sc->sms_task); } @@ -812,6 +840,32 @@ } } +static void +asmc_sms_task(void *arg, int pending) +{ + struct asmc_softc *sc = (struct asmc_softc *)arg; + char notify[16]; + int type; + + switch (sc->sms_intrtype) { + case ASMC_SMS_INTFF: + type = 0; + break; + case ASMC_SMS_INTHA: + type = 1; + break; + case ASMC_SMS_INTSH: + type = 2; + break; + default: + type = 255; + } + + snprintf(notify, sizeof(notify) - 1, " notify=0x%x", type); + + devctl_notify("ISA", "asmc", "SMS", notify); +} + static int asmc_mb_sysctl_sms_x(SYSCTL_HANDLER_ARGS) { ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#6 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#5 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#6 $ * */ @@ -50,6 +50,10 @@ int sc_rid; struct resource *sc_res; void *sc_cookie; + + int sms_intrtype; + struct taskqueue *sms_tq; + struct task sms_task; }; struct asmc_model { From owner-p4-projects@FreeBSD.ORG Wed Jul 4 01:59:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 376A516A468; Wed, 4 Jul 2007 01:59:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E307516A421 for ; Wed, 4 Jul 2007 01:59:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D0F9913C480 for ; Wed, 4 Jul 2007 01:59:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l641xFZ7063959 for ; Wed, 4 Jul 2007 01:59:15 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l641xDcw063953 for perforce@freebsd.org; Wed, 4 Jul 2007 01:59:13 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 01:59:13 GMT Message-Id: <200707040159.l641xDcw063953@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122823 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 01:59:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=122823 Change 122823 by rpaulo@rpaulo_epsilon on 2007/07/04 01:58:27 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/pmap.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/cam_xpt.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/scsi/scsi_da.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#16 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.arm#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.ia64#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.pc98#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.powerpc#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.sparc64#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.sun4v#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.amd64#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.i386#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.pc98#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/altq/altq/altq_cbq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/altq/altq/altq_hfsc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/altq/altq/altq_priq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/altq/altq/altq_red.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/if_pflog.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/if_pfsync.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/crypto/via/padlock.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipw/if_ipw.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_library.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/ispvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/if_nxge.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/if_nxge.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/build-version.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/version.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgell-version.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/snp/snp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/hda/hdac_private.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/ac97_patch.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axe.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axereg.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_cdce.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_ural.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uark.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ugen.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uhub.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umass.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umodem.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ums.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_port.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_subr.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdi.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdi.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/wi/if_wi.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_fifoops.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_uma.c#3 delete .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_uma.h#3 delete .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/GENERIC#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/NOTES#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/pmap.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/driver/i4b_ipr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/driver/i4b_isppp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_conf.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_descrip.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_malloc.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_priv.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_smp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_sem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty_pts.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty_pty.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty_tty.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/ipfw/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/nxge/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/pf/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/tmpfs/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ethersubr.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ppp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/pfkeyv2.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/_ieee80211.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_input.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netatalk/aarp.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netatalk/ddp.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_proto.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw2.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_icmp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_input.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_ipsec.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_output.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_os_bsd.h#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_var.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_input.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_output.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/udp_usrreq.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah6.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah_core.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah_input.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ah_output.c#3 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp6.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_aesctr.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_aesctr.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_camellia.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_camellia.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_core.c#3 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_input.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_output.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_rijndael.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/esp_rijndael.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/icmp6.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_pcb.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_proto.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_forward.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_input.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipcomp.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipcomp6.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipcomp_core.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipcomp_input.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipcomp_output.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipsec.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipsec.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ipsec6.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/nd6.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/raw_ip6.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec6.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/key.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/key_debug.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/keysock.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/xform_ah.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/xform_ipip.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netkey/key.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/key.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/key_debug.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/key_debug.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/key_var.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/keydb.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/keydb.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/keysock.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netkey/keysock.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/conf/NOTES#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_arg.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_bsm.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/conf.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/mbuf.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/param.h#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/systm.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/dir.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageout.c#8 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.588 2007/06/17 04:27:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.589 2007/07/01 07:08:25 alc Exp $"); /* * Manages physical address maps. @@ -210,7 +210,8 @@ vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free); -static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde); +static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, + vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); @@ -1895,10 +1896,9 @@ * Remove a single page from a process address space */ static void -pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde) +pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, vm_page_t *free) { pt_entry_t *pte; - vm_page_t free = NULL; PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((*pde & PG_V) == 0) @@ -1906,9 +1906,8 @@ pte = pmap_pde_to_pte(pde, va); if ((*pte & PG_V) == 0) return; - pmap_remove_pte(pmap, pte, va, *pde, &free); + pmap_remove_pte(pmap, pte, va, *pde, free); pmap_invalidate_page(pmap, va); - pmap_free_zero_pages(free); } /* @@ -1947,7 +1946,7 @@ if (sva + PAGE_SIZE == eva) { pde = pmap_pde(pmap, sva); if (pde && (*pde & PG_PS) == 0) { - pmap_remove_page(pmap, sva, pde); + pmap_remove_page(pmap, sva, pde, &free); goto out; } } @@ -2018,12 +2017,11 @@ } } out: - if (anyvalid) { + if (anyvalid) pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); - } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* @@ -3003,9 +3001,9 @@ } } pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* ==== //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC#5 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.482 2007/06/14 17:14:25 delphij Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ cpu HAMMER ident GENERIC @@ -75,6 +75,9 @@ # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel +# CPU frequency control +device cpufreq + # Bus support. device acpi device pci ==== //depot/projects/soc2007/rpaulo-macbook/amd64/conf/NOTES#3 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.65 2007/05/09 15:55:45 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.68 2007/07/04 00:18:38 bz Exp $ # # @@ -542,9 +542,9 @@ #XXX#device i4bipr #XXX#options NI4BIPR=4 # enable VJ header compression detection for ipr i/f -options IPR_VJ +#XXX#options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) -options IPR_LOG=32 +#XXX#options IPR_LOG=32 # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured ==== //depot/projects/soc2007/rpaulo-macbook/cam/cam_xpt.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.189 2007/06/17 05:55:53 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.190 2007/06/30 14:58:56 imp Exp $"); #include #include @@ -620,6 +620,18 @@ CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0 }, { + /* + * Western Digital My Book 250GB (USB) + * hangs upon serial number probing. + * PR: 107495 + */ + { + T_DIRECT, SIP_MEDIA_FIXED, "WD", + "2500JB External", "*" + }, + CAM_QUIRK_NOSERIAL, /*mintags*/0, /*maxtags*/0 + }, + { /* Default tagged queuing parameters for all devices */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, ==== //depot/projects/soc2007/rpaulo-macbook/cam/scsi/scsi_da.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.215 2007/06/16 18:22:19 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.224 2007/07/01 17:42:07 imp Exp $"); #include @@ -457,6 +457,14 @@ }, { /* + * iRiver U10 MP3 player + * PR: usb/92306 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "U10*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * X-Micro Flash Disk * PR: usb/96901 */ @@ -471,6 +479,62 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EM732X", "MP3 Player*", "1.0"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * Denver MP3 player + * PR: usb/107101 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "DENVER", "MP3 PLAYER", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * Philips USB Key Audio KEY013 + * PR: usb/68412 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "PHILIPS", "Key*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT + }, + { + /* + * JNC MP3 Player + * PR: usb/94439 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "JNC*" , "MP3 Player*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * SAMSUNG MP0402H + * PR: usb/108427 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "MP0402H", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * I/O Magic USB flash - Giga Bank + * PR: usb/108810 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "GS-Magic", "stor*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * JoyFly 128mb USB Flash Drive + * PR: 96133 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB 2.0", "Flash Disk*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * ChipsBnk usb stick + * PR: 103702 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ChipsBnk", "USB*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1437 2007/06/27 02:34:22 rafan Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1440 2007/07/03 12:13:42 gnn Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -496,8 +496,7 @@ options INET #Internet communications protocols options INET6 #IPv6 communications protocols options IPSEC #IP security -options IPSEC_ESP #IP security (crypto; define w/ IPSEC) -options IPSEC_DEBUG #debug for IP security +#options IPSEC_DEBUG #debug for IP security # # Set IPSEC_FILTERGIF to force packets coming through a gif tunnel # to be processed by any configured packet filtering (ipfw, ipf). @@ -509,8 +508,6 @@ # #options IPSEC_FILTERGIF #filter ipsec packets from a tunnel -#options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) - options IPX #IPX/SPX communications protocols options NCP #NetWare Core protocol @@ -786,7 +783,7 @@ device pfsync #synchronization interface for PF options PF_MPSAFE_UGID #Workaround LOR with user/group rules device carp #Common Address Redundancy Protocol -device enc #IPSec interface (needs FAST_IPSEC) +device enc #IPsec interface device ppp #Point-to-point protocol options PPP_BSDCOMP #PPP BSD-compress support options PPP_DEFLATE #PPP zlib/deflate/gzip support @@ -880,8 +877,8 @@ # carried in TCP option 19. This option is commonly used to protect # TCP sessions (e.g. BGP) where IPSEC is not available nor desirable. # This is enabled on a per-socket basis using the TCP_MD5SIG socket option. -# This requires the use of 'device crypto', 'options FAST_IPSEC' or 'options -# IPSEC', and 'device cryptodev'. +# This requires the use of 'device crypto', 'options IPSEC' +# or 'device cryptodev'. #options TCP_SIGNATURE #include support for RFC 2385 # DUMMYNET enables the "dummynet" bandwidth limiter. You need IPFIREWALL @@ -1905,6 +1902,7 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device le # AMD Am7900 LANCE and Am79C9xx PCnet +device nxge # Neterion Xframe 10GbE Server/Storage Adapter device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') @@ -2518,7 +2516,7 @@ # crypto subsystem # # This is a port of the OpenBSD crypto framework. Include this when -# configuring FAST_IPSEC and when you have a h/w crypto device to accelerate +# configuring IPSEC and when you have a h/w crypto device to accelerate # user applications that link to OpenSSL. # # Drivers are ports from OpenBSD with some simple enhancements that have ==== //depot/projects/soc2007/rpaulo-macbook/conf/files#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1223 2007/06/25 05:06:55 rafan Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1231 2007/07/04 00:18:38 bz Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -327,23 +327,25 @@ compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_if.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" -contrib/pf/net/pf_subr.c optional pf \ - compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_ioctl.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_norm.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" +contrib/pf/net/pf_osfp.c optional pf \ + compile-with "${NORMAL_C} -I$S/contrib/pf" +contrib/pf/net/pf_ruleset.c optional pf \ + compile-with "${NORMAL_C} -I$S/contrib/pf" +contrib/pf/net/pf_subr.c optional pf \ + compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_table.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" -contrib/pf/net/pf_osfp.c optional pf \ - compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/netinet/in4_cksum.c optional pf inet -crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp -crypto/blowfish/bf_skey.c optional crypto | ipsec ipsec_esp -crypto/camellia/camellia.c optional crypto | ipsec ipsec_esp -crypto/camellia/camellia-api.c optional crypto | ipsec ipsec_esp -crypto/des/des_ecb.c optional crypto | ipsec ipsec_esp | netsmb -crypto/des/des_setkey.c optional crypto | ipsec ipsec_esp | netsmb +crypto/blowfish/bf_ecb.c optional ipsec +crypto/blowfish/bf_skey.c optional crypto | ipsec +crypto/camellia/camellia.c optional crypto | ipsec +crypto/camellia/camellia-api.c optional crypto | ipsec +crypto/des/des_ecb.c optional crypto | ipsec | netsmb +crypto/des/des_setkey.c optional crypto | ipsec | netsmb crypto/rc4/rc4.c optional netgraph_mppc_encryption crypto/rijndael/rijndael-alg-fst.c optional crypto | geom_bde | \ ipsec | random | wlan_ccmp @@ -811,6 +813,17 @@ dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard dev/nge/if_nge.c optional nge +dev/nxge/if_nxge.c optional nxge +dev/nxge/xgehal/xgehal-device.c optional nxge +dev/nxge/xgehal/xgehal-mm.c optional nxge +dev/nxge/xgehal/xge-queue.c optional nxge +dev/nxge/xgehal/xgehal-driver.c optional nxge +dev/nxge/xgehal/xgehal-ring.c optional nxge +dev/nxge/xgehal/xgehal-channel.c optional nxge +dev/nxge/xgehal/xgehal-fifo.c optional nxge +dev/nxge/xgehal/xgehal-stats.c optional nxge +dev/nxge/xgehal/xgehal-config.c optional nxge +dev/nxge/xgehal/xgehal-mgmt.c optional nxge dev/nmdm/nmdm.c optional nmdm dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp pccard @@ -1207,7 +1220,6 @@ fs/tmpfs/tmpfs_fifoops.c optional tmpfs fs/tmpfs/tmpfs_vfsops.c optional tmpfs fs/tmpfs/tmpfs_subr.c optional tmpfs -fs/tmpfs/tmpfs_uma.c optional tmpfs gdb/gdb_cons.c optional gdb gdb/gdb_main.c optional gdb gdb/gdb_packet.c optional gdb @@ -1298,11 +1310,11 @@ i4b/driver/i4b_trace.c optional i4btrc i4b/driver/i4b_rbch.c optional i4brbch i4b/driver/i4b_tel.c optional i4btel -i4b/driver/i4b_ipr.c optional i4bipr +#XXXBZ#i4b/driver/i4b_ipr.c optional i4bipr net/slcompress.c optional i4bipr | i4bisppp i4b/driver/i4b_ctl.c optional i4bctl -i4b/driver/i4b_ing.c optional i4bing -i4b/driver/i4b_isppp.c optional i4bisppp +#XXXBZ#i4b/driver/i4b_ing.c optional i4bing +#XXXBZ#i4b/driver/i4b_isppp.c optional i4bisppp # # isdn4bsd CAPI driver # @@ -1575,7 +1587,8 @@ net/if_edsc.c optional edsc net/if_ef.c optional ef net/if_enc.c optional enc -net/if_ethersubr.c optional ether +net/if_ethersubr.c optional ether \ + compile-with "${NORMAL_C} -I$S/contrib/pf" net/if_faith.c optional faith net/if_fddisubr.c optional fddi net/if_fwsubr.c optional fwip @@ -1816,12 +1829,12 @@ netinet/ip_ecn.c optional inet | inet6 netinet/ip_encap.c optional inet | inet6 netinet/ip_fastfwd.c optional inet -netinet/ip_fw2.c optional ipfirewall +netinet/ip_fw2.c optional ipfirewall \ + compile-with "${NORMAL_C} -I$S/contrib/pf" netinet/ip_fw_pfil.c optional ipfirewall netinet/ip_icmp.c optional inet netinet/ip_input.c optional inet netinet/ip_ipsec.c optional ipsec -netinet/ip_ipsec.c optional fast_ipsec netinet/ip_mroute.c optional mrouting inet | mrouting inet6 netinet/ip_options.c optional inet netinet/ip_output.c optional inet @@ -1856,17 +1869,7 @@ netinet/libalias/alias_mod.c optional libalias | netgraph_nat netinet/libalias/alias_proxy.c optional libalias | netgraph_nat netinet/libalias/alias_util.c optional libalias | netgraph_nat -netinet6/ah_aesxcbcmac.c optional ipsec -netinet6/ah_core.c optional ipsec -netinet6/ah_input.c optional ipsec -netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -netinet6/esp_aesctr.c optional ipsec ipsec_esp -netinet6/esp_core.c optional ipsec ipsec_esp -netinet6/esp_input.c optional ipsec ipsec_esp -netinet6/esp_output.c optional ipsec ipsec_esp -netinet6/esp_rijndael.c optional ipsec ipsec_esp -netinet6/esp_camellia.c optional ipsec ipsec_esp netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 netinet6/in6.c optional inet6 @@ -1882,10 +1885,7 @@ netinet6/ip6_input.c optional inet6 netinet6/ip6_mroute.c optional mrouting inet6 netinet6/ip6_output.c optional inet6 -netinet6/ipcomp_core.c optional ipsec -netinet6/ipcomp_input.c optional ipsec -netinet6/ipcomp_output.c optional ipsec -netinet6/ipsec.c optional ipsec +netinet6/ip6_ipsec.c optional ipsec netinet6/mld6.c optional inet6 netinet6/nd6.c optional inet6 netinet6/nd6_nbr.c optional inet6 @@ -1896,18 +1896,18 @@ netinet6/sctp6_usrreq.c optional inet6 sctp netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 -netipsec/ipsec.c optional fast_ipsec -netipsec/ipsec_input.c optional fast_ipsec -netipsec/ipsec_mbuf.c optional fast_ipsec -netipsec/ipsec_output.c optional fast_ipsec -netipsec/key.c optional fast_ipsec -netipsec/key_debug.c optional fast_ipsec -netipsec/keysock.c optional fast_ipsec -netipsec/xform_ah.c optional fast_ipsec -netipsec/xform_esp.c optional fast_ipsec -netipsec/xform_ipcomp.c optional fast_ipsec -netipsec/xform_ipip.c optional fast_ipsec -netipsec/xform_tcp.c optional fast_ipsec tcp_signature +netipsec/ipsec.c optional ipsec +netipsec/ipsec_input.c optional ipsec +netipsec/ipsec_mbuf.c optional ipsec +netipsec/ipsec_output.c optional ipsec +netipsec/key.c optional ipsec +netipsec/key_debug.c optional ipsec +netipsec/keysock.c optional ipsec +netipsec/xform_ah.c optional ipsec +netipsec/xform_esp.c optional ipsec +netipsec/xform_ipcomp.c optional ipsec +netipsec/xform_ipip.c optional ipsec +netipsec/xform_tcp.c optional ipsec tcp_signature netipx/ipx.c optional ipx netipx/ipx_cksum.c optional ipx netipx/ipx_input.c optional ipx @@ -1917,10 +1917,6 @@ netipx/ipx_usrreq.c optional ipx netipx/spx_debug.c optional ipx netipx/spx_usrreq.c optional ipx -netkey/key.c optional ipsec -netkey/key_debug.c optional ipsec -netkey/keydb.c optional ipsec -netkey/keysock.c optional ipsec netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm @@ -1968,7 +1964,7 @@ nfsserver/nfs_srvsubs.c optional nfsserver nfsserver/nfs_syscalls.c optional nfsserver # crypto support -opencrypto/cast.c optional crypto | ipsec ipsec_esp +opencrypto/cast.c optional crypto | ipsec opencrypto/criov.c optional crypto opencrypto/crypto.c optional crypto opencrypto/cryptodev.c optional cryptodev ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#6 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.104 2007/06/11 00:38:05 marcel Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.105 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -135,9 +135,8 @@ amd64/isa/nmi.c standard amd64/pci/pci_bus.c optional pci amd64/pci/pci_cfgreg.c optional pci -crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp -crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ - netsmb +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/acpica/acpi_if.m standard dev/arcmsr/arcmsr.c optional arcmsr pci dev/asmc/asmc.c optional asmc isa ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.arm#2 (text+ko) ==== @@ -1,7 +1,6 @@ -# $FreeBSD: src/sys/conf/files.arm,v 1.14 2006/12/18 05:45:23 mjacob Exp $ -crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp -crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ - netsmb +# $FreeBSD: src/sys/conf/files.arm,v 1.15 2007/07/03 12:13:42 gnn Exp $ +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb arm/arm/autoconf.c standard arm/arm/bcopy_page.S standard arm/arm/bcopyinout.S standard ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#6 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.577 2007/06/11 00:38:05 marcel Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.578 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -132,11 +132,11 @@ contrib/dev/oltr/trlldbm.c optional oltr contrib/dev/oltr/trlldhm.c optional oltr contrib/dev/oltr/trlldmac.c optional oltr -bf_enc.o optional crypto | ipsec ipsec_esp \ +bf_enc.o optional crypto | ipsec \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule -crypto/des/arch/i386/des_enc.S optional crypto | ipsec ipsec_esp | netsmb +crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb crypto/via/padlock.c optional padlock crypto/via/padlock_cipher.c optional padlock crypto/via/padlock_hash.c optional padlock ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.ia64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.91 2007/04/09 14:02:18 kan Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.92 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -42,9 +42,8 @@ contrib/ia64/libuwx/src/uwx_trace.c standard contrib/ia64/libuwx/src/uwx_uinfo.c standard contrib/ia64/libuwx/src/uwx_utable.c standard -crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp -crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ - netsmb +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/advansys/adv_isa.c optional adv isa dev/aic/aic_isa.c optional aic isa dev/atkbdc/atkbd.c optional atkbd atkbdc ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.pc98#4 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.355 2007/06/11 00:38:06 marcel Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.356 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -93,11 +93,11 @@ contrib/dev/oltr/trlldbm.c optional oltr contrib/dev/oltr/trlldhm.c optional oltr contrib/dev/oltr/trlldmac.c optional oltr -bf_enc.o optional crypto | ipsec ipsec_esp \ +bf_enc.o optional crypto | ipsec \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule -crypto/des/arch/i386/des_enc.S optional crypto | ipsec ipsec_esp | netsmb +crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb dev/aic/aic_cbus.c optional aic isa dev/ar/if_ar.c optional ar dev/ar/if_ar_pci.c optional ar pci ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.powerpc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.64 2007/04/06 11:29:52 nyan Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.65 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -75,8 +75,8 @@ powerpc/powerpc/db_hwwatch.c optional ddb powerpc/powerpc/db_trace.c optional ddb -crypto/blowfish/bf_enc.c optional ipsec ipsec_esp -crypto/des/des_enc.c optional ipsec ipsec_esp | netsmb +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/ofw/openfirm.c standard dev/ofw/ofw_bus_if.m standard ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.sparc64#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.91 2007/06/18 21:49:42 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.92 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -32,9 +32,8 @@ no-obj no-implicit-rule before-depend \ clean "opt_ah.h" # -crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp -crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ - netsmb +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/atkbdc/atkbd.c optional atkbd atkbdc dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc dev/atkbdc/atkbdc.c optional atkbdc ==== //depot/projects/soc2007/rpaulo-macbook/conf/files.sun4v#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.10 2007/06/18 21:49:42 marius Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.11 2007/07/03 12:13:42 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -18,9 +18,8 @@ clean "ukbdmap.h" # # -crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp -crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ - netsmb +crypto/blowfish/bf_enc.c optional crypto | ipsec +crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/ofw/ofw_bus_if.m standard dev/ofw/ofw_bus_subr.c standard dev/ofw/ofw_console.c optional ofw_console ==== //depot/projects/soc2007/rpaulo-macbook/conf/options#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.597 2007/06/25 05:06:55 rafan Exp $ +# $FreeBSD: src/sys/conf/options,v 1.599 2007/07/04 00:18:38 bz Exp $ # # On the handling of kernel options # @@ -358,10 +358,8 @@ INET opt_inet.h INET6 opt_inet6.h IPSEC opt_ipsec.h -IPSEC_ESP opt_ipsec.h IPSEC_DEBUG opt_ipsec.h IPSEC_FILTERGIF opt_ipsec.h -FAST_IPSEC opt_ipsec.h IPDIVERT DUMMYNET opt_ipdn.h IPFILTER opt_ipfilter.h @@ -733,9 +731,9 @@ NI4BTRC opt_i4b.h NI4BRBCH opt_i4b.h NI4BTEL opt_i4b.h -NI4BIPR opt_i4b.h -NI4BING opt_i4b.h -NI4BISPPP opt_i4b.h +#XXXBZ#NI4BIPR opt_i4b.h +#XXXBZ#NI4BING opt_i4b.h >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 4 03:28:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBE3F16A473; Wed, 4 Jul 2007 03:28:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ADD0116A46D for ; Wed, 4 Jul 2007 03:28:06 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9E43C13C455 for ; Wed, 4 Jul 2007 03:28:06 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l643S6Od072328 for ; Wed, 4 Jul 2007 03:28:06 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l643S6wp072325 for perforce@freebsd.org; Wed, 4 Jul 2007 03:28:06 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 03:28:06 GMT Message-Id: <200707040328.l643S6wp072325@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 03:28:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122826 Change 122826 by rpaulo@rpaulo_epsilon on 2007/07/04 03:27:20 Style fixes. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#6 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#3 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#5 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#6 $ * */ @@ -49,15 +49,15 @@ #include -static struct backlight_model *backlight_match(device_t); +static struct backlight_model *backlight_match(device_t dev); /* * Device interface. */ -static void backlight_identify(driver_t *, device_t); -static int backlight_probe(device_t); -static int backlight_attach(device_t); -static int backlight_detach(device_t); +static void backlight_identify(driver_t *driver, device_t dev); +static int backlight_probe(device_t dev); +static int backlight_attach(device_t dev); +static int backlight_detach(device_t dev); /* * Backlight modules. @@ -100,7 +100,7 @@ static devclass_t backlight_devclass; DRIVER_MODULE(backlight, vgapci, backlight_driver, backlight_devclass, NULL, - NULL); + NULL); MODULE_DEPEND(backlight, pci, 1, 1, 1); @@ -177,22 +177,23 @@ sysctl_ctx_init(&sc->sc_sysctl_ctx); sc->sc_sysctl_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, - device_get_name(dev), - CTLFLAG_RD, 0, ""); + SYSCTL_STATIC_CHILDREN(_hw), + OID_AUTO, + device_get_name(dev), + CTLFLAG_RD, 0, ""); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sysctl_tree), - OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, - sc, 0, model->bm_enable, "I", - "Turn the backlight on/off"); + SYSCTL_CHILDREN(sc->sc_sysctl_tree), + OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, + sc, 0, model->bm_enable, "I", + "Turn the backlight on/off"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sysctl_tree), - OID_AUTO, "level", CTLTYPE_INT | CTLFLAG_RW, - sc, 0, model->bm_level, "I", - "Brightness level of the backlight"); + SYSCTL_CHILDREN(sc->sc_sysctl_tree), + OID_AUTO, "level", CTLTYPE_INT | CTLFLAG_RW, + sc, 0, model->bm_level, "I", + "Brightness level of the backlight"); + return 0; } ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#3 (text+ko) ==== @@ -23,18 +23,15 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#2 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#3 $ * */ struct backlight_softc { device_t sc_dev; - uint32_t sc_enable; /* turn the backlight on/off */ uint32_t sc_level; /* brightness level */ - struct resource *sc_res; - struct sysctl_ctx_list sc_sysctl_ctx; struct sysctl_oid *sc_sysctl_tree; }; From owner-p4-projects@FreeBSD.ORG Wed Jul 4 03:30:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E811616A4A7; Wed, 4 Jul 2007 03:30:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BACF916A41F for ; Wed, 4 Jul 2007 03:30:09 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AC38E13C43E for ; Wed, 4 Jul 2007 03:30:09 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l643U9Yv072476 for ; Wed, 4 Jul 2007 03:30:09 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l643U9sa072472 for perforce@freebsd.org; Wed, 4 Jul 2007 03:30:09 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 03:30:09 GMT Message-Id: <200707040330.l643U9sa072472@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122827 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 03:30:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=122827 Change 122827 by rpaulo@rpaulo_epsilon on 2007/07/04 03:29:16 Style fixes. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#8 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#7 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#8 $ * */ @@ -52,19 +52,18 @@ struct msrtemp_softc { device_t sc_dev; - struct sysctl_oid *sc_oid; }; /* * Device methods. */ -static void msrtemp_identify(driver_t *, device_t); -static int msrtemp_probe(device_t); -static int msrtemp_attach(device_t); -static int msrtemp_detach(device_t); +static void msrtemp_identify(driver_t *driver, device_t parent); +static int msrtemp_probe(device_t dev); +static int msrtemp_attach(device_t dev); +static int msrtemp_detach(device_t dev); -static int msrtemp_get_temp(int); +static int msrtemp_get_temp(int cpu); static int msrtemp_get_temp_sysctl(SYSCTL_HANDLER_ARGS); static device_method_t msrtemp_methods[] = { @@ -139,12 +138,12 @@ * Add the "temperature" MIB to dev.cpu.N. */ sc->sc_oid = SYSCTL_ADD_PROC(device_get_sysctl_ctx(pdev), - SYSCTL_CHILDREN( - device_get_sysctl_tree(pdev)), - OID_AUTO, "temperature", - CTLTYPE_INT | CTLFLAG_RD, - dev, 0, msrtemp_get_temp_sysctl, "I", - "Current temperature in degC"); + SYSCTL_CHILDREN(device_get_sysctl_tree(pdev)), + OID_AUTO, "temperature", + CTLTYPE_INT | CTLFLAG_RD, + dev, 0, msrtemp_get_temp_sysctl, "I", + "Current temperature in degC"); + return 0; } From owner-p4-projects@FreeBSD.ORG Wed Jul 4 03:32:13 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3DFD116A46D; Wed, 4 Jul 2007 03:32:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E5BD316A468 for ; Wed, 4 Jul 2007 03:32:12 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A009E13C459 for ; Wed, 4 Jul 2007 03:32:12 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l643WC7i072744 for ; Wed, 4 Jul 2007 03:32:12 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l643WCRK072741 for perforce@freebsd.org; Wed, 4 Jul 2007 03:32:12 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 03:32:12 GMT Message-Id: <200707040332.l643WCRK072741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 03:32:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=122828 Change 122828 by rpaulo@rpaulo_epsilon on 2007/07/04 03:31:21 More style fixes. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#7 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#6 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#7 $ * */ @@ -54,17 +54,17 @@ /* * Device interface. */ -static void backlight_identify(driver_t *driver, device_t dev); -static int backlight_probe(device_t dev); -static int backlight_attach(device_t dev); -static int backlight_detach(device_t dev); +static void backlight_identify(driver_t *driver, device_t parent); +static int backlight_probe(device_t dev); +static int backlight_attach(device_t dev); +static int backlight_detach(device_t dev); /* * Backlight modules. */ -static int macbook_attach(device_t); -static int macbook_enable(SYSCTL_HANDLER_ARGS); -static int macbook_level(SYSCTL_HANDLER_ARGS); +static int macbook_attach(device_t); +static int macbook_enable(SYSCTL_HANDLER_ARGS); +static int macbook_level(SYSCTL_HANDLER_ARGS); struct backlight_model backlight_models[] = { { "MacBook1,1", 0x8086, 0x27a2, From owner-p4-projects@FreeBSD.ORG Wed Jul 4 03:43:27 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE2FA16A46C; Wed, 4 Jul 2007 03:43:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 48C3216A41F for ; Wed, 4 Jul 2007 03:43:27 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 38C2513C457 for ; Wed, 4 Jul 2007 03:43:27 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l643hRdD073497 for ; Wed, 4 Jul 2007 03:43:27 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l643hQ2i073492 for perforce@freebsd.org; Wed, 4 Jul 2007 03:43:26 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 4 Jul 2007 03:43:26 GMT Message-Id: <200707040343.l643hQ2i073492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 03:43:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=122829 Change 122829 by rpaulo@rpaulo_epsilon on 2007/07/04 03:42:45 Style fixes. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#16 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#7 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#16 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#15 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#16 $ * */ @@ -62,41 +62,45 @@ * Device interface. */ -static void asmc_identify(driver_t *, device_t); -static int asmc_probe(device_t); -static int asmc_attach(device_t); -static int asmc_detach(device_t); +static void asmc_identify(driver_t *driver, device_t parent); +static int asmc_probe(device_t dev); +static int asmc_attach(device_t dev); +static int asmc_detach(device_t dev); /* * SMC functions. */ -static int asmc_init(device_t); -static int asmc_wait(device_t, uint8_t); -static int asmc_key_write(device_t, const char *, uint8_t *, uint8_t); -static int asmc_key_read(device_t, const char *, uint8_t *, uint8_t); -static int asmc_fan_count(device_t); -static int asmc_fan_getvalue(device_t, const char *, int); -static int asmc_temp_getvalue(device_t, const char *); -static int asmc_sms_read(device_t, const char *, int16_t *); -static void asmc_sms_calibrate(device_t); -static int asmc_sms_intr(void *); -static void asmc_sms_fastintr(void *); -static void asmc_sms_printintr(device_t, uint8_t); -static void asmc_sms_task(void *, int); +static int asmc_init(device_t dev); +static int asmc_wait(device_t dev, uint8_t val); +static int asmc_key_write(device_t dev, const char *key, uint8_t *buf, + uint8_t len); +static int asmc_key_read(device_t dev, const char *key, uint8_t *buf, + uint8_t); +static int asmc_fan_count(device_t dev); +static int asmc_fan_getvalue(device_t dev, const char *key, int fan); +static int asmc_temp_getvalue(device_t dev, const char *key); +static int asmc_sms_read(device_t, const char *key, int16_t *val); +static void asmc_sms_calibrate(device_t dev); +static int asmc_sms_intr(void *arg); +static void asmc_sms_fastintr(void *arg); +static void asmc_sms_printintr(device_t dev, uint8_t); +static void asmc_sms_task(void *arg, int pending); + /* * Model functions. */ -static int asmc_mb_sysctl_fanspeed(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_fansafespeed(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_fanminspeed(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_fanmaxspeed(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_fantargetspeed(SYSCTL_HANDLER_ARGS); -static int asmc_temp_sysctl(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_sms_x(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_sms_y(SYSCTL_HANDLER_ARGS); -static int asmc_mb_sysctl_sms_z(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_fanspeed(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_fansafespeed(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_fanminspeed(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_fanmaxspeed(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_fantargetspeed(SYSCTL_HANDLER_ARGS); +static int asmc_temp_sysctl(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_sms_x(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_sms_y(SYSCTL_HANDLER_ARGS); +static int asmc_mb_sysctl_sms_z(SYSCTL_HANDLER_ARGS); -static struct asmc_model *asmc_match(device_t); +static struct asmc_model * + asmc_match(device_t dev); #define ASMC_SMS_FUNCS asmc_mb_sysctl_sms_x, asmc_mb_sysctl_sms_y, \ asmc_mb_sysctl_sms_z @@ -253,21 +257,20 @@ */ sysctl_ctx_init(&sc->sc_sysctl_ctx); sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, - device_get_name(dev), - CTLFLAG_RD, 0, - device_get_desc(dev)); + SYSCTL_STATIC_CHILDREN(_hw), + OID_AUTO, + device_get_name(dev), + CTLFLAG_RD, 0, + device_get_desc(dev)); /* * hw.asmc.fan.* tree. */ sc->sc_fan_tree[0] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, - "fan", - CTLFLAG_RD, 0, - "Fan Root Tree"); + SYSCTL_CHILDREN(sc->sc_root_tree), + OID_AUTO, "fan", + CTLFLAG_RD, 0, + "Fan Root Tree"); for (i = 1; i <= sc->sc_nfan; i++) { j = i - 1; @@ -275,45 +278,44 @@ name[1] = 0; sc->sc_fan_tree[i] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[0]), - OID_AUTO, - name, - CTLFLAG_RD, 0, - "Fan Subtree"); + SYSCTL_CHILDREN(sc->sc_fan_tree[0]), + OID_AUTO, name, + CTLFLAG_RD, 0, + "Fan Subtree"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "speed", CTLTYPE_INT | CTLFLAG_RD, - dev, j, model->smc_fan_speed, "I", - "Fan speed in RPM"); + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "speed", CTLTYPE_INT | CTLFLAG_RD, + dev, j, model->smc_fan_speed, "I", + "Fan speed in RPM"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "safespeed", - CTLTYPE_INT | CTLFLAG_RD, - dev, j, model->smc_fan_safespeed, "I", - "Fan safe speed in RPM"); + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "safespeed", + CTLTYPE_INT | CTLFLAG_RD, + dev, j, model->smc_fan_safespeed, "I", + "Fan safe speed in RPM"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "minspeed", - CTLTYPE_INT | CTLFLAG_RD, - dev, j, model->smc_fan_minspeed, "I", - "Fan minimum speed in RPM"); + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "minspeed", + CTLTYPE_INT | CTLFLAG_RD, + dev, j, model->smc_fan_minspeed, "I", + "Fan minimum speed in RPM"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "maxspeed", - CTLTYPE_INT | CTLFLAG_RD, - dev, j, model->smc_fan_maxspeed, "I", - "Fan maximum speed in RPM"); + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "maxspeed", + CTLTYPE_INT | CTLFLAG_RD, + dev, j, model->smc_fan_maxspeed, "I", + "Fan maximum speed in RPM"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "targetspeed", - CTLTYPE_INT | CTLFLAG_RD, - dev, j, model->smc_fan_targetspeed, "I", - "Fan target speed in RPM"); + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "targetspeed", + CTLTYPE_INT | CTLFLAG_RD, + dev, j, model->smc_fan_targetspeed, "I", + "Fan target speed in RPM"); } /* @@ -321,19 +323,18 @@ */ sc->sc_temp_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, - "temp", - CTLFLAG_RD, 0, - "Temperature sensors"); + SYSCTL_CHILDREN(sc->sc_root_tree), + OID_AUTO, "temp", + CTLFLAG_RD, 0, + "Temperature sensors"); for (i = 0; model->smc_temps[i]; i++) { SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_temp_tree), - OID_AUTO, model->smc_tempnames[i], - CTLTYPE_INT | CTLFLAG_RD, - dev, i, asmc_temp_sysctl, "I", - model->smc_tempdescs[i]); + SYSCTL_CHILDREN(sc->sc_temp_tree), + OID_AUTO, model->smc_tempnames[i], + CTLTYPE_INT | CTLFLAG_RD, + dev, i, asmc_temp_sysctl, "I", + model->smc_tempdescs[i]); } if (model->smc_sms_x == NULL) @@ -343,28 +344,27 @@ * hw.asmc.sms tree. */ sc->sc_sms_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, - "sms", - CTLFLAG_RD, 0, - "Sudden Motion Sensor"); + SYSCTL_CHILDREN(sc->sc_root_tree), + OID_AUTO, "sms", + CTLFLAG_RD, 0, + "Sudden Motion Sensor"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sms_tree), - OID_AUTO, "x", CTLTYPE_INT | CTLFLAG_RD, - dev, 0, model->smc_sms_x, "I", - "Sudden Motion Sensor X value"); + SYSCTL_CHILDREN(sc->sc_sms_tree), + OID_AUTO, "x", CTLTYPE_INT | CTLFLAG_RD, + dev, 0, model->smc_sms_x, "I", + "Sudden Motion Sensor X value"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sms_tree), - OID_AUTO, "y", CTLTYPE_INT | CTLFLAG_RD, - dev, 0, model->smc_sms_y, "I", - "Sudden Motion Sensor Y value"); + SYSCTL_CHILDREN(sc->sc_sms_tree), + OID_AUTO, "y", CTLTYPE_INT | CTLFLAG_RD, + dev, 0, model->smc_sms_y, "I", + "Sudden Motion Sensor Y value"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sms_tree), - OID_AUTO, "z", CTLTYPE_INT | CTLFLAG_RD, - dev, 0, model->smc_sms_z, "I", - "Sudden Motion Sensor Z value"); + SYSCTL_CHILDREN(sc->sc_sms_tree), + OID_AUTO, "z", CTLTYPE_INT | CTLFLAG_RD, + dev, 0, model->smc_sms_z, "I", + "Sudden Motion Sensor Z value"); /* * Need a taskqueue to send devctl_notify() events @@ -376,10 +376,10 @@ */ TASK_INIT(&sc->sms_task, 0, asmc_sms_task, sc); sc->sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, - taskqueue_thread_enqueue, - &sc->sms_tq); + taskqueue_thread_enqueue, + &sc->sms_tq); taskqueue_start_threads(&sc->sms_tq, 1, PI_REALTIME, "%s sms taskq", - device_get_nameunit(dev)); + device_get_nameunit(dev)); /* @@ -387,7 +387,7 @@ */ sc->sc_rid = 0; sc->sc_res = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->sc_rid, - ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); + ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); taskqueue_free(sc->sms_tq); @@ -395,14 +395,14 @@ } ret = bus_setup_intr(dev, sc->sc_res, - INTR_TYPE_MISC | INTR_MPSAFE, - asmc_sms_intr, NULL, dev, &sc->sc_cookie); + INTR_TYPE_MISC | INTR_MPSAFE, + asmc_sms_intr, NULL, dev, &sc->sc_cookie); if (ret) { ret = bus_setup_intr(dev, sc->sc_res, - INTR_TYPE_MISC | INTR_MPSAFE, - NULL, asmc_sms_fastintr, dev, - &sc->sc_cookie); + INTR_TYPE_MISC | INTR_MPSAFE, + NULL, asmc_sms_fastintr, dev, + &sc->sc_cookie); if (ret == 0) device_printf(dev, "unable to setup fast interrupt. " "Using normal mode.\n"); @@ -410,8 +410,7 @@ if (ret) { device_printf(dev, "unable to setup SMS IRQ\n"); - bus_release_resource(dev, SYS_RES_IRQ, sc->sc_rid, - sc->sc_res); + bus_release_resource(dev, SYS_RES_IRQ, sc->sc_rid, sc->sc_res); } out: ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#7 (text+ko) ==== @@ -23,42 +23,36 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#6 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#7 $ * */ #define ASMC_MAXFANS 2 struct asmc_softc { - device_t sc_dev; - struct mtx sc_mtx; - - int sc_nfan; - - int16_t sms_rest_x; - int16_t sms_rest_y; - int16_t sms_rest_z; - + device_t sc_dev; + struct mtx sc_mtx; + int sc_nfan; + int16_t sms_rest_x; + int16_t sms_rest_y; + int16_t sms_rest_z; struct sysctl_ctx_list sc_sysctl_ctx; - struct sysctl_oid *sc_root_tree; - struct sysctl_oid *sc_fan_tree[ASMC_MAXFANS+1]; - struct sysctl_oid *sc_temp_tree; - struct sysctl_oid *sc_sms_tree; - - struct asmc_model *sc_model; - - int sc_rid; - struct resource *sc_res; - void *sc_cookie; - - int sms_intrtype; - struct taskqueue *sms_tq; - struct task sms_task; + struct sysctl_oid *sc_root_tree; + struct sysctl_oid *sc_fan_tree[ASMC_MAXFANS+1]; + struct sysctl_oid *sc_temp_tree; + struct sysctl_oid *sc_sms_tree; + struct asmc_model *sc_model; + int sc_rid; + struct resource *sc_res; + void *sc_cookie; + int sms_intrtype; + struct taskqueue *sms_tq; + struct task sms_task; }; struct asmc_model { - const char *smc_model; /* smbios.system.product env var. */ - const char *smc_desc; /* driver description */ + const char *smc_model; /* smbios.system.product env var. */ + const char *smc_desc; /* driver description */ /* Helper functions */ int (*smc_sms_x)(SYSCTL_HANDLER_ARGS); @@ -70,9 +64,9 @@ int (*smc_fan_maxspeed)(SYSCTL_HANDLER_ARGS); int (*smc_fan_targetspeed)(SYSCTL_HANDLER_ARGS); - const char *smc_temps[8]; - const char *smc_tempnames[8]; - const char *smc_tempdescs[8]; + const char *smc_temps[8]; + const char *smc_tempnames[8]; + const char *smc_tempdescs[8]; }; /* From owner-p4-projects@FreeBSD.ORG Wed Jul 4 04:22:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6C2516A46D; Wed, 4 Jul 2007 04:22:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 936AD16A400 for ; Wed, 4 Jul 2007 04:22:23 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8235413C44C for ; Wed, 4 Jul 2007 04:22:23 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l644MNf5077439 for ; Wed, 4 Jul 2007 04:22:23 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l644MIPl077434 for perforce@freebsd.org; Wed, 4 Jul 2007 04:22:18 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 4 Jul 2007 04:22:18 GMT Message-Id: <200707040422.l644MIPl077434@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 122831 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 04:22:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=122831 Change 122831 by mjacob@mjexp on 2007/07/04 04:21:48 IFC Affected files ... .. //depot/projects/mjexp/ObsoleteFiles.inc#20 integrate .. //depot/projects/mjexp/UPDATING#19 integrate .. //depot/projects/mjexp/bin/df/df.c#5 integrate .. //depot/projects/mjexp/bin/ed/Makefile#2 integrate .. //depot/projects/mjexp/bin/sh/var.c#3 integrate .. //depot/projects/mjexp/contrib/netcat/netcat.c#3 integrate .. //depot/projects/mjexp/contrib/pf/authpf/authpf.8#2 integrate .. //depot/projects/mjexp/contrib/pf/authpf/authpf.c#2 integrate .. //depot/projects/mjexp/contrib/pf/ftp-proxy/filter.c#1 branch .. //depot/projects/mjexp/contrib/pf/ftp-proxy/filter.h#1 branch .. //depot/projects/mjexp/contrib/pf/ftp-proxy/ftp-proxy.8#2 integrate .. //depot/projects/mjexp/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate .. //depot/projects/mjexp/contrib/pf/ftp-proxy/getline.c#2 delete .. //depot/projects/mjexp/contrib/pf/ftp-proxy/util.c#2 delete .. //depot/projects/mjexp/contrib/pf/ftp-proxy/util.h#2 delete .. //depot/projects/mjexp/contrib/pf/libevent/buffer.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/evbuffer.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/event-internal.h#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/event.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/event.h#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/evsignal.h#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/kqueue.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/log.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/log.h#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/poll.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/select.c#1 branch .. //depot/projects/mjexp/contrib/pf/libevent/signal.c#1 branch .. //depot/projects/mjexp/contrib/pf/man/pf.4#2 integrate .. //depot/projects/mjexp/contrib/pf/man/pf.conf.5#5 integrate .. //depot/projects/mjexp/contrib/pf/man/pf.os.5#2 integrate .. //depot/projects/mjexp/contrib/pf/man/pflog.4#2 integrate .. //depot/projects/mjexp/contrib/pf/man/pfsync.4#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/parse.y#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pf_print_state.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl.8#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl.h#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_altq.c#3 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_optimize.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_osfp.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_parser.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_parser.h#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_radix.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pfctl/pfctl_table.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pflogd/pflogd.8#2 integrate .. //depot/projects/mjexp/contrib/pf/pflogd/pflogd.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pflogd/pflogd.h#2 integrate .. //depot/projects/mjexp/contrib/pf/pflogd/privsep.c#2 integrate .. //depot/projects/mjexp/contrib/pf/tftp-proxy/filter.c#1 branch .. //depot/projects/mjexp/contrib/pf/tftp-proxy/filter.h#1 branch .. //depot/projects/mjexp/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch .. //depot/projects/mjexp/contrib/pf/tftp-proxy/tftp-proxy.c#1 branch .. //depot/projects/mjexp/contrib/telnet/telnet/externs.h#2 integrate .. //depot/projects/mjexp/contrib/traceroute/traceroute.c#4 integrate .. //depot/projects/mjexp/etc/mtree/BSD.include.dist#10 integrate .. //depot/projects/mjexp/include/Makefile#9 integrate .. //depot/projects/mjexp/include/stdlib.h#3 integrate .. //depot/projects/mjexp/lib/libc/net/sctp_sys_calls.c#7 integrate .. //depot/projects/mjexp/lib/libc/net/sourcefilter.c#2 integrate .. //depot/projects/mjexp/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/mjexp/lib/libc/stdlib/getenv.3#5 integrate .. //depot/projects/mjexp/lib/libc/stdlib/getenv.c#4 integrate .. //depot/projects/mjexp/lib/libc/stdlib/putenv.c#4 delete .. //depot/projects/mjexp/lib/libc/stdlib/setenv.c#4 delete .. //depot/projects/mjexp/lib/libgssapi/gss_accept_sec_context.c#3 integrate .. //depot/projects/mjexp/lib/libgssapi/gss_display_status.c#2 integrate .. //depot/projects/mjexp/lib/libgssapi/gss_export_name.c#2 integrate .. //depot/projects/mjexp/lib/libgssapi/gss_indicate_mechs.c#2 integrate .. //depot/projects/mjexp/lib/libgssapi/gss_init_sec_context.c#4 integrate .. //depot/projects/mjexp/lib/libipsec/Makefile#3 integrate .. //depot/projects/mjexp/lib/libipsec/ipsec_dump_policy.c#2 integrate .. //depot/projects/mjexp/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/mjexp/lib/libipsec/ipsec_set_policy.3#2 integrate .. //depot/projects/mjexp/lib/libipsec/ipsec_strerror.3#2 integrate .. //depot/projects/mjexp/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/mjexp/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/mjexp/lib/libipsec/pfkey_dump.c#3 integrate .. //depot/projects/mjexp/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/mjexp/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/mjexp/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/mjexp/libexec/Makefile#2 integrate .. //depot/projects/mjexp/libexec/ftp-proxy/Makefile#2 delete .. //depot/projects/mjexp/libexec/pppoed/pppoed.c#3 integrate .. //depot/projects/mjexp/libexec/tftp-proxy/Makefile#1 branch .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#20 integrate .. //depot/projects/mjexp/release/doc/share/misc/dev.archlist.txt#7 integrate .. //depot/projects/mjexp/release/i386/fixit_crunch.conf#3 integrate .. //depot/projects/mjexp/sbin/dhclient/dhclient-script#4 integrate .. //depot/projects/mjexp/sbin/pfctl/Makefile#2 integrate .. //depot/projects/mjexp/sbin/ping/ping.c#3 integrate .. //depot/projects/mjexp/sbin/ping6/Makefile#2 integrate .. //depot/projects/mjexp/sbin/ping6/ping6.c#3 integrate .. //depot/projects/mjexp/sbin/setkey/Makefile#2 integrate .. //depot/projects/mjexp/sbin/setkey/parse.y#2 integrate .. //depot/projects/mjexp/sbin/setkey/setkey.c#2 integrate .. //depot/projects/mjexp/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/mjexp/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/mjexp/sbin/setkey/token.l#3 integrate .. //depot/projects/mjexp/share/man/man4/Makefile#18 integrate .. //depot/projects/mjexp/share/man/man4/ath.4#4 integrate .. //depot/projects/mjexp/share/man/man4/ieee80211.4#2 integrate .. //depot/projects/mjexp/share/man/man4/msk.4#3 integrate .. //depot/projects/mjexp/share/man/man4/nxge.4#1 branch .. //depot/projects/mjexp/share/man/man4/ucom.4#3 integrate .. //depot/projects/mjexp/share/man/man4/uhid.4#3 integrate .. //depot/projects/mjexp/share/man/man4/wi.4#3 integrate .. //depot/projects/mjexp/share/man/man7/hier.7#9 integrate .. //depot/projects/mjexp/share/man/man9/ieee80211_ioctl.9#3 integrate .. //depot/projects/mjexp/share/misc/committers-ports.dot#9 integrate .. //depot/projects/mjexp/share/mk/sys.mk#4 integrate .. //depot/projects/mjexp/sys/Makefile#5 integrate .. //depot/projects/mjexp/sys/amd64/amd64/pmap.c#15 integrate .. //depot/projects/mjexp/sys/amd64/conf/GENERIC#14 integrate .. //depot/projects/mjexp/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/mjexp/sys/cam/cam_xpt.c#15 integrate .. //depot/projects/mjexp/sys/cam/scsi/scsi_da.c#16 integrate .. //depot/projects/mjexp/sys/conf/NOTES#28 integrate .. //depot/projects/mjexp/sys/conf/files#31 integrate .. //depot/projects/mjexp/sys/conf/files.amd64#10 integrate .. //depot/projects/mjexp/sys/conf/files.arm#5 integrate .. //depot/projects/mjexp/sys/conf/files.i386#10 integrate .. //depot/projects/mjexp/sys/conf/files.ia64#4 integrate .. //depot/projects/mjexp/sys/conf/files.pc98#10 integrate .. //depot/projects/mjexp/sys/conf/files.powerpc#6 integrate .. //depot/projects/mjexp/sys/conf/files.sparc64#10 integrate .. //depot/projects/mjexp/sys/conf/files.sun4v#6 integrate .. //depot/projects/mjexp/sys/conf/options#24 integrate .. //depot/projects/mjexp/sys/conf/options.amd64#2 integrate .. //depot/projects/mjexp/sys/conf/options.i386#2 integrate .. //depot/projects/mjexp/sys/conf/options.pc98#2 integrate .. //depot/projects/mjexp/sys/contrib/altq/altq/altq_cbq.c#3 integrate .. //depot/projects/mjexp/sys/contrib/altq/altq/altq_hfsc.c#3 integrate .. //depot/projects/mjexp/sys/contrib/altq/altq/altq_priq.c#3 integrate .. //depot/projects/mjexp/sys/contrib/altq/altq/altq_red.c#3 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/if_pflog.h#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/if_pfsync.c#6 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/if_pfsync.h#3 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf.c#5 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/mjexp/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/mjexp/sys/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/mjexp/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/mjexp/sys/dev/acpica/acpi.c#10 integrate .. //depot/projects/mjexp/sys/dev/ipw/if_ipw.c#6 integrate .. //depot/projects/mjexp/sys/dev/isp/isp.c#26 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#20 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_library.c#9 integrate .. //depot/projects/mjexp/sys/dev/isp/ispvar.h#10 integrate .. //depot/projects/mjexp/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/mjexp/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/mjexp/sys/dev/ral/rt2560.c#7 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2661.c#6 integrate .. //depot/projects/mjexp/sys/dev/snp/snp.c#3 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/hda/hdac.c#16 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/hda/hdac_private.h#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/ac97_patch.c#6 integrate .. //depot/projects/mjexp/sys/dev/usb/if_axe.c#9 integrate .. //depot/projects/mjexp/sys/dev/usb/if_axereg.h#4 integrate .. //depot/projects/mjexp/sys/dev/usb/if_cdce.c#7 integrate .. //depot/projects/mjexp/sys/dev/usb/if_ural.c#16 integrate .. //depot/projects/mjexp/sys/dev/usb/uark.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/uhub.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/umass.c#10 integrate .. //depot/projects/mjexp/sys/dev/usb/ums.c#7 integrate .. //depot/projects/mjexp/sys/dev/usb/usb.h#4 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_port.h#4 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_quirks.c#6 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_quirks.h#4 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_subr.c#8 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdevs#16 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdi.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdi.h#4 integrate .. //depot/projects/mjexp/sys/dev/wi/if_wi.c#7 integrate .. //depot/projects/mjexp/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/mjexp/sys/fs/devfs/devfs_vnops.c#11 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_uma.c#3 delete .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_uma.h#3 delete .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/mjexp/sys/i386/conf/GENERIC#12 integrate .. //depot/projects/mjexp/sys/i386/conf/NOTES#6 integrate .. //depot/projects/mjexp/sys/i386/i386/pmap.c#15 integrate .. //depot/projects/mjexp/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/mjexp/sys/i4b/driver/i4b_ipr.c#4 integrate .. //depot/projects/mjexp/sys/i4b/driver/i4b_isppp.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_conf.c#7 integrate .. //depot/projects/mjexp/sys/kern/kern_descrip.c#14 integrate .. //depot/projects/mjexp/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_priv.c#3 integrate .. //depot/projects/mjexp/sys/kern/subr_smp.c#4 integrate .. //depot/projects/mjexp/sys/kern/sysv_sem.c#6 integrate .. //depot/projects/mjexp/sys/kern/tty.c#9 integrate .. //depot/projects/mjexp/sys/kern/tty_pts.c#4 integrate .. //depot/projects/mjexp/sys/kern/tty_pty.c#4 integrate .. //depot/projects/mjexp/sys/kern/tty_tty.c#2 integrate .. //depot/projects/mjexp/sys/kern/uipc_syscalls.c#13 integrate .. //depot/projects/mjexp/sys/modules/Makefile#15 integrate .. //depot/projects/mjexp/sys/modules/ath_rate_amrr/Makefile#3 integrate .. //depot/projects/mjexp/sys/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/ipfw/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/nxge/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/pf/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/mjexp/sys/net/if_ethersubr.c#13 integrate .. //depot/projects/mjexp/sys/net/if_ppp.c#6 integrate .. //depot/projects/mjexp/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/mjexp/sys/net80211/_ieee80211.h#8 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_input.c#9 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_radiotap.h#5 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/mjexp/sys/netinet/in_pcb.c#10 integrate .. //depot/projects/mjexp/sys/netinet/in_pcb.h#6 integrate .. //depot/projects/mjexp/sys/netinet/in_proto.c#5 integrate .. //depot/projects/mjexp/sys/netinet/ip_fw2.c#13 integrate .. //depot/projects/mjexp/sys/netinet/ip_icmp.c#4 integrate .. //depot/projects/mjexp/sys/netinet/ip_input.c#7 integrate .. //depot/projects/mjexp/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/mjexp/sys/netinet/ip_output.c#9 integrate .. //depot/projects/mjexp/sys/netinet/raw_ip.c#9 integrate .. //depot/projects/mjexp/sys/netinet/sctp_indata.c#17 integrate .. //depot/projects/mjexp/sys/netinet/sctp_input.c#17 integrate .. //depot/projects/mjexp/sys/netinet/sctp_input.h#5 integrate .. //depot/projects/mjexp/sys/netinet/sctp_os_bsd.h#12 integrate .. //depot/projects/mjexp/sys/netinet/sctp_output.c#18 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#17 integrate .. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#16 integrate .. //depot/projects/mjexp/sys/netinet/sctp_var.h#10 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.c#19 integrate .. //depot/projects/mjexp/sys/netinet/tcp_input.c#18 integrate .. //depot/projects/mjexp/sys/netinet/tcp_output.c#12 integrate .. //depot/projects/mjexp/sys/netinet/tcp_subr.c#15 integrate .. //depot/projects/mjexp/sys/netinet/tcp_syncache.c#13 integrate .. //depot/projects/mjexp/sys/netinet/udp_usrreq.c#12 integrate .. //depot/projects/mjexp/sys/netinet6/ah.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ah6.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/mjexp/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ah_core.c#3 delete .. //depot/projects/mjexp/sys/netinet6/ah_input.c#2 delete .. //depot/projects/mjexp/sys/netinet6/ah_output.c#3 delete .. //depot/projects/mjexp/sys/netinet6/esp.h#2 delete .. //depot/projects/mjexp/sys/netinet6/esp6.h#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_aesctr.c#3 delete .. //depot/projects/mjexp/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_core.c#3 delete .. //depot/projects/mjexp/sys/netinet6/esp_input.c#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_output.c#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_rijndael.c#2 delete .. //depot/projects/mjexp/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/mjexp/sys/netinet6/icmp6.c#6 integrate .. //depot/projects/mjexp/sys/netinet6/in6.h#3 integrate .. //depot/projects/mjexp/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/mjexp/sys/netinet6/in6_proto.c#7 integrate .. //depot/projects/mjexp/sys/netinet6/ip6_forward.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/ip6_input.c#5 integrate .. //depot/projects/mjexp/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/mjexp/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/mjexp/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ipcomp_core.c#2 delete .. //depot/projects/mjexp/sys/netinet6/ipcomp_input.c#2 delete .. //depot/projects/mjexp/sys/netinet6/ipcomp_output.c#2 delete .. //depot/projects/mjexp/sys/netinet6/ipsec.c#5 delete .. //depot/projects/mjexp/sys/netinet6/ipsec.h#2 delete .. //depot/projects/mjexp/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/mjexp/sys/netinet6/nd6.c#9 integrate .. //depot/projects/mjexp/sys/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/mjexp/sys/netinet6/raw_ip6.c#6 integrate .. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#14 integrate .. //depot/projects/mjexp/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec.c#6 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/mjexp/sys/netipsec/key.c#4 integrate .. //depot/projects/mjexp/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/mjexp/sys/netipsec/keysock.c#2 integrate .. //depot/projects/mjexp/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/mjexp/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/mjexp/sys/netkey/key.c#2 delete .. //depot/projects/mjexp/sys/netkey/key.h#2 delete .. //depot/projects/mjexp/sys/netkey/key_debug.c#2 delete .. //depot/projects/mjexp/sys/netkey/key_debug.h#2 delete .. //depot/projects/mjexp/sys/netkey/key_var.h#2 delete .. //depot/projects/mjexp/sys/netkey/keydb.c#2 delete .. //depot/projects/mjexp/sys/netkey/keydb.h#2 delete .. //depot/projects/mjexp/sys/netkey/keysock.c#2 delete .. //depot/projects/mjexp/sys/netkey/keysock.h#2 delete .. //depot/projects/mjexp/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/mjexp/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/mjexp/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/mjexp/sys/security/audit/audit.c#12 integrate .. //depot/projects/mjexp/sys/security/audit/audit_bsm.c#7 integrate .. //depot/projects/mjexp/sys/sys/conf.h#5 integrate .. //depot/projects/mjexp/sys/sys/mbuf.h#10 integrate .. //depot/projects/mjexp/sys/sys/param.h#22 integrate .. //depot/projects/mjexp/sys/sys/systm.h#16 integrate .. //depot/projects/mjexp/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/mjexp/sys/vm/vm_pageout.c#11 integrate .. //depot/projects/mjexp/tools/regression/environ/Makefile#1 branch .. //depot/projects/mjexp/tools/regression/environ/Makefile.envctl#1 branch .. //depot/projects/mjexp/tools/regression/environ/Makefile.retention#1 branch .. //depot/projects/mjexp/tools/regression/environ/Makefile.timings#1 branch .. //depot/projects/mjexp/tools/regression/environ/envctl.c#1 branch .. //depot/projects/mjexp/tools/regression/environ/envtest.t#1 branch .. //depot/projects/mjexp/tools/regression/environ/retention.c#1 branch .. //depot/projects/mjexp/tools/regression/environ/timings.c#1 branch .. //depot/projects/mjexp/tools/tools/README#3 integrate .. //depot/projects/mjexp/tools/tools/nxge/Makefile#1 branch .. //depot/projects/mjexp/tools/tools/nxge/xge_cmn.h#1 branch .. //depot/projects/mjexp/tools/tools/nxge/xge_info.c#1 branch .. //depot/projects/mjexp/tools/tools/nxge/xge_info.h#1 branch .. //depot/projects/mjexp/tools/tools/nxge/xge_log.c#1 branch .. //depot/projects/mjexp/tools/tools/nxge/xge_log.h#1 branch .. //depot/projects/mjexp/tools/tools/tinybsd/conf/bridge/tinybsd.basefiles#4 integrate .. //depot/projects/mjexp/tools/tools/tinybsd/conf/default/tinybsd.basefiles#4 integrate .. //depot/projects/mjexp/tools/tools/tinybsd/conf/wireless/tinybsd.basefiles#4 integrate .. //depot/projects/mjexp/tools/tools/tinybsd/conf/wrap/tinybsd.basefiles#4 integrate .. //depot/projects/mjexp/usr.bin/du/du.c#3 integrate .. //depot/projects/mjexp/usr.bin/env/env.c#3 integrate .. //depot/projects/mjexp/usr.bin/limits/limits.c#3 integrate .. //depot/projects/mjexp/usr.bin/login/login.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/Makefile#3 integrate .. //depot/projects/mjexp/usr.bin/netstat/ipsec.c#3 integrate .. //depot/projects/mjexp/usr.bin/netstat/main.c#3 integrate .. //depot/projects/mjexp/usr.bin/netstat/netstat.h#3 integrate .. //depot/projects/mjexp/usr.bin/netstat/pfkey.c#3 integrate .. //depot/projects/mjexp/usr.bin/su/su.c#4 integrate .. //depot/projects/mjexp/usr.bin/telnet/Makefile#2 integrate .. //depot/projects/mjexp/usr.bin/usbhidaction/usbhidaction.1#2 integrate .. //depot/projects/mjexp/usr.bin/usbhidaction/usbhidaction.c#2 integrate .. //depot/projects/mjexp/usr.sbin/Makefile#5 integrate .. //depot/projects/mjexp/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c#2 integrate .. //depot/projects/mjexp/usr.sbin/ftp-proxy/Makefile#1 branch .. //depot/projects/mjexp/usr.sbin/ftp-proxy/Makefile.inc#1 branch .. //depot/projects/mjexp/usr.sbin/ftp-proxy/ftp-proxy/Makefile#1 branch .. //depot/projects/mjexp/usr.sbin/ftp-proxy/libevent/Makefile#1 branch .. //depot/projects/mjexp/usr.sbin/inetd/Makefile#2 integrate .. //depot/projects/mjexp/usr.sbin/inetd/inetd.c#3 integrate .. //depot/projects/mjexp/usr.sbin/portsnap/phttpget/phttpget.c#3 integrate .. //depot/projects/mjexp/usr.sbin/pstat/pstat.c#5 integrate .. //depot/projects/mjexp/usr.sbin/rrenumd/Makefile#2 integrate .. //depot/projects/mjexp/usr.sbin/rrenumd/rrenumd.c#2 integrate .. //depot/projects/mjexp/usr.sbin/sade/main.c#3 integrate .. //depot/projects/mjexp/usr.sbin/sade/variable.c#3 integrate .. //depot/projects/mjexp/usr.sbin/sysinstall/main.c#3 integrate .. //depot/projects/mjexp/usr.sbin/sysinstall/menus.c#6 integrate .. //depot/projects/mjexp/usr.sbin/sysinstall/variable.c#3 integrate .. //depot/projects/mjexp/usr.sbin/traceroute6/Makefile#2 integrate .. //depot/projects/mjexp/usr.sbin/traceroute6/traceroute6.c#4 integrate .. //depot/projects/mjexp/usr.sbin/wicontrol/Makefile#2 delete .. //depot/projects/mjexp/usr.sbin/wicontrol/wicontrol.8#3 delete .. //depot/projects/mjexp/usr.sbin/wicontrol/wicontrol.c#3 delete Differences ... ==== //depot/projects/mjexp/ObsoleteFiles.inc#20 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.97 2007/06/25 05:06:52 rafan Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.102 2007/07/03 13:06:45 mlaier 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,30 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070703: pf 4.1 import +OLD_FILES+=usr/libexec/ftp-proxy +# 20070701: KAME IPSec removal +OLD_FILES+=usr/include/netinet6/ah.h +OLD_FILES+=usr/include/netinet6/ah6.h +OLD_FILES+=usr/include/netinet6/ah_aesxcbcmac.h +OLD_FILES+=usr/include/netinet6/esp.h +OLD_FILES+=usr/include/netinet6/esp6.h +OLD_FILES+=usr/include/netinet6/esp_aesctr.h +OLD_FILES+=usr/include/netinet6/esp_camellia.h +OLD_FILES+=usr/include/netinet6/esp_rijndael.h +OLD_FILES+=usr/include/netinet6/ipsec.h +OLD_FILES+=usr/include/netinet6/ipsec6.h +OLD_FILES+=usr/include/netinet6/ipcomp.h +OLD_FILES+=usr/include/netinet6/ipcomp6.h +OLD_FILES+=usr/include/netkey/key.h +OLD_FILES+=usr/include/netkey/key_debug.h +OLD_FILES+=usr/include/netkey/key_var.h +OLD_FILES+=usr/include/netkey/keydb.h +OLD_FILES+=usr/include/netkey/keysock.h +OLD_DIRS+=usr/include/netkey +# 20070701: remove wicontrol +OLD_FILES+=usr/sbin/wicontrol +OLD_FILES+=usr/share/man/man8/wicontrol.8.gz # 20070625: umapfs removal OLD_FILES+=rescue/mount_umapfs OLD_FILES+=sbin/mount_umapfs @@ -3589,7 +3613,6 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/mjexp/UPDATING#19 (text+ko) ==== @@ -21,6 +21,26 @@ developers choose to disable these features on build machines to maximize performance. +20070702: + The packet filter (pf) code has been updated to OpenBSD 4.1 Please + note the changed syntax - keep state is now on by default. Also + note the fact that ftp-proxy(8) has been changed from bottom up and + has been moved from libexec to usr/sbin. Changes in the ALTQ + handling also affect users of IPFW's ALTQ capabilities. + +20070701: + Remove KAME IPsec in favor of FAST_IPSEC, which is now the + only IPsec supported by FreeBSD. The new IPsec stack + supports both IPv4 and IPv6. The kernel option will change + after the code changes have settled in. For now the kernel + option IPSEC is deprecated and FAST_IPSEC is the only option, that + will change after some settling time. + +20070701: + The wicontrol(8) utility has been removed from the base system. wi(4) + cards should be configured using ifconfig(8), see the man page for more + information. + 20070612: By default, /etc/rc.d/sendmail no longer rebuilds the aliases database if it is missing or older than the aliases file. If @@ -857,4 +877,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ +$FreeBSD: src/UPDATING,v 1.500 2007/07/03 13:06:44 mlaier Exp $ ==== //depot/projects/mjexp/bin/df/df.c#5 (text+ko) ==== @@ -44,7 +44,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.70 2007/05/01 16:02:44 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.71 2007/07/04 00:00:37 scf Exp $"); #include #include @@ -131,14 +131,14 @@ */ if (kflag) break; - putenv("BLOCKSIZE=512"); + setenv("BLOCKSIZE", "512", 1); hflag = 0; break; case 'c': cflag = 1; break; case 'g': - putenv("BLOCKSIZE=1g"); + setenv("BLOCKSIZE", "1g", 1); hflag = 0; break; case 'H': @@ -152,7 +152,7 @@ break; case 'k': kflag++; - putenv("BLOCKSIZE=1024"); + setenv("BLOCKSIZE", "1024", 1); hflag = 0; break; case 'l': @@ -162,7 +162,7 @@ lflag = 1; break; case 'm': - putenv("BLOCKSIZE=1m"); + setenv("BLOCKSIZE", "1m", 1); hflag = 0; break; case 'n': ==== //depot/projects/mjexp/bin/ed/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/ed/Makefile,v 1.32 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/ed/Makefile,v 1.33 2007/07/02 14:00:25 kensmith Exp $ .include @@ -7,11 +7,13 @@ LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 +.if !defined(RELEASE_CRUNCH) .if ${MK_OPENSSL} != "no" CFLAGS+=-DDES WARNS?= 2 DPADD= ${LIBCRYPTO} LDADD= -lcrypto .endif +.endif .include ==== //depot/projects/mjexp/bin/sh/var.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.35 2007/05/01 16:02:43 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.36 2007/07/04 00:00:38 scf Exp $"); #include #include @@ -289,6 +289,7 @@ setvareq(char *s, int flags) { struct var *vp, **vpp; + char *p; int len; if (aflag) @@ -319,7 +320,10 @@ if (vp == &vmpath || (vp == &vmail && ! mpathset())) chkmail(1); if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -335,7 +339,10 @@ INTOFF; *vpp = vp; if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -596,7 +603,10 @@ vp->flags |= flag; if ((vp->flags & VEXPORT) && localevar(vp->text)) { - putenv(vp->text); + p = strchr(vp->text, '='); + *p = '\0'; + (void) setenv(vp->text, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } goto found; ==== //depot/projects/mjexp/contrib/netcat/netcat.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.5 2007/03/28 01:57:03 delphij Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.6 2007/07/01 12:08:04 gnn Exp $ */ /* @@ -42,7 +42,7 @@ #include #include #ifdef IPSEC -#include +#include #endif #include #include ==== //depot/projects/mjexp/contrib/pf/authpf/authpf.8#2 (text+ko) ==== @@ -1,29 +1,19 @@ -.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.2 2006/03/28 15:26:16 mlaier Exp $ -.\" $OpenBSD: authpf.8,v 1.38 2005/01/04 09:57:04 jmc Exp $ +.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.3 2007/07/03 12:30:00 mlaier Exp $ +.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ .\" -.\" Copyright (c) 2002 Bob Beck (beck@openbsd.org>. All rights reserved. +.\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd March 28, 2006 .Dt AUTHPF 8 @@ -230,8 +220,11 @@ hijack the session. Note that TCP keepalives are not sufficient for this, since they are not secure. -Also note that +Also note that the various SSH tunnelling mechanisms, +such as .Ar AllowTcpForwarding +and +.Ar PermitTunnel , should be disabled for .Nm users to prevent them from circumventing restrictions imposed by the @@ -429,8 +422,7 @@ external_if = "xl0" internal_if = "fxp0" -pass in log quick on $internal_if proto tcp from $user_ip to any \e - keep state +pass in log quick on $internal_if proto tcp from $user_ip to any pass in quick on $internal_if from $user_ip to any .Ed .Pp @@ -445,16 +437,15 @@ # rdr ftp for proxying by ftp-proxy(8) rdr on $internal_if proto tcp from $user_ip to any port 21 \e - -> 127.0.0.1 port 8081 + -> 127.0.0.1 port 8021 # allow out ftp, ssh, www and https only, and allow user to negotiate # ipsec with the ipsec server. pass in log quick on $internal_if proto tcp from $user_ip to any \e - port { 21, 22, 80, 443 } flags S/SA + port { 21, 22, 80, 443 } pass in quick on $internal_if proto tcp from $user_ip to any \e port { 21, 22, 80, 443 } -pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp \e - keep state +pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp pass in quick proto esp from $user_ip to $ipsec_gw .Ed .Pp @@ -469,7 +460,7 @@ # nat and tag connections... nat on $ext_if from $user_ip to any tag $user_ip -> $ext_addr pass in quick on $int_if from $user_ip to any -pass out log quick on $ext_if tagged $user_ip keep state +pass out log quick on $ext_if tagged $user_ip .Ed .Pp With the above rules added by @@ -495,7 +486,7 @@ .Bd -literal table persist pass in on $ext_if proto tcp from \e - to port { smtp imap } keep state + to port { smtp imap } .Ed .Pp It is also possible to use the "authpf_users" @@ -522,6 +513,7 @@ .Xr pf 4 , .Xr pf.conf 5 , .Xr fdescfs 5 , +.Xr securelevel 7 , .Xr ftp-proxy 8 .Sh HISTORY The ==== //depot/projects/mjexp/contrib/pf/authpf/authpf.c#2 (text+ko) ==== @@ -1,32 +1,23 @@ -/* $OpenBSD: authpf.c,v 1.89 2005/02/10 04:24:15 joel Exp $ */ +/* $OpenBSD: authpf.c,v 1.104 2007/02/24 17:35:08 beck Exp $ */ /* - * Copyright (C) 1998 - 2002 Bob Beck (beck@openbsd.org). + * Copyright (C) 1998 - 2007 Bob Beck (beck@openbsd.org). * - * 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. + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * 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. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include -__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.7 2005/12/25 22:57:08 mlaier Exp $"); +__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.8 2007/07/03 12:30:01 mlaier Exp $"); #include #include @@ -56,15 +47,13 @@ #include "pathnames.h" -extern int symset(const char *, const char *, int); - static int read_config(FILE *); static void print_message(char *); static int allowed_luser(char *); static int check_luser(char *, char *); static int remove_stale_rulesets(void); static int change_filter(int, const char *, const char *); -static int change_table(int, const char *, const char *); +static int change_table(int, const char *); static void authpf_kill_states(void); int dev; /* pf device */ @@ -73,7 +62,6 @@ char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; FILE *pidfp; -char *infile; /* file name printed by yyerror() in parse.y */ char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -102,11 +90,16 @@ struct in6_addr ina; struct passwd *pw; char *cp; + gid_t gid; uid_t uid; char *shell; login_cap_t *lc; config = fopen(PATH_CONFFILE, "r"); + if (config == NULL) { + syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + exit(1); + } if ((cp = getenv("SSH_TTY")) == NULL) { syslog(LOG_ERR, "non-interactive session connection for authpf"); @@ -143,7 +136,6 @@ uid = getuid(); pw = getpwuid(uid); - endpwent(); if (pw == NULL) { syslog(LOG_ERR, "cannot find user for uid %u", uid); goto die; @@ -256,6 +248,8 @@ if (++lockcnt > 10) { syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", otherpid); + fclose(pidfp); + pidfp = NULL; goto dogdeath; } sleep(1); @@ -265,12 +259,22 @@ * it's lock, giving us a chance to get it now */ fclose(pidfp); + pidfp = NULL; } while (1); + + /* whack the group list */ + gid = getegid(); + if (setgroups(1, &gid) == -1) { + syslog(LOG_INFO, "setgroups: %s", strerror(errno)); + do_death(0); + } /* revoke privs */ - seteuid(getuid()); - setuid(getuid()); - + uid = getuid(); + if (setresuid(uid, uid, uid) == -1) { + syslog(LOG_INFO, "setresuid: %s", strerror(errno)); + do_death(0); + } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { @@ -278,8 +282,8 @@ do_death(0); } - if (config == NULL || read_config(config)) { - syslog(LOG_INFO, "bad or nonexistent %s", PATH_CONFFILE); + if (read_config(config)) { + syslog(LOG_ERR, "invalid config file %s", PATH_CONFFILE); do_death(0); } @@ -298,7 +302,7 @@ printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, luser, ipsrc) == -1) { + if (change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); @@ -309,7 +313,7 @@ signal(SIGALRM, need_death); signal(SIGPIPE, need_death); signal(SIGHUP, need_death); - signal(SIGSTOP, need_death); + signal(SIGQUIT, need_death); signal(SIGTSTP, need_death); while (1) { printf("\r\nHello %s. ", luser); @@ -559,9 +563,11 @@ while (fputs(tmp, stdout) != EOF && !feof(f)) { if (fgets(tmp, sizeof(tmp), f) == NULL) { fflush(stdout); + fclose(f); return (0); } } + fclose(f); } fflush(stdout); return (0); @@ -645,6 +651,7 @@ char *fdpath = NULL, *userstr = NULL, *ipstr = NULL; char *rsn = NULL, *fn = NULL; pid_t pid; + gid_t gid; int s; if (luser == NULL || !luser[0] || ipsrc == NULL || !ipsrc[0]) { @@ -684,8 +691,14 @@ switch (pid = fork()) { case -1: - err(1, "fork failed"); + syslog(LOG_ERR, "fork failed"); + goto error; case 0: + /* revoke group privs before exec */ + gid = getgid(); + if (setregid(gid, gid) == -1) { + err(1, "setregid"); + } execvp(PATH_PFCTL, pargv); warn("exec of %s failed", PATH_PFCTL); _exit(1); @@ -694,10 +707,8 @@ /* parent */ waitpid(pid, &s, 0); if (s != 0) { - if (WIFEXITED(s)) { - syslog(LOG_ERR, "pfctl exited abnormally"); - goto error; - } + syslog(LOG_ERR, "pfctl exited abnormally"); + goto error; } if (add) { @@ -718,16 +729,10 @@ syslog(LOG_ERR, "malloc failed"); error: free(fdpath); - fdpath = NULL; free(rsn); - rsn = NULL; free(userstr); - userstr = NULL; free(ipstr); - ipstr = NULL; free(fn); - fn = NULL; - infile = NULL; return (-1); } @@ -735,13 +740,14 @@ * Add/remove this IP from the "authpf_users" table. */ static int -change_table(int add, const char *luser, const char *ipsrc) +change_table(int add, const char *ipsrc) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 4 05:57:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30CF316A469; Wed, 4 Jul 2007 05:57:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE3FD16A400 for ; Wed, 4 Jul 2007 05:57:00 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CD3E513C458 for ; Wed, 4 Jul 2007 05:57:00 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l645v0hm094183 for ; Wed, 4 Jul 2007 05:57:00 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l645utf6094177 for perforce@freebsd.org; Wed, 4 Jul 2007 05:56:55 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 4 Jul 2007 05:56:55 GMT Message-Id: <200707040556.l645utf6094177@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122837 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 05:57:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=122837 Change 122837 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/04 05:56:20 IFC Affected files ... .. //depot/projects/opentoe/ObsoleteFiles.inc#10 integrate .. //depot/projects/opentoe/UPDATING#10 integrate .. //depot/projects/opentoe/bin/df/df.c#4 integrate .. //depot/projects/opentoe/bin/ed/Makefile#2 integrate .. //depot/projects/opentoe/bin/sh/var.c#3 integrate .. //depot/projects/opentoe/contrib/netcat/netcat.c#3 integrate .. //depot/projects/opentoe/contrib/pf/authpf/authpf.8#2 integrate .. //depot/projects/opentoe/contrib/pf/authpf/authpf.c#2 integrate .. //depot/projects/opentoe/contrib/pf/ftp-proxy/filter.c#1 branch .. //depot/projects/opentoe/contrib/pf/ftp-proxy/filter.h#1 branch .. //depot/projects/opentoe/contrib/pf/ftp-proxy/ftp-proxy.8#2 integrate .. //depot/projects/opentoe/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate .. //depot/projects/opentoe/contrib/pf/ftp-proxy/getline.c#2 delete .. //depot/projects/opentoe/contrib/pf/ftp-proxy/util.c#2 delete .. //depot/projects/opentoe/contrib/pf/ftp-proxy/util.h#2 delete .. //depot/projects/opentoe/contrib/pf/libevent/buffer.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/evbuffer.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/event-internal.h#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/event.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/event.h#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/evsignal.h#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/kqueue.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/log.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/log.h#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/poll.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/select.c#1 branch .. //depot/projects/opentoe/contrib/pf/libevent/signal.c#1 branch .. //depot/projects/opentoe/contrib/pf/man/pf.4#2 integrate .. //depot/projects/opentoe/contrib/pf/man/pf.conf.5#4 integrate .. //depot/projects/opentoe/contrib/pf/man/pf.os.5#2 integrate .. //depot/projects/opentoe/contrib/pf/man/pflog.4#2 integrate .. //depot/projects/opentoe/contrib/pf/man/pfsync.4#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/parse.y#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pf_print_state.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl.8#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl.h#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_altq.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_optimize.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_osfp.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_parser.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_parser.h#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_radix.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pfctl/pfctl_table.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pflogd/pflogd.8#2 integrate .. //depot/projects/opentoe/contrib/pf/pflogd/pflogd.c#2 integrate .. //depot/projects/opentoe/contrib/pf/pflogd/pflogd.h#2 integrate .. //depot/projects/opentoe/contrib/pf/pflogd/privsep.c#2 integrate .. //depot/projects/opentoe/contrib/pf/tftp-proxy/filter.c#1 branch .. //depot/projects/opentoe/contrib/pf/tftp-proxy/filter.h#1 branch .. //depot/projects/opentoe/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch .. //depot/projects/opentoe/contrib/pf/tftp-proxy/tftp-proxy.c#1 branch .. //depot/projects/opentoe/contrib/telnet/telnet/externs.h#2 integrate .. //depot/projects/opentoe/contrib/traceroute/traceroute.c#3 integrate .. //depot/projects/opentoe/etc/mtree/BSD.include.dist#6 integrate .. //depot/projects/opentoe/include/Makefile#4 integrate .. //depot/projects/opentoe/include/stdlib.h#3 integrate .. //depot/projects/opentoe/lib/libc/net/sctp_sys_calls.c#6 integrate .. //depot/projects/opentoe/lib/libc/net/sourcefilter.c#2 integrate .. //depot/projects/opentoe/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/opentoe/lib/libc/stdlib/getenv.3#3 integrate .. //depot/projects/opentoe/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/opentoe/lib/libc/stdlib/putenv.c#3 delete .. //depot/projects/opentoe/lib/libc/stdlib/setenv.c#3 delete .. //depot/projects/opentoe/lib/libgssapi/gss_accept_sec_context.c#3 integrate .. //depot/projects/opentoe/lib/libgssapi/gss_display_status.c#2 integrate .. //depot/projects/opentoe/lib/libgssapi/gss_export_name.c#2 integrate .. //depot/projects/opentoe/lib/libgssapi/gss_indicate_mechs.c#2 integrate .. //depot/projects/opentoe/lib/libgssapi/gss_init_sec_context.c#4 integrate .. //depot/projects/opentoe/lib/libipsec/Makefile#3 integrate .. //depot/projects/opentoe/lib/libipsec/ipsec_dump_policy.c#2 integrate .. //depot/projects/opentoe/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/opentoe/lib/libipsec/ipsec_set_policy.3#2 integrate .. //depot/projects/opentoe/lib/libipsec/ipsec_strerror.3#2 integrate .. //depot/projects/opentoe/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/opentoe/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/opentoe/lib/libipsec/pfkey_dump.c#3 integrate .. //depot/projects/opentoe/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/opentoe/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/opentoe/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/opentoe/libexec/Makefile#2 integrate .. //depot/projects/opentoe/libexec/ftp-proxy/Makefile#2 delete .. //depot/projects/opentoe/libexec/pppoed/pppoed.c#3 integrate .. //depot/projects/opentoe/libexec/tftp-proxy/Makefile#1 branch .. //depot/projects/opentoe/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/opentoe/release/doc/en_US.ISO8859-1/relnotes/article.sgml#11 integrate .. //depot/projects/opentoe/release/doc/share/misc/dev.archlist.txt#3 integrate .. //depot/projects/opentoe/release/i386/fixit_crunch.conf#3 integrate .. //depot/projects/opentoe/release/scripts/src-install.sh#2 integrate .. //depot/projects/opentoe/sbin/dhclient/dhclient-script#3 integrate .. //depot/projects/opentoe/sbin/pfctl/Makefile#2 integrate .. //depot/projects/opentoe/sbin/ping/ping.c#3 integrate .. //depot/projects/opentoe/sbin/ping6/Makefile#2 integrate .. //depot/projects/opentoe/sbin/ping6/ping6.c#3 integrate .. //depot/projects/opentoe/sbin/setkey/Makefile#2 integrate .. //depot/projects/opentoe/sbin/setkey/parse.y#2 integrate .. //depot/projects/opentoe/sbin/setkey/setkey.c#2 integrate .. //depot/projects/opentoe/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/opentoe/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/opentoe/sbin/setkey/token.l#3 integrate .. //depot/projects/opentoe/share/man/man4/Makefile#8 integrate .. //depot/projects/opentoe/share/man/man4/ath.4#2 integrate .. //depot/projects/opentoe/share/man/man4/ieee80211.4#2 integrate .. //depot/projects/opentoe/share/man/man4/msk.4#2 integrate .. //depot/projects/opentoe/share/man/man4/nxge.4#1 branch .. //depot/projects/opentoe/share/man/man4/ucom.4#2 integrate .. //depot/projects/opentoe/share/man/man4/uhid.4#2 integrate .. //depot/projects/opentoe/share/man/man4/wi.4#2 integrate .. //depot/projects/opentoe/share/man/man7/hier.7#7 integrate .. //depot/projects/opentoe/share/man/man9/ieee80211_ioctl.9#2 integrate .. //depot/projects/opentoe/share/misc/committers-ports.dot#8 integrate .. //depot/projects/opentoe/share/mk/sys.mk#3 integrate .. //depot/projects/opentoe/sys/Makefile#4 integrate .. //depot/projects/opentoe/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/opentoe/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/opentoe/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/opentoe/sys/cam/cam_xpt.c#6 integrate .. //depot/projects/opentoe/sys/cam/scsi/scsi_da.c#8 integrate .. //depot/projects/opentoe/sys/conf/NOTES#8 integrate .. //depot/projects/opentoe/sys/conf/files#11 integrate .. //depot/projects/opentoe/sys/conf/files.amd64#5 integrate .. //depot/projects/opentoe/sys/conf/files.arm#2 integrate .. //depot/projects/opentoe/sys/conf/files.i386#5 integrate .. //depot/projects/opentoe/sys/conf/files.ia64#3 integrate .. //depot/projects/opentoe/sys/conf/files.pc98#5 integrate .. //depot/projects/opentoe/sys/conf/files.powerpc#3 integrate .. //depot/projects/opentoe/sys/conf/files.sparc64#3 integrate .. //depot/projects/opentoe/sys/conf/files.sun4v#3 integrate .. //depot/projects/opentoe/sys/conf/options#10 integrate .. //depot/projects/opentoe/sys/conf/options.amd64#2 integrate .. //depot/projects/opentoe/sys/conf/options.i386#2 integrate .. //depot/projects/opentoe/sys/conf/options.pc98#2 integrate .. //depot/projects/opentoe/sys/contrib/altq/altq/altq_cbq.c#2 integrate .. //depot/projects/opentoe/sys/contrib/altq/altq/altq_hfsc.c#2 integrate .. //depot/projects/opentoe/sys/contrib/altq/altq/altq_priq.c#2 integrate .. //depot/projects/opentoe/sys/contrib/altq/altq/altq_red.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pflog.h#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pfsync.c#4 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pfsync.h#3 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/opentoe/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/opentoe/sys/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/opentoe/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/opentoe/sys/dev/acpica/acpi.c#9 integrate .. //depot/projects/opentoe/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/opentoe/sys/dev/isp/isp.c#5 integrate .. //depot/projects/opentoe/sys/dev/isp/isp_freebsd.h#4 integrate .. //depot/projects/opentoe/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/opentoe/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/opentoe/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/opentoe/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/opentoe/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/opentoe/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/opentoe/sys/dev/snp/snp.c#3 integrate .. //depot/projects/opentoe/sys/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/opentoe/sys/dev/sound/pci/hda/hdac_private.h#4 integrate .. //depot/projects/opentoe/sys/dev/sound/pcm/ac97_patch.c#4 integrate .. //depot/projects/opentoe/sys/dev/usb/if_axe.c#5 integrate .. //depot/projects/opentoe/sys/dev/usb/if_axereg.h#4 integrate .. //depot/projects/opentoe/sys/dev/usb/if_cdce.c#4 integrate .. //depot/projects/opentoe/sys/dev/usb/if_ural.c#10 integrate .. //depot/projects/opentoe/sys/dev/usb/uark.c#3 integrate .. //depot/projects/opentoe/sys/dev/usb/ugen.c#3 integrate .. //depot/projects/opentoe/sys/dev/usb/uhub.c#4 integrate .. //depot/projects/opentoe/sys/dev/usb/umass.c#5 integrate .. //depot/projects/opentoe/sys/dev/usb/umodem.c#5 integrate .. //depot/projects/opentoe/sys/dev/usb/ums.c#5 integrate .. //depot/projects/opentoe/sys/dev/usb/usb.h#3 integrate .. //depot/projects/opentoe/sys/dev/usb/usb_port.h#4 integrate .. //depot/projects/opentoe/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/opentoe/sys/dev/usb/usb_quirks.h#3 integrate .. //depot/projects/opentoe/sys/dev/usb/usb_subr.c#4 integrate .. //depot/projects/opentoe/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/opentoe/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/opentoe/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/opentoe/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/opentoe/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/opentoe/sys/fs/devfs/devfs_vnops.c#8 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_fifoops.h#3 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_uma.c#3 delete .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_uma.h#3 delete .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/opentoe/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/opentoe/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/opentoe/sys/i386/conf/NOTES#4 integrate .. //depot/projects/opentoe/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/opentoe/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/opentoe/sys/i4b/driver/i4b_ipr.c#2 integrate .. //depot/projects/opentoe/sys/i4b/driver/i4b_isppp.c#2 integrate .. //depot/projects/opentoe/sys/kern/kern_conf.c#4 integrate .. //depot/projects/opentoe/sys/kern/kern_descrip.c#7 integrate .. //depot/projects/opentoe/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/opentoe/sys/kern/kern_priv.c#3 integrate .. //depot/projects/opentoe/sys/kern/subr_smp.c#3 integrate .. //depot/projects/opentoe/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/opentoe/sys/kern/tty.c#3 integrate .. //depot/projects/opentoe/sys/kern/tty_pts.c#2 integrate .. //depot/projects/opentoe/sys/kern/tty_pty.c#2 integrate .. //depot/projects/opentoe/sys/kern/tty_tty.c#2 integrate .. //depot/projects/opentoe/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/opentoe/sys/modules/Makefile#6 integrate .. //depot/projects/opentoe/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/opentoe/sys/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/opentoe/sys/modules/ipfw/Makefile#2 integrate .. //depot/projects/opentoe/sys/modules/nxge/Makefile#1 branch .. //depot/projects/opentoe/sys/modules/pf/Makefile#2 integrate .. //depot/projects/opentoe/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/opentoe/sys/net/if_ethersubr.c#7 integrate .. //depot/projects/opentoe/sys/net/if_ppp.c#2 integrate .. //depot/projects/opentoe/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/opentoe/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/opentoe/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/opentoe/sys/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/opentoe/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/opentoe/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/opentoe/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/opentoe/sys/netatalk/aarp.h#2 integrate .. //depot/projects/opentoe/sys/netatalk/ddp.h#2 integrate .. //depot/projects/opentoe/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/opentoe/sys/netinet/in_pcb.h#5 integrate .. //depot/projects/opentoe/sys/netinet/in_proto.c#3 integrate .. //depot/projects/opentoe/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/opentoe/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/opentoe/sys/netinet/ip_input.c#6 integrate .. //depot/projects/opentoe/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/opentoe/sys/netinet/ip_output.c#5 integrate .. //depot/projects/opentoe/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/opentoe/sys/netinet/sctp_indata.c#13 integrate .. //depot/projects/opentoe/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/opentoe/sys/netinet/sctp_input.h#4 integrate .. //depot/projects/opentoe/sys/netinet/sctp_os_bsd.h#9 integrate .. //depot/projects/opentoe/sys/netinet/sctp_output.c#12 integrate .. //depot/projects/opentoe/sys/netinet/sctp_pcb.c#12 integrate .. //depot/projects/opentoe/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/opentoe/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/opentoe/sys/netinet/sctputil.c#14 integrate .. //depot/projects/opentoe/sys/netinet/tcp_input.c#10 integrate .. //depot/projects/opentoe/sys/netinet/tcp_output.c#8 integrate .. //depot/projects/opentoe/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/opentoe/sys/netinet/tcp_syncache.c#7 integrate .. //depot/projects/opentoe/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/opentoe/sys/netinet6/ah.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ah6.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ah_core.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ah_input.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ah_output.c#3 delete .. //depot/projects/opentoe/sys/netinet6/esp.h#2 delete .. //depot/projects/opentoe/sys/netinet6/esp6.h#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_aesctr.c#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_core.c#3 delete .. //depot/projects/opentoe/sys/netinet6/esp_input.c#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_output.c#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_rijndael.c#2 delete .. //depot/projects/opentoe/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/opentoe/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/in6.h#3 integrate .. //depot/projects/opentoe/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/opentoe/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/ip6_forward.c#2 integrate .. //depot/projects/opentoe/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/opentoe/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/opentoe/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ipcomp_core.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ipcomp_input.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ipcomp_output.c#2 delete .. //depot/projects/opentoe/sys/netinet6/ipsec.c#3 delete .. //depot/projects/opentoe/sys/netinet6/ipsec.h#2 delete .. //depot/projects/opentoe/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/opentoe/sys/netinet6/nd6.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/raw_ip6.c#4 integrate .. //depot/projects/opentoe/sys/netinet6/sctp6_usrreq.c#10 integrate .. //depot/projects/opentoe/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/opentoe/sys/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/opentoe/sys/netipsec/ipsec.c#4 integrate .. //depot/projects/opentoe/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/opentoe/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/opentoe/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/opentoe/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/opentoe/sys/netipsec/key.c#4 integrate .. //depot/projects/opentoe/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/opentoe/sys/netipsec/keysock.c#2 integrate .. //depot/projects/opentoe/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/opentoe/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/opentoe/sys/netkey/key.c#2 delete .. //depot/projects/opentoe/sys/netkey/key.h#2 delete .. //depot/projects/opentoe/sys/netkey/key_debug.c#2 delete .. //depot/projects/opentoe/sys/netkey/key_debug.h#2 delete .. //depot/projects/opentoe/sys/netkey/key_var.h#2 delete .. //depot/projects/opentoe/sys/netkey/keydb.c#2 delete .. //depot/projects/opentoe/sys/netkey/keydb.h#2 delete .. //depot/projects/opentoe/sys/netkey/keysock.c#2 delete .. //depot/projects/opentoe/sys/netkey/keysock.h#2 delete .. //depot/projects/opentoe/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/opentoe/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/opentoe/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/opentoe/sys/security/audit/audit.c#6 integrate .. //depot/projects/opentoe/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/opentoe/sys/sys/conf.h#3 integrate .. //depot/projects/opentoe/sys/sys/mbuf.h#9 integrate .. //depot/projects/opentoe/sys/sys/param.h#7 integrate .. //depot/projects/opentoe/sys/sys/systm.h#7 integrate .. //depot/projects/opentoe/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/opentoe/sys/vm/vm_pageout.c#6 integrate .. //depot/projects/opentoe/tools/regression/environ/Makefile#1 branch .. //depot/projects/opentoe/tools/regression/environ/Makefile.envctl#1 branch .. //depot/projects/opentoe/tools/regression/environ/Makefile.retention#1 branch .. //depot/projects/opentoe/tools/regression/environ/Makefile.timings#1 branch .. //depot/projects/opentoe/tools/regression/environ/envctl.c#1 branch .. //depot/projects/opentoe/tools/regression/environ/envtest.t#1 branch .. //depot/projects/opentoe/tools/regression/environ/retention.c#1 branch .. //depot/projects/opentoe/tools/regression/environ/timings.c#1 branch .. //depot/projects/opentoe/tools/tools/README#2 integrate .. //depot/projects/opentoe/tools/tools/nxge/Makefile#1 branch .. //depot/projects/opentoe/tools/tools/nxge/xge_cmn.h#1 branch .. //depot/projects/opentoe/tools/tools/nxge/xge_info.c#1 branch .. //depot/projects/opentoe/tools/tools/nxge/xge_info.h#1 branch .. //depot/projects/opentoe/tools/tools/nxge/xge_log.c#1 branch .. //depot/projects/opentoe/tools/tools/nxge/xge_log.h#1 branch .. //depot/projects/opentoe/tools/tools/tinybsd/conf/bridge/tinybsd.basefiles#3 integrate .. //depot/projects/opentoe/tools/tools/tinybsd/conf/default/tinybsd.basefiles#3 integrate .. //depot/projects/opentoe/tools/tools/tinybsd/conf/wireless/tinybsd.basefiles#3 integrate .. //depot/projects/opentoe/tools/tools/tinybsd/conf/wrap/tinybsd.basefiles#3 integrate .. //depot/projects/opentoe/usr.bin/du/du.c#3 integrate .. //depot/projects/opentoe/usr.bin/env/env.c#3 integrate .. //depot/projects/opentoe/usr.bin/limits/limits.c#3 integrate .. //depot/projects/opentoe/usr.bin/login/login.c#3 integrate .. //depot/projects/opentoe/usr.bin/netstat/Makefile#3 integrate .. //depot/projects/opentoe/usr.bin/netstat/ipsec.c#2 integrate .. //depot/projects/opentoe/usr.bin/netstat/main.c#3 integrate .. //depot/projects/opentoe/usr.bin/netstat/netstat.h#3 integrate .. //depot/projects/opentoe/usr.bin/netstat/pfkey.c#2 integrate .. //depot/projects/opentoe/usr.bin/su/su.c#3 integrate .. //depot/projects/opentoe/usr.bin/telnet/Makefile#2 integrate .. //depot/projects/opentoe/usr.bin/usbhidaction/usbhidaction.1#2 integrate .. //depot/projects/opentoe/usr.bin/usbhidaction/usbhidaction.c#2 integrate .. //depot/projects/opentoe/usr.sbin/Makefile#2 integrate .. //depot/projects/opentoe/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c#2 integrate .. //depot/projects/opentoe/usr.sbin/ftp-proxy/Makefile#1 branch .. //depot/projects/opentoe/usr.sbin/ftp-proxy/Makefile.inc#1 branch .. //depot/projects/opentoe/usr.sbin/ftp-proxy/ftp-proxy/Makefile#1 branch .. //depot/projects/opentoe/usr.sbin/ftp-proxy/libevent/Makefile#1 branch .. //depot/projects/opentoe/usr.sbin/inetd/Makefile#2 integrate .. //depot/projects/opentoe/usr.sbin/inetd/inetd.c#2 integrate .. //depot/projects/opentoe/usr.sbin/portsnap/phttpget/phttpget.c#2 integrate .. //depot/projects/opentoe/usr.sbin/pstat/pstat.c#4 integrate .. //depot/projects/opentoe/usr.sbin/rrenumd/Makefile#2 integrate .. //depot/projects/opentoe/usr.sbin/rrenumd/rrenumd.c#2 integrate .. //depot/projects/opentoe/usr.sbin/sade/main.c#3 integrate .. //depot/projects/opentoe/usr.sbin/sade/variable.c#3 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/dist.c#4 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/dist.h#2 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/index.c#4 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/main.c#3 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/menus.c#3 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/variable.c#3 integrate .. //depot/projects/opentoe/usr.sbin/traceroute6/Makefile#2 integrate .. //depot/projects/opentoe/usr.sbin/traceroute6/traceroute6.c#3 integrate .. //depot/projects/opentoe/usr.sbin/wicontrol/Makefile#2 delete .. //depot/projects/opentoe/usr.sbin/wicontrol/wicontrol.8#2 delete .. //depot/projects/opentoe/usr.sbin/wicontrol/wicontrol.c#2 delete Differences ... ==== //depot/projects/opentoe/ObsoleteFiles.inc#10 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.97 2007/06/25 05:06:52 rafan Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.102 2007/07/03 13:06:45 mlaier 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,30 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070703: pf 4.1 import +OLD_FILES+=usr/libexec/ftp-proxy +# 20070701: KAME IPSec removal +OLD_FILES+=usr/include/netinet6/ah.h +OLD_FILES+=usr/include/netinet6/ah6.h +OLD_FILES+=usr/include/netinet6/ah_aesxcbcmac.h +OLD_FILES+=usr/include/netinet6/esp.h +OLD_FILES+=usr/include/netinet6/esp6.h +OLD_FILES+=usr/include/netinet6/esp_aesctr.h +OLD_FILES+=usr/include/netinet6/esp_camellia.h +OLD_FILES+=usr/include/netinet6/esp_rijndael.h +OLD_FILES+=usr/include/netinet6/ipsec.h +OLD_FILES+=usr/include/netinet6/ipsec6.h +OLD_FILES+=usr/include/netinet6/ipcomp.h +OLD_FILES+=usr/include/netinet6/ipcomp6.h +OLD_FILES+=usr/include/netkey/key.h +OLD_FILES+=usr/include/netkey/key_debug.h +OLD_FILES+=usr/include/netkey/key_var.h +OLD_FILES+=usr/include/netkey/keydb.h +OLD_FILES+=usr/include/netkey/keysock.h +OLD_DIRS+=usr/include/netkey +# 20070701: remove wicontrol +OLD_FILES+=usr/sbin/wicontrol +OLD_FILES+=usr/share/man/man8/wicontrol.8.gz # 20070625: umapfs removal OLD_FILES+=rescue/mount_umapfs OLD_FILES+=sbin/mount_umapfs @@ -3589,7 +3613,6 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/opentoe/UPDATING#10 (text+ko) ==== @@ -21,6 +21,26 @@ developers choose to disable these features on build machines to maximize performance. +20070702: + The packet filter (pf) code has been updated to OpenBSD 4.1 Please + note the changed syntax - keep state is now on by default. Also + note the fact that ftp-proxy(8) has been changed from bottom up and + has been moved from libexec to usr/sbin. Changes in the ALTQ + handling also affect users of IPFW's ALTQ capabilities. + +20070701: + Remove KAME IPsec in favor of FAST_IPSEC, which is now the + only IPsec supported by FreeBSD. The new IPsec stack + supports both IPv4 and IPv6. The kernel option will change + after the code changes have settled in. For now the kernel + option IPSEC is deprecated and FAST_IPSEC is the only option, that + will change after some settling time. + +20070701: + The wicontrol(8) utility has been removed from the base system. wi(4) + cards should be configured using ifconfig(8), see the man page for more + information. + 20070612: By default, /etc/rc.d/sendmail no longer rebuilds the aliases database if it is missing or older than the aliases file. If @@ -857,4 +877,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ +$FreeBSD: src/UPDATING,v 1.500 2007/07/03 13:06:44 mlaier Exp $ ==== //depot/projects/opentoe/bin/df/df.c#4 (text+ko) ==== @@ -44,7 +44,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.70 2007/05/01 16:02:44 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.71 2007/07/04 00:00:37 scf Exp $"); #include #include @@ -131,14 +131,14 @@ */ if (kflag) break; - putenv("BLOCKSIZE=512"); + setenv("BLOCKSIZE", "512", 1); hflag = 0; break; case 'c': cflag = 1; break; case 'g': - putenv("BLOCKSIZE=1g"); + setenv("BLOCKSIZE", "1g", 1); hflag = 0; break; case 'H': @@ -152,7 +152,7 @@ break; case 'k': kflag++; - putenv("BLOCKSIZE=1024"); + setenv("BLOCKSIZE", "1024", 1); hflag = 0; break; case 'l': @@ -162,7 +162,7 @@ lflag = 1; break; case 'm': - putenv("BLOCKSIZE=1m"); + setenv("BLOCKSIZE", "1m", 1); hflag = 0; break; case 'n': ==== //depot/projects/opentoe/bin/ed/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/ed/Makefile,v 1.32 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/ed/Makefile,v 1.33 2007/07/02 14:00:25 kensmith Exp $ .include @@ -7,11 +7,13 @@ LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 +.if !defined(RELEASE_CRUNCH) .if ${MK_OPENSSL} != "no" CFLAGS+=-DDES WARNS?= 2 DPADD= ${LIBCRYPTO} LDADD= -lcrypto .endif +.endif .include ==== //depot/projects/opentoe/bin/sh/var.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.35 2007/05/01 16:02:43 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.36 2007/07/04 00:00:38 scf Exp $"); #include #include @@ -289,6 +289,7 @@ setvareq(char *s, int flags) { struct var *vp, **vpp; + char *p; int len; if (aflag) @@ -319,7 +320,10 @@ if (vp == &vmpath || (vp == &vmail && ! mpathset())) chkmail(1); if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -335,7 +339,10 @@ INTOFF; *vpp = vp; if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -596,7 +603,10 @@ vp->flags |= flag; if ((vp->flags & VEXPORT) && localevar(vp->text)) { - putenv(vp->text); + p = strchr(vp->text, '='); + *p = '\0'; + (void) setenv(vp->text, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } goto found; ==== //depot/projects/opentoe/contrib/netcat/netcat.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.5 2007/03/28 01:57:03 delphij Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.6 2007/07/01 12:08:04 gnn Exp $ */ /* @@ -42,7 +42,7 @@ #include #include #ifdef IPSEC -#include +#include #endif #include #include ==== //depot/projects/opentoe/contrib/pf/authpf/authpf.8#2 (text+ko) ==== @@ -1,29 +1,19 @@ -.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.2 2006/03/28 15:26:16 mlaier Exp $ -.\" $OpenBSD: authpf.8,v 1.38 2005/01/04 09:57:04 jmc Exp $ +.\" $FreeBSD: src/contrib/pf/authpf/authpf.8,v 1.3 2007/07/03 12:30:00 mlaier Exp $ +.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ .\" -.\" Copyright (c) 2002 Bob Beck (beck@openbsd.org>. All rights reserved. +.\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd March 28, 2006 .Dt AUTHPF 8 @@ -230,8 +220,11 @@ hijack the session. Note that TCP keepalives are not sufficient for this, since they are not secure. -Also note that +Also note that the various SSH tunnelling mechanisms, +such as .Ar AllowTcpForwarding +and +.Ar PermitTunnel , should be disabled for .Nm users to prevent them from circumventing restrictions imposed by the @@ -429,8 +422,7 @@ external_if = "xl0" internal_if = "fxp0" -pass in log quick on $internal_if proto tcp from $user_ip to any \e - keep state +pass in log quick on $internal_if proto tcp from $user_ip to any pass in quick on $internal_if from $user_ip to any .Ed .Pp @@ -445,16 +437,15 @@ # rdr ftp for proxying by ftp-proxy(8) rdr on $internal_if proto tcp from $user_ip to any port 21 \e - -> 127.0.0.1 port 8081 + -> 127.0.0.1 port 8021 # allow out ftp, ssh, www and https only, and allow user to negotiate # ipsec with the ipsec server. pass in log quick on $internal_if proto tcp from $user_ip to any \e - port { 21, 22, 80, 443 } flags S/SA + port { 21, 22, 80, 443 } pass in quick on $internal_if proto tcp from $user_ip to any \e port { 21, 22, 80, 443 } -pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp \e - keep state +pass in quick proto udp from $user_ip to $ipsec_gw port = isakmp pass in quick proto esp from $user_ip to $ipsec_gw .Ed .Pp @@ -469,7 +460,7 @@ # nat and tag connections... nat on $ext_if from $user_ip to any tag $user_ip -> $ext_addr pass in quick on $int_if from $user_ip to any -pass out log quick on $ext_if tagged $user_ip keep state +pass out log quick on $ext_if tagged $user_ip .Ed .Pp With the above rules added by @@ -495,7 +486,7 @@ .Bd -literal table persist pass in on $ext_if proto tcp from \e - to port { smtp imap } keep state + to port { smtp imap } .Ed .Pp It is also possible to use the "authpf_users" @@ -522,6 +513,7 @@ .Xr pf 4 , .Xr pf.conf 5 , .Xr fdescfs 5 , +.Xr securelevel 7 , .Xr ftp-proxy 8 .Sh HISTORY The ==== //depot/projects/opentoe/contrib/pf/authpf/authpf.c#2 (text+ko) ==== @@ -1,32 +1,23 @@ -/* $OpenBSD: authpf.c,v 1.89 2005/02/10 04:24:15 joel Exp $ */ +/* $OpenBSD: authpf.c,v 1.104 2007/02/24 17:35:08 beck Exp $ */ /* - * Copyright (C) 1998 - 2002 Bob Beck (beck@openbsd.org). + * Copyright (C) 1998 - 2007 Bob Beck (beck@openbsd.org). * - * 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. + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * 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. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include -__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.7 2005/12/25 22:57:08 mlaier Exp $"); +__FBSDID("$FreeBSD: src/contrib/pf/authpf/authpf.c,v 1.8 2007/07/03 12:30:01 mlaier Exp $"); #include #include @@ -56,15 +47,13 @@ #include "pathnames.h" -extern int symset(const char *, const char *, int); - static int read_config(FILE *); static void print_message(char *); static int allowed_luser(char *); static int check_luser(char *, char *); static int remove_stale_rulesets(void); static int change_filter(int, const char *, const char *); -static int change_table(int, const char *, const char *); +static int change_table(int, const char *); static void authpf_kill_states(void); int dev; /* pf device */ @@ -73,7 +62,6 @@ char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; FILE *pidfp; -char *infile; /* file name printed by yyerror() in parse.y */ char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -102,11 +90,16 @@ struct in6_addr ina; struct passwd *pw; char *cp; + gid_t gid; uid_t uid; char *shell; login_cap_t *lc; config = fopen(PATH_CONFFILE, "r"); + if (config == NULL) { + syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + exit(1); + } if ((cp = getenv("SSH_TTY")) == NULL) { syslog(LOG_ERR, "non-interactive session connection for authpf"); @@ -143,7 +136,6 @@ uid = getuid(); pw = getpwuid(uid); - endpwent(); if (pw == NULL) { syslog(LOG_ERR, "cannot find user for uid %u", uid); goto die; @@ -256,6 +248,8 @@ if (++lockcnt > 10) { syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", otherpid); + fclose(pidfp); + pidfp = NULL; goto dogdeath; } sleep(1); @@ -265,12 +259,22 @@ * it's lock, giving us a chance to get it now */ fclose(pidfp); + pidfp = NULL; } while (1); + + /* whack the group list */ + gid = getegid(); + if (setgroups(1, &gid) == -1) { + syslog(LOG_INFO, "setgroups: %s", strerror(errno)); + do_death(0); + } /* revoke privs */ - seteuid(getuid()); - setuid(getuid()); - + uid = getuid(); + if (setresuid(uid, uid, uid) == -1) { + syslog(LOG_INFO, "setresuid: %s", strerror(errno)); + do_death(0); + } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { @@ -278,8 +282,8 @@ do_death(0); } - if (config == NULL || read_config(config)) { - syslog(LOG_INFO, "bad or nonexistent %s", PATH_CONFFILE); + if (read_config(config)) { + syslog(LOG_ERR, "invalid config file %s", PATH_CONFFILE); do_death(0); } @@ -298,7 +302,7 @@ printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, luser, ipsrc) == -1) { + if (change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); @@ -309,7 +313,7 @@ signal(SIGALRM, need_death); signal(SIGPIPE, need_death); signal(SIGHUP, need_death); - signal(SIGSTOP, need_death); + signal(SIGQUIT, need_death); signal(SIGTSTP, need_death); while (1) { printf("\r\nHello %s. ", luser); @@ -559,9 +563,11 @@ while (fputs(tmp, stdout) != EOF && !feof(f)) { if (fgets(tmp, sizeof(tmp), f) == NULL) { fflush(stdout); + fclose(f); return (0); } } + fclose(f); } fflush(stdout); return (0); @@ -645,6 +651,7 @@ char *fdpath = NULL, *userstr = NULL, *ipstr = NULL; char *rsn = NULL, *fn = NULL; pid_t pid; + gid_t gid; int s; if (luser == NULL || !luser[0] || ipsrc == NULL || !ipsrc[0]) { @@ -684,8 +691,14 @@ switch (pid = fork()) { case -1: - err(1, "fork failed"); + syslog(LOG_ERR, "fork failed"); + goto error; case 0: + /* revoke group privs before exec */ + gid = getgid(); + if (setregid(gid, gid) == -1) { + err(1, "setregid"); + } execvp(PATH_PFCTL, pargv); warn("exec of %s failed", PATH_PFCTL); _exit(1); @@ -694,10 +707,8 @@ /* parent */ waitpid(pid, &s, 0); if (s != 0) { - if (WIFEXITED(s)) { - syslog(LOG_ERR, "pfctl exited abnormally"); - goto error; - } + syslog(LOG_ERR, "pfctl exited abnormally"); + goto error; } if (add) { @@ -718,16 +729,10 @@ syslog(LOG_ERR, "malloc failed"); error: free(fdpath); - fdpath = NULL; free(rsn); - rsn = NULL; free(userstr); - userstr = NULL; free(ipstr); - ipstr = NULL; free(fn); - fn = NULL; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 4 06:53:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 853EB16A469; Wed, 4 Jul 2007 06:53:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3D47016A46D for ; Wed, 4 Jul 2007 06:53:14 +0000 (UTC) (envelope-from chub@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2D43513C48C for ; Wed, 4 Jul 2007 06:53:14 +0000 (UTC) (envelope-from chub@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l646rEEL099507 for ; Wed, 4 Jul 2007 06:53:14 GMT (envelope-from chub@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l646rDjs099499 for perforce@freebsd.org; Wed, 4 Jul 2007 06:53:13 GMT (envelope-from chub@FreeBSD.org) Date: Wed, 4 Jul 2007 06:53:13 GMT Message-Id: <200707040653.l646rDjs099499@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to chub@FreeBSD.org using -f From: Brian Chu To: Perforce Change Reviews Cc: Subject: PERFORCE change 122840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 06:53:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=122840 Change 122840 by chub@chub-msdosfs on 2007/07/04 06:52:31 Removing geom/label's copy of msdosfs data structures. Affected files ... .. //depot/projects/soc2007/chub-msdosfs2/sys/fs/msdosfs/bootsect.h#2 edit .. //depot/projects/soc2007/chub-msdosfs2/sys/fs/msdosfs/direntry.h#2 edit .. //depot/projects/soc2007/chub-msdosfs2/sys/geom/label/g_label_msdosfs.c#2 edit .. //depot/projects/soc2007/chub-msdosfs2/sys/geom/label/g_label_msdosfs.h#2 delete Differences ... ==== //depot/projects/soc2007/chub-msdosfs2/sys/fs/msdosfs/bootsect.h#2 (text+ko) ==== @@ -73,21 +73,3 @@ struct bootsector50 bs50; struct bootsector710 bs710; }; - -#if 0 -/* - * Shorthand for fields in the bpb. - */ -#define bsBytesPerSec bsBPB.bpbBytesPerSec -#define bsSectPerClust bsBPB.bpbSectPerClust -#define bsResSectors bsBPB.bpbResSectors -#define bsFATS bsBPB.bpbFATS -#define bsRootDirEnts bsBPB.bpbRootDirEnts -#define bsSectors bsBPB.bpbSectors -#define bsMedia bsBPB.bpbMedia -#define bsFATsecs bsBPB.bpbFATsecs -#define bsSectPerTrack bsBPB.bpbSectPerTrack -#define bsHeads bsBPB.bpbHeads -#define bsHiddenSecs bsBPB.bpbHiddenSecs -#define bsHugeSectors bsBPB.bpbHugeSectors -#endif ==== //depot/projects/soc2007/chub-msdosfs2/sys/fs/msdosfs/direntry.h#2 (text+ko) ==== @@ -88,7 +88,7 @@ #define WIN_CNT 0x3f u_int8_t wePart1[10]; u_int8_t weAttributes; -#define ATTR_WIN95 0x0f +#define ATTR_WIN95 0x0f /* Long directory entryies */ u_int8_t weReserved1; u_int8_t weChksum; u_int8_t wePart2[12]; ==== //depot/projects/soc2007/chub-msdosfs2/sys/geom/label/g_label_msdosfs.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /*- * Copyright (c) 2004 Pawel Jakub Dawidek * Copyright (c) 2006 Tobias Reifenberger + * Copyright (c) 2007 Brian Chu * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,20 +34,34 @@ #include #include +#include +#include +#include + #include #include -#include #define G_LABEL_MSDOSFS_DIR "msdosfs" #define LABEL_NO_NAME "NO NAME " +/* + * Conversion macros for little endian encoded unsigned integers + * in byte streams to the local unsigned integer format. + */ +#include +#define UINT16BYTES(p) ((uint32_t)((p)[0] + (256*(p)[1]))) +#define UINT32BYTES(p) ((uint32_t)((p)[0] + (256*(p)[1]) + \ + (65536*(p)[2]) + (16777216*(p)[3]))) + static void g_label_msdosfs_taste(struct g_consumer *cp, char *label, size_t size) { struct g_provider *pp; - FAT_BSBPB *pfat_bsbpb; - FAT32_BSBPB *pfat32_bsbpb; - FAT_DES *pfat_entry; + union bootsector *bsp; + struct byte_bpb50 *pfat_bpb50; + struct byte_bpb710 *pfat_bpb710; + struct extboot *pfat_extboot; + struct direntry* pfat_entry; uint8_t *sector0, *sector; uint32_t i; @@ -74,10 +89,17 @@ if (sector0 == NULL) return; + /* Set the bootsector/boot parameter block to a struct. */ + bsp = (union bootsector *)sector0; + pfat_bpb50 = (struct byte_bpb50 *) bsp->bs50.bsBPB; + pfat_bpb710 = (struct byte_bpb710 *) bsp->bs710.bsBPB; + /* Check for the FAT boot sector signature. */ - if (sector0[510] != 0x55 || sector0[511] != 0xaa) { - G_LABEL_DEBUG(1, "MSDOSFS: %s: no FAT signature found.", - pp->name); + if (bsp->bs50.bsBootSectSig0 != BOOTSIG0 || + bsp->bs50.bsBootSectSig1 != BOOTSIG1) { + G_LABEL_DEBUG(1, + "MSDOSFS: %s: no FAT signature found.", + pp->name); goto error; } @@ -85,42 +107,56 @@ /* * Test if this is really a FAT volume and determine the FAT type. */ + if (UINT16BYTES(pfat_bpb50->bpbFATsecs) != 0) { + /* The extended boot record is one place for FAT12/FAT16 + * and another for FAT32. + */ - pfat_bsbpb = (FAT_BSBPB *)sector0; - pfat32_bsbpb = (FAT32_BSBPB *)sector0; + pfat_extboot = (struct extboot *) bsp->bs50.bsExt; - if (UINT16BYTES(pfat_bsbpb->BPB_FATSz16) != 0) { /* - * If the BPB_FATSz16 field is not zero and the string "FAT" is - * at the right place, this should be a FAT12 or FAT16 volume. + * If the BPB_FATSz16/bpbFATsecs field is not zero and + * the string "FAT" is at the right place, this should + * be a FAT12 or FAT16 volume. */ - if (strncmp(pfat_bsbpb->BS_FilSysType, "FAT", 3) != 0) { + + if (strncmp(pfat_extboot->exFileSysType, "FAT", 3) != 0) { G_LABEL_DEBUG(1, "MSDOSFS: %s: FAT12/16 volume not valid.", pp->name); goto error; } - G_LABEL_DEBUG(1, "MSDOSFS: %s: FAT12/FAT16 volume detected.", - pp->name); + G_LABEL_DEBUG(1, + "MSDOSFS: %s: FAT12/FAT16 volume detected.", + pp->name); /* A volume with no name should have "NO NAME " as label. */ - if (strncmp(pfat_bsbpb->BS_VolLab, LABEL_NO_NAME, - sizeof(pfat_bsbpb->BS_VolLab)) == 0) { + if (strncmp(pfat_extboot->exVolumeLabel, LABEL_NO_NAME, + sizeof(pfat_extboot->exVolumeLabel)) == 0) { G_LABEL_DEBUG(1, "MSDOSFS: %s: FAT12/16 volume has no name.", pp->name); goto error; } - strlcpy(label, pfat_bsbpb->BS_VolLab, - MIN(size, sizeof(pfat_bsbpb->BS_VolLab) + 1)); - } else if (UINT32BYTES(pfat32_bsbpb->BPB_FATSz32) != 0) { + strlcpy(label, pfat_extboot->exVolumeLabel, + MIN(size, sizeof(pfat_extboot->exVolumeLabel) + 1)); + } + else if (UINT32BYTES(pfat_bpb710->bpbBigFATsecs) != 0) { uint32_t fat_FirstDataSector, fat_BytesPerSector, offset; + /* The extended boot record is one place for FAT12/FAT16 + * and another for FAT32. + */ + + pfat_extboot = (struct extboot *) bsp->bs710.bsExt; + /* - * If the BPB_FATSz32 field is not zero and the string "FAT" is - * at the right place, this should be a FAT32 volume. + * If the BPB_FATSz32/bpbBigFATsecs field is not zero + * and the string "FAT" is at the right place, this + * should be a FAT32 volume. */ - if (strncmp(pfat32_bsbpb->BS_FilSysType, "FAT", 3) != 0) { + + if (strncmp(pfat_extboot->exFileSysType, "FAT", 3) != 0) { G_LABEL_DEBUG(1, "MSDOSFS: %s: FAT32 volume not valid.", pp->name); goto error; @@ -131,10 +167,10 @@ /* * If the volume label is not "NO NAME " we're done. */ - if (strncmp(pfat32_bsbpb->BS_VolLab, LABEL_NO_NAME, - sizeof(pfat32_bsbpb->BS_VolLab)) != 0) { - strlcpy(label, pfat32_bsbpb->BS_VolLab, - MIN(size, sizeof(pfat32_bsbpb->BS_VolLab) + 1)); + if (strncmp(pfat_extboot->exVolumeLabel, LABEL_NO_NAME, + sizeof(pfat_extboot->exVolumeLabel)) == 0) { + strlcpy(label, pfat_extboot->exVolumeLabel, + MIN(size, sizeof(pfat_extboot->exVolumeLabel) + 1)); goto endofchecks; } @@ -144,10 +180,10 @@ * the root directory. */ fat_FirstDataSector = - UINT16BYTES(pfat32_bsbpb->BPB_RsvdSecCnt) + - (pfat32_bsbpb->BPB_NumFATs * - UINT32BYTES(pfat32_bsbpb->BPB_FATSz32)); - fat_BytesPerSector = UINT16BYTES(pfat32_bsbpb->BPB_BytsPerSec); + UINT16BYTES(pfat_bpb710->bpbResSectors) + + (pfat_bpb710->bpbFATs * + UINT32BYTES(pfat_bpb710->bpbBigFATsecs)); + fat_BytesPerSector = UINT16BYTES(pfat_bpb710->bpbBytesPerSec); G_LABEL_DEBUG(2, "MSDOSFS: FAT_FirstDataSector=0x%x, FAT_BytesPerSector=%d", @@ -160,10 +196,10 @@ if (sector == NULL) goto error; - pfat_entry = (FAT_DES *)sector; + pfat_entry = (struct direntry *)sector; do { /* No more entries available. */ - if (pfat_entry->DIR_Name[0] == 0) { + if (pfat_entry->deName[0] == 0) { G_LABEL_DEBUG(1, "MSDOSFS: %s: " "FAT32 volume has no name.", pp->name); @@ -171,10 +207,9 @@ } /* Skip empty or long name entries. */ - if (pfat_entry->DIR_Name[0] == 0xe5 || - (pfat_entry->DIR_Attr & - FAT_DES_ATTR_LONG_NAME) == - FAT_DES_ATTR_LONG_NAME) { + if (pfat_entry->deName[0] == 0xe5 || + (pfat_entry->deAttributes & + ATTR_WIN95) == ATTR_WIN95) { continue; } @@ -182,11 +217,11 @@ * The name of the entry is the volume label if * ATTR_VOLUME_ID is set. */ - if (pfat_entry->DIR_Attr & - FAT_DES_ATTR_VOLUME_ID) { - strlcpy(label, pfat_entry->DIR_Name, + if (pfat_entry->deAttributes & + ATTR_DIRECTORY) { + strlcpy(label, pfat_entry->deName, MIN(size, - sizeof(pfat_bsbpb->BS_VolLab) + 1)); + sizeof(pfat_extboot->exVolumeLabel) + 1)); goto endofchecks; } } while((uint8_t *)(++pfat_entry) < From owner-p4-projects@FreeBSD.ORG Wed Jul 4 08:32:22 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6C8C16A475; Wed, 4 Jul 2007 08:32:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4A38616A41F for ; Wed, 4 Jul 2007 08:32:21 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 387BA13C4BD for ; Wed, 4 Jul 2007 08:32:21 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l648WLUW012699 for ; Wed, 4 Jul 2007 08:32:21 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l648WKNS012694 for perforce@freebsd.org; Wed, 4 Jul 2007 08:32:20 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 4 Jul 2007 08:32:20 GMT Message-Id: <200707040832.l648WKNS012694@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122844 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 08:32:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=122844 Change 122844 by lulf@lulf_carrot on 2007/07/04 08:31:35 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#9 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#11 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#8 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/Make.tags.inc#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#7 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/Makefile#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/_rwlock.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/rwlock.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/swap_pager.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#7 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.166 2007/06/12 21:31:39 phk Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.167 2007/06/25 05:06:53 rafan Exp $ .include @@ -59,7 +59,6 @@ mount_ntfs \ mount_nullfs \ mount_udf \ - mount_umapfs \ mount_unionfs \ natd \ newfs \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1434 2007/06/16 04:57:03 alc Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1439 2007/07/01 11:38:26 gnn Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -495,9 +495,9 @@ # options INET #Internet communications protocols options INET6 #IPv6 communications protocols -options IPSEC #IP security -options IPSEC_ESP #IP security (crypto; define w/ IPSEC) -options IPSEC_DEBUG #debug for IP security +#options IPSEC #IP security +#options IPSEC_ESP #IP security (crypto; define w/ IPSEC) +#options IPSEC_DEBUG #debug for IP security # # Set IPSEC_FILTERGIF to force packets coming through a gif tunnel # to be processed by any configured packet filtering (ipfw, ipf). @@ -509,7 +509,7 @@ # #options IPSEC_FILTERGIF #filter ipsec packets from a tunnel -#options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) +options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) options IPX #IPX/SPX communications protocols @@ -938,10 +938,12 @@ # currently be demand-loaded.) Some people still prefer to statically # compile other filesystems as well. # -# NB: The NULL, PORTAL, UMAP and UNION filesystems are known to be -# buggy, and WILL panic your system if you attempt to do anything with -# them. They are included here as an incentive for some enterprising -# soul to sit down and fix them. +# NB: The PORTAL filesystem is known to be buggy, and WILL panic your +# system if you attempt to do anything with it. It is included here +# as an incentive for some enterprising soul to sit down and fix it. +# The UNION filesystem was known to be buggy in the past. It is now +# being actively maintained, although there are still some issues being +# resolved. # # One of these is mandatory: @@ -964,8 +966,6 @@ options PSEUDOFS_TRACE #Debugging support for PSEUDOFS options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -# Broken (seriously (functionally) broken): -#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device @@ -1905,6 +1905,7 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device le # AMD Am7900 LANCE and Am79C9xx PCnet +device nxge # Neterion Xframe 10GbE Server/Storage Adapter device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1222 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1227 2007/07/01 12:42:37 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -811,6 +811,17 @@ dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard dev/nge/if_nge.c optional nge +dev/nxge/if_nxge.c optional nxge +dev/nxge/xgehal/xgehal-device.c optional nxge +dev/nxge/xgehal/xgehal-mm.c optional nxge +dev/nxge/xgehal/xge-queue.c optional nxge +dev/nxge/xgehal/xgehal-driver.c optional nxge +dev/nxge/xgehal/xgehal-ring.c optional nxge +dev/nxge/xgehal/xgehal-channel.c optional nxge +dev/nxge/xgehal/xgehal-fifo.c optional nxge +dev/nxge/xgehal/xgehal-stats.c optional nxge +dev/nxge/xgehal/xgehal-config.c optional nxge +dev/nxge/xgehal/xgehal-mgmt.c optional nxge dev/nmdm/nmdm.c optional nmdm dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp pccard @@ -1199,9 +1210,6 @@ fs/udf/udf_iconv.c optional udf_iconv fs/udf/udf_vfsops.c optional udf fs/udf/udf_vnops.c optional udf -fs/umapfs/umap_subr.c optional umapfs -fs/umapfs/umap_vfsops.c optional umapfs -fs/umapfs/umap_vnops.c optional umapfs fs/unionfs/union_subr.c optional unionfs fs/unionfs/union_vfsops.c optional unionfs fs/unionfs/union_vnops.c optional unionfs @@ -1209,7 +1217,6 @@ fs/tmpfs/tmpfs_fifoops.c optional tmpfs fs/tmpfs/tmpfs_vfsops.c optional tmpfs fs/tmpfs/tmpfs_subr.c optional tmpfs -fs/tmpfs/tmpfs_uma.c optional tmpfs gdb/gdb_cons.c optional gdb gdb/gdb_main.c optional gdb gdb/gdb_packet.c optional gdb @@ -1822,7 +1829,6 @@ netinet/ip_fw_pfil.c optional ipfirewall netinet/ip_icmp.c optional inet netinet/ip_input.c optional inet -netinet/ip_ipsec.c optional ipsec netinet/ip_ipsec.c optional fast_ipsec netinet/ip_mroute.c optional mrouting inet | mrouting inet6 netinet/ip_options.c optional inet @@ -1858,17 +1864,7 @@ netinet/libalias/alias_mod.c optional libalias | netgraph_nat netinet/libalias/alias_proxy.c optional libalias | netgraph_nat netinet/libalias/alias_util.c optional libalias | netgraph_nat -netinet6/ah_aesxcbcmac.c optional ipsec -netinet6/ah_core.c optional ipsec -netinet6/ah_input.c optional ipsec -netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -netinet6/esp_aesctr.c optional ipsec ipsec_esp -netinet6/esp_core.c optional ipsec ipsec_esp -netinet6/esp_input.c optional ipsec ipsec_esp -netinet6/esp_output.c optional ipsec ipsec_esp -netinet6/esp_rijndael.c optional ipsec ipsec_esp -netinet6/esp_camellia.c optional ipsec ipsec_esp netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 netinet6/in6.c optional inet6 @@ -1884,10 +1880,7 @@ netinet6/ip6_input.c optional inet6 netinet6/ip6_mroute.c optional mrouting inet6 netinet6/ip6_output.c optional inet6 -netinet6/ipcomp_core.c optional ipsec -netinet6/ipcomp_input.c optional ipsec -netinet6/ipcomp_output.c optional ipsec -netinet6/ipsec.c optional ipsec +netinet6/ip6_ipsec.c optional fast_ipsec netinet6/mld6.c optional inet6 netinet6/nd6.c optional inet6 netinet6/nd6_nbr.c optional inet6 @@ -1919,10 +1912,6 @@ netipx/ipx_usrreq.c optional ipx netipx/spx_debug.c optional ipx netipx/spx_usrreq.c optional ipx -netkey/key.c optional ipsec -netkey/key_debug.c optional ipsec -netkey/keydb.c optional ipsec -netkey/keysock.c optional ipsec netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.596 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/options,v 1.597 2007/06/25 05:06:55 rafan Exp $ # # On the handling of kernel options # @@ -198,7 +198,6 @@ SMBFS opt_dontuse.h TMPFS opt_dontuse.h UDF opt_dontuse.h -UMAPFS opt_dontuse.h UNIONFS opt_dontuse.h # Pseudofs debugging ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/acpica/acpi_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.35 2007/03/31 23:23:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.36 2007/06/21 22:50:36 njl Exp $"); #include #include @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include #include @@ -46,8 +48,6 @@ * APM driver emulation */ -#include - #include #include @@ -64,21 +64,31 @@ static int intr_model = ACPI_INTR_PIC; static int apm_active; +static struct clonedevs *apm_clones; + +MALLOC_DEFINE(M_APMDEV, "apmdev", "APM device emulation"); -static d_open_t apmopen; -static d_close_t apmclose; -static d_write_t apmwrite; -static d_ioctl_t apmioctl; -static d_poll_t apmpoll; +static d_open_t apmopen; +static d_close_t apmclose; +static d_write_t apmwrite; +static d_ioctl_t apmioctl; +static d_poll_t apmpoll; +static d_kqfilter_t apmkqfilter; +static void apmreadfiltdetach(struct knote *kn); +static int apmreadfilt(struct knote *kn, long hint); +static struct filterops apm_readfiltops = + { 1, NULL, apmreadfiltdetach, apmreadfilt }; static struct cdevsw apm_cdevsw = { .d_version = D_VERSION, + .d_flags = D_TRACKCLOSE, .d_open = apmopen, .d_close = apmclose, .d_write = apmwrite, .d_ioctl = apmioctl, .d_poll = apmpoll, .d_name = "apm", + .d_kqfilter = apmkqfilter }; static int @@ -202,44 +212,177 @@ return (0); } +/* Create single-use devices for /dev/apm and /dev/apmctl. */ +static void +apm_clone(void *arg, struct ucred *cred, char *name, int namelen, + struct cdev **dev) +{ + int ctl_dev, unit; + + if (*dev != NULL) + return; + if (strcmp(name, "apmctl") == 0) + ctl_dev = TRUE; + else if (strcmp(name, "apm") == 0) + ctl_dev = FALSE; + else + return; + + /* Always create a new device and unit number. */ + unit = -1; + if (clone_create(&apm_clones, &apm_cdevsw, &unit, dev, 0)) { + if (ctl_dev) { + *dev = make_dev(&apm_cdevsw, unit2minor(unit), + UID_ROOT, GID_OPERATOR, 0660, "apmctl%d", unit); + } else { + *dev = make_dev(&apm_cdevsw, unit2minor(unit), + UID_ROOT, GID_OPERATOR, 0664, "apm%d", unit); + } + if (*dev != NULL) { + dev_ref(*dev); + (*dev)->si_flags |= SI_CHEAPCLONE; + } + } +} + +/* Create a struct for tracking per-device suspend notification. */ +static struct apm_clone_data * +apm_create_clone(struct cdev *dev, struct acpi_softc *acpi_sc) +{ + struct apm_clone_data *clone; + + clone = malloc(sizeof(*clone), M_APMDEV, M_WAITOK); + clone->cdev = dev; + clone->acpi_sc = acpi_sc; + clone->notify_status = APM_EV_NONE; + bzero(&clone->sel_read, sizeof(clone->sel_read)); + knlist_init(&clone->sel_read.si_note, &acpi_mutex, NULL, NULL, NULL); + + /* + * The acpi device is always managed by devd(8) and is considered + * writable (i.e., ack is required to allow suspend to proceed.) + */ + if (strcmp("acpi", devtoname(dev)) == 0) + clone->flags = ACPI_EVF_DEVD | ACPI_EVF_WRITE; + else + clone->flags = ACPI_EVF_NONE; + + ACPI_LOCK(acpi); + STAILQ_INSERT_TAIL(&acpi_sc->apm_cdevs, clone, entries); + ACPI_UNLOCK(acpi); + return (clone); +} + +/* XXX Kernel should be updated to allow calls to destroy_dev() in close(). */ +static void +apm_destroy_clone(void *arg) +{ + + destroy_dev((struct cdev *)arg); +} + static int apmopen(struct cdev *dev, int flag, int fmt, d_thread_t *td) { + struct acpi_softc *acpi_sc; + struct apm_clone_data *clone; + + acpi_sc = devclass_get_softc(devclass_find("acpi"), 0); + clone = apm_create_clone(dev, acpi_sc); + dev->si_drv1 = clone; + + /* If the device is opened for write, record that. */ + if ((flag & FWRITE) != 0) + clone->flags |= ACPI_EVF_WRITE; + return (0); } static int apmclose(struct cdev *dev, int flag, int fmt, d_thread_t *td) { + struct apm_clone_data *clone; + struct acpi_softc *acpi_sc; + + clone = dev->si_drv1; + acpi_sc = clone->acpi_sc; + + /* We are about to lose a reference so check if suspend should occur */ + if (acpi_sc->acpi_next_sstate != 0 && + clone->notify_status != APM_EV_ACKED) + acpi_AckSleepState(clone, 0); + + /* Remove this clone's data from the list and free it. */ + ACPI_LOCK(acpi); + STAILQ_REMOVE(&acpi_sc->apm_cdevs, clone, apm_clone_data, entries); + knlist_destroy(&clone->sel_read.si_note); + ACPI_UNLOCK(acpi); + free(clone, M_APMDEV); + AcpiOsExecute(OSL_GPE_HANDLER, apm_destroy_clone, dev); return (0); } static int apmioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, d_thread_t *td) { - int error = 0; + int error; + struct apm_clone_data *clone; struct acpi_softc *acpi_sc; - struct apm_info info; + struct apm_info info; + struct apm_event_info *ev_info; apm_info_old_t aiop; - acpi_sc = devclass_get_softc(devclass_find("acpi"), 0); + error = 0; + clone = dev->si_drv1; + acpi_sc = clone->acpi_sc; switch (cmd) { case APMIO_SUSPEND: if ((flag & FWRITE) == 0) return (EPERM); - if (apm_active) - acpi_SetSleepState(acpi_sc, acpi_sc->acpi_suspend_sx); - else - error = EINVAL; + if (acpi_sc->acpi_next_sstate == 0) { + if (acpi_sc->acpi_suspend_sx != ACPI_STATE_S5) { + error = acpi_ReqSleepState(acpi_sc, + acpi_sc->acpi_suspend_sx); + } else { + printf( + "power off via apm suspend not supported\n"); + error = ENXIO; + } + } else + error = acpi_AckSleepState(clone, 0); break; case APMIO_STANDBY: if ((flag & FWRITE) == 0) return (EPERM); - if (apm_active) - acpi_SetSleepState(acpi_sc, acpi_sc->acpi_standby_sx); - else - error = EINVAL; + if (acpi_sc->acpi_next_sstate == 0) { + if (acpi_sc->acpi_standby_sx != ACPI_STATE_S5) { + error = acpi_ReqSleepState(acpi_sc, + acpi_sc->acpi_standby_sx); + } else { + printf( + "power off via apm standby not supported\n"); + error = ENXIO; + } + } else + error = acpi_AckSleepState(clone, 0); + break; + case APMIO_NEXTEVENT: + printf("apm nextevent start\n"); + ACPI_LOCK(acpi); + if (acpi_sc->acpi_next_sstate != 0 && clone->notify_status == + APM_EV_NONE) { + ev_info = (struct apm_event_info *)addr; + if (acpi_sc->acpi_next_sstate <= ACPI_STATE_S3) + ev_info->type = PMEV_STANDBYREQ; + else + ev_info->type = PMEV_SUSPENDREQ; + ev_info->index = 0; + clone->notify_status = APM_EV_NOTIFIED; + printf("apm event returning %d\n", ev_info->type); + } else + error = EAGAIN; + ACPI_UNLOCK(acpi); break; case APMIO_GETINFO_OLD: if (acpi_capm_get_info(&info)) @@ -300,24 +443,71 @@ static int apmpoll(struct cdev *dev, int events, d_thread_t *td) { + struct apm_clone_data *clone; + int revents; + + revents = 0; + ACPI_LOCK(acpi); + clone = dev->si_drv1; + if (clone->acpi_sc->acpi_next_sstate) + revents |= events & (POLLIN | POLLRDNORM); + else + selrecord(td, &clone->sel_read); + ACPI_UNLOCK(acpi); + return (revents); +} + +static int +apmkqfilter(struct cdev *dev, struct knote *kn) +{ + struct apm_clone_data *clone; + + ACPI_LOCK(acpi); + clone = dev->si_drv1; + kn->kn_hook = clone; + kn->kn_fop = &apm_readfiltops; + knlist_add(&clone->sel_read.si_note, kn, 0); + ACPI_UNLOCK(acpi); return (0); } static void -acpi_capm_init(struct acpi_softc *sc) +apmreadfiltdetach(struct knote *kn) +{ + struct apm_clone_data *clone; + + ACPI_LOCK(acpi); + clone = kn->kn_hook; + knlist_remove(&clone->sel_read.si_note, kn, 0); + ACPI_UNLOCK(acpi); +} + +static int +apmreadfilt(struct knote *kn, long hint) { - make_dev(&apm_cdevsw, 0, 0, 5, 0664, "apm"); + struct apm_clone_data *clone; + int sleeping; + + ACPI_LOCK(acpi); + clone = kn->kn_hook; + sleeping = clone->acpi_sc->acpi_next_sstate ? 1 : 0; + ACPI_UNLOCK(acpi); + return (sleeping); } int acpi_machdep_init(device_t dev) { - struct acpi_softc *sc; + struct acpi_softc *acpi_sc; - sc = devclass_get_softc(devclass_find("acpi"), 0); - acpi_capm_init(sc); + acpi_sc = devclass_get_softc(devclass_find("acpi"), 0); - acpi_install_wakeup_handler(sc); + /* Create a clone for /dev/acpi also. */ + STAILQ_INIT(&acpi_sc->apm_cdevs); + acpi_sc->acpi_clone = apm_create_clone(acpi_sc->acpi_dev_t, acpi_sc); + clone_setup(&apm_clones); + EVENTHANDLER_REGISTER(dev_clone, apm_clone, 0, 1000); + acpi_install_wakeup_handler(acpi_sc); if (intr_model == ACPI_INTR_PIC) BUS_CONFIG_INTR(dev, AcpiGbl_FADT.SciInterrupt, @@ -325,8 +515,8 @@ else acpi_SetIntrModel(intr_model); - SYSCTL_ADD_UINT(&sc->acpi_sysctl_ctx, - SYSCTL_CHILDREN(sc->acpi_sysctl_tree), OID_AUTO, + SYSCTL_ADD_UINT(&acpi_sc->acpi_sysctl_ctx, + SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree), OID_AUTO, "reset_video", CTLFLAG_RW, &acpi_reset_video, 0, "Call the VESA reset BIOS vector on the resume path"); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#5 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.592 2007/05/31 22:52:12 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.593 2007/07/01 07:08:26 alc Exp $"); /* * Manages physical address maps. @@ -271,7 +271,8 @@ vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, vm_page_t *free); -static void pmap_remove_page(struct pmap *pmap, vm_offset_t va); +static void pmap_remove_page(struct pmap *pmap, vm_offset_t va, + vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); @@ -1987,19 +1988,17 @@ * Remove a single page from a process address space */ static void -pmap_remove_page(pmap_t pmap, vm_offset_t va) +pmap_remove_page(pmap_t pmap, vm_offset_t va, vm_page_t *free) { pt_entry_t *pte; - vm_page_t free = NULL; mtx_assert(&vm_page_queue_mtx, MA_OWNED); KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((pte = pmap_pte_quick(pmap, va)) == NULL || *pte == 0) return; - pmap_remove_pte(pmap, pte, va, &free); + pmap_remove_pte(pmap, pte, va, free); pmap_invalidate_page(pmap, va); - pmap_free_zero_pages(free); } /* @@ -2036,7 +2035,7 @@ */ if ((sva + PAGE_SIZE == eva) && ((pmap->pm_pdir[(sva >> PDRSHIFT)] & PG_PS) == 0)) { - pmap_remove_page(pmap, sva); + pmap_remove_page(pmap, sva, &free); goto out; } @@ -2095,12 +2094,11 @@ } out: sched_unpin(); - if (anyvalid) { + if (anyvalid) pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); - } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* @@ -3119,9 +3117,9 @@ } sched_unpin(); pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/Make.tags.inc#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/kern/Make.tags.inc,v 1.18 2007/05/13 18:21:54 mckusick Exp $ +# $FreeBSD: src/sys/kern/Make.tags.inc,v 1.19 2007/06/25 05:06:56 rafan Exp $ # @(#)Make.tags.inc 8.1 (Berkeley) 6/11/93 SYS?= ${.CURDIR}/.. @@ -37,7 +37,6 @@ ${SYS}/fs/procfs/*.[ch] \ ${SYS}/fs/smbfs/*.[ch] \ ${SYS}/fs/udf/*.[ch] \ - ${SYS}/fs/umapfs/*.[ch] \ ${SYS}/fs/unionfs/*.[ch] \ ${SYS}/kern/*.[ch] \ ${SYS}/net/*.[ch] \ @@ -96,7 +95,6 @@ ${SYS}/fs/portalfs \ ${SYS}/fs/procfs \ ${SYS}/fs/specfs \ - ${SYS}/fs/umapfs \ ${SYS}/fs/unionfs \ ${SYS}/fs/cd9660 \ ${SYS}/ufs/ffs \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 3/21/94 -# $FreeBSD: src/sys/kern/Makefile,v 1.13 2006/08/05 19:25:14 jb Exp $ +# $FreeBSD: src/sys/kern/Makefile,v 1.14 2007/06/25 05:06:56 rafan Exp $ # Makefile for kernel tags files, init_sysent, etc. @@ -38,7 +38,7 @@ dev dev/scsi \ fs fs/deadfs fs/fdescfs fs/fifofs \ fs/lofs fs/nullfs fs/portalfs fs/procfs \ - fs/specfs fs/umapfs fs/unionfs \ + fs/specfs fs/unionfs \ hp hp/dev hp/hpux \ kern libkern \ net netinet nfs scripts sys \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#7 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_malloc.c,v 1.161 2007/06/14 03:02:33 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_malloc.c,v 1.162 2007/06/27 13:39:38 rwatson Exp $"); #include "opt_ddb.h" #include "opt_vm.h" @@ -112,8 +112,8 @@ static MALLOC_DEFINE(M_FREE, "free", "should be on free list"); static struct malloc_type *kmemstatistics; -static char *kmembase; -static char *kmemlimit; +static vm_offset_t kmembase; +static vm_offset_t kmemlimit; static int kmemcount; #define KMEM_ZSHIFT 4 @@ -593,8 +593,8 @@ */ init_param3(vm_kmem_size / PAGE_SIZE); - kmem_map = kmem_suballoc(kernel_map, (vm_offset_t *)&kmembase, - (vm_offset_t *)&kmemlimit, vm_kmem_size); + kmem_map = kmem_suballoc(kernel_map, &kmembase, &kmemlimit, + vm_kmem_size); kmem_map->system_map = 1; #ifdef DEBUG_MEMGUARD ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.26 2007/06/04 23:51:43 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.27 2007/06/26 21:31:56 attilio Exp $"); #include "opt_ddb.h" #include "opt_no_adaptive_rwlocks.h" @@ -48,6 +48,8 @@ #include #include +CTASSERT((RW_RECURSE & LO_CLASSFLAGS) == RW_RECURSE); + #if defined(SMP) && !defined(NO_ADAPTIVE_RWLOCKS) #define ADAPTIVE_RWLOCKS #endif @@ -79,6 +81,17 @@ (struct thread *)RW_OWNER((rw)->rw_lock)) /* + * Returns if a write owner is recursed. Write ownership is not assured + * here and should be previously checked. + */ +#define rw_recursed(rw) ((rw)->rw_recurse != 0) + +/* + * Return true if curthread helds the lock. + */ +#define rw_wlocked(rw) (rw_wowner((rw)) == curthread) + +/* * Return a pointer to the owning thread for this lock who should receive * any priority lent by threads that block on this lock. Currently this * is identical to rw_wowner(). @@ -118,13 +131,27 @@ } void -rw_init(struct rwlock *rw, const char *name) +rw_init_flags(struct rwlock *rw, const char *name, int opts) { + int flags; + + MPASS((opts & ~(RW_DUPOK | RW_NOPROFILE | RW_NOWITNESS | RW_QUIET | + RW_RECURSE)) == 0); + + flags = LO_UPGRADABLE | LO_RECURSABLE; + if (opts & RW_DUPOK) + flags |= LO_DUPOK; + if (opts & RW_NOPROFILE) + flags |= LO_NOPROFILE; + if (!(opts & RW_NOWITNESS)) + flags |= LO_WITNESS; + if (opts & RW_QUIET) + flags |= LO_QUIET; + flags |= opts & RW_RECURSE; rw->rw_lock = RW_UNLOCKED; - - lock_init(&rw->lock_object, &lock_class_rw, name, NULL, LO_WITNESS | - LO_RECURSABLE | LO_UPGRADABLE); + rw->rw_recurse = 0; + lock_init(&rw->lock_object, &lock_class_rw, name, NULL, flags); } void @@ -132,6 +159,7 @@ { KASSERT(rw->rw_lock == RW_UNLOCKED, ("rw lock not unlocked")); + KASSERT(rw->rw_recurse == 0, ("rw lock still recursed")); rw->rw_lock = RW_DESTROYED; lock_destroy(&rw->lock_object); } @@ -164,7 +192,7 @@ WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, line); __rw_wlock(rw, curthread, file, line); - LOCK_LOG_LOCK("WLOCK", &rw->lock_object, 0, 0, file, line); + LOCK_LOG_LOCK("WLOCK", &rw->lock_object, 0, rw->rw_recurse, file, line); WITNESS_LOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); curthread->td_locks++; } @@ -179,8 +207,10 @@ _rw_assert(rw, RA_WLOCKED, file, line); curthread->td_locks--; WITNESS_UNLOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); - LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, 0, file, line); - lock_profile_release_lock(&rw->lock_object); + LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, rw->rw_recurse, file, + line); + if (!rw_recursed(rw)) + lock_profile_release_lock(&rw->lock_object); __rw_wunlock(rw, curthread, file, line); } @@ -466,6 +496,17 @@ #endif uintptr_t v; + if (rw_wlocked(rw)) { + KASSERT(rw->lock_object.lo_flags & RW_RECURSE, + ("%s: recursing but non-recursive rw %s @ %s:%d\n", + __func__, rw->lock_object.lo_name, file, line)); + rw->rw_recurse++; + atomic_set_ptr(&rw->rw_lock, RW_LOCK_RECURSED); + if (LOCK_LOG_TEST(&rw->lock_object, 0)) + CTR2(KTR_LOCK, "%s: %p recursing", __func__, rw); + return; + } + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR5(KTR_LOCK, "%s: %s contested (lock=%p) at %s:%d", __func__, rw->lock_object.lo_name, (void *)rw->rw_lock, file, line); @@ -570,6 +611,14 @@ uintptr_t v; int queue; + if (rw_wlocked(rw) && rw_recursed(rw)) { + if ((--rw->rw_recurse) == 0) + atomic_clear_ptr(&rw->rw_lock, RW_LOCK_RECURSED); + if (LOCK_LOG_TEST(&rw->lock_object, 0)) + CTR2(KTR_LOCK, "%s: %p unrecursing", __func__, rw); + return; + } + KASSERT(rw->rw_lock & (RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS), ("%s: neither of the waiter flags are set", __func__)); @@ -732,7 +781,11 @@ KASSERT(rw->rw_lock != RW_DESTROYED, ("rw_downgrade() of destroyed rwlock @ %s:%d", file, line)); - _rw_assert(rw, RA_WLOCKED, file, line); + _rw_assert(rw, RA_WLOCKED | RA_NOTRECURSED, file, line); +#ifndef INVARIANTS + if (rw_recursed(rw)) + panic("downgrade of a recursed lock"); +#endif WITNESS_DOWNGRADE(&rw->lock_object, 0, file, line); @@ -809,7 +862,8 @@ return; switch (what) { case RA_LOCKED: - case RA_LOCKED | LA_NOTRECURSED: + case RA_LOCKED | RA_RECURSED: + case RA_LOCKED | RA_NOTRECURSED: case RA_RLOCKED: #ifdef WITNESS witness_assert(&rw->lock_object, what, file, line); @@ -825,12 +879,32 @@ panic("Lock %s not %slocked @ %s:%d\n", rw->lock_object.lo_name, (what == RA_RLOCKED) ? "read " : "", file, line); + + if (!(rw->rw_lock & RW_LOCK_READ)) { + if (rw_recursed(rw)) { + if (what & RA_NOTRECURSED) + panic("Lock %s recursed @ %s:%d\n", + rw->lock_object.lo_name, file, + line); + } else if (what & RA_RECURSED) + panic("Lock %s not recursed @ %s:%d\n", + rw->lock_object.lo_name, file, line); + } #endif break; case RA_WLOCKED: + case RA_WLOCKED | RA_RECURSED: + case RA_WLOCKED | RA_NOTRECURSED: if (rw_wowner(rw) != curthread) panic("Lock %s not exclusively locked @ %s:%d\n", rw->lock_object.lo_name, file, line); + if (rw_recursed(rw)) { + if (what & RA_NOTRECURSED) + panic("Lock %s recursed @ %s:%d\n", + rw->lock_object.lo_name, file, line); + } else if (what & RA_RECURSED) + panic("Lock %s not recursed @ %s:%d\n", + rw->lock_object.lo_name, file, line); break; case RA_UNLOCKED: #ifdef WITNESS @@ -874,6 +948,8 @@ td = rw_wowner(rw); db_printf("WLOCK: %p (tid %d, pid %d, \"%s\")\n", td, td->td_tid, td->td_proc->p_pid, td->td_proc->p_comm); + if (rw_recursed(rw)) + db_printf(" recursed: %u\n", rw->rw_recurse); } db_printf(" waiters: "); switch (rw->rw_lock & (RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS)) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_timeout.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.103 2007/05/11 20:52:47 andre Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.104 2007/06/26 21:42:01 attilio Exp $"); #include #include @@ -46,6 +46,7 @@ #include #include #include +#include #include static int avg_depth; @@ -308,8 +309,10 @@ * There is someone waiting * for the callout to complete. */ + callout_wait = 0; + mtx_unlock_spin(&callout_lock); wakeup(&callout_wait); - callout_wait = 0; + mtx_lock_spin(&callout_lock); } steps = 0; c = nextsoftcheck; @@ -529,9 +532,38 @@ * finish. */ while (c == curr_callout) { + + /* + * Use direct calls to sleepqueue interface + * instead of cv/msleep in order to avoid + * a LOR between callout_lock and sleepqueue + * chain spinlocks. This piece of code + * emulates a msleep_spin() call actually. + */ + mtx_unlock_spin(&callout_lock); + sleepq_lock(&callout_wait); + + /* + * Check again the state of curr_callout + * because curthread could have lost the + * race previously won. + */ + mtx_lock_spin(&callout_lock); + if (c != curr_callout) { + sleepq_release(&callout_wait); + break; + } callout_wait = 1; - msleep_spin(&callout_wait, &callout_lock, - "codrain", 0); + DROP_GIANT(); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 4 11:09:36 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 761A316A469; Wed, 4 Jul 2007 11:09:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 33B5816A46E for ; Wed, 4 Jul 2007 11:09:36 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 23BF613C447 for ; Wed, 4 Jul 2007 11:09:36 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64B9aJn049022 for ; Wed, 4 Jul 2007 11:09:36 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64B9Zcw049019 for perforce@freebsd.org; Wed, 4 Jul 2007 11:09:35 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 4 Jul 2007 11:09:35 GMT Message-Id: <200707041109.l64B9Zcw049019@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 122848 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 11:09:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=122848 Change 122848 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/04 11:08:58 Add new test cases, especially the mac command test cases Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#5 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/open/00.t#4 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/open/01.t#1 add Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#7 (text+ko) ==== @@ -62,6 +62,8 @@ enum action { ACTION_KILL, + ACTION_SETFMAC, + ACTION_GETFMAC, ACTION_OPEN, ACTION_CREATE, ACTION_UNLINK, @@ -104,6 +106,8 @@ static struct syscall_desc syscalls[] = { { "kill", ACTION_KILL, { TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, + { "setfmac", ACTION_SETFMAC, { TYPE_STRING, TYPE_STRING, TYPE_NONE }}, + { "getfmac", ACTION_GETFMAC, { TYPE_STRING, TYPE_NONE }}, { "open", ACTION_OPEN, { TYPE_STRING, TYPE_STRING, TYPE_NUMBER | TYPE_OPTIONAL, TYPE_NONE } }, { "create", ACTION_CREATE, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, { "unlink", ACTION_UNLINK, { TYPE_STRING, TYPE_NONE } }, @@ -415,7 +419,22 @@ switch (scall->sd_action) { case ACTION_KILL: rval = kill(NUM(0),NUM(1)); - break; + break; + case ACTION_SETFMAC: + { + char shcmd[1024]; + sprintf(shcmd, "setfmac %s %s", STR(0), STR(1)); + rval = system(shcmd); + break; + } + case ACTION_GETFMAC: + { + char shcmd[1024]; + int i = 0; + i = sprintf(shcmd, "getfmac %s", STR(0)); + rval = system(shcmd); + return (i); + } case ACTION_OPEN: flags = str2flags(open_flags, STR(1)); if (flags & O_CREAT) { @@ -709,14 +728,17 @@ /* See if record_from_conf is contained in record_from_log */ /* pid == -1 means matching the running pid */ pid = getpid(); + while (record_from_conf) { struct mactestlog_record * iterator = record_from_log; while (iterator) { - if (!(((record_from_conf->pid == -1)&& iterator->pid == pid)|| - record_from_conf->pid == iterator->pid)){ + if (!((record_from_conf->pid == -1&& iterator->pid == pid)|| + record_from_conf->pid == iterator->pid|| + record_from_conf->pid == -2/*matching any pid*/)){ iterator = iterator->next; continue; } + if (strcmp(record_from_conf->machookname, iterator->machookname)) { iterator = iterator->next; @@ -741,7 +763,6 @@ fprintf(stderr, "\n missing ...\n"); struct modes_or_flags *iterator1, *tmp1; struct labelstrings *iterator2, *tmp2; - fprintf(stderr, "pid = %d ", record_from_conf->pid); fprintf(stderr, "hookname: %s\n", record_from_conf->machookname); @@ -751,7 +772,7 @@ tmp1 = iterator1; iterator1 = iterator1->next; } - fprintf(stderr, " with modes or flags:"); + fprintf(stderr, " with modes or flags#"); while (tmp1) { fprintf(stderr, " %s", tmp1->modflagname); tmp1 = tmp1->prev; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#5 (text+ko) ==== @@ -56,6 +56,24 @@ rm ${tmp_file} } +mactestexpect1() +{ + e="${1}" + shift + ${mactest} $* 2>${tmp_file} 1>>${tmp_file} + r=`cat ${tmp_file}` + echo "${r}" | grep ${e} >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "ok ${ntest}" + else + echo ${r} + echo "not ok ${ntest}" + fi + ntest=`expr $ntest + 1` + rm ${tmp_file} +} + + maccmdexpect() { ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/open/00.t#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/fstest/tests/open/00.t,v 1.2 2007/01/25 20:50:02 pjd Exp $ - +# $FreeBSD: src/tools/regression/mactest/tests/open/00.t,v 1.2 2007/01/25 20:50:02 pjd Exp $ +# test of open related system calls desc="open opens (and eventually creates) a file" dir=`dirname $0` . ${dir}/../misc.sh -echo "1..4" +echo "1..7" n0=`namegen` n1=`namegen` @@ -77,6 +77,19 @@ mactestexpect regular,0755 -m "mls/high" -f ${mactest_conf} lstat ${n0} type,mode + +############################################################# +#case setflags: + echo -n "pid = -1 mac_test_check_vnode_lookup with cr_label and dvplabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/low(low-high) biba/high,mls/8" >> ${mactest_conf} + + echo -n "pid = -1 mac_test_check_vnode_setflags with cr_label and vplabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/low(low-high) biba/high,mls/9" >> ${mactest_conf} + mactestexpect 0 -f ${mactest_conf} chflags ${n0} SF_IMMUTABLE + mactestexpect 0 -f ${mactest_conf} chflags ${n0} none + + + ############################################################# #case unlink: #This case will show complex of access control for mls directory structure @@ -90,9 +103,20 @@ echo "pid = -1 mac_test_destroy_vnode_label" >> ${mactest_conf} mactestexpect 0 -m "mls/6" -f ${mactest_conf} unlink ${n0} - cd .. + + +############################################################# +#case chown: + echo -n "pid = -1 mac_test_check_vnode_lookup:" > ${mactest_conf} + echo "biba/high(low-high),mls/5(low-high) biba/high,mls/8" >> ${mactest_conf} + + echo -n "pid = -1 mac_test_check_vnode_setowner with cr_label and vplabel:" >> ${mactest_conf} + echo "biba/high(low-high),mls/5(low-high) biba/high,mls/8" >> ${mactest_conf} + + mactestexpect 0 -m "mls/5" -f ${mactest_conf} chown . 65535 65535 #cleanup: + cd .. rm -fr ${n1} fi From owner-p4-projects@FreeBSD.ORG Wed Jul 4 11:10:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3ACD416A469; Wed, 4 Jul 2007 11:10:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0030F16A421 for ; Wed, 4 Jul 2007 11:10:37 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E4D1013C457 for ; Wed, 4 Jul 2007 11:10:37 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64BAbnt049151 for ; Wed, 4 Jul 2007 11:10:37 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64BAbsK049148 for perforce@freebsd.org; Wed, 4 Jul 2007 11:10:37 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 4 Jul 2007 11:10:37 GMT Message-Id: <200707041110.l64BAbsK049148@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 122849 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 11:10:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=122849 Change 122849 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/04 11:10:10 Wait until all the record is stored to the disk Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#3 (text+ko) ==== @@ -71,7 +71,9 @@ static int mac_test_can_log = 0; static struct mtx mac_test_log_mtx; static struct mtx mac_test_submit_mtx; +static struct mtx mac_test_wait_close; struct cv mac_test_worker_cv; +struct cv mac_test_wait_for_empty; struct mac_test_log_entry { void *mte_record; @@ -140,6 +142,12 @@ mac_test_log_isopen = 0; mac_test_can_log = 0; mtx_unlock(&mac_test_log_mtx); + mtx_lock(&mac_test_wait_close); + while(!TAILQ_EMPTY(&mac_test_log_list)){ + cv_wait(&mac_test_wait_for_empty, &mac_test_wait_close); + continue; + } + mtx_unlock(&mac_test_wait_close); vn_close(logvnode, O_CREAT|O_TRUNC|FWRITE, curthread->td_ucred, curthread); return (0); @@ -211,6 +219,8 @@ VFS_UNLOCK_GIANT(vfslocked); free(mte->mte_record, M_MAC_TEST_LOG); free(mte, M_MAC_TEST_LOG); + if (TAILQ_EMPTY(&mac_test_log_list)) + cv_signal(&mac_test_wait_for_empty); mtx_lock(&mac_test_submit_mtx); } } @@ -223,7 +233,9 @@ /* Create the special device file. */ mtx_init(&mac_test_log_mtx, "mac_test_log_mtx", NULL, MTX_DEF); mtx_init(&mac_test_submit_mtx, "mac_test_submit_mtx", NULL, MTX_DEF); + mtx_init(&mac_test_wait_close, "mac_test_wait_close", NULL, MTX_DEF); cv_init(&mac_test_worker_cv, "mac_test_worker_cv"); + cv_init(&mac_test_wait_for_empty, "mac_test_wait_for_empty"); TAILQ_INIT(&mac_test_log_list); mac_test_log_dev = make_dev(&mac_test_cdevsw, 0, UID_ROOT, GID_KMEM, 0600, MAC_TEST_LOG_FILENAME); From owner-p4-projects@FreeBSD.ORG Wed Jul 4 12:17:00 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B87C16A46D; Wed, 4 Jul 2007 12:17:00 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C1C6616A468 for ; Wed, 4 Jul 2007 12:16:59 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B0E1013C45D for ; Wed, 4 Jul 2007 12:16:59 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64CGxNa055615 for ; Wed, 4 Jul 2007 12:16:59 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64CGxKt055612 for perforce@freebsd.org; Wed, 4 Jul 2007 12:16:59 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 4 Jul 2007 12:16:59 GMT Message-Id: <200707041216.l64CGxKt055612@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122850 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 12:17:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=122850 Change 122850 by lulf@lulf_carrot on 2007/07/04 12:16:27 - More on TODO. - Update the gvinum manpage. Include the added commands in the list, as well as remove them from the incomplete list. - Add an EXAMPLES section to the manpage. Affected files ... .. //depot/projects/soc2007/lulf/TODO#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.8#2 edit Differences ... ==== //depot/projects/soc2007/lulf/TODO#4 (text+ko) ==== @@ -153,3 +153,5 @@ 21. Updateman-page +22. Add a raid5 command to create a raid5 array the same way that is done with +concat/mirror/stripe ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.8#2 (text+ko) ==== @@ -40,6 +40,12 @@ .Op Fl options .Sh COMMANDS .Bl -tag -width indent +.It Ic attach Ar plex volume Op Cm rename +.It Ic attach Ar subdisk plex Oo Ar offset Oc Op Cm rename +Attach a plex to a volume, or a subdisk to a plex. If offset is specified, the +subdisk will be attached to the given offset within the plex. If rename is +specified, the subdisk or plex will change name according to the object it +attaches to. .It Ic checkparity Oo Fl f Oc Ar plex Check the parity blocks of a RAID-5 plex. The parity check will start at the @@ -49,6 +55,9 @@ the first location at which plex's parity is incorrect. All subdisks in the plex must be up for a parity check. +.It Ic concat Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives +Create a concatenated volume from the specified drives. If no name is specified, +a unique name will be set by gvinum. .It Ic create Op Ar description-file Create a volume as described in .Ar description-file . @@ -57,6 +66,9 @@ provided, opens an editor and provides the current .Nm configuration for editing. +.It Ic detach Oo Fl f Oc Op Ar plex | subdisk +Detach a plex or subdisk from the volume or plex to which it is +attached. .It Ic help Provides a synopsis of .Nm @@ -76,6 +88,13 @@ and .Fl V flags provide progressively more detailed output. +.It Ic mirror Oo Fl fsv Oc Oo Fl n Ar name Oc Ar drives +Create a mirrored volume from the specified drives. It requires at least a +multiple of 2 drives. If no name is specified, +a unique name will be set by gvinum. If the +.Fl s +flag is specified, a striped mirror will be created, and thus requires a +multiple of 4 drives. .It Ic move | mv Fl f Ar drive subdisk Op Ar ... Move the subdisk(s) to the specified drive. The @@ -85,8 +104,13 @@ This can currently only be done when the subdisk is not being accessed. .Pp -If the subdisk(s) form part of a RAID-5 plex, the disk(s) will need to be set -to the +If a single subdisk is moved, and it forms a part of a RAID-5 plex, the moved +subdisks will need to be set to the +.Dq stale +state, and the plex will require a +.Ic start +command; If multiple subdisk(s) is moved, and form part of a RAID-5 plex, the +moved disk(s) will need to be set to the .Dq up state and the plex will require a .Ic rebuildparity @@ -142,10 +166,19 @@ .It Ic start Read configuration from all vinum drives. .It Ic start Oo Fl S Ar size Oc Ar volume | plex | subdisk -Allow the system to access the objects. +Allow the system to access the objects. If necessary, plexes will be synced and +rebuilt. The .Fl S flag is currently ignored. +.It Ic stop Oo Fl f Oc Op Ar volume | plex | subdisk +Terminate access to the objects, or stop +.Nm +if no parameters are specified. +.It Ic stripe Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives +Create a striped volume from the specified drives. If no name is specified, +a unique name will be set by Ic gvinum. This organization requires at least two +drives. .El .Sh DESCRIPTION The @@ -226,6 +259,77 @@ .Nm subdisks .El +.Sh EXAMPLES +To create a mirror on disks /dev/ad1 and /dev/ad2, create a filesystem, mount, +unmount and then stop Ic gvinum: +.Pp +.Dl "gvinum mirror /dev/ad1 /dev/ad2" +.Dl "newfs /dev/gvinum/gvinumvolume0" +.Dl "mount /dev/gvinum/gvinumvolume0 /mnt" +.Dl "..." +.Dl "unmount /mnt" +.Dl "gvinum stop" +.Pp +To create a striped mirror on disks /dev/ad1 /dev/ad2 /dev/ad3 and /dev/ad4 +named "data" and create a filesystem: +.Pp +.Dl "gvinum mirror -s -n data /dev/ad1 /dev/ad2 /dev/ad3 /dev/ad4" +.Dl "newfs /dev/gvinum/data" +.Pp +To create a raid5 array on disks /dev/ad1 /dev/ad2 and /dev/ad3, you can +create a config file like this: +.Pp +.Dl "gvinum create" +.Pp +Then an editor will open, and you can create your configuration: +.Pp +.Dl "drive gdrive1 device /dev/ad1" +.Dl "drive gdrive2 device /dev/ad2" +.Dl "drive gdrive3 device /dev/ad3" +.Dl "volume myraid5vol" +.Dl "plex org raid5 493k" +.Dl "sd drive gdrive1" +.Dl "sd drive gdrive2" +.Dl "sd drive gdrive3" +.Pp +Afterwards, you have to initialize the volume: +.Pp +.Dl "gvinum start myraid5vol" +.Pp +The initialization will start, and the states will be updated when it's +finished. +.Pp +Imagine that one of the drives fails, and the output of 'printconfig' looks +something like this: +.Pp +.Dl "drive gdrive2 device /dev/ad2" +.Dl "drive gdrive3 device /dev/???" +.Dl "drive gdrive1 device /dev/ad1" +.Dl "volume myraid5vol" +.Dl "plex name myraid5vol.p0 org raid5 986s vol myraid5vol" +.Dl "sd name myraid5vol.p0.s2 drive gdrive3 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 1972s" +.Dl "sd name myraid5vol.p0.s1 drive gdrive2 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 986s" +.Dl "sd name myraid5vol.p0.s0 drive gdrive1 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 0s" +.Pp +Create a new drive with this configuration: +.Pp +.Dl "drive gdrive4 device /dev/ad4" +.Pp +Then move the stale subdisk to the new drive: +.Pp +.Dl "gvinum move gdrive4 myraid5vol.p0.s2" +.Pp +Then, initiate the rebuild: +.Pp +.Dl "gvinum start myraid5vol.p0" +.Pp +The plex will go up form degraded mode after the rebuild is finished. The plex +can still be used while the rebuild is in progress, although requests might be +delayed. For a more advanced usage and detailed explanation of gvinum, the +handbook is recommended. .Sh SEE ALSO .Xr geom 4 , .Xr geom 8 @@ -255,9 +359,13 @@ .An "Chris Jones" through the 2005 Google Summer of Code program. +.Ic a partial rewrite of gvinum was done by "Lukas Ertl" and "Ulf Lilleengen" +through the 2007 Google Summer of Code program. The documentation have been +updated to reflect the new functionality. .Sh AUTHORS .An Lukas Ertl Aq le@FreeBSD.org .An Chris Jones Aq soc-cjones@FreeBSD.org +.An Ulf Lilleengen Aq lulf@FreeBSD.org .Sh BUGS Currently, .Nm @@ -271,10 +379,6 @@ .Ic start is ignored. .Pp -The -.Ic stop -command does not work. -.Pp Moving subdisks that are not part of a mirrored or RAID-5 volume will destroy data. It is perhaps a bug to permit this. @@ -291,18 +395,10 @@ .Xr vinum 4 are not supported: .Bl -tag -width indent -.It Ic attach Ar plex volume Op Cm rename -.It Ic attach Ar subdisk plex Oo Ar offset Oc Op Cm rename -Attach a plex to a volume, or a subdisk to a plex. -.It Ic concat Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives -Create a concatenated volume from the specified drives. .It Ic debug Cause the volume manager to enter the kernel debugger. .It Ic debug Ar flags Set debugging flags. -.It Ic detach Oo Fl f Oc Op Ar plex | subdisk -Detach a plex or subdisk from the volume or plex to which it is -attached. .It Ic dumpconfig Op Ar drive ... List the configuration information stored on the specified drives, or all drives in the system if no drive names are specified. @@ -310,17 +406,9 @@ List information about volume manager state. .It Ic label Ar volume Create a volume label. -.It Ic mirror Oo Fl fsv Oc Oo Fl n Ar name Oc Ar drives -Create a mirrored volume from the specified drives. .It Ic resetstats Oo Fl r Oc Op Ar volume | plex | subdisk Reset statistics counters for the specified objects, or for all objects if none are specified. .It Ic setdaemon Op Ar value Set daemon configuration. -.It Ic stop Oo Fl f Oc Op Ar volume | plex | subdisk -Terminate access to the objects, or stop -.Nm -if no parameters are specified. -.It Ic stripe Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives -Create a striped volume from the specified drives. .El From owner-p4-projects@FreeBSD.ORG Wed Jul 4 12:49:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55CE716A46C; Wed, 4 Jul 2007 12:49:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E429916A468 for ; Wed, 4 Jul 2007 12:49:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D2DC613C45A for ; Wed, 4 Jul 2007 12:49:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64CneVx066463 for ; Wed, 4 Jul 2007 12:49:40 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64Cne1r066460 for perforce@freebsd.org; Wed, 4 Jul 2007 12:49:40 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 4 Jul 2007 12:49:40 GMT Message-Id: <200707041249.l64Cne1r066460@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122852 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 12:49:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=122852 Change 122852 by zec@zec_tpx32 on 2007/07/04 12:49:00 Allow the kernel to be compiled if both VIMAGE and FAST_IPSEC options are enabled. Submitted by: Ana Kukec Affected files ... .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#4 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#2 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#6 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#4 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#4 edit .. //depot/projects/vimage/src/sys/netipsec/key.c#4 edit .. //depot/projects/vimage/src/sys/netipsec/keysock.c#3 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#2 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#4 (text+ko) ==== @@ -30,6 +30,7 @@ */ #include "opt_ipsec.h" +#include "opt_vimage.h" #include #include @@ -40,10 +41,12 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -91,6 +94,7 @@ ip_ipsec_fwd(struct mbuf *m) { #ifdef FAST_IPSEC + INIT_VNET_INET(curvnet); struct m_tag *mtag; struct tdb_ident *tdbi; struct secpolicy *sp; @@ -119,7 +123,7 @@ KEY_FREESP(&sp); splx(s); if (error) { - ipstat.ips_cantforward++; + V_ipstat.ips_cantforward++; return 1; } #endif /* FAST_IPSEC */ ==== //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#2 (text+ko) ==== @@ -30,6 +30,7 @@ */ #include "opt_ipsec.h" +#include "opt_vimage.h" #include #include @@ -41,6 +42,7 @@ #include #include #include +#include #include #include @@ -67,6 +69,7 @@ #endif #endif /*FAST_IPSEC*/ +#include #include extern struct protosw inet6sw[]; @@ -99,6 +102,7 @@ ip6_ipsec_fwd(struct mbuf *m) { #ifdef FAST_IPSEC + INIT_VNET_INET6(curvnet); struct m_tag *mtag; struct tdb_ident *tdbi; struct secpolicy *sp; @@ -126,7 +130,7 @@ KEY_FREESP(&sp); splx(s); if (error) { - ipstat.ips_cantforward++; + V_ip6stat.ip6s_cantforward++; return 1; } #endif /* FAST_IPSEC */ ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#6 (text+ko) ==== @@ -34,12 +34,16 @@ #define _NETINET6_VINET6_H_ #include -#include +#include +#include #include -#include #include +#include +#include +#include +#include #include -#include + #define INIT_VNET_INET6(vnet) \ INIT_FROM_VNET(vnet, VNET_MOD_INET6, \ ==== //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#4 (text+ko) ==== @@ -44,6 +44,7 @@ #include "opt_inet6.h" #include "opt_ipsec.h" #include "opt_enc.h" +#include "opt_vimage.h" #include #include @@ -54,6 +55,7 @@ #include #include #include +#include #include #include @@ -67,6 +69,7 @@ #include #ifdef INET6 +#include #include #endif #include @@ -543,6 +546,7 @@ ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip, int protoff, struct m_tag *mt) { + INIT_VNET_INET6(curvnet); int prot, af, sproto; struct ip6_hdr *ip6; struct m_tag *mtag; @@ -723,7 +727,7 @@ nxt = nxt8; while (nxt != IPPROTO_DONE) { if (ip6_hdrnestlimit && (++nest > ip6_hdrnestlimit)) { - ip6stat.ip6s_toomanyhdr++; + V_ip6stat.ip6s_toomanyhdr++; error = EINVAL; goto bad; } @@ -733,7 +737,7 @@ * more sanity checks in header chain processing. */ if (m->m_pkthdr.len < skip) { - ip6stat.ip6s_tooshort++; + V_ip6stat.ip6s_tooshort++; in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_truncated); error = EINVAL; goto bad; ==== //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#4 (text+ko) ==== @@ -33,6 +33,7 @@ #include "opt_inet6.h" #include "opt_ipsec.h" #include "opt_enc.h" +#include "opt_vimage.h" #include #include @@ -42,6 +43,7 @@ #include #include #include +#include #include #include @@ -53,6 +55,7 @@ #include #include #ifdef INET6 +#include #include #endif @@ -679,6 +682,7 @@ int ipsec6_output_tunnel(struct ipsec_output_state *state, struct secpolicy *sp, int flags) { + INIT_VNET_INET6(curvnet); struct ip6_hdr *ip6; struct ipsecrequest *isr; struct secasindex saidx; @@ -757,7 +761,7 @@ rtalloc(state->ro); } if (state->ro->ro_rt == 0) { - ip6stat.ip6s_noroute++; + V_ip6stat.ip6s_noroute++; ipsec6stat.ips_out_noroute++; error = EHOSTUNREACH; goto bad; ==== //depot/projects/vimage/src/sys/netipsec/key.c#4 (text+ko) ==== @@ -37,6 +37,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" +#include "opt_vimage.h" #include #include @@ -56,17 +57,20 @@ #include #include #include +#include #include #include #include +#include #include #include #include #include #ifdef INET6 +#include #include #include #include @@ -3689,6 +3693,7 @@ struct sockaddr *sa; { #ifdef INET + INIT_VNET_INET(curvnet); struct sockaddr_in *sin; struct in_ifaddr *ia; #endif @@ -3699,7 +3704,7 @@ #ifdef INET case AF_INET: sin = (struct sockaddr_in *)sa; - for (ia = in_ifaddrhead.tqh_first; ia; + for (ia = V_in_ifaddrhead.tqh_first; ia; ia = ia->ia_link.tqe_next) { if (sin->sin_family == ia->ia_addr.sin_family && @@ -3733,10 +3738,11 @@ key_ismyaddr6(sin6) struct sockaddr_in6 *sin6; { + INIT_VNET_INET6(curvnet); struct in6_ifaddr *ia; struct in6_multi *in6m; - for (ia = in6_ifaddr; ia; ia = ia->ia_next) { + for (ia = V_in6_ifaddr; ia; ia = ia->ia_next) { if (key_sockaddrcmp((struct sockaddr *)&sin6, (struct sockaddr *)&ia->ia_addr, 0) == 0) return 1; ==== //depot/projects/vimage/src/sys/netipsec/keysock.c#3 (text+ko) ==== @@ -31,6 +31,7 @@ */ #include "opt_ipsec.h" +#include "opt_vimage.h" /* This code has derived from sys/net/rtsock.c on FreeBSD2.2.5 */ @@ -49,9 +50,11 @@ #include #include #include +#include #include #include +#include #include #include @@ -264,6 +267,7 @@ struct mbuf *m; int target; { + INIT_VNET_NET(curvnet); struct mbuf *n; struct keycb *kp; int sendup; @@ -290,7 +294,7 @@ pfkeystat.in_msgtype[msg->sadb_msg_type]++; } mtx_lock(&rawcb_mtx); - LIST_FOREACH(rp, &rawcb_list, list) + LIST_FOREACH(rp, &V_rawcb_list, list) { if (rp->rcb_proto.sp_family != PF_KEY) continue; ==== //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#2 (text+ko) ==== @@ -42,6 +42,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_enc.h" +#include "opt_vimage.h" #include #include @@ -50,10 +51,12 @@ #include #include #include +#include #include #include #include +#include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include @@ -154,6 +158,7 @@ static void _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp) { + INIT_VNET_NET(curvnet); register struct sockaddr_in *sin; register struct ifnet *ifp; register struct ifaddr *ifa; @@ -301,7 +306,7 @@ !(m->m_pkthdr.rcvif->if_flags & IFF_LOOPBACK)) && ipip_allow != 2) { IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { #ifdef INET if (ipo) { @@ -391,6 +396,9 @@ int protoff ) { +#ifdef INET + INIT_VNET_INET(curvnet); +#endif /* INET */ struct secasvar *sav; u_int8_t tp, otos; struct secasindex *saidx; @@ -443,7 +451,7 @@ ipo->ip_v = IPVERSION; ipo->ip_hl = 5; ipo->ip_len = htons(m->m_pkthdr.len); - ipo->ip_ttl = ip_defttl; + ipo->ip_ttl = V_ip_defttl; ipo->ip_sum = 0; ipo->ip_src = saidx->src.sin.sin_addr; ipo->ip_dst = saidx->dst.sin.sin_addr; @@ -528,7 +536,7 @@ ip6o->ip6_vfc &= ~IPV6_VERSION_MASK; ip6o->ip6_vfc |= IPV6_VERSION; ip6o->ip6_plen = htons(m->m_pkthdr.len); - ip6o->ip6_hlim = ip_defttl; + ip6o->ip6_hlim = V_ip_defttl; ip6o->ip6_dst = saidx->dst.sin6.sin6_addr; ip6o->ip6_src = saidx->src.sin6.sin6_addr; From owner-p4-projects@FreeBSD.ORG Wed Jul 4 13:42:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0823416A46D; Wed, 4 Jul 2007 13:42:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A4AA816A41F for ; Wed, 4 Jul 2007 13:42:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 954C513C4D3 for ; Wed, 4 Jul 2007 13:42:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64Dgm0j071644 for ; Wed, 4 Jul 2007 13:42:48 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64Dgm6H071641 for perforce@freebsd.org; Wed, 4 Jul 2007 13:42:48 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 4 Jul 2007 13:42:48 GMT Message-Id: <200707041342.l64Dgm6H071641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122854 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 13:42:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122854 Change 122854 by rdivacky@rdivacky_witten on 2007/07/04 13:42:23 vrele() before Giant unlock. Use VFS_UNLOCK_GIANT macro. Reuse "vfslocked" variable where possible, elsewhere introduce "vfslocked1" varibale. Suggested by: jhb Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#43 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#43 (text+ko) ==== @@ -1164,9 +1164,9 @@ fdclose(fdp, fp, indx, td); fdrop(fp, td); if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -1272,9 +1272,9 @@ return (error); restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) @@ -1354,9 +1354,9 @@ } } if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + int vfslocked1 = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked1); } NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); @@ -1419,9 +1419,9 @@ AUDIT_ARG(mode, mode); restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) @@ -1477,9 +1477,9 @@ out: #endif if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + int vfslocked1 = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked1); } vput(nd.ni_dvp); vn_finished_write(mp); @@ -1602,9 +1602,9 @@ error = kern_get_at(td, fd2, &ldvp); if (error && !kern_absolute_path(path2, segflg)) { if (pdvp) { - if (VFS_NEEDSGIANT(pdvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(pdvp->v_mount); vrele(pdvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -1662,14 +1662,14 @@ out: if (pdvp) { - if (VFS_NEEDSGIANT(pdvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(pdvp->v_mount); vrele(pdvp); + VFS_UNLOCK_GIANT(vfslocked); } if (ldvp) { - if (VFS_NEEDSGIANT(ldvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(ldvp->v_mount); vrele(ldvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -1737,9 +1737,9 @@ AUDIT_ARG(text, syspath); restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path2, segflg)) @@ -1793,9 +1793,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } if (segflg != UIO_SYSSPACE) uma_zfree(namei_zone, syspath); @@ -1911,9 +1911,9 @@ restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) @@ -1972,9 +1972,9 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + int vfslocked1 = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked1); } if (vp == nd.ni_dvp) vrele(vp); @@ -2228,9 +2228,9 @@ td->td_ucred = cred; crfree(tmpcred); if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -2447,9 +2447,9 @@ *sbp = sb; out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -2514,9 +2514,9 @@ *sbp = sb; out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -2743,9 +2743,9 @@ td->td_retval[0] = count - auio.uio_resid; out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -2993,9 +2993,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -3045,9 +3045,9 @@ vrele(nd.ni_vp); VFS_UNLOCK_GIANT(vfslocked); if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); @@ -3192,9 +3192,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -3253,9 +3253,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -3443,9 +3443,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } return (error); } @@ -3835,9 +3835,9 @@ error = kern_get_at(td, newfd, &todvp); if (error && !kern_absolute_path(new, pathseg)) { if (frdvp) { - if (VFS_NEEDSGIANT(frdvp->v_mount)) - mtx_unlock(&Giant); + fvfslocked = VFS_NEEDSGIANT(frdvp->v_mount); vrele(frdvp); + VFS_UNLOCK_GIANT(fvfslocked); } return (error); } @@ -3947,14 +3947,14 @@ return (0); out2: if (frdvp) { - if (VFS_NEEDSGIANT(frdvp->v_mount)) - mtx_unlock(&Giant); + fvfslocked = VFS_NEEDSGIANT(frdvp->v_mount); vrele(frdvp); + VFS_UNLOCK_GIANT(fvfslocked); } if (todvp) { - if (VFS_NEEDSGIANT(todvp->v_mount)) - mtx_unlock(&Giant); + tvfslocked = VFS_NEEDSGIANT(todvp->v_mount); vrele(todvp); + VFS_UNLOCK_GIANT(tvfslocked); } return (error); } @@ -4013,9 +4013,9 @@ AUDIT_ARG(mode, mode); restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, segflg)) @@ -4076,9 +4076,9 @@ out: #endif if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + int vfslocked1 = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked1); } NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); @@ -4125,9 +4125,9 @@ restart: if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) @@ -4183,9 +4183,9 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vput(vp); if (dvp) { - if (VFS_NEEDSGIANT(dvp->v_mount)) - mtx_unlock(&Giant); + int vfslocked1 = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked1); } if (nd.ni_dvp == vp) vrele(nd.ni_dvp); From owner-p4-projects@FreeBSD.ORG Wed Jul 4 14:58:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7430C16A46D; Wed, 4 Jul 2007 14:58:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D8D3716A469 for ; Wed, 4 Jul 2007 14:58:30 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C641A13C448 for ; Wed, 4 Jul 2007 14:58:30 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64EwUqV078679 for ; Wed, 4 Jul 2007 14:58:30 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64EwUcC078676 for perforce@freebsd.org; Wed, 4 Jul 2007 14:58:30 GMT (envelope-from taleks@FreeBSD.org) Date: Wed, 4 Jul 2007 14:58:30 GMT Message-Id: <200707041458.l64EwUcC078676@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 122856 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 14:58:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=122856 Change 122856 by taleks@taleks_th on 2007/07/04 14:57:42 Updated TCP code, adding pxe_core_recv_packets() in read and finish segment functions. pce_buffer: fixed cyclic buffer issue with writing and reading in one of the cases. pxe_core: removed packet array, now only one packet structure is used, related code in other modules will be updated later (total removing of pxe_alloc_packet() func).. Some other functions seems to be candidate to be removed from this module. pxe_connection: added stats function, main changes in write/read functions. pxe_http: new module, implements pxe_fetch() to get data via http. Now generates header requests and outputs raw received data to console. Small changes in other modules. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/Makefile#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#4 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.h#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#17 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_http.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_http.h#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_ip.c#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#4 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#11 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#6 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/Makefile#8 (text+ko) ==== @@ -5,7 +5,7 @@ SRCS= pxe_conv.c pxe_isr.S pxe_mem.c pxe_buffer.c pxe_await.c pxe_arp.c pxe_ip.c pxe_mutex.c \ pxe_core.c pxe_icmp.c pxe_udp.c pxe_filter.c pxe_dns.c pxe_dhcp.c pxe_segment.c pxe_tcp.c pxe_sock.c \ - pxe_connection.c + pxe_connection.c pxe_http.c CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../btx/lib \ -I${.CURDIR}/../../../contrib/dev/acpica \ @@ -14,7 +14,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ #debug flag -CFLAGS+= -DPXE_DEBUG +#CFLAGS+= -DPXE_DEBUG #CFLAGS+= -DPXE_DEBUG_HELL .include ==== //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#3 (text+ko) ==== @@ -24,19 +24,34 @@ pxe_memcpy(from, buf->data + buf->fstart, to_write); buf->fstart += to_write; - } else { /* need to place, using two memcpy operations */ + } else {/* may be need to place, using two memcpy operations */ + /* right part of space */ uint16_t part1 = buf->bufsize - buf->fstart; - pxe_memcpy(from, buf->data + buf->fstart, part1); - /* left part of space */ - uint16_t part2 = to_write - part1; - pxe_memcpy(from + part1, buf->data, part2); + uint16_t part2 = 0; - buf->fstart = part2; + if (part1 >= to_write) { + pxe_memcpy(from, buf->data + buf->fstart, to_write); + buf->fstart += to_write; + } else { + pxe_memcpy(from, buf->data + buf->fstart, part1); + /* left part of space */ + part2 = to_write - part1; + pxe_memcpy(from + part1, buf->data, part2); + buf->fstart = part2; + } +#ifdef PXE_DEBUG_HELL + printf("pxe_buffer_write(): fstart %d, fend %d, bufleft %d (of %d)\n\tpart1 %d, part2 %d, to_write %d (%d)\n", + buf->fstart, buf->fend, buf->bufleft, buf->bufsize, part1, part2, to_write, size); +#endif } + buf->bufleft -= to_write; - + +#ifdef PXE_DEBUG_HELL + printf("bufleft %d (-%d)\n", buf->bufleft, to_write); +#endif return (to_write); } @@ -81,8 +96,8 @@ if (to != NULL) pxe_memcpy(buf->data, to, to_read); - buf->fend = to_read; - + + buf->fend = to_read; } } else { /* third case: |..e**s...|*/ @@ -92,8 +107,14 @@ buf->fend += to_read; } + buf->bufleft += to_read; - + +#ifdef PXE_DEBUG_HELL + printf("pxe_buffer_read(): bufleft %d (+%d), fstart %d, fend %d\n", + buf->bufleft, to_read, buf->fstart, buf->fend + ); +#endif return (to_read); } @@ -147,6 +168,10 @@ if (buffer->data == NULL) { /* already released */ return; } - +#ifdef PXE_DEBUG + printf("pxe_buffer_memfree(): buffer 0x%x, data 0x%x, bufleft: %d.\n", + buffer, buffer->data, buffer->bufleft + ); +#endif pxe_free(buffer->data); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#4 (text+ko) ==== @@ -195,6 +195,9 @@ int pxe_tcp_disconnect(PXE_SOCKET *sock) { +#ifdef PXE_DEBUG + printf("pxe_tcp_disconnect(): started.\n"); +#endif PXE_FILTER_ENTRY *filter = sock->filter; if (filter == NULL) { @@ -208,19 +211,27 @@ return (0); } - if ( (connection->state == PXE_TCP_CLOSED) || - (connection->state >= PXE_TCP_CLOSE_WAIT) ) - { /* already closing */ + /* process recieved, queued but not processed packets. + * This is useful if server requested breaking of connection + * (passive closing) and our disconnect just finishes initiated + * by server sequence, no need to send initial FIN (active closing) + */ + pxe_core_recv_packets(); + + if (connection->state == PXE_TCP_CLOSED) { /* already closed */ #ifdef PXE_DEBUG printf("pxe_tcp_disconnect(): connection already is closing.\n"); #endif return (1); } - if (!pxe_tcp_syssend(connection, PXE_TCP_FIN | PXE_TCP_ACK)) { - printf("pxe_tcp_disconnect(): failed to send FIN.\n"); - free_connection(connection); - return (0); + /* if connection in established state - initiate active close */ + if (connection->state == PXE_TCP_ESTABLISHED) { + if (!pxe_tcp_syssend(connection, PXE_TCP_FIN | PXE_TCP_ACK)) { + printf("pxe_tcp_disconnect(): failed to send FIN.\n"); + free_connection(connection); + return (0); + } } /* update sequence number */ @@ -241,9 +252,15 @@ */ if (!pxe_await(tcp_await, 5, PXE_TCP_MSL / 5, &wait_data)) { /* failed to get to TIME_WAIT state */ free_connection(connection); - return (0); + + if (connection->state != PXE_TCP_CLOSED) + return (0); } + if (connection->state == PXE_TCP_CLOSED) { + pxe_filter_remove(filter); + } + pxe_resend_free(connection); #ifdef PXE_DEBUG @@ -295,7 +312,7 @@ void *segment_data = (void *)(segment + 1); while (sent_data < size_to_send) { - + /* have no allocated segment for writing data, try allocate it */ if (segment == NULL) { /* allocating new segment */ @@ -314,10 +331,10 @@ /* calculating free space in segment packet */ bufleft = connection->chunk_size * PXE_TCP_CHUNK_COUNT; - bufleft -= sizeof(PXE_TCP_QUEUED_SEGMENT) - segment->size; + bufleft -= sizeof(PXE_TCP_QUEUED_SEGMENT) + segment->size; /* how much left to send */ send_now = size_to_send - sent_data; - + if (send_now < bufleft) { /* copy data to segment space, actually there is no send, till * segment is fully filled or called pxe_tcp_push() @@ -337,6 +354,8 @@ /* finish segment */ tcp_finish_segment(connection, segment, PXE_TCP_ACK); + /* updating next_send counter */ + connection->next_send += segment->size - sizeof(PXE_TCP_PACKET); segment->resend_at = pxe_get_secs() + PXE_RESEND_TIME; @@ -345,6 +364,7 @@ /* this segment will be resent later, so continue normal processing */ } + pxe_core_recv_packets(); segment = NULL; connection->segment = NULL; } @@ -379,8 +399,26 @@ return (-1); /* connection closed and no data in buffer */ } + int result = pxe_buffer_read(recv_buffer, data, size_to_read); - return (pxe_buffer_read(recv_buffer, data, size_to_read)); + if (result != 0) { + + /* if receive window was zero and now is big enough, notify remote host */ + if ( (recv_buffer->bufleft > PXE_DEFAULT_RECV_BUFSIZE / 4) && + (connection->winlock == 1) ) + { + if (!pxe_tcp_syssend(connection, PXE_TCP_ACK)) { + printf("pxe_tcp_read(): failed to notify remote host about window.\n"); + } else { + connection->winlock = 0; + } + } + } + + /* process new packets if there are any */ + pxe_core_recv_packets(); + + return (result); } /* pxe_tcp_push() - flushes send buffer (actually current send segment) @@ -400,7 +438,10 @@ return (0); } - if ( connection->state != PXE_TCP_ESTABLISHED ){ + if (connection->state != PXE_TCP_ESTABLISHED) { + printf("pxe_tcp_push(): connection 0x%x is not in established state(%d).\n", + connection, connection->state + ); return (0); /* connection not in established state, ignore available data */ } @@ -414,14 +455,34 @@ tcp_finish_segment(connection, segment, PXE_TCP_ACK | PXE_TCP_PSH); segment->resend_at = pxe_get_secs() + PXE_RESEND_TIME; - + connection->next_send += segment->size - sizeof(PXE_TCP_PACKET); + if (!pxe_tcp_send_segment(connection, segment)) { printf("pxe_tcp_push(): failed to send segment.\n"); /* this segment will be resent later, so continue normal processing */ } - + segment = NULL; connection->segment = NULL; return (1); } + +void +pxe_connection_stats() +{ + printf("pxe_connection_stats():\n"); + + int con_index = 0; + PXE_TCP_CONNECTION *connection = NULL; + + for ( ; con_index < PXE_MAX_TCP_CONNECTIONS; ++con_index) { + + connection = &tcp_connections[con_index]; + + printf("%d: filter: 0x%x, state: %d\n nxt_snd: %d, nxt_rcv: %d, iss: %d, irs: %d\n", + con_index, connection->filter, connection->state, + connection->next_send, connection->next_recv + ); + } +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_connection.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ uint8_t state_out; /* show latest acked packet flags (e.g. we sent FIN and it was ACKed, * here will be PXE_TCP_FIN. Currently used but ACKing not checked. */ - + uint8_t winlock; /* flag to becomes 1 when recieve window is zero*/ uint32_t next_recv; /* next sequence number to accept */ uint32_t next_send; /* next sequence number to send */ uint32_t una; /* unaccepted sequence number */ @@ -68,6 +68,9 @@ /* initialisztion routine */ void pxe_connection_init(); +/* statistics */ +void pxe_connection_stats(); + /* returns associated connection by filter */ PXE_TCP_CONNECTION * filter_to_connection(PXE_FILTER_ENTRY *filter); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#17 (text+ko) ==== @@ -31,7 +31,7 @@ */ /* pxe core structures*/ -PXE_PACKET core_packets[PXE_MAX_PACKETS]; /* buffered packets */ +PXE_PACKET core_packet; /* current processing packet */ pxe_protocol_call core_protocol[256]; /* protocol's callback fuctions */ PXE_MUTEX core_mutex = {0, 0}; /* mutex used in packet allocation */ @@ -45,7 +45,6 @@ uint32_t packets_sent = 0; uint32_t packets_received = 0; - /* pxe_core_undi_startup() - performs UNDI startup call during pxe_core_init() * in: * none @@ -123,7 +122,7 @@ #endif t_PXENV_GET_CACHED_INFO *gci_p = NULL; - pxe_memset(core_packets, 0, sizeof(core_packets)); + pxe_memset(&core_packet, 0, sizeof(core_packet)); pxe_memset(core_protocol, 0, sizeof(core_protocol)); pxe_memset(core_ips, 0, sizeof(core_ips)); @@ -397,12 +396,9 @@ { int i = 1; - for (; i < PXE_MAX_PACKETS; ++i) { + if (core_packet.data) + pxe_free(core_packet.data); - if (core_packets[i].data) - pxe_free(core_packets[i].data); - } - /* 1. uninstall isr */ pxe_core_remove_isr(); @@ -537,30 +533,6 @@ return (status); } -/* TODO: think about removing of this function - * flushes pending, aborted, wrong and etc packets - */ -int -pxe_core_flush_packets() -{ - int i = 0; - - for (; i < PXE_MAX_PACKETS; ++i) { - PXE_IP_HDR *iphdr=(PXE_IP_HDR *)(core_packets[i].data); - - if (iphdr == NULL) { /* dummy packet */ - continue; - } - - if (core_protocol[iphdr->protocol]) { /* protocol registered */ - core_protocol[iphdr->protocol](&core_packets[i], - PXE_CORE_CHECK, NULL); - } - } - - return (1); -} - /* pxe_core_get_packet() - checks, if there are any new pacjets in receive queue * in: * func - function to fill in FuncFlag of t_PXENV_UND_ISR structure @@ -765,28 +737,15 @@ pack = pxe_core_alloc_packet(buffer_size); if (pack == NULL) { - pxe_core_flush_packets(); + ++packets_dropped; + drop_flag = 1; + } else { - /* trying to get free packets by sending and dropping */ - pack = pxe_core_alloc_packet(buffer_size); - - /* failed to alloc packet, dropping packet - * NOTE: may be good idea, simply abort current receive cycle, - * and wait if some protocol will free packet + /* pointing user_data to beginning of data. + * It's used by pxe_core_receive() during receiving packet. */ - if (pack == NULL) { - ++packets_dropped; - drop_flag = 1; - } + pack->user_data = pack->data; } - - - /* pointing user_data to beginning of data. - * It's used by pxe_core_receive() during receiving packet. - */ - - if (pack != NULL) - pack->user_data = pack->data; } } @@ -889,45 +848,36 @@ { int i = 1; /* packet index */ - pxe_mutex_own(&core_mutex, PXE_OWNER_CORE); + if (core_packet.state == PXE_PACKET_STATE_FREE) { + /* packet structure seems to be free */ + /* mark it busy */ + core_packet.state = PXE_PACKET_STATE_USING; - /* searching free packets structures */ - for (; i < PXE_MAX_PACKETS; ++i) { - if (core_packets[i].state == PXE_PACKET_STATE_FREE) { - /* packet structure seems to be free */ - /* mark it busy */ - core_packets[i].state = PXE_PACKET_STATE_USING; + if (core_packet.data_size < packet_size) { + /* packet contains less memmory than needed */ - if (core_packets[i].data_size < packet_size) { - /* packet contains less memmory than needed */ + void *data = pxe_alloc(packet_size + MEDIAHDR_LEN_ETH); + pxe_free(core_packet.data); + core_packet.raw_data = data; - void *data = pxe_alloc(packet_size + MEDIAHDR_LEN_ETH); - pxe_free(core_packets[i].data); - core_packets[i].raw_data = data; - + + /* failed to allocate enough memory for packet */ + if (data == NULL) { + core_packet.data_size = 0; + core_packet.raw_size = 0; + core_packet.data = NULL; - /* failed to allocate enough memory for packet */ - if (data == NULL) { - core_packets[i].data_size = 0; - core_packets[i].raw_size = 0; - core_packets[i].data = NULL; - - - pxe_mutex_free(&core_mutex, PXE_OWNER_CORE); - return (NULL); - } - - core_packets[i].data_size = packet_size; - core_packets[i].raw_size = packet_size + MEDIAHDR_LEN_ETH; - core_packets[i].data = data + MEDIAHDR_LEN_ETH; + return (NULL); } - pxe_mutex_free(&core_mutex, PXE_OWNER_CORE); - return &core_packets[i]; + core_packet.data_size = packet_size; + core_packet.raw_size = packet_size + MEDIAHDR_LEN_ETH; + core_packet.data = data + MEDIAHDR_LEN_ETH; } + + return &core_packet; } - pxe_mutex_free(&core_mutex, PXE_OWNER_CORE); return (NULL); } @@ -938,9 +888,7 @@ pxe_core_commit(PXE_PACKET *pack) { - pxe_mutex_own(&core_mutex, PXE_OWNER_CORE); pack->state = PXE_PACKET_STATE_FREE; - pxe_mutex_free(&core_mutex, PXE_OWNER_CORE); } /* TODO: think if this function is useful ==== //depot/projects/soc2007/taleks-pxe_http/pxe_http.c#3 (text+ko) ==== @@ -1,21 +1,84 @@ #include #include "pxe_core.h" -#include "pxe_icmp.h" +#include "pxe_dns.h" +#include "pxe_http.h" #include "pxe_ip.h" +#include "pxe_tcp.h" + +char client_hdr[PXE_MAX_HTTP_HDRLEN]; int -pxe_test_main() +pxe_fetch(char *server_name, char *filename) { - pxe_ipaddr ip; - ip.ip=0xC0A80001; + PXE_IPADDR server; + + printf("pxe_fetch(): fetching http://%s:80/%s\n", server_name, filename); + server.ip = pxe_gethostbyname(server_name); + + if (server.ip == 0) { + printf("pxe_fetch(): cannot resolve server name.\n"); + return (0); + } else { + printf("pxe_fetch(): resolved as: %d.%d.%d.%d\n", + server.octet[0], server.octet[1], server.octet[2], server.octet[3] + ); + } + + int socket = pxe_socket(); + + int result = pxe_connect(socket, server.ip, 80, PXE_TCP_PROTOCOL); + + if (result == -1) { + printf("pxe_fetch(): failed to connect.\n"); + return (0); + } + + sprintf(client_hdr, "GET /%s HTTP/1.1\r\nHost: %s\r\n\r\n", filename, server_name); - printf("pxe icmp dummy test.\n"); + int len = strlen(client_hdr); - pxe_core_init(); - pxe_icmp_init(); + if (len != pxe_send(socket, client_hdr, len)) { + printf("pxe_fetch(): failed to send request.\n"); + pxe_close(socket); + return (0); + } - pxe_ping(&ip, 0); + if (pxe_push(socket) == -1) { + printf("pxe_fetch(): failed to push request.\n"); + pxe_close(socket); + return (0); + } - return (0); + int count = 0; + + while (1) { + result = pxe_recv(socket, client_hdr, PXE_MAX_HTTP_HDRLEN-1); + + if (result == -1) { + break; + } + + if (result == 0) + continue; + + count += result; + client_hdr[result] = '\0'; + + printf("%s", client_hdr); + + if (count == 0) { + if (!strncmp(client_hdr, "HTTP/1.1 200 OK", result)) { + + } + else { + pxe_close(socket); + return (0); + } + } + } + + printf("\npxe_fetch(): %d byte(s) received.\n", count); + + return (1); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_ip.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ myip.ip = pxe_get_ip32(PXE_IP_MY); /* make route for local network */ - uint32_t mask = pxe_get_ip32(PXE_IP_MASK); + uint32_t mask = pxe_get_ip32(PXE_IP_NETMASK); if (mask == 0) /* mask is not set via DHCP/BOOTP, setting it manually */ mask = pxe_ip_get_netmask(myip.ip); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#4 (text+ko) ==== @@ -75,6 +75,9 @@ PXE_TCP_QUEUED_SEGMENT * tcp_segment_alloc(PXE_TCP_CONNECTION *connection, int allocBig) { +#ifdef PXE_DEBUG + printf("tcp_segment_alloc(): connection 0x%x, big = %d.\n", connection, allocBig); +#endif int block_index = 0; PXE_BUFFER *buffer = connection->send; uint8_t *buf_blocks = connection->buf_blocks; @@ -136,6 +139,9 @@ void tcp_segment_free(PXE_TCP_CONNECTION *connection, int block_index, PXE_TCP_QUEUED_SEGMENT *segment) { +#ifdef PXE_DEBUG + printf("tcp_segment_free(): connection: 0x%x, block: %d, chunk: 0x%x\n", connection, block_index, segment); +#endif uint8_t *block = &connection->buf_blocks[block_index]; if (segment->status == PXE_SEGMENT_FREE) /* already released */ @@ -161,6 +167,9 @@ void pxe_resend_check(PXE_TCP_CONNECTION *connection) { +#ifdef PXE_DEBUG + printf("pxe_resend_check(): started.\n"); +#endif PXE_BUFFER *buffer = connection->send; void *data = buffer->data; int block_index = 0; @@ -187,12 +196,16 @@ if (cur_time >= segment->resend_at) { /* time to resend */ #ifdef PXE_DEBUG - printf("pxe_resend_check(): %d:%d resending...\n", segment->resend_at, cur_time); + printf("pxe_resend_check(): %d:%d resending (next try at: %d)\n", + segment->resend_at, cur_time, segment->resend_at + PXE_RESEND_TIME * (segment->trys + 1) + ); #endif + segment->trys += 1; + segment->resend_at += PXE_RESEND_TIME * segment->trys; + tcp_update_segment(connection, segment); pxe_tcp_send_segment(connection, segment); - segment->trys += 1; - segment->resend_at += PXE_RESEND_TIME * segment->trys; + } continue; } @@ -206,13 +219,16 @@ if (cur_time >= segment->resend_at) { /* time to resend */ #ifdef PXE_DEBUG - printf("pxe_resend_check(): %d:%d resending...\n", segment->resend_at, cur_time); + printf("pxe_resend_check(): %d:%d resending (next try at: %d)\n", + segment->resend_at, cur_time, segment->resend_at + PXE_RESEND_TIME * (segment->trys + 1) + ); #endif - tcp_update_segment(connection, segment); - pxe_tcp_send_segment(connection, segment); /* resend later, with more delay with every try */ segment->trys += 1; segment->resend_at += PXE_RESEND_TIME * segment->trys; + + tcp_update_segment(connection, segment); + pxe_tcp_send_segment(connection, segment); } } @@ -232,6 +248,9 @@ void pxe_resend_update(PXE_TCP_CONNECTION *connection) { +#ifdef PXE_DEBUG + printf("pxe_resend_update(): started.\n"); +#endif PXE_BUFFER *buffer = connection->send; void *data = buffer->data; int block_index = 0; @@ -478,7 +497,7 @@ printf(" %d bytes.\n", length); #endif - + /* check received packets */ return (1); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#11 (text+ko) ==== @@ -146,6 +146,13 @@ /* socket buffers seems not be used more */ pxe_buffer_memfree(&sock->send_buffer); pxe_buffer_memfree(&sock->recv_buffer); + + if (filter == NULL) { /* sanity check */ +#ifdef PXE_DEBUG + printf("pxe_close(): filter is NULL.\n"); +#endif + return (0); + } /* UDP socket closing is simple */ if (filter->protocol == PXE_UDP_PROTOCOL) { @@ -452,7 +459,7 @@ { if ( (socket >= PXE_DEFAULT_SOCKETS) || (socket == -1)) { - printf("pxe_recv(): invalid socket %d.\n", socket); + printf("pxe_send(): invalid socket %d.\n", socket); return (-1); } @@ -464,7 +471,6 @@ return pxe_udp_write(sock, buf, buflen); } else if (filter->protocol == PXE_TCP_PROTOCOL) { - return pxe_tcp_write(sock, buf, buflen); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#6 (text+ko) ==== @@ -46,7 +46,7 @@ * none */ static void -check_time_to_die(PXE_TCP_CONNECTION *connection) +tcp_check_time_to_die(PXE_TCP_CONNECTION *connection) { /* if connection in other states - do nothing */ if (connection->state != PXE_TCP_TIME_WAIT) @@ -55,6 +55,9 @@ time_t cur_time = pxe_get_secs(); if (cur_time - connection->last_recv > 2 * PXE_TCP_MSL) { +#ifdef PXE_DEBUG + printf("tcp_check_time_to_die(): time for 0x%x connection.\n", connection); +#endif /* release filter */ PXE_FILTER_ENTRY *filter = connection->filter; @@ -88,6 +91,7 @@ connection.chunk_size = PXE_TCP_SYSBUF_SIZE; connection.buf_blocks[0] = PXE_TCP_BLOCK_FREE; + connection.send = &sysbuf; return pxe_tcp_syssend(&connection, flags); } @@ -157,6 +161,13 @@ return (1); } + PXE_BUFFER *buffer = connection->recv; + + if (buffer) { + if (buffer->bufleft == 0) + connection->winlock = 1; + } + pxe_tcp_syssend(connection, PXE_TCP_ACK); #ifdef PXE_DEBUG_HELL @@ -676,6 +687,7 @@ printf("tcp_time_wait(): new state - CLOSED\n"); #endif pxe_resend_free(connection); + free_connection(connection); return (0); } @@ -690,6 +702,9 @@ } */ /* ignore data processing */ + + /* check TIME_WAIT time */ + tcp_check_time_to_die(connection); return (0); } @@ -946,6 +961,9 @@ /* check if need to resend some segments */ pxe_resend_check(connection); + /* check time to die */ + tcp_check_time_to_die(connection); + return (result); } @@ -965,12 +983,13 @@ pxe_core_register(PXE_TCP_PROTOCOL, pxe_tcp_callback); /* sysbuf init */ + pxe_memset(&bufdata, 0 , PXE_TCP_SYSBUF_SIZE); sysbuf.data = &bufdata; /* not really need, cause not using buffer realted functions */ sysbuf.bufleft = PXE_TCP_SYSBUF_SIZE; sysbuf.bufsize = PXE_TCP_SYSBUF_SIZE; sysbuf.fstart = 0; - sysbuf.fend = PXE_TCP_SYSBUF_SIZE - 1; + sysbuf.fend = PXE_TCP_SYSBUF_SIZE; } /* pxe_tcp_syssend() - send system packets via TCP protocol From owner-p4-projects@FreeBSD.ORG Wed Jul 4 15:15:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A44F16A46D; Wed, 4 Jul 2007 15:15:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0F1B116A46C for ; Wed, 4 Jul 2007 15:15:14 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by mx1.freebsd.org (Postfix) with ESMTP id 9827C13C447 for ; Wed, 4 Jul 2007 15:15:13 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: by ug-out-1314.google.com with SMTP id o4so351460uge for ; Wed, 04 Jul 2007 08:15:12 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=G8tALKlD6CKeg76tGTO1tOTcyt9XRnxM8BwoFHDyoAgrkwubf+hNoJrsSCVHRXIXeHKU5UERvxi9XAM2IhZfPtgSMJtHQulOICoSoII2Nn+VrS/QJMlbp3bDcLReniFb5tU/ZGp3+68xj8xPVxmlS5BD7bpqKDUBjVVqIMqlr3E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=NPdB1QXBpd77Hq51jL9gUdU2wBNQ5iz3Dk+tmoUowGLxz4BFKXRCxoe36Yg/Kai62Fak8UwD7rcXOx7wb7La3AJ/5ec1WJ5KVqZOh0U3euwmm874HgPM6kk/vO9hsXOvIQOyKKfjnD72t7cWbDibN+QrJxK1WWHqYLjS+6aZOKc= Received: by 10.78.165.16 with SMTP id n16mr4180452hue.1183562112060; Wed, 04 Jul 2007 08:15:12 -0700 (PDT) Received: by 10.78.97.18 with HTTP; Wed, 4 Jul 2007 08:15:12 -0700 (PDT) Message-ID: <3bbf2fe10707040815u522d3580m445d27d60d58228@mail.gmail.com> Date: Wed, 4 Jul 2007 17:15:12 +0200 From: "Attilio Rao" Sender: asmrookie@gmail.com To: "Rui Paulo" In-Reply-To: <200707040343.l643hQ2i073492@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200707040343.l643hQ2i073492@repoman.freebsd.org> X-Google-Sender-Auth: f07d48201e5c780f Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 15:15:14 -0000 2007/7/4, Rui Paulo : > struct asmc_softc { > - device_t sc_dev; > - struct mtx sc_mtx; > - > - int sc_nfan; > - > - int16_t sms_rest_x; > - int16_t sms_rest_y; > - int16_t sms_rest_z; > - > + device_t sc_dev; > + struct mtx sc_mtx; > + int sc_nfan; > + int16_t sms_rest_x; > + int16_t sms_rest_y; > + int16_t sms_rest_z; > struct sysctl_ctx_list sc_sysctl_ctx; > - struct sysctl_oid *sc_root_tree; > - struct sysctl_oid *sc_fan_tree[ASMC_MAXFANS+1]; > - struct sysctl_oid *sc_temp_tree; > - struct sysctl_oid *sc_sms_tree; > - > - struct asmc_model *sc_model; > - > - int sc_rid; > - struct resource *sc_res; > - void *sc_cookie; > - > - int sms_intrtype; > - struct taskqueue *sms_tq; > - struct task sms_task; > + struct sysctl_oid *sc_root_tree; > + struct sysctl_oid *sc_fan_tree[ASMC_MAXFANS+1]; > + struct sysctl_oid *sc_temp_tree; > + struct sysctl_oid *sc_sms_tree; > + struct asmc_model *sc_model; > + int sc_rid; > + struct resource *sc_res; > + void *sc_cookie; > + int sms_intrtype; > + struct taskqueue *sms_tq; > + struct task sms_task; > }; Members of the same struct should have the same name prefix, in this case you should not mix between sc_ and sms_. Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-p4-projects@FreeBSD.ORG Wed Jul 4 15:58:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 481FE16A46F; Wed, 4 Jul 2007 15:58:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 90B0216A41F for ; Wed, 4 Jul 2007 15:58:36 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7F9BB13C468 for ; Wed, 4 Jul 2007 15:58:36 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64FwaHI084227 for ; Wed, 4 Jul 2007 15:58:36 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64FwYjG084203 for perforce@freebsd.org; Wed, 4 Jul 2007 15:58:34 GMT (envelope-from delphij@freebsd.org) Date: Wed, 4 Jul 2007 15:58:34 GMT Message-Id: <200707041558.l64FwYjG084203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 122859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 15:58:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=122859 Change 122859 by delphij@delphij_freefall on 2007/07/04 15:39:46 Fork off -HEAD so I will be able to make some of my local changes public without breaking -CURRENT. Affected files ... .. //depot/projects/delphij_fork/COPYRIGHT#1 branch .. //depot/projects/delphij_fork/LOCKS#1 branch .. //depot/projects/delphij_fork/MAINTAINERS#1 branch .. //depot/projects/delphij_fork/Makefile#1 branch .. //depot/projects/delphij_fork/Makefile.inc1#1 branch .. //depot/projects/delphij_fork/ObsoleteFiles.inc#1 branch .. //depot/projects/delphij_fork/README#1 branch .. //depot/projects/delphij_fork/UPDATING#1 branch .. //depot/projects/delphij_fork/bin/Makefile#1 branch .. //depot/projects/delphij_fork/bin/Makefile.inc#1 branch .. //depot/projects/delphij_fork/bin/cat/Makefile#1 branch .. //depot/projects/delphij_fork/bin/cat/cat.1#1 branch .. //depot/projects/delphij_fork/bin/cat/cat.c#1 branch .. //depot/projects/delphij_fork/bin/chflags/Makefile#1 branch .. //depot/projects/delphij_fork/bin/chflags/chflags.1#1 branch .. //depot/projects/delphij_fork/bin/chflags/chflags.c#1 branch .. //depot/projects/delphij_fork/bin/chio/Makefile#1 branch .. //depot/projects/delphij_fork/bin/chio/chio.1#1 branch .. //depot/projects/delphij_fork/bin/chio/chio.c#1 branch .. //depot/projects/delphij_fork/bin/chio/defs.h#1 branch .. //depot/projects/delphij_fork/bin/chio/pathnames.h#1 branch .. //depot/projects/delphij_fork/bin/chmod/Makefile#1 branch .. //depot/projects/delphij_fork/bin/chmod/chmod.1#1 branch .. //depot/projects/delphij_fork/bin/chmod/chmod.c#1 branch .. //depot/projects/delphij_fork/bin/cp/Makefile#1 branch .. //depot/projects/delphij_fork/bin/cp/cp.1#1 branch .. //depot/projects/delphij_fork/bin/cp/cp.c#1 branch .. //depot/projects/delphij_fork/bin/cp/extern.h#1 branch .. //depot/projects/delphij_fork/bin/cp/utils.c#1 branch .. //depot/projects/delphij_fork/bin/csh/Makefile#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/delphij_fork/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/delphij_fork/bin/csh/config.h#1 branch .. //depot/projects/delphij_fork/bin/csh/config_p.h#1 branch .. //depot/projects/delphij_fork/bin/csh/host.defs#1 branch .. //depot/projects/delphij_fork/bin/csh/iconv.h#1 branch .. //depot/projects/delphij_fork/bin/csh/iconv_stub.c#1 branch .. //depot/projects/delphij_fork/bin/date/Makefile#1 branch .. //depot/projects/delphij_fork/bin/date/date.1#1 branch .. //depot/projects/delphij_fork/bin/date/date.c#1 branch .. //depot/projects/delphij_fork/bin/date/extern.h#1 branch .. //depot/projects/delphij_fork/bin/date/netdate.c#1 branch .. //depot/projects/delphij_fork/bin/date/vary.c#1 branch .. //depot/projects/delphij_fork/bin/date/vary.h#1 branch .. //depot/projects/delphij_fork/bin/dd/Makefile#1 branch .. //depot/projects/delphij_fork/bin/dd/args.c#1 branch .. //depot/projects/delphij_fork/bin/dd/conv.c#1 branch .. //depot/projects/delphij_fork/bin/dd/conv_tab.c#1 branch .. //depot/projects/delphij_fork/bin/dd/dd.1#1 branch .. //depot/projects/delphij_fork/bin/dd/dd.c#1 branch .. //depot/projects/delphij_fork/bin/dd/dd.h#1 branch .. //depot/projects/delphij_fork/bin/dd/extern.h#1 branch .. //depot/projects/delphij_fork/bin/dd/gen.c#1 branch .. //depot/projects/delphij_fork/bin/dd/misc.c#1 branch .. //depot/projects/delphij_fork/bin/dd/position.c#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.ascii#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.ebcdic#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.ibm#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.lcase#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.oldascii#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.oldibm#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.pareven#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.parnone#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.parodd#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.parset#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.swab#1 branch .. //depot/projects/delphij_fork/bin/dd/ref.ucase#1 branch .. //depot/projects/delphij_fork/bin/df/Makefile#1 branch .. //depot/projects/delphij_fork/bin/df/df.1#1 branch .. //depot/projects/delphij_fork/bin/df/df.c#1 branch .. //depot/projects/delphij_fork/bin/domainname/Makefile#1 branch .. //depot/projects/delphij_fork/bin/domainname/domainname.1#1 branch .. //depot/projects/delphij_fork/bin/domainname/domainname.c#1 branch .. //depot/projects/delphij_fork/bin/echo/Makefile#1 branch .. //depot/projects/delphij_fork/bin/echo/echo.1#1 branch .. //depot/projects/delphij_fork/bin/echo/echo.c#1 branch .. //depot/projects/delphij_fork/bin/ed/Makefile#1 branch .. //depot/projects/delphij_fork/bin/ed/POSIX#1 branch .. //depot/projects/delphij_fork/bin/ed/README#1 branch .. //depot/projects/delphij_fork/bin/ed/buf.c#1 branch .. //depot/projects/delphij_fork/bin/ed/cbc.c#1 branch .. //depot/projects/delphij_fork/bin/ed/ed.1#1 branch .. //depot/projects/delphij_fork/bin/ed/ed.h#1 branch .. //depot/projects/delphij_fork/bin/ed/glbl.c#1 branch .. //depot/projects/delphij_fork/bin/ed/io.c#1 branch .. //depot/projects/delphij_fork/bin/ed/main.c#1 branch .. //depot/projects/delphij_fork/bin/ed/re.c#1 branch .. //depot/projects/delphij_fork/bin/ed/sub.c#1 branch .. //depot/projects/delphij_fork/bin/ed/test/=.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/Makefile#1 branch .. //depot/projects/delphij_fork/bin/ed/test/README#1 branch .. //depot/projects/delphij_fork/bin/ed/test/TODO#1 branch .. //depot/projects/delphij_fork/bin/ed/test/a.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/a.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/a.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/a1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/a2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/addr.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/addr.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/addr.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/addr1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/addr2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/delphij_fork/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/delphij_fork/bin/ed/test/ascii.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/bang1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/bang1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/bang1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/bang1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/bang2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/c.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/c.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/c.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/c1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/c2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/delphij_fork/bin/ed/test/d.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/d.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/d.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/d.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e3.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e3.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e3.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e4.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e4.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/e4.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/f1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/f2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g3.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g3.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g3.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g4.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g4.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g4.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g5.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g5.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/g5.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/h.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/i3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/j.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/j.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/j.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/k4.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/l.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/l.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/l.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/m.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/m.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/m.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/m.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/delphij_fork/bin/ed/test/n.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/n.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/n.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/nl2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/p.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/p.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/p.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/q.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/q.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/q.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/q1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r3.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r3.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/r3.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s10.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s3.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s3.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s3.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s4.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s5.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s6.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s7.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s8.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/s9.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t1.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t1.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t1.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t2.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t2.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/t2.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/u.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/u.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/u.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/u.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/v.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/v.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/v.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w.d#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w.r#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w.t#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w1.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w2.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/w3.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/x.err#1 branch .. //depot/projects/delphij_fork/bin/ed/test/z.err#1 branch .. //depot/projects/delphij_fork/bin/ed/undo.c#1 branch .. //depot/projects/delphij_fork/bin/expr/Makefile#1 branch .. //depot/projects/delphij_fork/bin/expr/expr.1#1 branch .. //depot/projects/delphij_fork/bin/expr/expr.y#1 branch .. //depot/projects/delphij_fork/bin/getfacl/Makefile#1 branch .. //depot/projects/delphij_fork/bin/getfacl/getfacl.1#1 branch .. //depot/projects/delphij_fork/bin/getfacl/getfacl.c#1 branch .. //depot/projects/delphij_fork/bin/hostname/Makefile#1 branch .. //depot/projects/delphij_fork/bin/hostname/hostname.1#1 branch .. //depot/projects/delphij_fork/bin/hostname/hostname.c#1 branch .. //depot/projects/delphij_fork/bin/kenv/Makefile#1 branch .. //depot/projects/delphij_fork/bin/kenv/kenv.1#1 branch .. //depot/projects/delphij_fork/bin/kenv/kenv.c#1 branch .. //depot/projects/delphij_fork/bin/kill/Makefile#1 branch .. //depot/projects/delphij_fork/bin/kill/kill.1#1 branch .. //depot/projects/delphij_fork/bin/kill/kill.c#1 branch .. //depot/projects/delphij_fork/bin/ln/Makefile#1 branch .. //depot/projects/delphij_fork/bin/ln/ln.1#1 branch .. //depot/projects/delphij_fork/bin/ln/ln.c#1 branch .. //depot/projects/delphij_fork/bin/ln/symlink.7#1 branch .. //depot/projects/delphij_fork/bin/ls/Makefile#1 branch .. //depot/projects/delphij_fork/bin/ls/cmp.c#1 branch .. //depot/projects/delphij_fork/bin/ls/extern.h#1 branch .. //depot/projects/delphij_fork/bin/ls/ls.1#1 branch .. //depot/projects/delphij_fork/bin/ls/ls.c#1 branch .. //depot/projects/delphij_fork/bin/ls/ls.h#1 branch .. //depot/projects/delphij_fork/bin/ls/print.c#1 branch .. //depot/projects/delphij_fork/bin/ls/util.c#1 branch .. //depot/projects/delphij_fork/bin/mkdir/Makefile#1 branch .. //depot/projects/delphij_fork/bin/mkdir/mkdir.1#1 branch .. //depot/projects/delphij_fork/bin/mkdir/mkdir.c#1 branch .. //depot/projects/delphij_fork/bin/mv/Makefile#1 branch .. //depot/projects/delphij_fork/bin/mv/mv.1#1 branch .. //depot/projects/delphij_fork/bin/mv/mv.c#1 branch .. //depot/projects/delphij_fork/bin/pax/Makefile#1 branch .. //depot/projects/delphij_fork/bin/pax/ar_io.c#1 branch .. //depot/projects/delphij_fork/bin/pax/ar_subs.c#1 branch .. //depot/projects/delphij_fork/bin/pax/buf_subs.c#1 branch .. //depot/projects/delphij_fork/bin/pax/cache.c#1 branch .. //depot/projects/delphij_fork/bin/pax/cache.h#1 branch .. //depot/projects/delphij_fork/bin/pax/cpio.1#1 branch .. //depot/projects/delphij_fork/bin/pax/cpio.c#1 branch .. //depot/projects/delphij_fork/bin/pax/cpio.h#1 branch .. //depot/projects/delphij_fork/bin/pax/extern.h#1 branch .. //depot/projects/delphij_fork/bin/pax/file_subs.c#1 branch .. //depot/projects/delphij_fork/bin/pax/ftree.c#1 branch .. //depot/projects/delphij_fork/bin/pax/ftree.h#1 branch .. //depot/projects/delphij_fork/bin/pax/gen_subs.c#1 branch .. //depot/projects/delphij_fork/bin/pax/getoldopt.c#1 branch .. //depot/projects/delphij_fork/bin/pax/options.c#1 branch .. //depot/projects/delphij_fork/bin/pax/options.h#1 branch .. //depot/projects/delphij_fork/bin/pax/pat_rep.c#1 branch .. //depot/projects/delphij_fork/bin/pax/pat_rep.h#1 branch .. //depot/projects/delphij_fork/bin/pax/pax.1#1 branch .. //depot/projects/delphij_fork/bin/pax/pax.c#1 branch .. //depot/projects/delphij_fork/bin/pax/pax.h#1 branch .. //depot/projects/delphij_fork/bin/pax/sel_subs.c#1 branch .. //depot/projects/delphij_fork/bin/pax/sel_subs.h#1 branch .. //depot/projects/delphij_fork/bin/pax/tables.c#1 branch .. //depot/projects/delphij_fork/bin/pax/tables.h#1 branch .. //depot/projects/delphij_fork/bin/pax/tar.1#1 branch .. //depot/projects/delphij_fork/bin/pax/tar.c#1 branch .. //depot/projects/delphij_fork/bin/pax/tar.h#1 branch .. //depot/projects/delphij_fork/bin/pax/tty_subs.c#1 branch .. //depot/projects/delphij_fork/bin/ps/Makefile#1 branch .. //depot/projects/delphij_fork/bin/ps/extern.h#1 branch .. //depot/projects/delphij_fork/bin/ps/fmt.c#1 branch .. //depot/projects/delphij_fork/bin/ps/keyword.c#1 branch .. //depot/projects/delphij_fork/bin/ps/nlist.c#1 branch .. //depot/projects/delphij_fork/bin/ps/print.c#1 branch .. //depot/projects/delphij_fork/bin/ps/ps.1#1 branch .. //depot/projects/delphij_fork/bin/ps/ps.c#1 branch .. //depot/projects/delphij_fork/bin/ps/ps.h#1 branch .. //depot/projects/delphij_fork/bin/pwd/Makefile#1 branch .. //depot/projects/delphij_fork/bin/pwd/pwd.1#1 branch .. //depot/projects/delphij_fork/bin/pwd/pwd.c#1 branch .. //depot/projects/delphij_fork/bin/rcp/Makefile#1 branch .. //depot/projects/delphij_fork/bin/rcp/extern.h#1 branch .. //depot/projects/delphij_fork/bin/rcp/rcp.1#1 branch .. //depot/projects/delphij_fork/bin/rcp/rcp.c#1 branch .. //depot/projects/delphij_fork/bin/rcp/util.c#1 branch .. //depot/projects/delphij_fork/bin/realpath/Makefile#1 branch .. //depot/projects/delphij_fork/bin/realpath/realpath.1#1 branch .. //depot/projects/delphij_fork/bin/realpath/realpath.c#1 branch .. //depot/projects/delphij_fork/bin/rm/Makefile#1 branch .. //depot/projects/delphij_fork/bin/rm/rm.1#1 branch .. //depot/projects/delphij_fork/bin/rm/rm.c#1 branch .. //depot/projects/delphij_fork/bin/rmail/Makefile#1 branch .. //depot/projects/delphij_fork/bin/rmdir/Makefile#1 branch .. //depot/projects/delphij_fork/bin/rmdir/rmdir.1#1 branch .. //depot/projects/delphij_fork/bin/rmdir/rmdir.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/Makefile#1 branch .. //depot/projects/delphij_fork/bin/setfacl/file.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/mask.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/merge.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/remove.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/setfacl.1#1 branch .. //depot/projects/delphij_fork/bin/setfacl/setfacl.c#1 branch .. //depot/projects/delphij_fork/bin/setfacl/setfacl.h#1 branch .. //depot/projects/delphij_fork/bin/setfacl/util.c#1 branch .. //depot/projects/delphij_fork/bin/sh/Makefile#1 branch .. //depot/projects/delphij_fork/bin/sh/TOUR#1 branch .. //depot/projects/delphij_fork/bin/sh/alias.c#1 branch .. //depot/projects/delphij_fork/bin/sh/alias.h#1 branch .. //depot/projects/delphij_fork/bin/sh/arith.h#1 branch .. //depot/projects/delphij_fork/bin/sh/arith.y#1 branch .. //depot/projects/delphij_fork/bin/sh/arith_lex.l#1 branch .. //depot/projects/delphij_fork/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/delphij_fork/bin/sh/bltin/echo.1#1 branch .. //depot/projects/delphij_fork/bin/sh/bltin/echo.c#1 branch .. //depot/projects/delphij_fork/bin/sh/builtins.def#1 branch .. //depot/projects/delphij_fork/bin/sh/cd.c#1 branch .. //depot/projects/delphij_fork/bin/sh/cd.h#1 branch .. //depot/projects/delphij_fork/bin/sh/error.c#1 branch .. //depot/projects/delphij_fork/bin/sh/error.h#1 branch .. //depot/projects/delphij_fork/bin/sh/eval.c#1 branch .. //depot/projects/delphij_fork/bin/sh/eval.h#1 branch .. //depot/projects/delphij_fork/bin/sh/exec.c#1 branch .. //depot/projects/delphij_fork/bin/sh/exec.h#1 branch .. //depot/projects/delphij_fork/bin/sh/expand.c#1 branch .. //depot/projects/delphij_fork/bin/sh/expand.h#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/cmv#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/dirs#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/kill#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/login#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/newgrp#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/popd#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/pushd#1 branch .. //depot/projects/delphij_fork/bin/sh/funcs/suspend#1 branch .. //depot/projects/delphij_fork/bin/sh/histedit.c#1 branch .. //depot/projects/delphij_fork/bin/sh/init.h#1 branch .. //depot/projects/delphij_fork/bin/sh/input.c#1 branch .. //depot/projects/delphij_fork/bin/sh/input.h#1 branch .. //depot/projects/delphij_fork/bin/sh/jobs.c#1 branch .. //depot/projects/delphij_fork/bin/sh/jobs.h#1 branch .. //depot/projects/delphij_fork/bin/sh/mail.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mail.h#1 branch .. //depot/projects/delphij_fork/bin/sh/main.c#1 branch .. //depot/projects/delphij_fork/bin/sh/main.h#1 branch .. //depot/projects/delphij_fork/bin/sh/memalloc.c#1 branch .. //depot/projects/delphij_fork/bin/sh/memalloc.h#1 branch .. //depot/projects/delphij_fork/bin/sh/miscbltin.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mkbuiltins#1 branch .. //depot/projects/delphij_fork/bin/sh/mkinit.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mknodes.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mksyntax.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mktokens#1 branch .. //depot/projects/delphij_fork/bin/sh/myhistedit.h#1 branch .. //depot/projects/delphij_fork/bin/sh/mystring.c#1 branch .. //depot/projects/delphij_fork/bin/sh/mystring.h#1 branch .. //depot/projects/delphij_fork/bin/sh/nodes.c.pat#1 branch .. //depot/projects/delphij_fork/bin/sh/nodetypes#1 branch .. //depot/projects/delphij_fork/bin/sh/options.c#1 branch .. //depot/projects/delphij_fork/bin/sh/options.h#1 branch .. //depot/projects/delphij_fork/bin/sh/output.c#1 branch .. //depot/projects/delphij_fork/bin/sh/output.h#1 branch .. //depot/projects/delphij_fork/bin/sh/parser.c#1 branch .. //depot/projects/delphij_fork/bin/sh/parser.h#1 branch .. //depot/projects/delphij_fork/bin/sh/redir.c#1 branch .. //depot/projects/delphij_fork/bin/sh/redir.h#1 branch .. //depot/projects/delphij_fork/bin/sh/sh.1#1 branch .. //depot/projects/delphij_fork/bin/sh/shell.h#1 branch .. //depot/projects/delphij_fork/bin/sh/show.c#1 branch .. //depot/projects/delphij_fork/bin/sh/show.h#1 branch .. //depot/projects/delphij_fork/bin/sh/trap.c#1 branch .. //depot/projects/delphij_fork/bin/sh/trap.h#1 branch .. //depot/projects/delphij_fork/bin/sh/var.c#1 branch .. //depot/projects/delphij_fork/bin/sh/var.h#1 branch .. //depot/projects/delphij_fork/bin/sleep/Makefile#1 branch .. //depot/projects/delphij_fork/bin/sleep/sleep.1#1 branch .. //depot/projects/delphij_fork/bin/sleep/sleep.c#1 branch .. //depot/projects/delphij_fork/bin/stty/Makefile#1 branch .. //depot/projects/delphij_fork/bin/stty/cchar.c#1 branch .. //depot/projects/delphij_fork/bin/stty/extern.h#1 branch .. //depot/projects/delphij_fork/bin/stty/gfmt.c#1 branch .. //depot/projects/delphij_fork/bin/stty/key.c#1 branch .. //depot/projects/delphij_fork/bin/stty/modes.c#1 branch .. //depot/projects/delphij_fork/bin/stty/print.c#1 branch .. //depot/projects/delphij_fork/bin/stty/stty.1#1 branch .. //depot/projects/delphij_fork/bin/stty/stty.c#1 branch .. //depot/projects/delphij_fork/bin/stty/stty.h#1 branch .. //depot/projects/delphij_fork/bin/stty/util.c#1 branch .. //depot/projects/delphij_fork/bin/sync/Makefile#1 branch .. //depot/projects/delphij_fork/bin/sync/sync.8#1 branch .. //depot/projects/delphij_fork/bin/sync/sync.c#1 branch .. //depot/projects/delphij_fork/bin/test/Makefile#1 branch .. //depot/projects/delphij_fork/bin/test/TEST.README#1 branch .. //depot/projects/delphij_fork/bin/test/TEST.csh#1 branch .. //depot/projects/delphij_fork/bin/test/TEST.sh#1 branch .. //depot/projects/delphij_fork/bin/test/test.1#1 branch .. //depot/projects/delphij_fork/bin/test/test.c#1 branch .. //depot/projects/delphij_fork/cddl/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/Makefile.inc#1 branch .. //depot/projects/delphij_fork/cddl/lib/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/Makefile.inc#1 branch .. //depot/projects/delphij_fork/cddl/lib/libavl/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/libnvpair/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/libumem/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/libuutil/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/libzfs/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/lib/libzpool/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/sbin/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/sbin/Makefile.inc#1 branch .. //depot/projects/delphij_fork/cddl/sbin/zfs/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/sbin/zpool/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/usr.bin/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/usr.bin/Makefile.inc#1 branch .. //depot/projects/delphij_fork/cddl/usr.bin/ztest/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/usr.sbin/Makefile#1 branch .. //depot/projects/delphij_fork/cddl/usr.sbin/Makefile.inc#1 branch .. //depot/projects/delphij_fork/cddl/usr.sbin/zdb/Makefile#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/delphij_fork/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/AUTHORS#1 branch .. //depot/projects/delphij_fork/contrib/amd/BUGS#1 branch .. //depot/projects/delphij_fork/contrib/amd/COPYING#1 branch .. //depot/projects/delphij_fork/contrib/amd/ChangeLog#1 branch .. //depot/projects/delphij_fork/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/delphij_fork/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/delphij_fork/contrib/amd/INSTALL#1 branch .. //depot/projects/delphij_fork/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/delphij_fork/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/delphij_fork/contrib/amd/NEWS#1 branch .. //depot/projects/delphij_fork/contrib/amd/README#1 branch .. //depot/projects/delphij_fork/contrib/amd/README.ldap#1 branch .. //depot/projects/delphij_fork/contrib/amd/README.y2k#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amd.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amd.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_inherit.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/autil.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/clock.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/conf.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/map.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/opts.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/restart.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/sched.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/amq.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/amq.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/amq.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/delphij_fork/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/bootstrap#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/delphij_fork/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/delphij_fork/contrib/amd/doc/version.texi#1 branch .. //depot/projects/delphij_fork/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/delphij_fork/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/alloca.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/util.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/GNUmakefile#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/amdgrep#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/amindent#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/autopat#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/chop-aclocal.pl#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/copy-if-newbig#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/macros/HEADER#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/macros/TRAILER#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/mk-aclocal#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/mkconf#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/rmtspc#1 branch .. //depot/projects/delphij_fork/contrib/amd/m4/update_build_version#1 branch .. //depot/projects/delphij_fork/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/delphij_fork/contrib/amd/tasks#1 branch .. //depot/projects/delphij_fork/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/delphij_fork/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/AUTHORS#1 branch .. //depot/projects/delphij_fork/contrib/bc/ChangeLog#1 branch .. //depot/projects/delphij_fork/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/FAQ#1 branch .. //depot/projects/delphij_fork/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/delphij_fork/contrib/bc/INSTALL#1 branch .. //depot/projects/delphij_fork/contrib/bc/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/bc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/NEWS#1 branch .. //depot/projects/delphij_fork/contrib/bc/README#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/array.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/atan.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/div.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/exp.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/fact.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/jn.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/ln.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/mul.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/raise.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/signum#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/sine.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/Test/timetest#1 branch .. //depot/projects/delphij_fork/contrib/bc/acconfig.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/aclocal.m4#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/bc.y#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/const.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/execute.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/global.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/global.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/load.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/main.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/proto.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/scan.l#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/storage.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/bc/util.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/config.h.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/configure#1 branch .. //depot/projects/delphij_fork/contrib/bc/configure.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/array.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/dc.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/dc.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/eval.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/misc.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/stack.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/dc/string.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/bc.1#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/dc.1#1 branch .. //depot/projects/delphij_fork/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/delphij_fork/contrib/bc/h/number.h#1 branch .. //depot/projects/delphij_fork/contrib/bc/install-sh#1 branch .. //depot/projects/delphij_fork/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/delphij_fork/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bc/lib/number.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/delphij_fork/contrib/bc/missing#1 branch .. //depot/projects/delphij_fork/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/delphij_fork/contrib/bc/stamp-h.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/CHANGES#1 branch .. //depot/projects/delphij_fork/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/delphij_fork/contrib/bind9/FAQ#1 branch .. //depot/projects/delphij_fork/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/delphij_fork/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/delphij_fork/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/delphij_fork/contrib/bind9/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/README#1 branch .. //depot/projects/delphij_fork/contrib/bind9/README.idnkit#1 branch .. //depot/projects/delphij_fork/contrib/bind9/acconfig.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/delphij_fork/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/delphij_fork/contrib/bind9/config.guess#1 branch .. //depot/projects/delphij_fork/contrib/bind9/config.sub#1 branch .. //depot/projects/delphij_fork/contrib/bind9/config.threads.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/configure.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/draft-schlitt-spf-classic-02.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/delphij_fork/contrib/bind9/doc/rfc/rfc1996.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 4 16:02:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9FFEC16A46C; Wed, 4 Jul 2007 16:02:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 571BF16A469 for ; Wed, 4 Jul 2007 16:02:42 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4783A13C4AE for ; Wed, 4 Jul 2007 16:02:42 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64G2gA0084777 for ; Wed, 4 Jul 2007 16:02:42 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64G2fYd084773 for perforce@freebsd.org; Wed, 4 Jul 2007 16:02:41 GMT (envelope-from thioretic@FreeBSD.org) Date: Wed, 4 Jul 2007 16:02:41 GMT Message-Id: <200707041602.l64G2fYd084773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122860 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 16:02:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=122860 Change 122860 by thioretic@thioretic on 2007/07/04 16:01:51 Add drv_compat_ctrl_driver proto. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#6 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#5 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#6 (text+ko) ==== @@ -54,4 +54,18 @@ # not just kernel object class to be compiled into device, but # also has flags, default driversops (TODO)... # all these are hosted by compatibility layer (drv_compat_*) -#TODO: check drivers, which use chainevh +#TODO: check drivers, which use chainevh + a.1.1 Compatibility layer: + SOLUTION: keep track of *drv_compat_* stuff + FILE(S) AFFECTED: kern/subr_bus.c + # the compatibility layer is supposed to be quite a delicate + # way to let old and new(stack-aware) drivers to coexist. + # Hopefully, all those current drivers won't stop working :). + # Compatibility layer consists of: + # o Global: drv_compat_layer, which holds all info, the old + # drivers are not aware about. + # o Per-driver: driver kobj now (will) inits not to a driver + # attached, but to drv_compat_ctrl_driver, which will demux + # to stacked drivers. + # dev->drivers are pointers to drv_compat structures that + # represent drivers of interest. ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#5 (text+ko) ==== @@ -68,18 +68,32 @@ }; struct drv_compat { - kobj_class_t driver; - uint32_t flags; + kobj_class_t driver; /**< kobj class, implementing driver + & bus interface methods (from outer space)*/ + kobj_class_t drvops; /**< kobj class, implementing driverops + interface methods (from outer space)*/ + kobj_t topology_ops; /**< object of class implemented by driver + (deeply internal:))*/ + kobj_t functional_ops; /**< object of class implemented by driverops + (deeply internal:))*/ + uint32_t flags; /**< driver-specific flags (from outer space)*/ TAILQ_ENTRY(drv_compat) link; }; typedef struct drv_compat *drv_compat_t; + +struct pdrv_compat { + drv_compat *pdriver; + TAILQ_ENTRY(pdrv_compat) link; +} /* * Forward declarations */ typedef TAILQ_HEAD(devclass_list, devclass) devclass_list_t; typedef TAILQ_HEAD(driver_list, driverlink) driver_list_t; typedef TAILQ_HEAD(device_list, device) device_list_t; + typedef TAILQ_HEAD(drv_compat_list, drv_compat) drv_compat_list_t; +typedef TAILQ_HEAD(pdrv_compat_list, pdrv_compat) pdrv_compat_list_t; struct devclass { TAILQ_ENTRY(devclass) link; @@ -101,7 +115,8 @@ * A device is a kernel object. The first field must be the * current ops table for the object. */ - KOBJ_FIELDS; + KOBJ_FIELDS; /**< !TRICK: will init it to drv_compat_ctrl_driver + which gonna work around stacked drivers*/ /* * Device hierarchy. @@ -114,8 +129,9 @@ /* * Details of this device. */ - //driver_t *driver; /**< current driver */ - driver_list_t drivers[DRV_LEVELS]; + /*driver_t*/ drv_compat_t driver; /**< current driver to be probed/attached/...*/ + //driver_list_t drivers[DRV_LEVELS]; + pdrv_compat_list_t drivers[DRV_LEVELS]; int drv_compat_flags; devclass_t devclass; /**< current device class */ int unit; /**< current unit number */ @@ -250,6 +266,8 @@ const char *value; char *buf; int error; + int level; + pdrv_compat* pdrvl; buf = NULL; switch (arg2) { @@ -268,10 +286,10 @@ case DRV_TOPMOST: tmpbuf="TOPMOST:"; break; } if (strlen(tmpbuf)+strlen(buf)>1023) break; - TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ - if(strlen(dl->driver->name)+strlen(buf)>1022) + TAILQ_FOREACH(pdrvl,&((dev->drivers)[level]),link){ + if(strlen(pdrvl->pdriver->driver->name)+strlen(buf)>1022) break; - strcat(buf,dl->driver->name); + strcat(buf,pdrvl->pdriver->driver->name); strcat(buf,","); } buf[strlen(buf)]='\0'; @@ -779,7 +797,7 @@ drv_compat_find_internal (drv_internal_t driver, int add) { drv_compat_t drvc; - PDEBUG(("looking for driver %s to compatibility layer"), driver->devops->name); + PDEBUG(("looking for driver %s to compatibility layer", driver->devops->name)); if (!driver) return (NULL); @@ -789,7 +807,7 @@ } if (!drvc && add){ - PDEBUG(("adding driver %s to compatibility layer"), driver->devops->name); + PDEBUG(("adding driver %s to compatibility layer", driver->devops->name)); drvc = malloc(sizeof(struct drv_compat), M_BUS, M_NOWAIT|M_ZERO); if (!drvc) return (NULL); @@ -887,6 +905,174 @@ drvc->flags = flags; return (1); } + +/** + * device control multiplexing entries + */ + +static int drv_compat_ctrl_probe (device_t dev); +static int drv_compat_ctrl_identify (driver_t *driver, device_t parent); +static int drv_compat_ctrl_attach (device_t dev); +static int drv_compat_ctrl_detach (device_t dev); +static int drv_compat_ctrl_shutdown (device_t dev); +static int drv_compat_ctrl_suspend (device_t dev); +static int drv_compat_ctrl_resume (device_t dev); +static int drv_compat_ctrl_quiesce (device_t dev); +static void* drv_compat_ctrl_info (device_t dev); +/** + * bus control multiplexing entries + */ +static int +drv_compat_ctrl_print_child (device_t dev, + device_t child); +static void +drv_compat_ctrl_probe_nomatch (device_t dev, + device_t child); +static int +drv_compat_ctrl_read_ivar (device_t dev, + device_t child, + int index, + uintptr_t *result); +static int +drv_compat_ctrl_write_ivar (device_t dev, + device_t child, + int index, + uintptr_t value); +static void +drv_compat_ctrl_child_detached (device_t dev, + device_t child); +static void +drv_compat_ctrl_driver_added (device_t dev, + driver_t *driver); +static device_t +drv_compat_ctrl_add_child (device_t dev, + int order, + const char* name, + int unit); +static struct_resource * +drv_compat_ctrl_alloc_resource (device_t dev, + device_t child, + int type, + int *rid, + u_long start, + u_long end, + u_long count, + u_int flags); +static int +drv_compat_ctrl_activate_resource (device_t dev, + device_t child, + int type, + int rid, + struct resource *r); +static int +drv_compat_ctrl_deactivate_resource (device_t dev, + device_t child, + int type, + int rid, + struct resource *r); +static int +drv_compat_ctrl_release_resource (device_t dev, + device_t child, + int type, + int rid, + struct resource *res); +static int +drv_compat_ctrl_setup_intr (device_t dev, + device_t child, + struct resource *irq, + int flags, + driver_intr_t *intr, + void *arg, + void **cookiep); +static int +drv_compat_ctrl_teardown_intr (device_t dev, + device_t child, + struct resource *irq, + void *cookie); +static int +drv_compat_ctrl_set_resource (device_t dev, + device_t child, + int type, + int rid, + u_long start, + u_long count); +static int +drv_compat_ctrl_get_resource (device_t dev, + device_t child, + int type, + int rid, + u_long *startp, + u_long *countp); +static void +drv_compat_ctrl_delete_resource (device_t dev, + device_t child, + int type, + int rid); +static struct resource_list * +drv_compat_ctrl_get_resource_list (device_t dev, + device_t child); +static int +drv_compat_ctrl_child_present (device_t dev, + device_t child); +static int +drv_compat_ctrl_child_pnpinfo_str (device_t dev, + device_t child, + char *buf, + size_t buflen); +static int +drv_compat_ctrl_child_location_str (device_t dev, + device_t child, + char *buf, + size_t buflen); +static int +drv_compat_ctrl_config_intr (device_t dev, + int irq, + enum intr_trigger trig, + enum intr_polarity pol); +static void +drv_compat_ctrl_hinted_child (device_t dev, + const char *dname, + int dunit); + +static device_method_t drv_compat_ctrl_methods[] = { + DEVMETHOD(device_probe, drv_compat_ctrl_probe), + DEVMETHOD(device_identify, drv_compat_ctrl_identify), + DEVMETHOD(device_attach, drv_compat_ctrl_attach), + DEVMETHOD(device_detach, drv_compat_ctrl_detach), + DEVMETHOD(device_shutdown, drv_compat_ctrl_shutdown), + DEVMETHOD(device_suspend, drv_compat_ctrl_suspend), + DEVMETHOD(device_resume, drv_compat_ctrl_resume), + DEVMETHOD(device_info, drv_compat_ctrl_info), + DEVMETHOD(bus_print_child, drv_compat_ctrl_print_child), + DEVMETHOD(bus_probe_nomatch, drv_compat_ctrl_probe_nomatch), + DEVMETHOD(bus_read_ivar, drv_compat_ctrl_read_ivar), + DEVMETHOD(bus_write_ivar, drv_compat_ctrl_write_ivar), + DEVMETHOD(bus_child_detached, drv_compat_ctrl_child_detached), + DEVMETHOD(bus_driver_added, drv_compat_ctrl_driver_added), + DEVMETHOD(bus_add_child, drv_compat_ctrl_add_child), + DEVMETHOD(bus_alloc_resource, drv_compat_ctrl_alloc_resource), + DEVMETHOD(bus_activate_resource, drv_compat_ctrl_activate_resource), + DEVMETHOD(bus_deactivate_resource, drv_compat_ctrl_deactivate_resource), + DEVMETHOD(bus_release_resource, drv_compat_ctrl_release_resource), + DEVMETHOD(bus_setup_intr, drv_compat_ctrl_setup_intr), + DEVMETHOD(bus_teardown_intr, drv_compat_ctrl_teardown_intr), + DEVMETHOD(bus_set_resource, drv_compat_ctrl_set_resource), + DEVMETHOD(bus_get_resource, drv_compat_ctrl_get_resource), + DEVMETHOD(bus_delete_resource, drv_compat_ctrl_delete_resource), + DEVMETHOD(bus_get_resource_list, drv_compat_ctrl_get_resource_list), + DEVMETHOD(bus_child_present, drv_compat_ctrl_child_present), + DEVMETHOD(bus_child_pnpinfo_str, drv_compat_ctrl_child_pnpinfo_str), + DEVMETHOD(bus_child_location_str, drv_compat_ctrl_child_location_str), + DEVMETHOD(bus_config_intr, drv_compat_ctrl_config_intr), + DEVMETHOD(bus_hinted_child, drv_compat_ctrl_hinted_child) +}; + +static driver_t drv_compat_ctrl_driver = { + "drv_compat_ctrl", + drv_compat_ctrl_methods, + 0 +}; + /* * End of compatibility layer implementaion */ @@ -895,8 +1081,8 @@ is_device_driver (device_t dev, driver_t *driver){ /*TODO*/ int level; uint32_t flags; - driverlink_t dl; - + //driverlink_t dl; + pdrv_compat* pdrvl; if (!drv_compat_get_flags(driver, &flags)) /*todo what?*/ @@ -907,8 +1093,8 @@ case DR_UPPER: level=DRV_UPPER; break; case DR_TOPMOST: level=DRV_TOPMOST; break; } - TAILQ_FOREACH(dl,&((dev->drivers)[level]),link){ - if (dl->driver==driver) return(TRUE); + TAILQ_FOREACH(pdrvl,&((dev->drivers)[level]),link){ + if (pdrvl->pdriver->driver==driver) return(TRUE); } return(FALSE); } @@ -2075,10 +2261,11 @@ driver_t * device_get_driver(device_t dev) { - driverlink_t dl; + //driverlink_t dl; + pdrv_compat *pdrvl; if (!TAILQ_EMPTY(&((dev->drivers)[DRV_LOWEST]))){ - dl=TAILQ_FIRST(&((dev->drivers)[DRV_LOWEST])); - return (dl->driver); + pdrvl=TAILQ_FIRST(&((dev->drivers)[DRV_LOWEST])); + return (pdrvl->pdriver->driver); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Wed Jul 4 16:45:36 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D592C16A46D; Wed, 4 Jul 2007 16:45:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86E7116A421 for ; Wed, 4 Jul 2007 16:45:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 77AC813C4AE for ; Wed, 4 Jul 2007 16:45:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64GjZQB092214 for ; Wed, 4 Jul 2007 16:45:35 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64GjZtr092211 for perforce@freebsd.org; Wed, 4 Jul 2007 16:45:35 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 4 Jul 2007 16:45:35 GMT Message-Id: <200707041645.l64GjZtr092211@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122861 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 16:45:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=122861 Change 122861 by lulf@lulf_carrot on 2007/07/04 16:45:22 - Use the setstate routines to correctly set the state and give the user notification on what's happening. - Remove GV_PLEX_NEWBORN flag when we have configured our plex. - Use a GV_EVENT_SETUP_OBJECTS event that is posted after object creation. This might have to be used other places as well, but it seems to be good enough after initial testing. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#25 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#7 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#16 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#16 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#21 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#25 (text+ko) ==== @@ -389,6 +389,7 @@ gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } + gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); return (0); @@ -559,28 +560,24 @@ printf("VINUM: event 'create drive'\n"); d = ev->arg1; gv_create_drive(sc, d); - gv_setup_objects(sc); break; case GV_EVENT_CREATE_VOLUME: printf("VINUM: event 'create volume'\n"); v = ev->arg1; gv_create_volume(sc, v); - gv_setup_objects(sc); break; case GV_EVENT_CREATE_PLEX: printf("VINUM: event 'create plex'\n"); p = ev->arg1; gv_create_plex(sc, p); - gv_setup_objects(sc); break; case GV_EVENT_CREATE_SD: printf("VINUM: event 'create sd'\n"); s = ev->arg1; gv_create_sd(sc, s); - gv_setup_objects(sc); break; case GV_EVENT_RM_DRIVE: @@ -660,6 +657,11 @@ "state: error code %d\n", err); break; + case GV_EVENT_SETUP_OBJECTS: + printf("VINUM: event 'setup objects'\n"); + gv_setup_objects(sc); + break; + case GV_EVENT_RESET_CONFIG: printf("VINUM: event 'resetconfig'\n"); err = gv_resetconfig(sc); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#7 (text+ko) ==== @@ -348,6 +348,7 @@ KASSERT(v != NULL, ("gv_create_volume: NULL v")); v->vinumconf = sc; + v->flags |= GV_VOL_NEWBORN; LIST_INIT(&v->plexes); LIST_INSERT_HEAD(&sc->volumes, v, volume); v->wqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); @@ -369,7 +370,7 @@ g_free(p); return; } - if (v->plexcount) + if (!(v->flags & GV_VOL_NEWBORN)) p->flags |= GV_PLEX_ADDED; p->vol_sc = v; v->plexcount++; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#16 (text+ko) ==== @@ -263,8 +263,11 @@ } /* We can change the state and do it. */ - if (status == 0) + if (status == 0) { + printf("Changing state from %s to %s\n", gv_sdstate(s->state), + gv_sdstate(newstate)); s->state = newstate; + } /* Update our plex, if we're attached to one. */ if (s->plex_sc != NULL) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#16 (text+ko) ==== @@ -417,7 +417,7 @@ /* The plex was added to an already running volume. */ if (p->flags & GV_PLEX_ADDED) - state = GV_PLEX_DOWN; + gv_set_plex_state(p, GV_PLEX_DOWN, GV_SETSTATE_FORCE); switch (p->org) { case GV_PLEX_STRIPED: @@ -434,7 +434,7 @@ if (required_sds) { if (p->sdcount < required_sds) { - state = GV_PLEX_DOWN; + gv_set_plex_state(p, GV_PLEX_DOWN, GV_SETSTATE_FORCE); } /* @@ -446,7 +446,8 @@ printf("geom_vinum: subdisk size mismatch " "%s (%jd) <> %s (%jd)\n", s->name, s->size, s2->name, s2->size); - state = GV_PLEX_DOWN; + gv_set_plex_state(p, GV_PLEX_DOWN, + GV_SETSTATE_FORCE); } } @@ -465,14 +466,16 @@ p->size = gv_plex_size(p); if (p->sdcount == 0) - state = GV_PLEX_DOWN; + gv_set_plex_state(p, GV_PLEX_DOWN, GV_SETSTATE_FORCE); else if ((p->flags & GV_PLEX_ADDED) || ((p->org == GV_PLEX_RAID5) && (p->flags & GV_PLEX_NEWBORN))) { LIST_FOREACH(s, &p->subdisks, in_plex) - s->state = GV_SD_STALE; + gv_set_sd_state(s, GV_SD_STALE, GV_SETSTATE_FORCE); p->flags &= ~GV_PLEX_ADDED; - p->state = GV_PLEX_DOWN; + gv_set_plex_state(p, GV_PLEX_DOWN, GV_SETSTATE_FORCE); } + /* Our plex is grown up now. */ + p->flags &= ~GV_PLEX_NEWBORN; } /* @@ -985,6 +988,7 @@ v->provider->mediasize = v->size; g_topology_unlock(); } + v->flags &= ~GV_VOL_NEWBORN; gv_update_vol_state(v); } } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#21 (text+ko) ==== @@ -205,6 +205,7 @@ #define GV_EVENT_RENAME_SD 28 #define GV_EVENT_RENAME_DRIVE 29 #define GV_EVENT_MOVE_SD 30 +#define GV_EVENT_SETUP_OBJECTS 31 #ifdef _KERNEL struct gv_event { @@ -366,6 +367,7 @@ #define GV_VOL_THREAD_ACTIVE 0x01 /* Volume has an active thread. */ #define GV_VOL_THREAD_DIE 0x02 /* Signal the thread to die. */ #define GV_VOL_THREAD_DEAD 0x04 /* The thread has died. */ +#define GV_VOL_NEWBORN 0x08 /* The volume was just created. */ LIST_HEAD(,gv_plex) plexes; /* List of attached plexes. */ LIST_ENTRY(gv_volume) volume; /* Entry in vinum config. */ From owner-p4-projects@FreeBSD.ORG Wed Jul 4 16:58:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2BFE16A421; Wed, 4 Jul 2007 16:58:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8053016A469 for ; Wed, 4 Jul 2007 16:58:56 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 71D3613C45D for ; Wed, 4 Jul 2007 16:58:56 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64Gwuqf001891 for ; Wed, 4 Jul 2007 16:58:56 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64GwuWD001888 for perforce@freebsd.org; Wed, 4 Jul 2007 16:58:56 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 4 Jul 2007 16:58:56 GMT Message-Id: <200707041658.l64GwuWD001888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122866 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 16:58:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=122866 Change 122866 by lulf@lulf_carrot on 2007/07/04 16:58:53 I thought I'd put on a commit message for the last commit as well - Use the setstate routines to correctly set the state and give the user notification on what's happening. - Remove GV_PLEX_NEWBORN flag when we have configured our plex. - Use a GV_EVENT_SETUP_OBJECTS event that is posted after object creation. This might have to be used other places as well, but it seems to be good enough after initial testing. - This commit includes a fix where the occurence of a error doesn't remove the other objects created. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#26 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#26 (text+ko) ==== @@ -325,11 +325,11 @@ pp = g_provider_by_name(d2->device); if (pp == NULL) { gctl_error(req, "%s: device not found", d2->device); - return (-1); + goto error; } if (gv_find_drive(sc, d2->name) != NULL) { gctl_error(req, "drive '%s' already exists", d2->name); - return (-1); + goto error; } d = g_malloc(sizeof(*d), M_WAITOK | M_ZERO); @@ -346,7 +346,7 @@ if (gv_find_vol(sc, v2->name) != NULL) { gctl_error(req, "volume '%s' already exists", v2->name); - return (-1); + goto error; } v = g_malloc(sizeof(*v), M_WAITOK | M_ZERO); @@ -363,7 +363,7 @@ if (gv_find_plex(sc, p2->name) != NULL) { gctl_error(req, "plex '%s' already exists", p2->name); - return (-1); + goto error; } p = g_malloc(sizeof(*p), M_WAITOK | M_ZERO); @@ -380,7 +380,7 @@ if (gv_find_sd(sc, s2->name) != NULL) { gctl_error(req, "sd '%s' already exists", s2->name); - return (-1); + goto error; } s = g_malloc(sizeof(*s), M_WAITOK | M_ZERO); @@ -389,6 +389,7 @@ gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } +error: gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); From owner-p4-projects@FreeBSD.ORG Wed Jul 4 18:16:34 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BF3C16A474; Wed, 4 Jul 2007 18:16:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0978816A41F for ; Wed, 4 Jul 2007 18:16:34 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id EE26613C45E for ; Wed, 4 Jul 2007 18:16:33 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64IGXQM010499 for ; Wed, 4 Jul 2007 18:16:33 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64IGXug010496 for perforce@freebsd.org; Wed, 4 Jul 2007 18:16:33 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 4 Jul 2007 18:16:33 GMT Message-Id: <200707041816.l64IGXug010496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 18:16:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=122871 Change 122871 by lulf@lulf_carrot on 2007/07/04 18:15:53 - Remember to take into account that size (although highly unlikely) can be lower than GV_DFLT_SYNCSIZE. - Make gv_sync update plex->synced when a plex is synced. This means we can keep track on where we lost our last sync if we did. - Modify list to show how far a sync has come when displaying plexes. - Make plexes go up automatically when finished syncing. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#13 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_list.c#2 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#12 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#13 (text+ko) ==== @@ -202,10 +202,12 @@ if (p->flags & GV_PLEX_SYNCING) { return (EINPROGRESS); } + p->synced = 0; p->flags |= GV_PLEX_SYNCING; printf("VINUM: starting sync of plex %s\n", p->name); - error = gv_sync_request(up, p, 0, GV_DFLT_SYNCSIZE, BIO_READ, - NULL); + error = gv_sync_request(up, p, p->synced, + MIN(GV_DFLT_SYNCSIZE, up->size - p->synced), + BIO_READ, NULL); if (error) { printf("VINUM: error syncing plex %s\n", p->name); break; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_list.c#2 (text+ko) ==== @@ -294,8 +294,14 @@ sbuf_printf(sb, "Plex %s:\tSize:\t%9jd bytes (%jd MB)\n", p->name, (intmax_t)p->size, (intmax_t)p->size / MEGABYTE); sbuf_printf(sb, "\t\tSubdisks: %8d\n", p->sdcount); - sbuf_printf(sb, "\t\tState: %s\n\t\tOrganization: %s", - gv_plexstate(p->state), gv_plexorg(p->org)); + sbuf_printf(sb, "\t\tState: %s\n", gv_plexstate(p->state)); + if (p->flags & GV_PLEX_SYNCING) { + sbuf_printf(sb, "\t\tSynced: "); + sbuf_printf(sb, "%16jd bytes (%d%%)\n", + (intmax_t)p->synced, + (int)((p->synced * 100) / p->size)); + } + printf("\t\tOrganization: %s", gv_plexorg(p->org)); if (gv_is_striped(p)) { sbuf_printf(sb, "\tStripe size: %s\n", gv_roughlength(p->stripesize, 1)); @@ -305,9 +311,15 @@ sbuf_printf(sb, "\t\tPart of volume %s\n", p->volume); } } else { - sbuf_printf(sb, "P %-18s %2s State: %s\tSubdisks: %5d" - "\tSize: %s\n", p->name, gv_plexorg_short(p->org), - gv_plexstate(p->state), p->sdcount, + sbuf_printf(sb, "P %-18s %2s State: ", p->name, + gv_plexorg_short(p->org)); + if (p->flags & GV_PLEX_SYNCING) { + sbuf_printf(sb, "S %d%%\t", (int)((p->synced * 100) / + p->size)); + } else { + sbuf_printf(sb, "%s\t", gv_plexstate(p->state)); + } + sbuf_printf(sb, "Subdisks: %5d\tSize: %s\n", p->sdcount, gv_roughlength(p->size, 0)); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#12 (text+ko) ==== @@ -185,14 +185,16 @@ } else if (bp->bio_cmd == BIO_WRITE) { if (bp->bio_cflags & GV_BIO_MALLOC) g_free(bp->bio_data); + to->synced += bp->bio_length; /* If we're finished, clean up. */ if (bp->bio_offset + bp->bio_length >= from->size) { printf("VINUM: syncing of %s from %s completed\n", to->name, from->name); to->flags &= ~GV_PLEX_SYNCING; + to->synced = 0; /* Update our state. */ LIST_FOREACH(s, &to->subdisks, in_plex) - gv_update_sd_state(s); + gv_set_sd_state(s, GV_SD_UP, 0); } else { offset = bp->bio_offset + bp->bio_length; err = gv_sync_request(from, to, offset, From owner-p4-projects@FreeBSD.ORG Wed Jul 4 19:55:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63B3916A46D; Wed, 4 Jul 2007 19:55:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3209C16A400 for ; Wed, 4 Jul 2007 19:55:38 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 21FF313C480 for ; Wed, 4 Jul 2007 19:55:38 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64JtcBE019299 for ; Wed, 4 Jul 2007 19:55:38 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64Jtbqr019296 for perforce@freebsd.org; Wed, 4 Jul 2007 19:55:37 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 4 Jul 2007 19:55:37 GMT Message-Id: <200707041955.l64Jtbqr019296@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 19:55:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=122875 Change 122875 by gonzo@gonzo_wooster on 2007/07/04 19:55:17 o Fix counter overflow logic in DELAY(9). It seemed to be broken. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/tick.c#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#15 (text+ko) ==== @@ -279,10 +279,10 @@ cur = mips_rd_count(); /* Check to see if the timer has wrapped around. */ - if (last < cur) - delta += (last + (counts_per_hz - cur)); + if (cur < last) + delta += (cur + (counts_per_hz - last)); else - delta += (last - cur); + delta += (cur - last); last = cur; From owner-p4-projects@FreeBSD.ORG Wed Jul 4 21:24:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1242016A468; Wed, 4 Jul 2007 21:24:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C234516A46B for ; Wed, 4 Jul 2007 21:24:15 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B115013C44B for ; Wed, 4 Jul 2007 21:24:15 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l64LOFQU037091 for ; Wed, 4 Jul 2007 21:24:15 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l64LOF4Q037088 for perforce@freebsd.org; Wed, 4 Jul 2007 21:24:15 GMT (envelope-from peter@freebsd.org) Date: Wed, 4 Jul 2007 21:24:15 GMT Message-Id: <200707042124.l64LOF4Q037088@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122882 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jul 2007 21:24:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=122882 Change 122882 by peter@peter_overcee on 2007/07/04 21:23:15 Invert old/new mmap etc syscalls to match base kernel. Affected files ... .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#49 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#46 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#43 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#43 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#43 edit .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#48 edit Differences ... ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#49 (text+ko) ==== @@ -475,8 +475,9 @@ return (mmap(td, &ap)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_new_mmap(struct thread *td, struct freebsd32_new_mmap_args *uap) +freebsd6_freebsd32_mmap(struct thread *td, struct freebsd6_freebsd32_mmap_args *uap) { struct freebsd32_mmap_args ap; @@ -490,6 +491,7 @@ return (freebsd32_mmap(td, &ap)); } +#endif struct itimerval32 { struct timeval32 it_interval; @@ -1632,9 +1634,10 @@ return (ftruncate(td, &ap)); } -/* versions without the 'int pad' argument */ +#ifdef COMPAT_FREEBSD6 +/* versions with the 'int pad' argument */ int -freebsd32_new_pread(struct thread *td, struct freebsd32_new_pread_args *uap) +freebsd6_freebsd32_pread(struct thread *td, struct freebsd6_freebsd32_pread_args *uap) { struct pread_args ap; @@ -1646,7 +1649,7 @@ } int -freebsd32_new_pwrite(struct thread *td, struct freebsd32_new_pwrite_args *uap) +freebsd6_freebsd32_pwrite(struct thread *td, struct freebsd6_freebsd32_pwrite_args *uap) { struct pwrite_args ap; @@ -1658,7 +1661,7 @@ } int -freebsd32_new_lseek(struct thread *td, struct freebsd32_new_lseek_args *uap) +freebsd6_freebsd32_lseek(struct thread *td, struct freebsd6_freebsd32_lseek_args *uap) { int error; struct lseek_args ap; @@ -1676,7 +1679,7 @@ } int -freebsd32_new_truncate(struct thread *td, struct freebsd32_new_truncate_args *uap) +freebsd6_freebsd32_truncate(struct thread *td, struct freebsd6_freebsd32_truncate_args *uap) { struct truncate_args ap; @@ -1686,7 +1689,7 @@ } int -freebsd32_new_ftruncate(struct thread *td, struct freebsd32_new_ftruncate_args *uap) +freebsd6_freebsd32_ftruncate(struct thread *td, struct freebsd6_freebsd32_ftruncate_args *uap) { struct ftruncate_args ap; @@ -1694,6 +1697,7 @@ ap.length = (uap->lengthlo | ((off_t)uap->lengthhi << 32)); return (ftruncate(td, &ap)); } +#endif /* COMPAT_FREEBSD6 */ struct sf_hdtr32 { uint32_t headers; ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#46 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.89 2007/06/15 21:54:26 emaste Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -134,22 +134,6 @@ char a3_l_[PADL_(uint32_t)]; uint32_t a3; char a3_r_[PADR_(uint32_t)]; char a4_l_[PADL_(uint32_t)]; uint32_t a4; char a4_r_[PADR_(uint32_t)]; }; -struct freebsd32_pread_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_pwrite_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_stat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; @@ -162,35 +146,6 @@ char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; }; -struct freebsd32_mmap_args { - char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; - char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; - char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_lseek_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; - char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; -}; -struct freebsd32_truncate_args { - char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_ftruncate_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_sysctl_args { char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)]; char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)]; @@ -322,21 +277,21 @@ char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)]; char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; }; -struct freebsd32_new_pread_args { +struct freebsd32_pread_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; }; -struct freebsd32_new_pwrite_args { +struct freebsd32_pwrite_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; }; -struct freebsd32_new_mmap_args { +struct freebsd32_mmap_args { char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; @@ -345,18 +300,18 @@ char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; }; -struct freebsd32_new_lseek_args { +struct freebsd32_lseek_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; }; -struct freebsd32_new_truncate_args { +struct freebsd32_truncate_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; }; -struct freebsd32_new_ftruncate_args { +struct freebsd32_ftruncate_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; @@ -380,15 +335,9 @@ int freebsd32_semsys(struct thread *, struct freebsd32_semsys_args *); int freebsd32_msgsys(struct thread *, struct freebsd32_msgsys_args *); int freebsd32_shmsys(struct thread *, struct freebsd32_shmsys_args *); -int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); -int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); int freebsd32_stat(struct thread *, struct freebsd32_stat_args *); int freebsd32_fstat(struct thread *, struct freebsd32_fstat_args *); int freebsd32_lstat(struct thread *, struct freebsd32_lstat_args *); -int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); -int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); -int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); -int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); int freebsd32_sysctl(struct thread *, struct freebsd32_sysctl_args *); int freebsd32_futimes(struct thread *, struct freebsd32_futimes_args *); int freebsd32_msgsnd(struct thread *, struct freebsd32_msgsnd_args *); @@ -416,12 +365,12 @@ int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *); int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *); int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *); -int freebsd32_new_pread(struct thread *, struct freebsd32_new_pread_args *); -int freebsd32_new_pwrite(struct thread *, struct freebsd32_new_pwrite_args *); -int freebsd32_new_mmap(struct thread *, struct freebsd32_new_mmap_args *); -int freebsd32_new_lseek(struct thread *, struct freebsd32_new_lseek_args *); -int freebsd32_new_truncate(struct thread *, struct freebsd32_new_truncate_args *); -int freebsd32_new_ftruncate(struct thread *, struct freebsd32_new_ftruncate_args *); +int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); +int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); +int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); +int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); +int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); +int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); #ifdef COMPAT_43 @@ -511,6 +460,63 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +struct freebsd6_freebsd32_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; + char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd6_freebsd32_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +int freebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *); +int freebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *); +int freebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *); +int freebsd6_freebsd32_lseek(struct thread *, struct freebsd6_freebsd32_lseek_args *); +int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); +int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); + +#endif /* COMPAT_FREEBSD6 */ + #define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4 #define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG #define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG @@ -530,15 +536,9 @@ #define FREEBSD32_SYS_AUE_freebsd32_semsys AUE_SEMSYS #define FREEBSD32_SYS_AUE_freebsd32_msgsys AUE_MSGSYS #define FREEBSD32_SYS_AUE_freebsd32_shmsys AUE_SHMSYS -#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD -#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE #define FREEBSD32_SYS_AUE_freebsd32_stat AUE_STAT #define FREEBSD32_SYS_AUE_freebsd32_fstat AUE_FSTAT #define FREEBSD32_SYS_AUE_freebsd32_lstat AUE_LSTAT -#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP -#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK -#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE -#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #define FREEBSD32_SYS_AUE_freebsd32_sysctl AUE_SYSCTL #define FREEBSD32_SYS_AUE_freebsd32_futimes AUE_FUTIMES #define FREEBSD32_SYS_AUE_freebsd32_msgsnd AUE_MSGSND @@ -566,12 +566,12 @@ #define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_new_pread AUE_PREAD -#define FREEBSD32_SYS_AUE_freebsd32_new_pwrite AUE_PWRITE -#define FREEBSD32_SYS_AUE_freebsd32_new_mmap AUE_MMAP -#define FREEBSD32_SYS_AUE_freebsd32_new_lseek AUE_LSEEK -#define FREEBSD32_SYS_AUE_freebsd32_new_truncate AUE_TRUNCATE -#define FREEBSD32_SYS_AUE_freebsd32_new_ftruncate AUE_FTRUNCATE +#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD +#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE +#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP +#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK +#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE +#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #undef PAD_ #undef PADL_ ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#43 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.89 2007/06/15 21:54:26 emaste Exp */ #define FREEBSD32_SYS_syscall 0 @@ -24,7 +24,7 @@ #define FREEBSD32_SYS_chmod 15 #define FREEBSD32_SYS_chown 16 #define FREEBSD32_SYS_break 17 - /* 18 is old freebsd32_getfsstat */ +#define FREEBSD32_SYS_freebsd4_freebsd32_getfsstat 18 /* 19 is obsolete olseek */ #define FREEBSD32_SYS_getpid 20 #define FREEBSD32_SYS_mount 21 @@ -153,8 +153,8 @@ /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ /* 156 is obsolete ogetdirentries */ - /* 157 is old freebsd32_statfs */ - /* 158 is old freebsd32_fstatfs */ +#define FREEBSD32_SYS_freebsd4_freebsd32_statfs 157 +#define FREEBSD32_SYS_freebsd4_freebsd32_fstatfs 158 #define FREEBSD32_SYS_getfh 161 #define FREEBSD32_SYS_getdomainname 162 #define FREEBSD32_SYS_setdomainname 163 @@ -164,8 +164,8 @@ #define FREEBSD32_SYS_freebsd32_semsys 169 #define FREEBSD32_SYS_freebsd32_msgsys 170 #define FREEBSD32_SYS_freebsd32_shmsys 171 -#define FREEBSD32_SYS_freebsd32_pread 173 -#define FREEBSD32_SYS_freebsd32_pwrite 174 +#define FREEBSD32_SYS_freebsd6_freebsd32_pread 173 +#define FREEBSD32_SYS_freebsd6_freebsd32_pwrite 174 #define FREEBSD32_SYS_ntp_adjtime 176 #define FREEBSD32_SYS_setgid 181 #define FREEBSD32_SYS_setegid 182 @@ -178,11 +178,11 @@ #define FREEBSD32_SYS_getrlimit 194 #define FREEBSD32_SYS_setrlimit 195 #define FREEBSD32_SYS_getdirentries 196 -#define FREEBSD32_SYS_freebsd32_mmap 197 +#define FREEBSD32_SYS_freebsd6_freebsd32_mmap 197 #define FREEBSD32_SYS___syscall 198 -#define FREEBSD32_SYS_freebsd32_lseek 199 -#define FREEBSD32_SYS_freebsd32_truncate 200 -#define FREEBSD32_SYS_freebsd32_ftruncate 201 +#define FREEBSD32_SYS_freebsd6_freebsd32_lseek 199 +#define FREEBSD32_SYS_freebsd6_freebsd32_truncate 200 +#define FREEBSD32_SYS_freebsd6_freebsd32_ftruncate 201 #define FREEBSD32_SYS_freebsd32_sysctl 202 #define FREEBSD32_SYS_mlock 203 #define FREEBSD32_SYS_munlock 204 @@ -220,7 +220,7 @@ #define FREEBSD32_SYS_nlstat 280 #define FREEBSD32_SYS_freebsd32_preadv 289 #define FREEBSD32_SYS_freebsd32_pwritev 290 - /* 297 is old freebsd32_fhstatfs */ +#define FREEBSD32_SYS_freebsd4_freebsd32_fhstatfs 297 #define FREEBSD32_SYS_fhopen 298 #define FREEBSD32_SYS_fhstat 299 #define FREEBSD32_SYS_modnext 300 @@ -252,14 +252,14 @@ #define FREEBSD32_SYS_sched_get_priority_min 333 #define FREEBSD32_SYS_sched_rr_get_interval 334 #define FREEBSD32_SYS_utrace 335 - /* 336 is old freebsd32_sendfile */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sendfile 336 #define FREEBSD32_SYS_kldsym 337 #define FREEBSD32_SYS_jail 338 #define FREEBSD32_SYS_sigprocmask 340 #define FREEBSD32_SYS_sigsuspend 341 - /* 342 is old freebsd32_sigaction */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sigaction 342 #define FREEBSD32_SYS_sigpending 343 - /* 344 is old freebsd32_sigreturn */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sigreturn 344 #define FREEBSD32_SYS_freebsd32_sigtimedwait 345 #define FREEBSD32_SYS_freebsd32_sigwaitinfo 346 #define FREEBSD32_SYS___acl_get_file 347 @@ -331,10 +331,10 @@ #define FREEBSD32_SYS_sctp_generic_sendmsg 472 #define FREEBSD32_SYS_sctp_generic_sendmsg_iov 473 #define FREEBSD32_SYS_sctp_generic_recvmsg 474 -#define FREEBSD32_SYS_freebsd32_new_pread 475 -#define FREEBSD32_SYS_freebsd32_new_pwrite 476 -#define FREEBSD32_SYS_freebsd32_new_mmap 477 -#define FREEBSD32_SYS_freebsd32_new_lseek 478 -#define FREEBSD32_SYS_freebsd32_new_truncate 479 -#define FREEBSD32_SYS_freebsd32_new_ftruncate 480 +#define FREEBSD32_SYS_freebsd32_pread 475 +#define FREEBSD32_SYS_freebsd32_pwrite 476 +#define FREEBSD32_SYS_freebsd32_mmap 477 +#define FREEBSD32_SYS_freebsd32_lseek 478 +#define FREEBSD32_SYS_freebsd32_truncate 479 +#define FREEBSD32_SYS_freebsd32_ftruncate 480 #define FREEBSD32_SYS_MAXSYSCALL 481 ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#43 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.89 2007/06/15 21:54:26 emaste Exp */ const char *freebsd32_syscallnames[] = { @@ -25,7 +25,7 @@ "chmod", /* 15 = chmod */ "chown", /* 16 = chown */ "break", /* 17 = break */ - "old.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ + "compat4.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ "obs_olseek", /* 19 = obsolete olseek */ "getpid", /* 20 = getpid */ "mount", /* 21 = mount */ @@ -53,13 +53,13 @@ "getegid", /* 43 = getegid */ "profil", /* 44 = profil */ "ktrace", /* 45 = ktrace */ - "old.freebsd32_sigaction", /* 46 = old freebsd32_sigaction */ + "compat.freebsd32_sigaction", /* 46 = old freebsd32_sigaction */ "getgid", /* 47 = getgid */ - "old.freebsd32_sigprocmask", /* 48 = old freebsd32_sigprocmask */ + "compat.freebsd32_sigprocmask", /* 48 = old freebsd32_sigprocmask */ "getlogin", /* 49 = getlogin */ "setlogin", /* 50 = setlogin */ "acct", /* 51 = acct */ - "old.freebsd32_sigpending", /* 52 = old freebsd32_sigpending */ + "compat.freebsd32_sigpending", /* 52 = old freebsd32_sigpending */ "freebsd32_sigaltstack", /* 53 = freebsd32_sigaltstack */ "ioctl", /* 54 = ioctl */ "reboot", /* 55 = reboot */ @@ -115,11 +115,11 @@ "setsockopt", /* 105 = setsockopt */ "listen", /* 106 = listen */ "obs_vtimes", /* 107 = obsolete vtimes */ - "old.freebsd32_sigvec", /* 108 = old freebsd32_sigvec */ - "old.freebsd32_sigblock", /* 109 = old freebsd32_sigblock */ - "old.freebsd32_sigsetmask", /* 110 = old freebsd32_sigsetmask */ - "old.freebsd32_sigsuspend", /* 111 = old freebsd32_sigsuspend */ - "old.freebsd32_sigstack", /* 112 = old freebsd32_sigstack */ + "compat.freebsd32_sigvec", /* 108 = old freebsd32_sigvec */ + "compat.freebsd32_sigblock", /* 109 = old freebsd32_sigblock */ + "compat.freebsd32_sigsetmask", /* 110 = old freebsd32_sigsetmask */ + "compat.freebsd32_sigsuspend", /* 111 = old freebsd32_sigsuspend */ + "compat.freebsd32_sigstack", /* 112 = old freebsd32_sigstack */ "obs_orecvmsg", /* 113 = obsolete orecvmsg */ "obs_osendmsg", /* 114 = obsolete osendmsg */ "obs_vtrace", /* 115 = obsolete vtrace */ @@ -164,8 +164,8 @@ "#154", /* 154 = nosys */ "#155", /* 155 = nfssvc */ "obs_ogetdirentries", /* 156 = obsolete ogetdirentries */ - "old.freebsd32_statfs", /* 157 = old freebsd32_statfs */ - "old.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */ + "compat4.freebsd32_statfs", /* 157 = old freebsd32_statfs */ + "compat4.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */ "#159", /* 159 = nosys */ "#160", /* 160 = lgetfh */ "getfh", /* 161 = getfh */ @@ -180,8 +180,8 @@ "freebsd32_msgsys", /* 170 = freebsd32_msgsys */ "freebsd32_shmsys", /* 171 = freebsd32_shmsys */ "#172", /* 172 = nosys */ - "freebsd32_pread", /* 173 = freebsd32_pread */ - "freebsd32_pwrite", /* 174 = freebsd32_pwrite */ + "compat6.freebsd32_pread", /* 173 = old freebsd32_pread */ + "compat6.freebsd32_pwrite", /* 174 = old freebsd32_pwrite */ "#175", /* 175 = nosys */ "ntp_adjtime", /* 176 = ntp_adjtime */ "#177", /* 177 = sfork */ @@ -204,11 +204,11 @@ "getrlimit", /* 194 = getrlimit */ "setrlimit", /* 195 = setrlimit */ "getdirentries", /* 196 = getdirentries */ - "freebsd32_mmap", /* 197 = freebsd32_mmap */ + "compat6.freebsd32_mmap", /* 197 = old freebsd32_mmap */ "__syscall", /* 198 = __syscall */ - "freebsd32_lseek", /* 199 = freebsd32_lseek */ - "freebsd32_truncate", /* 200 = freebsd32_truncate */ - "freebsd32_ftruncate", /* 201 = freebsd32_ftruncate */ + "compat6.freebsd32_lseek", /* 199 = old freebsd32_lseek */ + "compat6.freebsd32_truncate", /* 200 = old freebsd32_truncate */ + "compat6.freebsd32_ftruncate", /* 201 = old freebsd32_ftruncate */ "freebsd32_sysctl", /* 202 = freebsd32_sysctl */ "mlock", /* 203 = mlock */ "munlock", /* 204 = munlock */ @@ -304,7 +304,7 @@ "#294", /* 294 = nosys */ "#295", /* 295 = nosys */ "#296", /* 296 = nosys */ - "old.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */ + "compat4.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */ "fhopen", /* 298 = fhopen */ "fhstat", /* 299 = fhstat */ "modnext", /* 300 = modnext */ @@ -343,15 +343,15 @@ "sched_get_priority_min", /* 333 = sched_get_priority_min */ "sched_rr_get_interval", /* 334 = sched_rr_get_interval */ "utrace", /* 335 = utrace */ - "old.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */ + "compat4.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */ "kldsym", /* 337 = kldsym */ "jail", /* 338 = jail */ "#339", /* 339 = pioctl */ "sigprocmask", /* 340 = sigprocmask */ "sigsuspend", /* 341 = sigsuspend */ - "old.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */ + "compat4.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */ "sigpending", /* 343 = sigpending */ - "old.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */ + "compat4.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */ "freebsd32_sigtimedwait", /* 345 = freebsd32_sigtimedwait */ "freebsd32_sigwaitinfo", /* 346 = freebsd32_sigwaitinfo */ "__acl_get_file", /* 347 = __acl_get_file */ @@ -482,10 +482,10 @@ "sctp_generic_sendmsg", /* 472 = sctp_generic_sendmsg */ "sctp_generic_sendmsg_iov", /* 473 = sctp_generic_sendmsg_iov */ "sctp_generic_recvmsg", /* 474 = sctp_generic_recvmsg */ - "freebsd32_new_pread", /* 475 = freebsd32_new_pread */ - "freebsd32_new_pwrite", /* 476 = freebsd32_new_pwrite */ - "freebsd32_new_mmap", /* 477 = freebsd32_new_mmap */ - "freebsd32_new_lseek", /* 478 = freebsd32_new_lseek */ - "freebsd32_new_truncate", /* 479 = freebsd32_new_truncate */ - "freebsd32_new_ftruncate", /* 480 = freebsd32_new_ftruncate */ + "freebsd32_pread", /* 475 = freebsd32_pread */ + "freebsd32_pwrite", /* 476 = freebsd32_pwrite */ + "freebsd32_mmap", /* 477 = freebsd32_mmap */ + "freebsd32_lseek", /* 478 = freebsd32_lseek */ + "freebsd32_truncate", /* 479 = freebsd32_truncate */ + "freebsd32_ftruncate", /* 480 = freebsd32_ftruncate */ }; ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#43 (text+ko) ==== @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.89 2007/06/15 21:54:26 emaste Exp */ #include "opt_compat.h" @@ -30,6 +30,12 @@ #define compat4(n, name) 0, (sy_call_t *)nosys #endif +#ifdef COMPAT_FREEBSD6 +#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name) +#else +#define compat6(n, name) 0, (sy_call_t *)nosys +#endif + /* The casts are bogus but will do for now. */ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = syscall */ @@ -205,8 +211,8 @@ { AS(freebsd32_msgsys_args), (sy_call_t *)freebsd32_msgsys, AUE_MSGSYS, NULL, 0, 0 }, /* 170 = freebsd32_msgsys */ { AS(freebsd32_shmsys_args), (sy_call_t *)freebsd32_shmsys, AUE_SHMSYS, NULL, 0, 0 }, /* 171 = freebsd32_shmsys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 172 = nosys */ - { AS(freebsd32_pread_args), (sy_call_t *)freebsd32_pread, AUE_PREAD, NULL, 0, 0 }, /* 173 = freebsd32_pread */ - { AS(freebsd32_pwrite_args), (sy_call_t *)freebsd32_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 174 = freebsd32_pwrite */ + { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0 }, /* 173 = old freebsd32_pread */ + { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0 }, /* 174 = old freebsd32_pwrite */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 175 = nosys */ { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 }, /* 176 = ntp_adjtime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 177 = sfork */ @@ -229,11 +235,11 @@ { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0 }, /* 194 = getrlimit */ { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0 }, /* 195 = setrlimit */ { AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 196 = getdirentries */ - { AS(freebsd32_mmap_args), (sy_call_t *)freebsd32_mmap, AUE_MMAP, NULL, 0, 0 }, /* 197 = freebsd32_mmap */ + { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0 }, /* 197 = old freebsd32_mmap */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 198 = __syscall */ - { AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 199 = freebsd32_lseek */ - { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = freebsd32_truncate */ - { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = freebsd32_ftruncate */ + { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0 }, /* 199 = old freebsd32_lseek */ + { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = old freebsd32_truncate */ + { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = old freebsd32_ftruncate */ { AS(freebsd32_sysctl_args), (sy_call_t *)freebsd32_sysctl, AUE_SYSCTL, NULL, 0, 0 }, /* 202 = freebsd32_sysctl */ { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0 }, /* 203 = mlock */ { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0 }, /* 204 = munlock */ @@ -507,10 +513,10 @@ { AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0 }, /* 472 = sctp_generic_sendmsg */ { AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0 }, /* 473 = sctp_generic_sendmsg_iov */ { AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0 }, /* 474 = sctp_generic_recvmsg */ - { AS(freebsd32_new_pread_args), (sy_call_t *)freebsd32_new_pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = freebsd32_new_pread */ - { AS(freebsd32_new_pwrite_args), (sy_call_t *)freebsd32_new_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = freebsd32_new_pwrite */ - { AS(freebsd32_new_mmap_args), (sy_call_t *)freebsd32_new_mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = freebsd32_new_mmap */ - { AS(freebsd32_new_lseek_args), (sy_call_t *)freebsd32_new_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = freebsd32_new_lseek */ - { AS(freebsd32_new_truncate_args), (sy_call_t *)freebsd32_new_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_new_truncate */ - { AS(freebsd32_new_ftruncate_args), (sy_call_t *)freebsd32_new_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_new_ftruncate */ + { AS(freebsd32_pread_args), (sy_call_t *)freebsd32_pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = freebsd32_pread */ + { AS(freebsd32_pwrite_args), (sy_call_t *)freebsd32_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = freebsd32_pwrite */ + { AS(freebsd32_mmap_args), (sy_call_t *)freebsd32_mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = freebsd32_mmap */ + { AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = freebsd32_lseek */ + { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */ + { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_ftruncate */ }; ==== //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#48 (text+ko) ==== @@ -303,11 +303,11 @@ 171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \ uint32_t a3, uint32_t a4); } 172 AUE_NULL UNIMPL nosys -173 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, void *buf, \ +173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \ size_t nbyte, int pad, \ u_int32_t offsetlo, u_int32_t offsethi); } ; XXX note - bigendian is different -174 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ +174 AUE_PWRITE COMPAT6 { ssize_t freebsd32_pwrite(int fd, \ const void *buf, size_t nbyte, int pad, \ u_int32_t offsetlo, u_int32_t offsethi); } ; XXX note - bigendian is different @@ -343,22 +343,22 @@ __setrlimit_args int 196 AUE_GETDIRENTRIES NOPROTO { int getdirentries(int fd, char *buf, \ u_int count, long *basep); } -197 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \ +197 AUE_MMAP COMPAT6 { caddr_t freebsd32_mmap(caddr_t addr, \ size_t len, int prot, int flags, int fd, \ int pad, u_int32_t poslo, \ u_int32_t poshi); } 198 AUE_NULL NOPROTO { int nosys(void); } __syscall \ __syscall_args int ; XXX note - bigendian is different -199 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, int pad, \ +199 AUE_LSEEK COMPAT6 { off_t freebsd32_lseek(int fd, int pad, \ u_int32_t offsetlo, u_int32_t offsethi, \ int whence); } ; XXX note - bigendian is different -200 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ +200 AUE_TRUNCATE COMPAT6 { int freebsd32_truncate(char *path, \ int pad, u_int32_t lengthlo, \ u_int32_t lengthhi); } ; XXX note - bigendian is different -201 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, int pad, \ +201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \ u_int32_t lengthlo, u_int32_t lengthhi); } 202 AUE_SYSCTL STD { int freebsd32_sysctl(int *name, \ u_int namelen, void *old, \ @@ -778,19 +778,19 @@ 474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ struct sockaddr * from, __socklen_t *fromlenaddr, \ struct sctp_sndrcvinfo *sinfo, int *msg_flags); } -475 AUE_PREAD STD { ssize_t freebsd32_new_pread(int fd, \ +475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \ void *buf,size_t nbyte, \ u_int32_t offsetlo, u_int32_t offsethi); } -476 AUE_PWRITE STD { ssize_t freebsd32_new_pwrite(int fd, \ +476 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ const void *buf, size_t nbyte, \ u_int32_t offsetlo, u_int32_t offsethi); } -477 AUE_MMAP STD { caddr_t freebsd32_new_mmap(caddr_t addr, \ +477 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \ size_t len, int prot, int flags, int fd, \ u_int32_t poslo, u_int32_t poshi); } -478 AUE_LSEEK STD { off_t freebsd32_new_lseek(int fd, \ +478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \ u_int32_t offsetlo, u_int32_t offsethi, \ int whence); } -479 AUE_TRUNCATE STD { int freebsd32_new_truncate(char *path, \ +479 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ u_int32_t lengthlo, u_int32_t lengthhi); } -480 AUE_FTRUNCATE STD { int freebsd32_new_ftruncate(int fd, \ +480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ u_int32_t lengthlo, u_int32_t lengthhi); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:01:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3105816A421; Thu, 5 Jul 2007 00:01:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DCA9616A400 for ; Thu, 5 Jul 2007 00:01:41 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E720513C448 for ; Thu, 5 Jul 2007 00:01:40 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6501egf054835 for ; Thu, 5 Jul 2007 00:01:40 GMT (envelope-from smilicic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6501ebB054832 for perforce@freebsd.org; Thu, 5 Jul 2007 00:01:40 GMT (envelope-from smilicic@FreeBSD.org) Date: Thu, 5 Jul 2007 00:01:40 GMT Message-Id: <200707050001.l6501ebB054832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to smilicic@FreeBSD.org using -f From: Sonja Milicic To: Perforce Change Reviews Cc: Subject: PERFORCE change 122892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:01:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=122892 Change 122892 by smilicic@tanarri_marilith on 2007/07/05 00:01:06 fixed a bug with log provider creation and added more details to dumpconf Affected files ... .. //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 edit Differences ... ==== //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 (text+ko) ==== @@ -62,7 +62,7 @@ static int g_log_destroy_geom(struct gctl_req *req __unused, struct g_class *mp __unused, struct g_geom *gp); static void g_log_start(struct bio *bp); -static void g_log_stop(struct g_geom *gp, int force); +static int g_log_stop(struct g_geom *gp, int force); static int g_log_access(struct g_provider *pp, int dr, int dw, int de); static int g_log_event_sink_init(struct g_log_softc *sc, struct g_log_event_sink *es, void (*func)(void*), char* name); @@ -159,15 +159,16 @@ { struct g_geom *gp; struct g_provider *pp_log, *pp_disk; + struct g_consumer *cp_disk; struct g_log_softc *sc; - struct g_consumer *cp_disk; /*initialize softc*/ sc = malloc(sizeof(*sc), M_GLOG, M_WAITOK | M_ZERO); - /*create geom and provider for log*/ + /*create geom for log*/ gp = g_new_geomf(mp, "%s.log", prov); - gp->softc = sc; + G_LOG_DEBUG(0, "Creating geom %s", gp->name); + gp->start = g_log_start; gp->spoiled = g_log_orphan; gp->orphan = g_log_orphan; @@ -175,14 +176,8 @@ gp->dumpconf = g_log_dumpconf; if (gp == NULL) *err=3; - pp_log = g_new_providerf(gp, "%s.log", prov); - sc->sc_geom_log = gp; - sc->sc_prov_log = pp_log; - if (g_log_event_sink_init(sc, &sc->sc_events, g_log_worker, "events") !=0) - *err=4; - - /* create provider and consumer for disk*/ + /* get provider and consumer for disk*/ if (strncmp(prov, "/dev/", strlen("/dev/")) == 0) prov += strlen("/dev/"); pp_disk = g_provider_by_name(prov); @@ -194,10 +189,20 @@ sc->sc_prov_disk = pp_disk; sc->sc_cons_disk = cp_disk; + /*create provider for log*/ + pp_log = g_new_providerf(gp, "%s.log", prov); + pp_log->mediasize = (off_t) 1000; + pp_log->sectorsize = pp_disk->sectorsize; + g_error_provider(pp_log, 0); + sc->sc_prov_log = pp_log; + + if (g_log_event_sink_init(sc, &sc->sc_events, g_log_worker, "events") !=0) + *err=4; /*open file*/ sc->sc_vn = glog_open_file(file, FWRITE | O_TRUNC | O_CREAT); + sc->sc_geom_log = gp; + gp->softc = sc; - return gp; } @@ -301,24 +306,55 @@ } /*stop geom*/ -static void +static int g_log_stop(struct g_geom *gp, int force) { struct g_log_softc *sc; + struct g_provider *pp_disk, *pp_log; + struct g_consumer *cp_disk; sc=gp->softc; + + g_topology_assert(); + + if (sc==NULL) + return (ENXIO); + + pp_log = sc->sc_prov_log; + pp_disk = sc->sc_prov_disk; + cp_disk = sc->sc_cons_disk; + if (pp_log != NULL && (pp_log->acr != 0 || pp_log->acw !=0 || pp_log->ace != 0)){ + if (force) + G_LOG_DEBUG(0, "Device %s is still open.", pp_log->name); + else { + G_LOG_DEBUG(1, "Device %s is still open(r%d, w%d, e%d)", + pp_log->name,pp_log->acr,pp_log->acw,pp_log->ace); + return (EBUSY); + } + } /*close log file*/ + G_LOG_DEBUG(0, "Closing log file."); glog_close_file(sc->sc_vn, FWRITE); /*clean up memory*/ - g_detach(sc->sc_cons_disk); - g_destroy_consumer(sc->sc_cons_disk); + G_LOG_DEBUG(0,"cleaning up mem."); + g_orphan_provider(pp_log, ENXIO); + if (cp_disk->acr > 0 ||cp_disk->acw > 0 ||cp_disk->ace > 0) + g_access(cp_disk, -cp_disk->acr, -cp_disk->acw, -cp_disk->ace); + + g_detach(cp_disk); + g_destroy_consumer(cp_disk); gp->softc = NULL; free(sc, M_GLOG); /*destroy geom*/ - g_topology_assert(); + if (pp_log == NULL || (pp_log->acr == 0 && pp_log->acw == 0 && pp_log->ace == 0)) + G_LOG_DEBUG(0, "Device %s destroyed.", gp->name); + g_wither_geom(gp, ENXIO); + + G_LOG_DEBUG(0, "Really destroyed %s.", gp->name); + return 0; } static int @@ -351,6 +387,7 @@ err = g_access(cp, dr ,dw, de); if (err == 0) continue; + G_LOG_DEBUG(0, "loop access"); } return err; } @@ -359,8 +396,10 @@ static void g_log_worker_sleep(struct g_log_softc *sc) { - if (g_log_no_events(&sc->sc_events)) - tsleep(sc, PRIBIO, "glogidle", hz); + if (g_log_no_events(&sc->sc_events)){ + G_LOG_DEBUG(0, "putting worker to sleep"); + tsleep(sc, PRIBIO, "glogidle", hz); + } } /*worker thread*/ @@ -380,6 +419,7 @@ panic("No softc!"); while (1){ + G_LOG_DEBUG(0,"working..."); ev = g_log_get_event(&sc->sc_events); while (ev == NULL) g_log_worker_sleep(sc); @@ -426,8 +466,10 @@ TAILQ_INSERT_TAIL(&es->eventq, ev, linkage); mtx_unlock(&es->eventq_mtx); - if ( (flags & GLOG_FLAG_WAKEUP_SC) != 0) + if ( (flags & GLOG_FLAG_WAKEUP_SC) != 0){ + G_LOG_DEBUG(0, "waking worker"); wakeup(es); + } return 0; } @@ -466,12 +508,13 @@ struct g_log_softc *sc; void *data; int err; - uprintf("Got a write request."); + G_LOG_DEBUG(0, "write request"); sc = bp->bio_to->geom->softc; data = bp->bio_data; err = glog_write_file(sc->sc_vn, data, sizeof(data), 0); if (err != 0) - printf ("Error writing to file"); + G_LOG_DEBUG(0, "write error"); + } @@ -504,13 +547,28 @@ return 0; } +/* Find the geom we handle */ +static struct g_log_softc * +g_log_find(struct g_class *mp, const char *name) +{ + struct g_geom *gp; + + G_LOG_DEBUG(DBG_DEBUG, "%s: %s", __func__, name); + LIST_FOREACH(gp, &mp->geom, geom) { + if (strcmp(gp->name, name) == 0) + return (gp->softc); + G_LOG_DEBUG(0, "loop log_find"); + + } + return (NULL); +} + static void g_log_ctl_destroy(struct gctl_req *req, struct g_class *mp) { - struct g_geom *gp; + struct g_log_softc *sc; int *num_args, *force; const char *prov; - g_topology_assert(); num_args = gctl_get_paraml(req, "nargs", sizeof(int)); @@ -521,10 +579,12 @@ prov = gctl_get_asciiparam(req, "arg0"); force = gctl_get_paraml(req, "force", sizeof(int)); - gp = LIST_FIRST(&mp->geom); - g_log_stop(gp, *force); - + sc = g_log_find(mp, prov); + if (sc != NULL) + g_log_stop(sc->sc_geom_log, *force); + else + panic("Softc is null in ctl_destroy!"); } /*XML*/ static void @@ -542,9 +602,18 @@ sbuf_printf(sb, "%s%u\n", indent, (u_int)cp->index); } else { - - + sbuf_printf(sb, "%sTotal=%u, Online=%u\n", + indent, 1, 1); + sbuf_printf(sb, "%s", indent); + if (sc->sc_prov_log != NULL && sc->sc_prov_log->error == 0) + sbuf_printf(sb, "UP"); + else + sbuf_printf(sb, "DOWN"); + G_LOG_DEBUG(0, "error=%d", sc->sc_prov_log->error); + sbuf_printf(sb, "\n"); } + + G_LOG_DEBUG(0, "xmldump"); } /* Convert verb to number */ @@ -564,4 +633,3 @@ }; DECLARE_GEOM_CLASS(g_log_class, g_log); - From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:28:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B982916A421; Thu, 5 Jul 2007 00:28:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8B1BC16A469 for ; Thu, 5 Jul 2007 00:28:16 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7904713C4B7 for ; Thu, 5 Jul 2007 00:28:16 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l650SGRS057767 for ; Thu, 5 Jul 2007 00:28:16 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l650SECf057764 for perforce@freebsd.org; Thu, 5 Jul 2007 00:28:14 GMT (envelope-from peter@freebsd.org) Date: Thu, 5 Jul 2007 00:28:14 GMT Message-Id: <200707050028.l650SECf057764@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 122893 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:28:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=122893 Change 122893 by peter@peter_daintree on 2007/07/05 00:28:03 IFC @122891 (conflicting with myself) Affected files ... .. //depot/projects/hammer/ObsoleteFiles.inc#30 integrate .. //depot/projects/hammer/UPDATING#104 integrate .. //depot/projects/hammer/bin/df/df.c#24 integrate .. //depot/projects/hammer/bin/sh/var.c#13 integrate .. //depot/projects/hammer/include/stdlib.h#16 integrate .. //depot/projects/hammer/lib/libc/amd64/SYS.h#9 integrate .. //depot/projects/hammer/lib/libc/amd64/sys/Makefile.inc#9 integrate .. //depot/projects/hammer/lib/libc/arm/SYS.h#5 integrate .. //depot/projects/hammer/lib/libc/arm/sys/Makefile.inc#4 integrate .. //depot/projects/hammer/lib/libc/gen/Makefile.inc#29 integrate .. //depot/projects/hammer/lib/libc/i386/SYS.h#6 integrate .. //depot/projects/hammer/lib/libc/i386/sys/Makefile.inc#9 integrate .. //depot/projects/hammer/lib/libc/ia64/SYS.h#3 integrate .. //depot/projects/hammer/lib/libc/ia64/sys/Makefile.inc#4 integrate .. //depot/projects/hammer/lib/libc/include/libc_private.h#15 integrate .. //depot/projects/hammer/lib/libc/net/sourcefilter.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/sys/Makefile.inc#4 integrate .. //depot/projects/hammer/lib/libc/sparc64/SYS.h#4 integrate .. //depot/projects/hammer/lib/libc/sparc64/sys/Makefile.inc#8 integrate .. //depot/projects/hammer/lib/libc/stdlib/Makefile.inc#17 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.3#10 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.c#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/putenv.c#4 delete .. //depot/projects/hammer/lib/libc/stdlib/setenv.c#4 delete .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#28 integrate .. //depot/projects/hammer/lib/libc/sys/ftruncate.c#9 integrate .. //depot/projects/hammer/lib/libc/sys/lseek.c#9 integrate .. //depot/projects/hammer/lib/libc/sys/mmap.c#10 integrate .. //depot/projects/hammer/lib/libc/sys/pread.c#9 integrate .. //depot/projects/hammer/lib/libc/sys/pwrite.c#9 integrate .. //depot/projects/hammer/lib/libc/sys/truncate.c#9 integrate .. //depot/projects/hammer/libexec/pppoed/pppoed.c#5 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#101 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#19 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#50 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#47 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#44 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#44 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#44 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#49 integrate .. //depot/projects/hammer/sys/compat/linux/linux_file.c#23 integrate .. //depot/projects/hammer/sys/conf/files#154 integrate .. //depot/projects/hammer/sys/conf/options#109 integrate .. //depot/projects/hammer/sys/conf/options.amd64#44 integrate .. //depot/projects/hammer/sys/conf/options.i386#49 integrate .. //depot/projects/hammer/sys/conf/options.pc98#45 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/dsp.c#33 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#91 integrate .. //depot/projects/hammer/sys/i386/linux/linux_machdep.c#26 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_ing.c#11 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_ipr.c#19 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_isppp.c#15 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#61 integrate .. //depot/projects/hammer/sys/kern/kern_conf.c#45 integrate .. //depot/projects/hammer/sys/kern/makesyscalls.sh#11 integrate .. //depot/projects/hammer/sys/kern/subr_unit.c#7 integrate .. //depot/projects/hammer/sys/kern/sys_generic.c#34 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#59 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#60 integrate .. //depot/projects/hammer/sys/kern/systrace_args.c#5 integrate .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#72 integrate .. //depot/projects/hammer/sys/netinet6/esp_output.c#8 delete .. //depot/projects/hammer/sys/pc98/conf/NOTES#60 integrate .. //depot/projects/hammer/sys/sys/param.h#90 integrate .. //depot/projects/hammer/sys/sys/syscall.h#58 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#58 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#59 integrate .. //depot/projects/hammer/sys/sys/systm.h#48 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#45 integrate .. //depot/projects/hammer/tools/regression/environ/Makefile#1 branch .. //depot/projects/hammer/tools/regression/environ/Makefile.envctl#1 branch .. //depot/projects/hammer/tools/regression/environ/Makefile.retention#1 branch .. //depot/projects/hammer/tools/regression/environ/Makefile.timings#1 branch .. //depot/projects/hammer/tools/regression/environ/envctl.c#1 branch .. //depot/projects/hammer/tools/regression/environ/envtest.t#1 branch .. //depot/projects/hammer/tools/regression/environ/retention.c#1 branch .. //depot/projects/hammer/tools/regression/environ/timings.c#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/sed/regress.icase1.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/sed/regress.icase2.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/sed/regress.sh#8 integrate .. //depot/projects/hammer/usr.bin/du/du.c#14 integrate .. //depot/projects/hammer/usr.bin/env/env.c#6 integrate .. //depot/projects/hammer/usr.bin/kdump/kdump.c#19 integrate .. //depot/projects/hammer/usr.bin/limits/limits.c#5 integrate .. //depot/projects/hammer/usr.bin/login/login.c#12 integrate .. //depot/projects/hammer/usr.bin/sed/compile.c#7 integrate .. //depot/projects/hammer/usr.bin/sed/defs.h#4 integrate .. //depot/projects/hammer/usr.bin/sed/sed.1#15 integrate .. //depot/projects/hammer/usr.bin/su/su.c#19 integrate .. //depot/projects/hammer/usr.sbin/i4b/man/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/pstat/pstat.c#18 integrate .. //depot/projects/hammer/usr.sbin/sade/main.c#4 integrate .. //depot/projects/hammer/usr.sbin/sade/variable.c#4 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/main.c#9 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/variable.c#6 integrate Differences ... ==== //depot/projects/hammer/ObsoleteFiles.inc#30 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.102 2007/07/03 13:06:45 mlaier Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.103 2007/07/04 16:21:27 bz 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,12 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070704: I4B 'modules' temporary disconnected +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/share/man/man4/i4bing.4.gz +OLD_FILES+=usr/share/man/man4/i4bipr.4.gz +OLD_FILES+=usr/share/man/man4/i4bisppp.4.gz +.endif # 20070703: pf 4.1 import OLD_FILES+=usr/libexec/ftp-proxy # 20070701: KAME IPSec removal ==== //depot/projects/hammer/UPDATING#104 (text+ko) ==== @@ -21,6 +21,11 @@ developers choose to disable these features on build machines to maximize performance. +20070704: + The new IPsec code is now compiled in using the IPSEC option. The + IPSEC option now requires "device crypto" be defined in your kernel + configuration. The FAST_IPSEC kernel option is now deprecated. + 20070702: The packet filter (pf) code has been updated to OpenBSD 4.1 Please note the changed syntax - keep state is now on by default. Also @@ -877,4 +882,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.500 2007/07/03 13:06:44 mlaier Exp $ +$FreeBSD: src/UPDATING,v 1.501 2007/07/04 21:47:23 gnn Exp $ ==== //depot/projects/hammer/bin/df/df.c#24 (text+ko) ==== @@ -44,7 +44,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.70 2007/05/01 16:02:44 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.71 2007/07/04 00:00:37 scf Exp $"); #include #include @@ -131,14 +131,14 @@ */ if (kflag) break; - putenv("BLOCKSIZE=512"); + setenv("BLOCKSIZE", "512", 1); hflag = 0; break; case 'c': cflag = 1; break; case 'g': - putenv("BLOCKSIZE=1g"); + setenv("BLOCKSIZE", "1g", 1); hflag = 0; break; case 'H': @@ -152,7 +152,7 @@ break; case 'k': kflag++; - putenv("BLOCKSIZE=1024"); + setenv("BLOCKSIZE", "1024", 1); hflag = 0; break; case 'l': @@ -162,7 +162,7 @@ lflag = 1; break; case 'm': - putenv("BLOCKSIZE=1m"); + setenv("BLOCKSIZE", "1m", 1); hflag = 0; break; case 'n': ==== //depot/projects/hammer/bin/sh/var.c#13 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.35 2007/05/01 16:02:43 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.36 2007/07/04 00:00:38 scf Exp $"); #include #include @@ -289,6 +289,7 @@ setvareq(char *s, int flags) { struct var *vp, **vpp; + char *p; int len; if (aflag) @@ -319,7 +320,10 @@ if (vp == &vmpath || (vp == &vmail && ! mpathset())) chkmail(1); if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -335,7 +339,10 @@ INTOFF; *vpp = vp; if ((vp->flags & VEXPORT) && localevar(s)) { - putenv(s); + p = strchr(s, '='); + *p = '\0'; + (void) setenv(s, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } INTON; @@ -596,7 +603,10 @@ vp->flags |= flag; if ((vp->flags & VEXPORT) && localevar(vp->text)) { - putenv(vp->text); + p = strchr(vp->text, '='); + *p = '\0'; + (void) setenv(vp->text, p + 1, 1); + *p = '='; (void) setlocale(LC_ALL, ""); } goto found; ==== //depot/projects/hammer/include/stdlib.h#16 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 - * $FreeBSD: src/include/stdlib.h,v 1.64 2007/05/01 16:02:44 ache Exp $ + * $FreeBSD: src/include/stdlib.h,v 1.65 2007/07/04 00:00:38 scf Exp $ */ #ifndef _STDLIB_H_ @@ -161,7 +161,7 @@ int posix_memalign(void **, size_t, size_t); /* (ADV) */ int rand_r(unsigned *); /* (TSF) */ int setenv(const char *, const char *, int); -void unsetenv(const char *); +int unsetenv(const char *); #endif /* @@ -197,7 +197,7 @@ long nrand48(unsigned short[3]); int posix_openpt(int); char *ptsname(int); -int putenv(const char *); +int putenv(char *); long random(void); char *realpath(const char *, char resolved_path[]); unsigned short ==== //depot/projects/hammer/lib/libc/amd64/SYS.h#9 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)SYS.h 5.5 (Berkeley) 5/7/91 - * $FreeBSD: src/lib/libc/amd64/SYS.h,v 1.28 2007/01/09 00:27:48 imp Exp $ + * $FreeBSD: src/lib/libc/amd64/SYS.h,v 1.29 2007/07/04 23:18:38 peter Exp $ */ #include ==== //depot/projects/hammer/lib/libc/amd64/sys/Makefile.inc#9 (text+ko) ==== @@ -1,5 +1,5 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $FreeBSD: src/lib/libc/amd64/sys/Makefile.inc,v 1.29 2003/10/23 06:07:09 peter Exp $ +# $FreeBSD: src/lib/libc/amd64/sys/Makefile.inc,v 1.30 2007/07/04 23:23:00 peter Exp $ SRCS+= amd64_get_fsbase.c amd64_get_gsbase.c amd64_set_fsbase.c amd64_set_gsbase.c ==== //depot/projects/hammer/lib/libc/arm/SYS.h#5 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91 - * $FreeBSD: src/lib/libc/arm/SYS.h,v 1.3 2006/05/23 02:52:14 imp Exp $ + * $FreeBSD: src/lib/libc/arm/SYS.h,v 1.5 2007/07/04 23:35:18 peter Exp $ */ #include @@ -63,8 +63,8 @@ ENTRY(__CONCAT(__sys_, x)); \ .weak _C_LABEL(__CONCAT(_,x)); \ .set _C_LABEL(__CONCAT(_,x)),_C_LABEL(__CONCAT(__sys_,x)); \ - SYSTRAP(x) - bcs PIC_SYM(CERROR, PLT) + SYSTRAP(x) \ + bcs PIC_SYM(CERROR, PLT) \ RET #define RSYSCALL(x) \ ==== //depot/projects/hammer/lib/libc/arm/sys/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/arm/sys/Makefile.inc,v 1.2 2004/11/05 23:52:05 cognet Exp $ +# $FreeBSD: src/lib/libc/arm/sys/Makefile.inc,v 1.3 2007/07/04 23:23:00 peter Exp $ MDASM= Ovfork.S brk.S cerror.S pipe.S ptrace.S sbrk.S shmat.S sigreturn.S syscall.S ==== //depot/projects/hammer/lib/libc/gen/Makefile.inc#29 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.6 (Berkeley) 5/4/95 -# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.126 2007/01/25 22:25:59 peter Exp $ +# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.127 2007/07/04 23:27:38 peter Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen ==== //depot/projects/hammer/lib/libc/i386/SYS.h#6 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)SYS.h 5.5 (Berkeley) 5/7/91 - * $FreeBSD: src/lib/libc/i386/SYS.h,v 1.25 2007/01/09 00:27:58 imp Exp $ + * $FreeBSD: src/lib/libc/i386/SYS.h,v 1.26 2007/07/04 23:18:38 peter Exp $ */ #include @@ -43,7 +43,8 @@ .weak CNAME(__CONCAT(_,x)); \ .set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \ mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b -#define RSYSCALL(x) SYSCALL(x); ret + +#define RSYSCALL(x) SYSCALL(x); ret #define PSEUDO(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ ENTRY(__CONCAT(__sys_,x)); \ ==== //depot/projects/hammer/lib/libc/i386/sys/Makefile.inc#9 (text+ko) ==== @@ -1,5 +1,5 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.31 2005/04/26 20:51:15 peter Exp $ +# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.32 2007/07/04 23:23:00 peter Exp $ .if !defined(COMPAT_32BIT) SRCS+= i386_clr_watch.c i386_get_ioperm.c \ ==== //depot/projects/hammer/lib/libc/ia64/SYS.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $FreeBSD: src/lib/libc/ia64/SYS.h,v 1.4 2002/03/22 23:41:46 obrien Exp $ + * $FreeBSD: src/lib/libc/ia64/SYS.h,v 1.5 2007/07/04 23:18:38 peter Exp $ */ #include ==== //depot/projects/hammer/lib/libc/ia64/sys/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/ia64/sys/Makefile.inc,v 1.8 2003/08/11 07:14:06 bms Exp $ +# $FreeBSD: src/lib/libc/ia64/sys/Makefile.inc,v 1.9 2007/07/04 23:23:00 peter Exp $ MDASM+= Ovfork.S brk.S cerror.S exect.S fork.S getcontext.S pipe.S ptrace.S \ sbrk.S setlogin.S sigreturn.S swapcontext.S ==== //depot/projects/hammer/lib/libc/include/libc_private.h#15 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/include/libc_private.h,v 1.16 2007/01/12 07:31:30 imp Exp $ + * $FreeBSD: src/lib/libc/include/libc_private.h,v 1.17 2007/07/04 23:27:38 peter Exp $ * * Private definitions for libc, libc_r and libpthread. * ==== //depot/projects/hammer/lib/libc/net/sourcefilter.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/sourcefilter.c,v 1.2 2007/06/12 19:08:38 bms Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/sourcefilter.c,v 1.3 2007/07/04 00:55:50 peter Exp $"); #include "namespace.h" @@ -326,7 +326,7 @@ memcpy(&msfr.msfr_group, &psu->ss, psu->ss.ss_len); msfr.msfr_srcs = slist; /* pointer */ - return (setsockopt(s, level, optname, &msfr, sizeof(msfr))); + return (_setsockopt(s, level, optname, &msfr, sizeof(msfr))); } /* @@ -394,7 +394,7 @@ * of filter entries for the group in msfr.msfr_nsrcs. */ msfr.msfr_srcs = slist; - err = getsockopt(s, level, optname, &msfr, &optlen); + err = _getsockopt(s, level, optname, &msfr, &optlen); if (err == 0) { *numsrc = msfr.msfr_nsrcs; *fmode = msfr.msfr_fmode; ==== //depot/projects/hammer/lib/libc/powerpc/sys/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/powerpc/sys/Makefile.inc,v 1.2 2003/08/11 07:14:07 bms Exp $ +# $FreeBSD: src/lib/libc/powerpc/sys/Makefile.inc,v 1.3 2007/07/04 23:23:00 peter Exp $ MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S ==== //depot/projects/hammer/lib/libc/sparc64/SYS.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * * @(#)SYS.h 5.5 (Berkeley) 5/7/91 * from: FreeBSD: src/lib/libc/i386/SYS.h,v 1.20 2001/01/29 - * $FreeBSD: src/lib/libc/sparc64/SYS.h,v 1.5 2007/01/09 00:28:04 imp Exp $ + * $FreeBSD: src/lib/libc/sparc64/SYS.h,v 1.6 2007/07/04 23:18:38 peter Exp $ */ #include ==== //depot/projects/hammer/lib/libc/sparc64/sys/Makefile.inc#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.10 2006/11/03 23:43:18 kmacy Exp $ +# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.11 2007/07/04 23:23:01 peter Exp $ SRCS+= __sparc_sigtramp_setup.c \ __sparc_utrap.c \ ==== //depot/projects/hammer/lib/libc/stdlib/Makefile.inc#17 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.3 (Berkeley) 2/4/95 -# $FreeBSD: src/lib/libc/stdlib/Makefile.inc,v 1.53 2006/03/28 22:16:04 jasone Exp $ +# $FreeBSD: src/lib/libc/stdlib/Makefile.inc,v 1.54 2007/07/04 00:00:39 scf Exp $ # machine-independent stdlib sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/stdlib ${.CURDIR}/stdlib @@ -8,10 +8,10 @@ bsearch.c div.c exit.c getenv.c getopt.c getopt_long.c \ getsubopt.c grantpt.c hcreate.c heapsort.c imaxabs.c imaxdiv.c \ insque.c l64a.c labs.c ldiv.c llabs.c lldiv.c lsearch.c malloc.c \ - merge.c putenv.c qsort.c qsort_r.c radixsort.c rand.c random.c \ - reallocf.c realpath.c remque.c setenv.c strfmon.c strtoimax.c \ - strtol.c strtoll.c strtoq.c strtoul.c strtonum.c strtoull.c strtoumax.c \ - strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c + merge.c qsort.c qsort_r.c radixsort.c rand.c random.c \ + reallocf.c realpath.c remque.c strfmon.c strtoimax.c \ + strtol.c strtoll.c strtoq.c strtoul.c strtonum.c strtoull.c \ + strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c SYM_MAPS+= ${.CURDIR}/stdlib/Symbol.map ==== //depot/projects/hammer/lib/libc/stdlib/getenv.3#10 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getenv.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.26 2007/05/01 16:02:41 ache Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.27 2007/07/04 00:00:39 scf Exp $ .\" -.Dd October 12, 2006 +.Dd June 20, 2007 .Dt GETENV 3 .Os .Sh NAME @@ -50,22 +50,13 @@ .Ft int .Fn setenv "const char *name" "const char *value" "int overwrite" .Ft int -.Fn putenv "const char *string" -.Ft void +.Fn putenv "char *string" +.Ft int .Fn unsetenv "const char *name" .Sh DESCRIPTION These functions set, unset and fetch environment variables from the host .Em environment list . -For compatibility with differing environment conventions, -the given arguments -.Fa name -and -.Fa value -may be appended and prepended, -respectively, -with an equal sign -.Dq Li \&= . .Pp The .Fn getenv @@ -97,11 +88,18 @@ .Pp The .Fn putenv -function takes an argument of the form ``name=value'' and is -equivalent to: -.Bd -literal -offset indent -setenv(name, value, 1); -.Ed +function takes an argument of the form ``name=value'' and +puts it directly into the current environment, +so altering the argument shall change the environment. +If the variable +.Fa name +does not exist in the list, +it is inserted with the given +.Fa value . +If the variable +.Fa name +does exist, it is reset to the given +.Fa value . .Pp The .Fn unsetenv @@ -121,15 +119,55 @@ .Dv NULL is returned. .Pp -.Rv -std setenv putenv +.Rv -std setenv putenv unsetenv .Sh ERRORS .Bl -tag -width Er +.It Bq Er EINVAL +The function +.Fn getenv , +.Fn setenv +or +.Fn unsetenv +failed because the +.Fa name +is a +.Dv NULL +pointer, points to an empty string, or points to a string containing an +.Dq Li \&= +character. +.Pp +The function +.Fn putenv +failed because +.Fa string +is a +.Dv NULL +pointer, +.Fa string is without an +.Dq Li \&= +character or +.Dq Li \&= +is the first character in +.Fa string . +This does not follow the +.Tn POSIX +specification. .It Bq Er ENOMEM The function -.Fn setenv +.Fn setenv , +.Fn unsetenv or .Fn putenv failed because they were unable to allocate memory for the environment. +.It Bq Er EFAULT +The functions +.Fn setenv , +.Fn unsetenv +or +.Fn putenv +failed to make a valid copy of the environment due to the environment being +corrupt (i.e., a name without a value). A warning will be output to stderr with +information about the issue. .El .Sh SEE ALSO .Xr csh 1 , @@ -141,6 +179,13 @@ .Fn getenv function conforms to .St -isoC . +The +.Fn setenv , +.Fn putenv +and +.Fn unsetenv +functions conforms to +.St -p1003.1-2001 . .Sh HISTORY The functions .Fn setenv @@ -152,19 +197,30 @@ .Fn putenv function appeared in .Bx 4.3 Reno . +.Pp +Until +.Fx 7.0 , +.Fn putenv +would make a copy of +.Fa string +and insert it into the environment using +.Fn setenv . +This was changed to use +.Fa string +as the memory location of the ``name=value'' pair to follow the +.Tn POSIX +specification. .Sh BUGS Successive calls to .Fn setenv -or -.Fn putenv -assigning a differently sized +that assign a larger-sized .Fa value -to the same +than any previous value to the same .Fa name will result in a memory leak. The .Fx -semantics for these functions +semantics for this function (namely, that the contents of .Fa value are copied and that old values remain accessible indefinitely) make this ==== //depot/projects/hammer/lib/libc/stdlib/getenv.c#4 (text+ko) ==== @@ -1,89 +1,568 @@ -/* - * Copyright (c) 1987, 1993 - * The Regents of the University of California. All rights reserved. +/*- + * Copyright (c) 2007 Sean C. Farley + * 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. + * notice, this list of conditions and the following disclaimer, + * without modification, immediately at the beginning of the file. * 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. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 +#include +#include +#include +#include +#include +#include + -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getenv.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.8 2007/05/01 16:02:41 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.9 2007/07/04 00:00:39 scf Exp $"); + -#include -#include -#include +/* + * Standard environ. environ variable is exposed to entire process. + * + * origEnviron: Upon cleanup on unloading of library or failure, this + * allows environ to return to as it was before. + * environSize: Number of variables environ can hold. Can only + * increase. + */ +extern char **environ; +static char **origEnviron; +static int environSize = 0; -inline char *__findenv(const char *, int *); +/* + * Array of environment variables built from environ. Each element records: + * name: Pointer to name=value string + * name length: Length of name not counting '=' character + * value: Pointer to value within same string as name + * value size: Size (not length) of space for value not counting the + * nul character + * active state: true/false value to signify whether variable is active. + * Useful since multiple variables with the same name can + * co-exist. At most, one variable can be active at any + * one time. + * putenv: Created from putenv() call. This memory must not be + * reused. + */ +static struct envVars { + size_t nameLen; + size_t valueSize; + char *name; + char *value; + bool active; + bool putenv; +} *envVars = NULL; /* - * __findenv -- - * Returns pointer to value associated with name, if any, else NULL. - * Sets offset to be the offset of the name/value combination in the - * environmental array, for use by setenv(3) and unsetenv(3). - * Explicitly removes '=' in argument name. + * Environment array information. * - * This routine *should* be a static; don't use it. + * envActive: Number of active variables in array. + * envVarsSize: Size of array. + * envVarsTotal: Number of total variables in array (active or not). + */ +static int envActive = 0; +static int envVarsSize = 0; +static int envVarsTotal = 0; + + +/* Deinitialization of new environment. */ +static void __attribute__ ((destructor)) __clean_env(void); + + +/* + * Inline strlen() for performance. Also, perform check for an equals sign. + * Cheaper here than peforming a strchr() later. + */ +static inline size_t +__strleneq(const char *str) +{ + const char *s; + + for (s = str; *s != '\0'; ++s) + if (*s == '=') + return (0); + + return (s - str); +} + + +/* + * Comparison of an environment name=value to a name. + */ +static inline bool +strncmpeq(const char *nameValue, const char *name, size_t nameLen) +{ + if (strncmp(nameValue, name, nameLen) == 0 && nameValue[nameLen] == '=') + return (true); + + return (false); +} + + +/* + * Using environment, returns pointer to value associated with name, if any, + * else NULL. If the onlyActive flag is set to true, only variables that are + * active are returned else all are. + */ +static inline char * +__findenv(const char *name, size_t nameLen, int *envNdx, bool onlyActive) +{ + int ndx; + + /* + * Find environment variable from end of array (more likely to be + * active). A variable created by putenv is always active or it is not + * tracked in the array. + */ + for (ndx = *envNdx; ndx >= 0; ndx--) + if (envVars[ndx].putenv) { + if (strncmpeq(envVars[ndx].name, name, nameLen)) { + *envNdx = ndx; + return (envVars[ndx].name + nameLen + + sizeof ("=") - 1); + } + } else if ((!onlyActive || envVars[ndx].active) && + (envVars[ndx].nameLen == nameLen && + strncmpeq(envVars[ndx].name, name, nameLen))) { + *envNdx = ndx; + return (envVars[ndx].value); + } + + return (NULL); +} + + +/* + * Using environ, returns pointer to value associated with name, if any, else + * NULL. Used on the original environ passed into the program. */ -inline char * -__findenv(name, offset) - const char *name; - int *offset; +static char * +__findenv_environ(const char *name, size_t nameLen) { - extern char **environ; - int len, i; - const char *np; - char **p, *cp; + int envNdx; - if (name == NULL || environ == NULL) + /* Check for non-existant environment. */ + if (environ == NULL) return (NULL); - for (np = name; *np && *np != '='; ++np) - continue; - len = np - name; - for (p = environ; (cp = *p) != NULL; ++p) { - for (np = name, i = len; i && *cp; i--) - if (*cp++ != *np++) - break; - if (i == 0 && *cp++ == '=') { - *offset = p - environ; - return (cp); + + /* Find variable within environ. */ + for (envNdx = 0; environ[envNdx] != NULL; envNdx++) + if (strncmpeq(environ[envNdx], name, nameLen)) + return (&(environ[envNdx][nameLen + sizeof("=") - 1])); + + return (NULL); +} + + +/* + * Using the environment, rebuild the environ array for use by other C library + * calls that depend upon it. + */ +static int +__rebuild_environ(int newEnvironSize) +{ + char **tmpEnviron; + int envNdx; + int environNdx; + int tmpEnvironSize; + + /* Resize environ. */ + if (newEnvironSize > environSize) { + tmpEnvironSize = newEnvironSize * 2; + tmpEnviron = realloc(environ, sizeof (*environ) * + (tmpEnvironSize + 1)); + if (tmpEnviron == NULL) + return (-1); + environSize = tmpEnvironSize; + environ = tmpEnviron; + } + envActive = newEnvironSize; + + /* Assign active variables to environ. */ + for (envNdx = envVarsTotal - 1, environNdx = 0; envNdx >= 0; envNdx--) + if (envVars[envNdx].active) + environ[environNdx++] = envVars[envNdx].name; + environ[environNdx] = NULL; + + return (0); +} + + +/* + * Enlarge new environment. + */ +static inline bool +__enlarge_env(void) +{ + int newEnvVarsSize; + struct envVars *tmpEnvVars; + + envVarsTotal++; + if (envVarsTotal > envVarsSize) { + newEnvVarsSize = envVarsTotal * 2; + tmpEnvVars = realloc(envVars, sizeof (*envVars) * + newEnvVarsSize); + if (tmpEnvVars == NULL) { + envVarsTotal--; + return (false); + } + envVarsSize = newEnvVarsSize; + envVars = tmpEnvVars; + } + + return (true); +} + + +/* + * Using environ, build an environment for use by standard C library calls. + */ +static int +__build_env(void) +{ + char **env; + int activeNdx; + int envNdx; + int rtrnVal; + int savedErrno; + size_t nameLen; + + /* Check for non-existant environment. */ + if (environ == NULL) + return (0); + if (environ[0] == NULL) + goto SaveEnviron; + + /* Count environment variables. */ + for (env = environ, envVarsTotal = 0; *env != NULL; env++) + envVarsTotal++; + envVarsSize = envVarsTotal * 2; + + /* Create new environment. */ + envVars = calloc(1, sizeof (*envVars) * envVarsSize); + if (envVars == NULL) + goto Failure; + + /* Copy environ values and keep track of them. */ + for (envNdx = envVarsTotal - 1; envNdx >= 0; envNdx--) { + envVars[envNdx].putenv = false; + envVars[envNdx].name = + strdup(environ[envVarsTotal - envNdx - 1]); + if (envVars[envNdx].name == NULL) + goto Failure; + envVars[envNdx].value = strchr(envVars[envNdx].name, '='); + if (envVars[envNdx].value != NULL) { + envVars[envNdx].value++; + envVars[envNdx].valueSize = + strlen(envVars[envNdx].value); + } else { + warnx("environment corrupt; missing value for %s", + envVars[envNdx].name); + errno = EFAULT; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:47:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74B0016A46C; Thu, 5 Jul 2007 00:47:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49C5616A469 for ; Thu, 5 Jul 2007 00:47:41 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3988A13C45E for ; Thu, 5 Jul 2007 00:47:41 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l650lfAD067561 for ; Thu, 5 Jul 2007 00:47:41 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l650lflO067558 for perforce@freebsd.org; Thu, 5 Jul 2007 00:47:41 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 00:47:41 GMT Message-Id: <200707050047.l650lflO067558@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:47:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=122894 Change 122894 by rpaulo@rpaulo_epsilon on 2007/07/05 00:47:29 Rename the softc sms variables to include a proper prefix. Pointed out by: attilio Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#17 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#8 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#4 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#17 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#16 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#17 $ * */ @@ -374,11 +374,11 @@ * interrupt. An interrupt from the SMS means that the * disk heads should be turned off as quickly as possible. */ - TASK_INIT(&sc->sms_task, 0, asmc_sms_task, sc); - sc->sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, - taskqueue_thread_enqueue, - &sc->sms_tq); - taskqueue_start_threads(&sc->sms_tq, 1, PI_REALTIME, "%s sms taskq", + TASK_INIT(&sc->sc_sms_task, 0, asmc_sms_task, sc); + sc->sc_sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, + taskqueue_thread_enqueue, + &sc->sc_sms_tq); + taskqueue_start_threads(&sc->sc_sms_tq, 1, PI_REALTIME, "%s sms taskq", device_get_nameunit(dev)); @@ -390,7 +390,7 @@ ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); - taskqueue_free(sc->sms_tq); + taskqueue_free(sc->sc_sms_tq); goto out; } @@ -424,9 +424,9 @@ sysctl_ctx_free(&sc->sc_sysctl_ctx); - if (sc->sms_tq) { - taskqueue_drain(sc->sms_tq, &sc->sms_task); - taskqueue_free(sc->sms_tq); + if (sc->sc_sms_tq) { + taskqueue_drain(sc->sc_sms_tq, &sc->sc_sms_task); + taskqueue_free(sc->sc_sms_tq); } if (sc->sc_cookie) @@ -796,9 +796,9 @@ type = inb(ASMC_INTPORT); mtx_unlock_spin(&sc->sc_mtx); - sc->sms_intrtype = type; + sc->sc_sms_intrtype = type; asmc_sms_printintr(dev, type); - taskqueue_enqueue(sc->sms_tq, &sc->sms_task); + taskqueue_enqueue(sc->sc_sms_tq, &sc->sc_sms_task); return (FILTER_HANDLED); } @@ -814,9 +814,9 @@ type = inb(ASMC_INTPORT); mtx_unlock_spin(&sc->sc_mtx); - sc->sms_intrtype = type; + sc->sc_sms_intrtype = type; asmc_sms_printintr(dev, type); - taskqueue_enqueue_fast(sc->sms_tq, &sc->sms_task); + taskqueue_enqueue_fast(sc->sc_sms_tq, &sc->sc_sms_task); } @@ -846,7 +846,7 @@ char notify[16]; int type; - switch (sc->sms_intrtype) { + switch (sc->sc_sms_intrtype) { case ASMC_SMS_INTFF: type = 0; break; ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#7 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#8 $ * */ @@ -45,9 +45,9 @@ int sc_rid; struct resource *sc_res; void *sc_cookie; - int sms_intrtype; - struct taskqueue *sms_tq; - struct task sms_task; + int sc_sms_intrtype; + struct taskqueue *sc_sms_tq; + struct task sc_sms_task; }; struct asmc_model { ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#3 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#4 $ */ #include @@ -71,6 +71,10 @@ static int atp_attach(device_t); static int atp_detach(device_t); +static int atp_enable(device_t); +static int atp_disable(device_t); +static void atp_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); + /* * char device interface. */ @@ -93,7 +97,19 @@ struct atp_softc { device_t sc_dev; + int sc_enabled; + + u_char *sc_ibuf; + int sc_isize; + usbd_interface_handle sc_iface; /* interface */ + usbd_pipe_handle sc_intrpipe; /* interrupt pipe */ + int sc_ep_addr; + + mousehw_t hw; + mousemode_t mode; + mousestatus_t status; + struct cdev *dev; /* specfs */ }; static device_method_t atp_methods[] = { @@ -169,17 +185,116 @@ static int atp_attach(device_t self) { + struct atp_softc *sc = device_get_softc(self); + struct usb_attach_arg *uaa = device_get_ivars(self); + usbd_interface_handle iface = uaa->iface; + usb_interface_descriptor_t *id; + usb_endpoint_descriptor_t *ed; + usbd_status err; + int size; + void *desc; + uint32_t flags; + + + struct hid_location a; + + sc->sc_dev = self; + + id = usbd_get_interface_descriptor(iface); + ed = usbd_interface2endpoint_descriptor(iface, 0); + if (!ed) { + printf("%s: could not read endpoint descriptor\n", + device_get_nameunit(sc->sc_dev)); + return (ENXIO); + } + + if (UE_GET_DIR(ed->bEndpointAddress) != UE_DIR_IN || + UE_GET_XFERTYPE(ed->bmAttributes) != UE_INTERRUPT) { + printf("%s: unexpected endpoint\n", + device_get_nameunit(sc->sc_dev)); + return (ENXIO); + } + + err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP); + if (err) + return (ENXIO); + + hid_locate(desc, size, 1, hid_input, &a, &flags); + + /* Equal to ums(4). */ + sc->hw.iftype = MOUSE_IF_USB; + sc->hw.type = MOUSE_MOUSE; + sc->hw.model = MOUSE_MODEL_GENERIC; + sc->hw.hwid = 0; + sc->mode.protocol = MOUSE_PROTO_MSC; + sc->mode.rate = -1; + sc->mode.resolution = MOUSE_RES_UNKNOWN; + sc->mode.accelfactor = 0; + sc->mode.level = 0; + sc->mode.packetsize = MOUSE_MSC_PACKETSIZE; + sc->mode.syncmask[0] = MOUSE_MSC_SYNCMASK; + sc->mode.syncmask[1] = MOUSE_MSC_SYNC; + + sc->dev = make_dev(&atp_cdevsw, device_get_unit(self), + UID_ROOT, GID_OPERATOR, + 0644, "atp%d", device_get_unit(self)); + + return 0; } static int atp_detach(device_t self) { + struct atp_softc *sc = device_get_softc(self); + destroy_dev(sc->dev); + return 0; } +static void +atp_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status) +{ + + +} + +static int +atp_enable(device_t self) +{ + struct atp_softc *sc = device_get_softc(self); + usbd_status err; + + sc->sc_enabled = 1; + + err = usbd_open_pipe_intr(sc->sc_iface, sc->sc_ep_addr, + USBD_SHORT_XFER_OK, &sc->sc_intrpipe, sc, + sc->sc_ibuf, sc->sc_isize, atp_intr, + USBD_DEFAULT_INTERVAL); + if (err) { + device_printf(self, "usb_open_pipe_intr failed with error=%d\n", + err); + sc->sc_enabled = 0; + return (EIO); + } + + return (0); +} + +static int +atp_disable(device_t self) +{ + struct atp_softc *sc = device_get_softc(self); + + /* Disable interrupts. */ + usbd_abort_pipe(sc->sc_intrpipe); + usbd_close_pipe(sc->sc_intrpipe); + + sc->sc_enabled = 0; +} + static int atp_open(struct cdev *dev, int flag, int fmt, struct thread *p) { From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:51:47 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F19F16A46C; Thu, 5 Jul 2007 00:51:47 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 10BCA16A468 for ; Thu, 5 Jul 2007 00:51:47 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0121F13C46A for ; Thu, 5 Jul 2007 00:51:47 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l650pkqg067988 for ; Thu, 5 Jul 2007 00:51:46 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l650pkam067985 for perforce@freebsd.org; Thu, 5 Jul 2007 00:51:46 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 00:51:46 GMT Message-Id: <200707050051.l650pkam067985@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:51:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=122895 Change 122895 by rpaulo@rpaulo_epsilon on 2007/07/05 00:51:41 Backout previous. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#5 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#4 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/usb/atp.c#5 $ */ #include @@ -71,10 +71,6 @@ static int atp_attach(device_t); static int atp_detach(device_t); -static int atp_enable(device_t); -static int atp_disable(device_t); -static void atp_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); - /* * char device interface. */ @@ -97,19 +93,7 @@ struct atp_softc { device_t sc_dev; - int sc_enabled; - - u_char *sc_ibuf; - int sc_isize; - usbd_interface_handle sc_iface; /* interface */ - usbd_pipe_handle sc_intrpipe; /* interrupt pipe */ - int sc_ep_addr; - - mousehw_t hw; - mousemode_t mode; - mousestatus_t status; - struct cdev *dev; /* specfs */ }; static device_method_t atp_methods[] = { @@ -185,116 +169,17 @@ static int atp_attach(device_t self) { - struct atp_softc *sc = device_get_softc(self); - struct usb_attach_arg *uaa = device_get_ivars(self); - usbd_interface_handle iface = uaa->iface; - usb_interface_descriptor_t *id; - usb_endpoint_descriptor_t *ed; - usbd_status err; - int size; - void *desc; - uint32_t flags; - - - struct hid_location a; - - sc->sc_dev = self; - - id = usbd_get_interface_descriptor(iface); - ed = usbd_interface2endpoint_descriptor(iface, 0); - if (!ed) { - printf("%s: could not read endpoint descriptor\n", - device_get_nameunit(sc->sc_dev)); - return (ENXIO); - } - - if (UE_GET_DIR(ed->bEndpointAddress) != UE_DIR_IN || - UE_GET_XFERTYPE(ed->bmAttributes) != UE_INTERRUPT) { - printf("%s: unexpected endpoint\n", - device_get_nameunit(sc->sc_dev)); - return (ENXIO); - } - - err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP); - if (err) - return (ENXIO); - - hid_locate(desc, size, 1, hid_input, &a, &flags); - - /* Equal to ums(4). */ - sc->hw.iftype = MOUSE_IF_USB; - sc->hw.type = MOUSE_MOUSE; - sc->hw.model = MOUSE_MODEL_GENERIC; - sc->hw.hwid = 0; - sc->mode.protocol = MOUSE_PROTO_MSC; - sc->mode.rate = -1; - sc->mode.resolution = MOUSE_RES_UNKNOWN; - sc->mode.accelfactor = 0; - sc->mode.level = 0; - sc->mode.packetsize = MOUSE_MSC_PACKETSIZE; - sc->mode.syncmask[0] = MOUSE_MSC_SYNCMASK; - sc->mode.syncmask[1] = MOUSE_MSC_SYNC; - - sc->dev = make_dev(&atp_cdevsw, device_get_unit(self), - UID_ROOT, GID_OPERATOR, - 0644, "atp%d", device_get_unit(self)); - - return 0; } static int atp_detach(device_t self) { - struct atp_softc *sc = device_get_softc(self); - destroy_dev(sc->dev); - return 0; } -static void -atp_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status) -{ - - -} - -static int -atp_enable(device_t self) -{ - struct atp_softc *sc = device_get_softc(self); - usbd_status err; - - sc->sc_enabled = 1; - - err = usbd_open_pipe_intr(sc->sc_iface, sc->sc_ep_addr, - USBD_SHORT_XFER_OK, &sc->sc_intrpipe, sc, - sc->sc_ibuf, sc->sc_isize, atp_intr, - USBD_DEFAULT_INTERVAL); - if (err) { - device_printf(self, "usb_open_pipe_intr failed with error=%d\n", - err); - sc->sc_enabled = 0; - return (EIO); - } - - return (0); -} - -static int -atp_disable(device_t self) -{ - struct atp_softc *sc = device_get_softc(self); - - /* Disable interrupts. */ - usbd_abort_pipe(sc->sc_intrpipe); - usbd_close_pipe(sc->sc_intrpipe); - - sc->sc_enabled = 0; -} - static int atp_open(struct cdev *dev, int flag, int fmt, struct thread *p) { From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:58:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BADED16A468; Thu, 5 Jul 2007 00:58:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7793C16A41F for ; Thu, 5 Jul 2007 00:58:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6769213C43E for ; Thu, 5 Jul 2007 00:58:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l650wugZ068408 for ; Thu, 5 Jul 2007 00:58:56 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l650wtt2068405 for perforce@freebsd.org; Thu, 5 Jul 2007 00:58:55 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 00:58:55 GMT Message-Id: <200707050058.l650wtt2068405@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122896 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:58:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=122896 Change 122896 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 00:58:37 - reduce cpu usage by as much as 25% (40%->30%) by doing txq reclaim more efficiently - use mtx_trylock when trying to grab the lock to avoid spinning during long encap loop - add per-txq reclaim task - if mbufs were successfully reclaimed, try another pass - reduce contention on txq lock in if_start by returning right away if another thread is already transmitting - set/clear flag in txq when running in the t3_encap loop - fix null pointer panic caused by bad merge - track txq overruns with sysctl MFP4 after: 2 days Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_adapter.h#20 edit .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_main.c#13 edit .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_osdep.h#11 edit .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#23 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_adapter.h#20 (text+ko) ==== @@ -239,6 +239,8 @@ struct tx_desc; struct tx_sw_desc; +#define TXQ_TRANSMITTING 0x1 + struct sge_txq { uint64_t flags; uint32_t in_use; @@ -254,7 +256,9 @@ struct tx_sw_desc *sdesc; uint32_t token; bus_addr_t phys_addr; - struct task qresume_tsk; + struct task qreclaim_task; + struct task qresume_task; + struct port_info *port; uint32_t cntxt_id; uint64_t stops; uint64_t restarts; ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_main.c#13 (text+ko) ==== @@ -1613,7 +1613,11 @@ txq = &qs->txq[TXQ_ETH]; err = 0; + if (txq->flags & TXQ_TRANSMITTING) + return (EINPROGRESS); + mtx_lock(&txq->lock); + txq->flags |= TXQ_TRANSMITTING; in_use_init = txq->in_use; while ((txq->in_use - in_use_init < txmax) && (txq->size > txq->in_use + TX_MAX_DESC)) { @@ -1651,6 +1655,7 @@ break; BPF_MTAP(ifp, m); } + txq->flags &= ~TXQ_TRANSMITTING; mtx_unlock(&txq->lock); if (__predict_false(err)) { @@ -1685,8 +1690,7 @@ do { if (desc_reclaimable(txq) > TX_CLEAN_MAX_DESC) - taskqueue_enqueue(pi->adapter->tq, - &pi->timer_reclaim_task); + taskqueue_enqueue(pi->adapter->tq, &txq->qreclaim_task); error = cxgb_start_tx(ifp, TX_START_MAX_DESC); } while (error == 0); @@ -1704,9 +1708,8 @@ txq = &qs->txq[TXQ_ETH]; if (desc_reclaimable(txq) > TX_CLEAN_MAX_DESC) - taskqueue_enqueue(pi->adapter->tq, - &pi->timer_reclaim_task); - + taskqueue_enqueue(pi->adapter->tq, &txq->qreclaim_task); + err = cxgb_start_tx(ifp, TX_START_MAX_DESC); if (err == 0) ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_osdep.h#11 (text+ko) ==== @@ -95,7 +95,7 @@ #define TX_MAX_SIZE (1 << 16) /* 64KB */ #define TX_MAX_SEGS 36 /* maximum supported by card */ #define TX_MAX_DESC 4 /* max descriptors per packet */ -#define TX_START_MAX_DESC (TX_MAX_DESC << 2) /* maximum number of descriptors +#define TX_START_MAX_DESC (TX_MAX_DESC << 3) /* maximum number of descriptors * call to start used per */ #define TX_CLEAN_MAX_DESC (TX_MAX_DESC << 4) /* maximum tx descriptors * to clean per iteration */ ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#23 (text+ko) ==== @@ -67,6 +67,7 @@ uint32_t collapse_free = 0; uint32_t mb_free_vec_free = 0; +int txq_fills = 0; int collapse_mbufs = 0; static int recycle_enable = 1; @@ -187,7 +188,8 @@ static void t3_free_qset(adapter_t *sc, struct sge_qset *q); static void sge_timer_cb(void *arg); static void sge_timer_reclaim(void *arg, int ncount); -static int free_tx_desc(adapter_t *sc, struct sge_txq *q, int n, struct mbuf **m_vec); +static void sge_txq_reclaim_handler(void *arg, int ncount); +static int free_tx_desc(struct sge_txq *q, int n, struct mbuf **m_vec); /** * reclaim_completed_tx - reclaims completed Tx descriptors @@ -199,14 +201,14 @@ * queue's lock held. */ static __inline int -reclaim_completed_tx(adapter_t *adapter, struct sge_txq *q, int nbufs, struct mbuf **mvec) +reclaim_completed_tx(struct sge_txq *q, int nbufs, struct mbuf **mvec) { int reclaimed, reclaim = desc_reclaimable(q); int n = 0; mtx_assert(&q->lock, MA_OWNED); if (reclaim > 0) { - n = free_tx_desc(adapter, q, min(reclaim, nbufs), mvec); + n = free_tx_desc(q, min(reclaim, nbufs), mvec); reclaimed = min(reclaim, nbufs); q->cleaned += reclaimed; q->in_use -= reclaimed; @@ -482,7 +484,7 @@ struct refill_fl_cb_arg cb_arg; void *cl; int err; - + cb_arg.error = 0; while (n--) { /* @@ -743,7 +745,47 @@ V_RSPQ(q->cntxt_id) | V_CREDITS(credits)); } +static __inline void +sge_txq_reclaim_(struct sge_txq *txq) +{ + int reclaimable, i, n; + struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; + struct port_info *p; + p = txq->port; +reclaim_more: + n = 0; + reclaimable = desc_reclaimable(txq); + if (reclaimable > 0 && mtx_trylock(&txq->lock)) { + n = reclaim_completed_tx(txq, TX_CLEAN_MAX_DESC, m_vec); + mtx_unlock(&txq->lock); + } + if (n == 0) + return; + + for (i = 0; i < n; i++) { + m_freem_vec(m_vec[i]); + } + if (p && p->ifp->if_drv_flags & IFF_DRV_OACTIVE && + txq->size - txq->in_use >= TX_START_MAX_DESC) { + txq_fills++; + p->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + taskqueue_enqueue(p->tq, &p->start_task); + } + + if (n) + goto reclaim_more; +} + +static void +sge_txq_reclaim_handler(void *arg, int ncount) +{ + struct sge_txq *q = arg; + + sge_txq_reclaim_(q); +} + + static void sge_timer_reclaim(void *arg, int ncount) { @@ -753,39 +795,15 @@ struct sge_qset *qs; struct sge_txq *txq; struct mtx *lock; - struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; - int n, reclaimable; for (i = 0; i < nqsets; i++) { qs = &sc->sge.qs[i]; txq = &qs->txq[TXQ_ETH]; - reclaimable = desc_reclaimable(txq); - if (reclaimable > 0) { - mtx_lock(&txq->lock); - n = reclaim_completed_tx(sc, txq, TX_CLEAN_MAX_DESC, m_vec); - mtx_unlock(&txq->lock); - - for (i = 0; i < n; i++) - m_freem_vec(m_vec[i]); - - if (p->ifp->if_drv_flags & IFF_DRV_OACTIVE && - txq->size - txq->in_use >= TX_START_MAX_DESC) { - p->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - taskqueue_enqueue(p->tq, &p->start_task); - } - } + sge_txq_reclaim_(txq); txq = &qs->txq[TXQ_OFLD]; - reclaimable = desc_reclaimable(txq); - if (reclaimable > 0) { - mtx_lock(&txq->lock); - n = reclaim_completed_tx(sc, txq, TX_CLEAN_MAX_DESC, m_vec); - mtx_unlock(&txq->lock); + sge_txq_reclaim_(txq); - for (i = 0; i < n; i++) - m_freem_vec(m_vec[i]); - } - lock = (sc->flags & USING_MSIX) ? &qs->rspq.lock : &sc->sge.qs[0].rspq.lock; @@ -1223,7 +1241,6 @@ wr_lo = htonl(V_WR_TID(txq->token)); txsd->m = m0; m_set_priority(m0, txqs.pidx); - m_set_priority(m0, txqs.pidx); write_wr_hdr_sgl(ndesc, txd, &txqs, txq, sgl, flits, sgl_flits, wr_hi, wr_lo); check_ring_tx_db(p->adapter, txq); @@ -1563,8 +1580,8 @@ for (i = 0; i < nqsets; ++i) { struct sge_qset *qs = &sc->sge.qs[i]; - taskqueue_drain(sc->tq, &qs->txq[TXQ_OFLD].qresume_tsk); - taskqueue_drain(sc->tq, &qs->txq[TXQ_CTRL].qresume_tsk); + taskqueue_drain(sc->tq, &qs->txq[TXQ_OFLD].qresume_task); + taskqueue_drain(sc->tq, &qs->txq[TXQ_CTRL].qresume_task); } } @@ -1579,18 +1596,18 @@ * Tx buffers. Called with the Tx queue lock held. */ int -free_tx_desc(adapter_t *sc, struct sge_txq *q, int n, struct mbuf **m_vec) +free_tx_desc(struct sge_txq *q, int n, struct mbuf **m_vec) { struct tx_sw_desc *d; - unsigned int cidx = q->cidx; + unsigned int cidx; int nbufs = 0; #ifdef T3_TRACE T3_TRACE2(sc->tb[q->cntxt_id & 7], "reclaiming %u Tx descriptors at cidx %u", n, cidx); #endif + cidx = q->cidx; d = &q->sdesc[cidx]; - while (n-- > 0) { DPRINTF("cidx=%d d=%p\n", cidx, d); if (d->m) { @@ -1599,21 +1616,13 @@ bus_dmamap_destroy(q->entry_tag, d->map); d->flags &= ~TX_SW_DESC_MAPPED; } - if (m_get_priority(d->m) == cidx) { m_vec[nbufs] = d->m; d->m = NULL; nbufs++; } else { - printf("pri=%d cidx=%d\n", (int)m_get_priority(d->m), cidx); + printf("pri=%jd cidx=%d\n", m_get_priority(d->m), cidx); } - if (m_get_priority(d->m) == cidx) { - m_vec[nbufs] = d->m; - d->m = NULL; - nbufs++; - } else { - printf("pri=%d cidx=%d\n", m_get_priority(d->m), cidx); - } } ++d; if (++cidx == q->size) { @@ -1622,7 +1631,7 @@ } } q->cidx = cidx; - + return (nbufs); } @@ -1748,7 +1757,7 @@ return (ret); } ndesc = calc_tx_descs_ofld(m, nsegs); -again: cleaned = reclaim_completed_tx(adap, q, TX_CLEAN_MAX_DESC, m_vec); +again: cleaned = reclaim_completed_tx(q, TX_CLEAN_MAX_DESC, m_vec); ret = check_desc_avail(adap, q, m, ndesc, TXQ_OFLD); if (__predict_false(ret)) { @@ -1805,7 +1814,7 @@ struct tx_sw_desc *stx = &q->sdesc[q->pidx]; mtx_lock(&q->lock); -again: cleaned = reclaim_completed_tx(adap, q, TX_CLEAN_MAX_DESC, m_vec); +again: cleaned = reclaim_completed_tx(q, TX_CLEAN_MAX_DESC, m_vec); while ((m = mbufq_peek(&q->sendq)) != NULL) { unsigned int gen, pidx; @@ -1944,13 +1953,13 @@ should_restart_tx(&qs->txq[TXQ_OFLD]) && test_and_clear_bit(TXQ_OFLD, &qs->txq_stopped)) { qs->txq[TXQ_OFLD].restarts++; - taskqueue_enqueue(sc->tq, &qs->txq[TXQ_OFLD].qresume_tsk); + taskqueue_enqueue(sc->tq, &qs->txq[TXQ_OFLD].qresume_task); } if (isset(&qs->txq_stopped, TXQ_CTRL) && should_restart_tx(&qs->txq[TXQ_CTRL]) && test_and_clear_bit(TXQ_CTRL, &qs->txq_stopped)) { qs->txq[TXQ_CTRL].restarts++; - taskqueue_enqueue(sc->tq, &qs->txq[TXQ_CTRL].qresume_tsk); + taskqueue_enqueue(sc->tq, &qs->txq[TXQ_CTRL].qresume_task); } } @@ -2028,9 +2037,14 @@ device_get_unit(sc->dev), irq_vec_idx, i); MTX_INIT(&q->txq[i].lock, q->txq[i].lockbuf, NULL, MTX_DEF); } + + q->txq[TXQ_ETH].port = pi; - TASK_INIT(&q->txq[TXQ_OFLD].qresume_tsk, 0, restart_offloadq, q); - TASK_INIT(&q->txq[TXQ_CTRL].qresume_tsk, 0, restart_ctrlq, q); + TASK_INIT(&q->txq[TXQ_ETH].qreclaim_task, 0, sge_txq_reclaim_handler, &q->txq[TXQ_ETH]); + TASK_INIT(&q->txq[TXQ_OFLD].qreclaim_task, 0, sge_txq_reclaim_handler, &q->txq[TXQ_OFLD]); + TASK_INIT(&q->txq[TXQ_OFLD].qresume_task, 0, restart_offloadq, q); + TASK_INIT(&q->txq[TXQ_CTRL].qresume_task, 0, restart_ctrlq, q); + q->fl[0].gen = q->fl[1].gen = 1; q->fl[0].size = p->fl_size; @@ -2646,6 +2660,10 @@ "collapse_mbufs", CTLFLAG_RW, &collapse_mbufs, 0, "collapse mbuf chains into iovecs"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "txq_overrun", + CTLFLAG_RD, &txq_fills, + 0, "#times txq overrun"); } /** From owner-p4-projects@FreeBSD.ORG Thu Jul 5 00:59:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1C3916A469; Thu, 5 Jul 2007 00:59:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B7B2716A421 for ; Thu, 5 Jul 2007 00:59:58 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A844D13C44B for ; Thu, 5 Jul 2007 00:59:58 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l650xwVN068443 for ; Thu, 5 Jul 2007 00:59:58 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l650xwq4068440 for perforce@freebsd.org; Thu, 5 Jul 2007 00:59:58 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 00:59:58 GMT Message-Id: <200707050059.l650xwq4068440@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122897 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 00:59:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122897 Change 122897 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 00:59:36 add MODULES_OVERRIDE add ALT_BREAK_TO_DEBUGGER (send break doesn't work on my opengear) don't try to build t3_tom module Affected files ... .. //depot/projects/opentoe/sys/amd64/conf/GENERIC#9 edit .. //depot/projects/opentoe/sys/modules/cxgb/Makefile#11 edit Differences ... ==== //depot/projects/opentoe/sys/amd64/conf/GENERIC#9 (text+ko) ==== @@ -21,6 +21,8 @@ cpu HAMMER ident GENERIC +makeoptions MODULES_OVERRIDE="cxgb if_vlan mxge" + # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. @@ -187,3 +189,6 @@ device fwip # IP over FireWire (RFC 2734,3146) device dcons # Dumb console driver device dcons_crom # Configuration ROM for dcons + + +options ALT_BREAK_TO_DEBUGGER ==== //depot/projects/opentoe/sys/modules/cxgb/Makefile#11 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/modules/cxgb/Makefile,v 1.8 2007/06/13 05:35:59 kmacy Exp $ SUBDIR= cxgb -SUBDIR+= t3_tom +#SUBDIR+= t3_tom .include From owner-p4-projects@FreeBSD.ORG Thu Jul 5 07:30:13 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75C4116A469; Thu, 5 Jul 2007 07:30:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3FE6216A421 for ; Thu, 5 Jul 2007 07:30:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 30EC213C4BC for ; Thu, 5 Jul 2007 07:30:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l657UDVI017257 for ; Thu, 5 Jul 2007 07:30:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l657UCTc017254 for perforce@freebsd.org; Thu, 5 Jul 2007 07:30:12 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 07:30:12 GMT Message-Id: <200707050730.l657UCTc017254@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122915 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 07:30:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=122915 Change 122915 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 07:29:17 add interface to support physically contiguous backend allocator for zones Affected files ... .. //depot/projects/opentoe/sys/vm/uma.h#2 edit .. //depot/projects/opentoe/sys/vm/uma_core.c#4 edit Differences ... ==== //depot/projects/opentoe/sys/vm/uma.h#2 (text+ko) ==== @@ -483,6 +483,8 @@ void uma_zone_set_freef(uma_zone_t zone, uma_free freef); +void uma_zone_set_contig(uma_zone_t zone); + /* * These flags are setable in the allocf and visable in the freef. */ ==== //depot/projects/opentoe/sys/vm/uma_core.c#4 (text+ko) ==== @@ -957,6 +957,31 @@ return (p); } +static void * +uma_zone_contig_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) +{ + int malloc_flags; + + *flags = UMA_SLAB_PRIV; + malloc_flags = (wait ? M_WAITOK : M_NOWAIT); + + return (contigmalloc(bytes, M_DEVBUF, malloc_flags, 0x0ULL, + 0xffffffffffffULL, 1, 0)); +} + +static void +uma_zone_contig_free(void *mem, int size, u_int8_t flags) +{ + contigfree(mem, size, M_DEVBUF); +} + +void +uma_zone_set_contig(uma_zone_t zone) +{ + uma_zone_set_allocf(zone, uma_zone_contig_alloc); + uma_zone_set_freef(zone, uma_zone_contig_free); + +} /* * Allocates a number of pages from within an object * From owner-p4-projects@FreeBSD.ORG Thu Jul 5 07:30:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5495616A41F; Thu, 5 Jul 2007 07:30:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 19FD016A51E for ; Thu, 5 Jul 2007 07:30:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8C4EF13C4BD for ; Thu, 5 Jul 2007 07:30:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l657UDxe017264 for ; Thu, 5 Jul 2007 07:30:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l657UDPo017260 for perforce@freebsd.org; Thu, 5 Jul 2007 07:30:13 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 07:30:13 GMT Message-Id: <200707050730.l657UDPo017260@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122916 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 07:30:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=122916 Change 122916 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 07:29:46 turn contigmalloc2 into a no-op on x86_64 Affected files ... .. //depot/projects/opentoe/sys/vm/vm_contig.c#6 edit Differences ... ==== //depot/projects/opentoe/sys/vm/vm_contig.c#6 (text+ko) ==== @@ -190,7 +190,11 @@ vm_map_t map = kernel_map; vm_offset_t addr, tmp_addr; vm_pindex_t i; - + +#ifdef __amd64__ + return (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); +#endif + /* * Allocate kernel VM, unfree and assign the physical pages to * it and return kernel VM pointer. From owner-p4-projects@FreeBSD.ORG Thu Jul 5 07:31:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB1BE16A46B; Thu, 5 Jul 2007 07:31:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B44D16A400 for ; Thu, 5 Jul 2007 07:31:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5C64B13C459 for ; Thu, 5 Jul 2007 07:31:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l657VFGH017439 for ; Thu, 5 Jul 2007 07:31:15 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l657VFWP017436 for perforce@freebsd.org; Thu, 5 Jul 2007 07:31:15 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 07:31:15 GMT Message-Id: <200707050731.l657VFWP017436@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122917 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 07:31:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=122917 Change 122917 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 07:30:26 switch zone_jumbo9 and zone_jumbo16 over to use physically contiguous allocator Affected files ... .. //depot/projects/opentoe/sys/kern/kern_mbuf.c#6 edit Differences ... ==== //depot/projects/opentoe/sys/kern/kern_mbuf.c#6 (text+ko) ==== @@ -227,6 +227,8 @@ if (nmbjumbo9 > 0) uma_zone_set_max(zone_jumbo9, nmbjumbo9); + uma_zone_set_contig(zone_jumbo9); + zone_jumbo16 = uma_zcreate(MBUF_JUMBO16_MEM_NAME, MJUM16BYTES, mb_ctor_clust, mb_dtor_clust, #ifdef INVARIANTS @@ -238,6 +240,8 @@ if (nmbjumbo16 > 0) uma_zone_set_max(zone_jumbo16, nmbjumbo16); + uma_zone_set_contig(zone_jumbo16); + zone_ext_refcnt = uma_zcreate(MBUF_EXTREFCNT_MEM_NAME, sizeof(u_int), NULL, NULL, NULL, NULL, From owner-p4-projects@FreeBSD.ORG Thu Jul 5 07:32:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C90FA16A46C; Thu, 5 Jul 2007 07:32:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B4B316A421 for ; Thu, 5 Jul 2007 07:32:17 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6BFAD13C45D for ; Thu, 5 Jul 2007 07:32:17 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l657WHLf017541 for ; Thu, 5 Jul 2007 07:32:17 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l657WH4S017538 for perforce@freebsd.org; Thu, 5 Jul 2007 07:32:17 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 5 Jul 2007 07:32:17 GMT Message-Id: <200707050732.l657WH4S017538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 122918 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 07:32:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=122918 Change 122918 by kmacy@kmacy_vt-x:opentoe_init on 2007/07/05 07:31:38 switch cxgb over to use jumbo frame sized rx descriptors Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#24 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#24 (text+ko) ==== @@ -2059,10 +2059,15 @@ q->fl[0].buf_size = MCLBYTES; q->fl[0].zone = zone_clust; q->fl[0].type = EXT_CLUSTER; +#ifndef JUMBO_FRAME_PHYS_DISCONTIG + q->fl[1].buf_size = MJUM9BYTES; + q->fl[1].zone = zone_jumbo9; + q->fl[1].type = EXT_JUMBO9; +#else q->fl[1].buf_size = MJUMPAGESIZE; q->fl[1].zone = zone_jumbop; q->fl[1].type = EXT_JUMBOP; - +#endif q->lro.enabled = lro_default; mtx_lock(&sc->sge.reg_lock); From owner-p4-projects@FreeBSD.ORG Thu Jul 5 08:44:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3098616A469; Thu, 5 Jul 2007 08:44:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0238916A421 for ; Thu, 5 Jul 2007 08:44:49 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E6F1213C45E for ; Thu, 5 Jul 2007 08:44:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l658imgL025074 for ; Thu, 5 Jul 2007 08:44:48 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l658imWc025071 for perforce@freebsd.org; Thu, 5 Jul 2007 08:44:48 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 08:44:48 GMT Message-Id: <200707050844.l658imWc025071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122922 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 08:44:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122922 Change 122922 by rdivacky@rdivacky_witten on 2007/07/05 08:44:31 Change return type of readlinkat() in-kernel implementation to "int" from "ssize_t". Libc will handle this for us. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_sysent.c#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.c#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.master#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/systrace_args.c#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.h#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.mk#8 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysproto.h#8 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_sysent.c#8 (text+ko) ==== ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.c#8 (text+ko) ==== ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.master#8 (text+ko) ==== @@ -847,7 +847,7 @@ 484 AUE_MKNOD STD { int mknodat(int fd, const char *path, mode_t mode, dev_t dev); } ; XXX: see the comment for open 485 AUE_OPEN_RWTC STD { int openat(int fd, const char *path, int flag, mode_t mode); } -486 AUE_READLINK STD { ssize_t readlinkat(int fd, const char *path, char *buf, size_t bufsize); } +486 AUE_READLINK STD { int readlinkat(int fd, const char *path, char *buf, size_t bufsize); } 487 AUE_RENAME STD { int renameat(int oldfd, const char *old, int newfd, const char *new); } 488 AUE_SYMLINK STD { int symlinkat(const char *path1, int fd, const char *path2); } 489 AUE_UNLINK STD { int unlinkat(int fd, const char *path, int flag); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/systrace_args.c#8 (text+ko) ==== ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.h#8 (text+ko) ==== ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.mk#8 (text+ko) ==== ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysproto.h#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:06:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 734DD16A46F; Thu, 5 Jul 2007 09:06:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 48E4816A46D for ; Thu, 5 Jul 2007 09:06:17 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 20B6013C469 for ; Thu, 5 Jul 2007 09:06:17 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6596HTq036700 for ; Thu, 5 Jul 2007 09:06:17 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6596GnE036697 for perforce@freebsd.org; Thu, 5 Jul 2007 09:06:16 GMT (envelope-from gabor@freebsd.org) Date: Thu, 5 Jul 2007 09:06:16 GMT Message-Id: <200707050906.l6596GnE036697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 122925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:06:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=122925 Change 122925 by gabor@gabor_server on 2007/07/05 09:05:54 - Check in latest changes to mounting. Very experimental. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#18 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#18 (text+ko) ==== @@ -45,12 +45,14 @@ DESTDIR_ENV_LIST?= -DESTDIR_ENV= DESTDIR= CHROOTED=YES PORTSDIR=${PORTSDIR_TMP_REL} +DESTDIR_ENV= DESTDIR= CHROOTED=YES -.for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} +.for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED} DESTDIR_ENV+= ${_var}="${${_var}}" .endfor +DESTDIR_MOUNT_LIST?= PORTSDIR:${PORTSDIR} + .for _target in ${.TARGETS} ${_target}: pre-chroot do-chroot @${TRUE} @@ -62,14 +64,32 @@ .endif .if !target(do-chroot) - -PORTSDIR_TMP!= ${MKTEMP} -d ${DESTDIR}/tmp/portsdir.XXXXXX -PORTSDIR_TMP_REL= ${PORTSDIR_TMP:S,^${DESTDIR},,} -BUILDDIR= ${.CURDIR:S,^${PORTSDIR},,:S,^,${PORTSDIR_TMP_REL},} - do-chroot: - ${ECHO_CMD} "===> Nullmounting ports tree into ${DESTDIR}..."; \ - ${MOUNT_NULLFS} ${PORTSDIR} ${DESTDIR}${PORTSDIR_TMP_REL}; \ + @for _entry in ${DESTDIR_MOUNT_LIST}; do \ + _var= `${ECHO_CMD} $${_entry} | ${SED} -e 's/:.*//'`; \ + _path1= `${ECHO_CMD} $${_entry} | ${SED} -e 's/[^:]*://'`; \ + _path2= `${ECHO_CMD} $${_path1} | ${SED} -e 's/.*://'`; \ + echo "$${_var} $${_path1} $${_path2}"; \ + if [ $${_path1} = $${_path2} ]; then \ + _tmpdir= `${MKTEMP} -d ${DESTDIR}/tmp/tmpdir.XXXXXX`; \ + _tmpdir_rel= `${ECHO_CMD} $${_tmpdir} | ${SED} -e 's|^${DESTDIR}||'`; \ + if [ $${_var} = PORTSDIR ]; then \ + _builddir= ${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'; \ + fi; \ + _tmp= "$${_destdir_env}"; \ + _destdir_env= "$${_tmp} $${_var}=$${_tmpdir_rel}"; \ + echo "$${_destdir_env}"; \ + ${MOUNT_NULLFS} $${_path1} ${DESTDIR}${_tmpdir_rel}; \ + else \ + if [ $${_var} = PORTSDIR ]; then \ + _builddir= ${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'; \ + fi; \ + _tmp= "$${_destdir_env}"; \ + _destdir_env= "$${_tmp} $${_var}=$${_path2}"; \ + ${MOUNT_NULLFS} $${_path1} ${DESTDIR}/$${_path2}; \ + fi; \ + done; \ + echo "$${_destdir_env}"; \ found=0; \ for _entry in `${MOUNT} | ${GREP} devfs | ${AWK} {'print $$3'}`; do \ if [ `${REALPATH} $${_entry}` = `${REALPATH} ${DESTDIR}/dev` ]; then \ @@ -81,9 +101,7 @@ ${MOUNT_DEVFS} ${DESTDIR}/dev; \ fi; \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ - ${CHROOT} ${DESTDIR} ${SH} -c "(cd ${BUILDDIR}; ${SETENV} -i ${DESTDIR_ENV} ${MAKE} ${.TARGETS})"; \ - ${UMOUNT} ${DESTDIR}${PORTSDIR_TMP_REL}; \ - ${RMDIR} ${DESTDIR}${PORTSDIR_TMP_REL} + ${CHROOT} ${DESTDIR} ${SH} -c "(cd $${_builddir}; ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})" .endif .endif From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:19:34 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB4E516A46B; Thu, 5 Jul 2007 09:19:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C0F6A16A41F for ; Thu, 5 Jul 2007 09:19:33 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 98BE013C448 for ; Thu, 5 Jul 2007 09:19:33 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l659JXh1037663 for ; Thu, 5 Jul 2007 09:19:33 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l659JXEt037660 for perforce@freebsd.org; Thu, 5 Jul 2007 09:19:33 GMT (envelope-from sat@freebsd.org) Date: Thu, 5 Jul 2007 09:19:33 GMT Message-Id: <200707050919.l659JXEt037660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 122926 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:19:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=122926 Change 122926 by sat@sat_amilo on 2007/07/05 09:18:45 - Change file syntax mode to makefile Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#19 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#19 (text+ko) ==== @@ -1,4 +1,4 @@ -#-*- mode: Fundamental; tab-width: 4; -*- +#-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # # bsd.destdir.mk - Support for chrooted installation From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:34:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE5AE16A468; Thu, 5 Jul 2007 09:34:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7E35916A46D for ; Thu, 5 Jul 2007 09:34:13 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4EE1413C489 for ; Thu, 5 Jul 2007 09:34:13 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l659YDdi039007 for ; Thu, 5 Jul 2007 09:34:13 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l659XuD6038963 for perforce@freebsd.org; Thu, 5 Jul 2007 09:33:56 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 09:33:56 GMT Message-Id: <200707050933.l659XuD6038963@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122928 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:34:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=122928 Change 122928 by rdivacky@rdivacky_witten on 2007/07/05 09:33:49 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/cam_xpt.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_file.c#18 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/pecoff/imgact_pecoff.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/NOTES#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.amd64#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.arm#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.i386#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.ia64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.pc98#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.sparc64#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.sun4v#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options.amd64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options.i386#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options.pc98#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/altq/altq/altq_cbq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/altq/altq/altq_hfsc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/altq/altq/altq_priq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/altq/altq/altq_red.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/if_pflog.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/if_pfsync.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/if_pfsync.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/crypto/via/padlock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ipw/if_ipw.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/ispvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/rp/rp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sbni/if_sbni.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/snp/snp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/hda/hdac_private.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/ac97_patch.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/dsp.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_axe.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_axereg.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_cdce.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_ural.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uark.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ubser.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ugen.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uhub.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/umass.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/umodem.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ums.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_port.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_quirks.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_quirks.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_subr.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdi.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uvisor.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uvscom.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_fifoops.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_uma.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_uma.h#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/ibcs2/ibcs2_xenix.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/pc/vesa.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ipr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_isppp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_sysent.c#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_conf.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_priv.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_smp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_unit.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sys_generic.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.c#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.master#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/systrace_args.c#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty_pts.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty_pty.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty_tty.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/uipc_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#44 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/Makefile#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/ipfw/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/nxge/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/pf/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_ppp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netatalk/aarp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netatalk/ddp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_pcb.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_proto.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_fw2.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/raw_ip.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_indata.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_input.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_input.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_os_bsd.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctputil.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_subr.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah6.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah_core.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah_input.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ah_output.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp6.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_aesctr.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_core.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_input.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_output.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_rijndael.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_pcb.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_forward.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipcomp_core.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipcomp_input.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipcomp_output.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipsec.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipsec.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/nd6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_usrreq.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/key.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/keysock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/key.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/key.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/key_debug.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/key_debug.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/key_var.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/keydb.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/keydb.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/keysock.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netkey/keysock.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/nfsclient/nfs_bio.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/opencrypto/cast.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_arg.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac/mac_policy.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/conf.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/mbuf.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/param.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.h#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.mk#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysproto.h#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/systm.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_mmap.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_pageout.c#6 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.588 2007/06/17 04:27:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.589 2007/07/01 07:08:25 alc Exp $"); /* * Manages physical address maps. @@ -210,7 +210,8 @@ vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free); -static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde); +static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, + vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); @@ -1895,10 +1896,9 @@ * Remove a single page from a process address space */ static void -pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde) +pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, vm_page_t *free) { pt_entry_t *pte; - vm_page_t free = NULL; PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((*pde & PG_V) == 0) @@ -1906,9 +1906,8 @@ pte = pmap_pde_to_pte(pde, va); if ((*pte & PG_V) == 0) return; - pmap_remove_pte(pmap, pte, va, *pde, &free); + pmap_remove_pte(pmap, pte, va, *pde, free); pmap_invalidate_page(pmap, va); - pmap_free_zero_pages(free); } /* @@ -1947,7 +1946,7 @@ if (sva + PAGE_SIZE == eva) { pde = pmap_pde(pmap, sva); if (pde && (*pde & PG_PS) == 0) { - pmap_remove_page(pmap, sva, pde); + pmap_remove_page(pmap, sva, pde, &free); goto out; } } @@ -2018,12 +2017,11 @@ } } out: - if (anyvalid) { + if (anyvalid) pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); - } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* @@ -3003,9 +3001,9 @@ } } pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/GENERIC#5 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.482 2007/06/14 17:14:25 delphij Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ cpu HAMMER ident GENERIC @@ -75,6 +75,9 @@ # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel +# CPU frequency control +device cpufreq + # Bus support. device acpi device pci ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/NOTES#3 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.65 2007/05/09 15:55:45 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.68 2007/07/04 00:18:38 bz Exp $ # # @@ -542,9 +542,9 @@ #XXX#device i4bipr #XXX#options NI4BIPR=4 # enable VJ header compression detection for ipr i/f -options IPR_VJ +#XXX#options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) -options IPR_LOG=32 +#XXX#options IPR_LOG=32 # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/linux32/linux32_machdep.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.44 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.45 2007/07/04 23:06:43 peter Exp $"); #include #include @@ -927,7 +927,6 @@ bsd_args.len = linux_args->len; } bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE; - bsd_args.pad = 0; #ifdef DEBUG if (ldebug(mmap)) @@ -1153,7 +1152,6 @@ #endif sa.fd = args->fd; - sa.pad = 0; sa.length = args->length; return ftruncate(td, &sa); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/cam/cam_xpt.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.189 2007/06/17 05:55:53 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.190 2007/06/30 14:58:56 imp Exp $"); #include #include @@ -620,6 +620,18 @@ CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0 }, { + /* + * Western Digital My Book 250GB (USB) + * hangs upon serial number probing. + * PR: 107495 + */ + { + T_DIRECT, SIP_MEDIA_FIXED, "WD", + "2500JB External", "*" + }, + CAM_QUIRK_NOSERIAL, /*mintags*/0, /*maxtags*/0 + }, + { /* Default tagged queuing parameters for all devices */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, ==== //depot/projects/soc2007/rdivacky/linux_at/sys/cam/scsi/scsi_da.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.215 2007/06/16 18:22:19 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.224 2007/07/01 17:42:07 imp Exp $"); #include @@ -457,6 +457,14 @@ }, { /* + * iRiver U10 MP3 player + * PR: usb/92306 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "U10*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * X-Micro Flash Disk * PR: usb/96901 */ @@ -471,6 +479,62 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EM732X", "MP3 Player*", "1.0"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * Denver MP3 player + * PR: usb/107101 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "DENVER", "MP3 PLAYER", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * Philips USB Key Audio KEY013 + * PR: usb/68412 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "PHILIPS", "Key*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT + }, + { + /* + * JNC MP3 Player + * PR: usb/94439 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "JNC*" , "MP3 Player*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * SAMSUNG MP0402H + * PR: usb/108427 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "MP0402H", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * I/O Magic USB flash - Giga Bank + * PR: usb/108810 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "GS-Magic", "stor*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * JoyFly 128mb USB Flash Drive + * PR: 96133 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB 2.0", "Flash Disk*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * ChipsBnk usb stick + * PR: 103702 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ChipsBnk", "USB*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_misc.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.65 2007/06/17 04:37:57 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.66 2007/07/04 23:04:41 peter Exp $"); #include "opt_compat.h" @@ -475,6 +475,24 @@ return (mmap(td, &ap)); } +#ifdef COMPAT_FREEBSD6 +int +freebsd6_freebsd32_mmap(struct thread *td, struct freebsd6_freebsd32_mmap_args *uap) +{ + struct freebsd32_mmap_args ap; + + ap.addr = uap->addr; + ap.len = uap->len; + ap.prot = uap->prot; + ap.flags = uap->flags; + ap.fd = uap->fd; + ap.poslo = uap->poslo; + ap.poshi = uap->poshi; + + return (freebsd32_mmap(td, &ap)); +} +#endif + struct itimerval32 { struct timeval32 it_interval; struct timeval32 it_value; @@ -1616,6 +1634,71 @@ return (ftruncate(td, &ap)); } +#ifdef COMPAT_FREEBSD6 +/* versions with the 'int pad' argument */ +int +freebsd6_freebsd32_pread(struct thread *td, struct freebsd6_freebsd32_pread_args *uap) +{ + struct pread_args ap; + + ap.fd = uap->fd; + ap.buf = uap->buf; + ap.nbyte = uap->nbyte; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + return (pread(td, &ap)); +} + +int +freebsd6_freebsd32_pwrite(struct thread *td, struct freebsd6_freebsd32_pwrite_args *uap) +{ + struct pwrite_args ap; + + ap.fd = uap->fd; + ap.buf = uap->buf; + ap.nbyte = uap->nbyte; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + return (pwrite(td, &ap)); +} + +int +freebsd6_freebsd32_lseek(struct thread *td, struct freebsd6_freebsd32_lseek_args *uap) +{ + int error; + struct lseek_args ap; + off_t pos; + + ap.fd = uap->fd; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + ap.whence = uap->whence; + error = lseek(td, &ap); + /* Expand the quad return into two parts for eax and edx */ + pos = *(off_t *)(td->td_retval); + td->td_retval[0] = pos & 0xffffffff; /* %eax */ + td->td_retval[1] = pos >> 32; /* %edx */ + return error; +} + +int +freebsd6_freebsd32_truncate(struct thread *td, struct freebsd6_freebsd32_truncate_args *uap) +{ + struct truncate_args ap; + + ap.path = uap->path; + ap.length = (uap->lengthlo | ((off_t)uap->lengthhi << 32)); + return (truncate(td, &ap)); +} + +int +freebsd6_freebsd32_ftruncate(struct thread *td, struct freebsd6_freebsd32_ftruncate_args *uap) +{ + struct ftruncate_args ap; + + ap.fd = uap->fd; + ap.length = (uap->lengthlo | ((off_t)uap->lengthhi << 32)); + return (ftruncate(td, &ap)); +} +#endif /* COMPAT_FREEBSD6 */ + struct sf_hdtr32 { uint32_t headers; int hdr_cnt; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.76 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.77 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -134,22 +134,6 @@ char a3_l_[PADL_(uint32_t)]; uint32_t a3; char a3_r_[PADR_(uint32_t)]; char a4_l_[PADL_(uint32_t)]; uint32_t a4; char a4_r_[PADR_(uint32_t)]; }; -struct freebsd32_pread_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_pwrite_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_stat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; @@ -162,35 +146,6 @@ char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; }; -struct freebsd32_mmap_args { - char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; - char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; - char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_lseek_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; - char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; -}; -struct freebsd32_truncate_args { - char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_ftruncate_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_sysctl_args { char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)]; char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)]; @@ -322,6 +277,45 @@ char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)]; char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; }; +struct freebsd32_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; + char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd32_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *); int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *); int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *); @@ -341,15 +335,9 @@ int freebsd32_semsys(struct thread *, struct freebsd32_semsys_args *); int freebsd32_msgsys(struct thread *, struct freebsd32_msgsys_args *); int freebsd32_shmsys(struct thread *, struct freebsd32_shmsys_args *); -int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); -int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); int freebsd32_stat(struct thread *, struct freebsd32_stat_args *); int freebsd32_fstat(struct thread *, struct freebsd32_fstat_args *); int freebsd32_lstat(struct thread *, struct freebsd32_lstat_args *); -int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); -int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); -int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); -int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); int freebsd32_sysctl(struct thread *, struct freebsd32_sysctl_args *); int freebsd32_futimes(struct thread *, struct freebsd32_futimes_args *); int freebsd32_msgsnd(struct thread *, struct freebsd32_msgsnd_args *); @@ -377,6 +365,12 @@ int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *); int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *); int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *); +int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); +int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); +int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); +int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); +int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); +int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); #ifdef COMPAT_43 @@ -466,6 +460,63 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +struct freebsd6_freebsd32_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; + char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd6_freebsd32_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +int freebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *); +int freebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *); +int freebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *); +int freebsd6_freebsd32_lseek(struct thread *, struct freebsd6_freebsd32_lseek_args *); +int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); +int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); + +#endif /* COMPAT_FREEBSD6 */ + #define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4 #define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG #define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG @@ -485,15 +536,9 @@ #define FREEBSD32_SYS_AUE_freebsd32_semsys AUE_SEMSYS #define FREEBSD32_SYS_AUE_freebsd32_msgsys AUE_MSGSYS #define FREEBSD32_SYS_AUE_freebsd32_shmsys AUE_SHMSYS -#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD -#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE #define FREEBSD32_SYS_AUE_freebsd32_stat AUE_STAT #define FREEBSD32_SYS_AUE_freebsd32_fstat AUE_FSTAT #define FREEBSD32_SYS_AUE_freebsd32_lstat AUE_LSTAT -#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP -#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK -#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE -#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #define FREEBSD32_SYS_AUE_freebsd32_sysctl AUE_SYSCTL #define FREEBSD32_SYS_AUE_freebsd32_futimes AUE_FUTIMES #define FREEBSD32_SYS_AUE_freebsd32_msgsnd AUE_MSGSND @@ -521,6 +566,12 @@ #define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD +#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE +#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP +#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK +#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE +#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #undef PAD_ #undef PADL_ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/compat/freebsd32/freebsd32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.74 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.75 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ #define FREEBSD32_SYS_syscall 0 @@ -24,7 +24,7 @@ #define FREEBSD32_SYS_chmod 15 #define FREEBSD32_SYS_chown 16 #define FREEBSD32_SYS_break 17 - /* 18 is old freebsd32_getfsstat */ +#define FREEBSD32_SYS_freebsd4_freebsd32_getfsstat 18 /* 19 is obsolete olseek */ #define FREEBSD32_SYS_getpid 20 #define FREEBSD32_SYS_mount 21 @@ -153,8 +153,8 @@ /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ /* 156 is obsolete ogetdirentries */ - /* 157 is old freebsd32_statfs */ - /* 158 is old freebsd32_fstatfs */ +#define FREEBSD32_SYS_freebsd4_freebsd32_statfs 157 +#define FREEBSD32_SYS_freebsd4_freebsd32_fstatfs 158 #define FREEBSD32_SYS_getfh 161 #define FREEBSD32_SYS_getdomainname 162 #define FREEBSD32_SYS_setdomainname 163 @@ -164,8 +164,8 @@ #define FREEBSD32_SYS_freebsd32_semsys 169 #define FREEBSD32_SYS_freebsd32_msgsys 170 #define FREEBSD32_SYS_freebsd32_shmsys 171 -#define FREEBSD32_SYS_freebsd32_pread 173 -#define FREEBSD32_SYS_freebsd32_pwrite 174 +#define FREEBSD32_SYS_freebsd6_freebsd32_pread 173 +#define FREEBSD32_SYS_freebsd6_freebsd32_pwrite 174 #define FREEBSD32_SYS_ntp_adjtime 176 #define FREEBSD32_SYS_setgid 181 #define FREEBSD32_SYS_setegid 182 @@ -178,11 +178,11 @@ #define FREEBSD32_SYS_getrlimit 194 #define FREEBSD32_SYS_setrlimit 195 #define FREEBSD32_SYS_getdirentries 196 -#define FREEBSD32_SYS_freebsd32_mmap 197 +#define FREEBSD32_SYS_freebsd6_freebsd32_mmap 197 #define FREEBSD32_SYS___syscall 198 -#define FREEBSD32_SYS_freebsd32_lseek 199 -#define FREEBSD32_SYS_freebsd32_truncate 200 -#define FREEBSD32_SYS_freebsd32_ftruncate 201 +#define FREEBSD32_SYS_freebsd6_freebsd32_lseek 199 +#define FREEBSD32_SYS_freebsd6_freebsd32_truncate 200 +#define FREEBSD32_SYS_freebsd6_freebsd32_ftruncate 201 #define FREEBSD32_SYS_freebsd32_sysctl 202 #define FREEBSD32_SYS_mlock 203 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:46:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B71C116A46D; Thu, 5 Jul 2007 09:46:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 59CAD16A41F for ; Thu, 5 Jul 2007 09:46:30 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 496EB13C44B for ; Thu, 5 Jul 2007 09:46:30 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l659kUdP040348 for ; Thu, 5 Jul 2007 09:46:30 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l659kT2v040342 for perforce@freebsd.org; Thu, 5 Jul 2007 09:46:29 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 09:46:29 GMT Message-Id: <200707050946.l659kT2v040342@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122930 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:46:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=122930 Change 122930 by rdivacky@rdivacky_witten on 2007/07/05 09:45:40 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_i4bdrv.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_l4.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/Make.tags.inc#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.h#3 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ +# $FreeBSD: src/sys/Makefile,v 1.44 2007/07/05 08:55:13 bz Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netnatm netncp \ + netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} @@ -24,12 +24,14 @@ HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` +# You need the devel/cscope port for this. cscope: ${.CURDIR}/cscopenamefile cd ${.CURDIR}; cscope -k -p4 -i cscopenamefile ${.CURDIR}/cscopenamefile: cd ${.CURDIR}; find ${CSCOPEDIRS} -name "*.[csh]" > ${.TARGET} +# You need the devel/global and one of editor/emacs* ports for that. TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscopenamefile rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscopenamefile ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.85 2007/07/05 07:06:17 peter Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.86 2007/07/05 09:30:34 peter Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -90,7 +90,7 @@ CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 -.if ${MACHINE_ARCH} == "amd64" +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" WERROR?= -Werror .endif .endif ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_i4bdrv.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.44 2005/12/05 11:58:34 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.45 2007/07/05 08:53:21 bz Exp $"); #include "opt_i4b.h" @@ -423,19 +423,19 @@ switch(mdrsp->driver) { -#if NI4BIPR > 0 +#if defined(NI4BIPR) && (NI4BIPR > 0) case BDRV_IPR: dlt = ipr_ret_linktab(mdrsp->driver_unit); break; #endif -#if NI4BISPPP > 0 +#if defined(NI4BISPPP) && (NI4BISPPP > 0) case BDRV_ISPPP: dlt = i4bisppp_ret_linktab(mdrsp->driver_unit); break; #endif -#if NI4BTEL > 0 +#if defined(NI4BTEL) && (NI4BTEL > 0) case BDRV_TEL: dlt = tel_ret_linktab(mdrsp->driver_unit); break; @@ -447,7 +447,7 @@ break; #endif -#if NI4BING > 0 +#if defined(NI4BING) && (NI4BING > 0) case BDRV_ING: dlt = ing_ret_linktab(mdrsp->driver_unit); break; @@ -543,7 +543,7 @@ mui = (msg_updown_ind_t *)data; -#if NI4BIPR > 0 +#if defined(NI4BIPR) && (NI4BIPR > 0) if(mui->driver == BDRV_IPR) { drvr_link_t *dlt; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_l4.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_l4.c,v 1.20 2005/12/05 11:58:34 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_l4.c,v 1.21 2007/07/05 08:53:21 bz Exp $"); #include "opt_i4b.h" @@ -63,7 +63,7 @@ static void i4b_l4_setup_timeout_var_unit(call_desc_t *cd); static time_t i4b_get_idletime(call_desc_t *cd); -#if NI4BISPPP > 0 +#if defined(NI4BISPPP) && (NI4BISPPP > 0) extern time_t i4bisppp_idletime(int); #endif @@ -621,25 +621,25 @@ switch(cd->driver) { -#if NI4BRBCH > 0 +#if defined(NI4BRBCH) && (NI4BRBCH > 0) case BDRV_RBCH: cd->dlt = rbch_ret_linktab(cd->driver_unit); break; #endif -#if NI4BTEL > 0 +#if defined(NI4BTEL) && (NI4BTEL > 0) case BDRV_TEL: cd->dlt = tel_ret_linktab(cd->driver_unit); break; #endif -#if NI4BIPR > 0 +#if defined(NI4BIPR) && (NI4BIPR > 0) case BDRV_IPR: cd->dlt = ipr_ret_linktab(cd->driver_unit); break; #endif -#if NI4BISPPP > 0 +#if defined(NI4BISPPP) && (NI4BISPPP > 0) case BDRV_ISPPP: cd->dlt = i4bisppp_ret_linktab(cd->driver_unit); break; @@ -651,7 +651,7 @@ break; #endif -#if NI4BING > 0 +#if defined(NI4BING) && (NI4BING > 0) case BDRV_ING: cd->dlt = ing_ret_linktab(cd->driver_unit); break; @@ -675,25 +675,25 @@ switch(cd->driver) { -#if NI4BRBCH > 0 +#if defined(NI4BRBCH) && (NI4BRBCH > 0) case BDRV_RBCH: rbch_set_linktab(cd->driver_unit, cd->ilt); break; #endif -#if NI4BTEL > 0 +#if defined(NI4BTEL) && (NI4BTEL > 0) case BDRV_TEL: tel_set_linktab(cd->driver_unit, cd->ilt); break; #endif -#if NI4BIPR > 0 +#if defined(NI4BIPR) && (NI4BIPR > 0) case BDRV_IPR: ipr_set_linktab(cd->driver_unit, cd->ilt); break; #endif -#if NI4BISPPP > 0 +#if defined(NI4BISPPP) && (NI4BISPPP > 0) case BDRV_ISPPP: i4bisppp_set_linktab(cd->driver_unit, cd->ilt); break; @@ -705,7 +705,7 @@ break; #endif -#if NI4BING > 0 +#if defined(NI4BING) && (NI4BING > 0) case BDRV_ING: ing_set_linktab(cd->driver_unit, cd->ilt); break; @@ -794,7 +794,7 @@ i4b_get_idletime(call_desc_t *cd) { switch (cd->driver) { -#if NI4BISPPP > 0 +#if defined(NI4BISPPP) && (NI4BISPPP > 0) case BDRV_ISPPP: return i4bisppp_idletime(cd->driver_unit); break; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/Make.tags.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/kern/Make.tags.inc,v 1.19 2007/06/25 05:06:56 rafan Exp $ +# $FreeBSD: src/sys/kern/Make.tags.inc,v 1.20 2007/07/05 08:55:14 bz Exp $ # @(#)Make.tags.inc 8.1 (Berkeley) 6/11/93 SYS?= ${.CURDIR}/.. @@ -43,8 +43,9 @@ ${SYS}/netatalk/*.[ch] \ ${SYS}/netatm/*.[ch] \ ${SYS}/netinet/*.[ch] \ + ${SYS}/netinet6/*.[ch] \ + ${SYS}/netipsec/*.[ch] \ ${SYS}/netipx/*.[ch] \ - ${SYS}/netkey/*.[ch] \ ${SYS}/netnatm/*.[ch] \ ${SYS}/nfs/*.[ch] \ ${SYS}/nfsclient/*.[ch] \ @@ -61,8 +62,9 @@ ${SYS}/netatalk \ ${SYS}/netatm \ ${SYS}/netinet \ + ${SYS}/netinet6 \ + ${SYS}/netipsec \ ${SYS}/netipx \ - ${SYS}/netkey \ ${SYS}/netnatm \ ${SYS}/nfs \ ${SYS}/pci \ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.c#4 (text+ko) ==== @@ -611,6 +611,56 @@ return (0); } +void +lacp_req(struct lagg_softc *sc, caddr_t data) +{ + struct lacp_opreq *req = (struct lacp_opreq *)data; + struct lacp_softc *lsc = LACP_SOFTC(sc); + struct lacp_aggregator *la = lsc->lsc_active_aggregator; + + bzero(req, sizeof(struct lacp_opreq)); + if (la != NULL) { + req->actor_prio = ntohs(la->la_actor.lip_systemid.lsi_prio); + memcpy(&req->actor_mac, &la->la_actor.lip_systemid.lsi_mac, + ETHER_ADDR_LEN); + req->actor_key = ntohs(la->la_actor.lip_key); + req->actor_portprio = ntohs(la->la_actor.lip_portid.lpi_prio); + req->actor_portno = ntohs(la->la_actor.lip_portid.lpi_portno); + req->actor_state = la->la_actor.lip_state; + + req->partner_prio = ntohs(la->la_partner.lip_systemid.lsi_prio); + memcpy(&req->partner_mac, &la->la_partner.lip_systemid.lsi_mac, + ETHER_ADDR_LEN); + req->partner_key = ntohs(la->la_partner.lip_key); + req->partner_portprio = ntohs(la->la_partner.lip_portid.lpi_prio); + req->partner_portno = ntohs(la->la_partner.lip_portid.lpi_portno); + req->partner_state = la->la_partner.lip_state; + } +} + +void +lacp_portreq(struct lagg_port *lgp, caddr_t data) +{ + struct lacp_opreq *req = (struct lacp_opreq *)data; + struct lacp_port *lp = LACP_PORT(lgp); + + req->actor_prio = ntohs(lp->lp_actor.lip_systemid.lsi_prio); + memcpy(&req->actor_mac, &lp->lp_actor.lip_systemid.lsi_mac, + ETHER_ADDR_LEN); + req->actor_key = ntohs(lp->lp_actor.lip_key); + req->actor_portprio = ntohs(lp->lp_actor.lip_portid.lpi_prio); + req->actor_portno = ntohs(lp->lp_actor.lip_portid.lpi_portno); + req->actor_state = lp->lp_actor.lip_state; + + req->partner_prio = ntohs(lp->lp_partner.lip_systemid.lsi_prio); + memcpy(&req->partner_mac, &lp->lp_partner.lip_systemid.lsi_mac, + ETHER_ADDR_LEN); + req->partner_key = ntohs(lp->lp_partner.lip_key); + req->partner_portprio = ntohs(lp->lp_partner.lip_portid.lpi_prio); + req->partner_portno = ntohs(lp->lp_partner.lip_portid.lpi_portno); + req->partner_state = lp->lp_partner.lip_state; +} + static void lacp_disable_collecting(struct lacp_port *lp) { ==== //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.h#4 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/ieee8023ad_lacp.h,v 1.7 2007/06/12 07:29:11 thompsa Exp $ + * $FreeBSD: src/sys/net/ieee8023ad_lacp.h,v 1.8 2007/07/05 09:18:57 thompsa Exp $ */ /* @@ -270,6 +270,8 @@ void lacp_port_destroy(struct lagg_port *); void lacp_linkstate(struct lagg_port *); int lacp_port_isactive(struct lagg_port *); +void lacp_req(struct lagg_softc *, caddr_t); +void lacp_portreq(struct lagg_port *, caddr_t); /* following constants don't include terminating NUL */ #define LACP_MACSTR_MAX (2*6 + 5) ==== //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.c#3 (text+ko) ==== @@ -686,6 +686,8 @@ strlcpy(rp->rp_portname, lp->lp_ifp->if_xname, sizeof(rp->rp_portname)); rp->rp_prio = lp->lp_prio; rp->rp_flags = lp->lp_flags; + if (sc->sc_portreq != NULL) + (*sc->sc_portreq)(lp, (caddr_t)&rp->rp_psc); /* Add protocol specific flags */ switch (sc->sc_proto) { @@ -768,6 +770,8 @@ case SIOCGLAGG: ra->ra_proto = sc->sc_proto; ra->ra_ports = i = 0; + if (sc->sc_req != NULL) + (*sc->sc_req)(sc, (caddr_t)&ra->ra_psc); lp = SLIST_FIRST(&sc->sc_ports); while (lp && ra->ra_size >= i + sizeof(struct lagg_reqport)) { @@ -802,6 +806,8 @@ sc->sc_init = NULL; sc->sc_stop = NULL; sc->sc_lladdr = NULL; + sc->sc_req = NULL; + sc->sc_portreq = NULL; } if (error != 0) break; @@ -1532,6 +1538,8 @@ sc->sc_init = lacp_init; sc->sc_stop = lacp_stop; sc->sc_lladdr = lagg_lacp_lladdr; + sc->sc_req = lacp_req; + sc->sc_portreq = lacp_portreq; error = lacp_attach(sc); if (error) ==== //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.h#3 (text+ko) ==== @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/net/if_lagg.h,v 1.8 2007/06/12 07:29:11 thompsa Exp $ + * $FreeBSD: src/sys/net/if_lagg.h,v 1.9 2007/07/05 09:18:57 thompsa Exp $ */ #ifndef _NET_LAGG_H @@ -69,12 +69,34 @@ * lagg ioctls. */ +/* + * LACP current operational parameters structure. + */ +struct lacp_opreq { + uint16_t actor_prio; + uint8_t actor_mac[ETHER_ADDR_LEN]; + uint16_t actor_key; + uint16_t actor_portprio; + uint16_t actor_portno; + uint8_t actor_state; + uint16_t partner_prio; + uint8_t partner_mac[ETHER_ADDR_LEN]; + uint16_t partner_key; + uint16_t partner_portprio; + uint16_t partner_portno; + uint8_t partner_state; +}; + /* lagg port settings */ struct lagg_reqport { char rp_ifname[IFNAMSIZ]; /* name of the lagg */ char rp_portname[IFNAMSIZ]; /* name of the port */ u_int32_t rp_prio; /* port priority */ u_int32_t rp_flags; /* port flags */ + union { + struct lacp_opreq rpsc_lacp; + } rp_psc; +#define rp_lacpreq rp_psc.rpsc_lacp }; #define SIOCGLAGGPORT _IOWR('i', 140, struct lagg_reqport) @@ -89,6 +111,10 @@ size_t ra_size; /* size of buffer */ struct lagg_reqport *ra_port; /* allocated buffer */ int ra_ports; /* total port count */ + union { + struct lacp_opreq rpsc_lacp; + } ra_psc; +#define ra_lacpreq ra_psc.rpsc_lacp }; #define SIOCGLAGG _IOWR('i', 143, struct lagg_reqall) @@ -170,6 +196,8 @@ void (*sc_init)(struct lagg_softc *); void (*sc_stop)(struct lagg_softc *); void (*sc_lladdr)(struct lagg_softc *); + void (*sc_req)(struct lagg_softc *, caddr_t); + void (*sc_portreq)(struct lagg_port *, caddr_t); }; struct lagg_port { From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:55:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 41DCC16A46D; Thu, 5 Jul 2007 09:55:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 07C6016A400 for ; Thu, 5 Jul 2007 09:55:44 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D4A6A13C48C for ; Thu, 5 Jul 2007 09:55:43 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l659the7041086 for ; Thu, 5 Jul 2007 09:55:43 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l659thPV041083 for perforce@freebsd.org; Thu, 5 Jul 2007 09:55:43 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 09:55:43 GMT Message-Id: <200707050955.l659thPV041083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122932 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:55:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=122932 Change 122932 by rdivacky@rdivacky_witten on 2007/07/05 09:54:46 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/opendir.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 5 09:59:51 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 813EB16A46C; Thu, 5 Jul 2007 09:59:51 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 57A8416A400 for ; Thu, 5 Jul 2007 09:59:51 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 46F2113C455 for ; Thu, 5 Jul 2007 09:59:49 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l659xni4041341 for ; Thu, 5 Jul 2007 09:59:49 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l659xn0c041338 for perforce@freebsd.org; Thu, 5 Jul 2007 09:59:49 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 09:59:49 GMT Message-Id: <200707050959.l659xn0c041338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122933 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 09:59:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=122933 Change 122933 by rdivacky@rdivacky_witten on 2007/07/05 09:59:33 Add fdopendir. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Makefile.inc#2 edit .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/fdopendir.c#1 add Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Makefile.inc#2 (text+ko) ==== @@ -10,7 +10,7 @@ clock.c closedir.c confstr.c \ crypt.c ctermid.c daemon.c devname.c dirname.c disklabel.c \ dlfcn.c dlfunc.c drand48.c erand48.c err.c errlst.c errno.c \ - exec.c fmtcheck.c fmtmsg.c fnmatch.c \ + exec.c fdopendir.c fmtcheck.c fmtmsg.c fnmatch.c \ fpclassify.c frexp.c fstab.c ftok.c fts.c ftw.c \ getbootfile.c getbsize.c \ getcap.c getcwd.c getdomainname.c getgrent.c getgrouplist.c \ From owner-p4-projects@FreeBSD.ORG Thu Jul 5 10:06:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA48116A46B; Thu, 5 Jul 2007 10:06:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AB19416A41F for ; Thu, 5 Jul 2007 10:06:58 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9BC7713C44C for ; Thu, 5 Jul 2007 10:06:58 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65A6wSD043089 for ; Thu, 5 Jul 2007 10:06:58 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65A6w3O043086 for perforce@freebsd.org; Thu, 5 Jul 2007 10:06:58 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 10:06:58 GMT Message-Id: <200707051006.l65A6w3O043086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 10:06:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122934 Change 122934 by rdivacky@rdivacky_witten on 2007/07/05 10:06:17 Naive implementation of fdopendir. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/fdopendir.c#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/fdopendir.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)opendir.c 8.8 (Berkeley) 5/1/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/opendir.c,v 1.23 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD$"); #include "namespace.h" #include @@ -51,37 +51,24 @@ * Open a directory. */ DIR * -opendir(name) - const char *name; +fdopendir(fd) + const int fd; { - return (__opendir2(name, DTF_HIDEW|DTF_NODUP)); + return (__fdopendir2(fd, DTF_HIDEW|DTF_NODUP)); } DIR * -__opendir2(name, flags) - const char *name; +__fdopendir2(fd, flags) + const int fd; int flags; { DIR *dirp; - int fd; int incr; int saved_errno; int unionstack; struct stat statb; - /* - * stat() before _open() because opening of special files may be - * harmful. _fstat() after open because the file may have changed. - */ - if (stat(name, &statb) != 0) - return (NULL); - if (!S_ISDIR(statb.st_mode)) { - errno = ENOTDIR; - return (NULL); - } - if ((fd = _open(name, O_RDONLY | O_NONBLOCK)) == -1) - return (NULL); dirp = NULL; if (_fstat(fd, &statb) != 0) goto fail; @@ -168,14 +155,7 @@ * which has also been read -- see fts.c. */ if (flags & DTF_REWIND) { - (void)_close(fd); - if ((fd = _open(name, O_RDONLY)) == -1) { - saved_errno = errno; - free(buf); - free(dirp); - errno = saved_errno; - return (NULL); - } + /* XXX: what here? */ } /* From owner-p4-projects@FreeBSD.ORG Thu Jul 5 10:08:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B597E16A469; Thu, 5 Jul 2007 10:08:00 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 93D7916A468 for ; Thu, 5 Jul 2007 10:08:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6CB5A13C45A for ; Thu, 5 Jul 2007 10:08:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65A80kA043168 for ; Thu, 5 Jul 2007 10:08:00 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65A80pQ043162 for perforce@freebsd.org; Thu, 5 Jul 2007 10:08:00 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 10:08:00 GMT Message-Id: <200707051008.l65A80pQ043162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122935 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 10:08:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=122935 Change 122935 by rdivacky@rdivacky_witten on 2007/07/05 10:06:58 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/include/dirent.h#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 5 10:10:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C713A16A46B; Thu, 5 Jul 2007 10:10:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8910316A421 for ; Thu, 5 Jul 2007 10:10:03 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 767AA13C489 for ; Thu, 5 Jul 2007 10:10:03 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65AA3Tm043248 for ; Thu, 5 Jul 2007 10:10:03 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65AA3Z6043245 for perforce@freebsd.org; Thu, 5 Jul 2007 10:10:03 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 10:10:03 GMT Message-Id: <200707051010.l65AA3Z6043245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 10:10:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=122936 Change 122936 by rdivacky@rdivacky_witten on 2007/07/05 10:09:14 fdopendir and __fdopendir2 prototypes. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/include/dirent.h#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/include/dirent.h#2 (text+ko) ==== @@ -94,11 +94,13 @@ __BEGIN_DECLS #if __BSD_VISIBLE DIR *__opendir2(const char *, int); +DIR *__fdopendir2(int, int); int alphasort(const void *, const void *); int getdents(int, char *, int); int getdirentries(int, char *, int, long *); #endif DIR *opendir(const char *); +DIR *fdopendir(int); struct dirent * readdir(DIR *); #if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500 From owner-p4-projects@FreeBSD.ORG Thu Jul 5 11:18:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9754C16A46B; Thu, 5 Jul 2007 11:18:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5455016A469 for ; Thu, 5 Jul 2007 11:18:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 44EE513C45D for ; Thu, 5 Jul 2007 11:18:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65BITg5049555 for ; Thu, 5 Jul 2007 11:18:29 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65BITOC049552 for perforce@freebsd.org; Thu, 5 Jul 2007 11:18:29 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 11:18:29 GMT Message-Id: <200707051118.l65BITOC049552@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 11:18:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122941 Change 122941 by gonzo@gonzo_jeeves on 2007/07/05 11:17:52 o Replace exception_restore_registers with it's content and put setting cp0 status register to delay slot of eret. Otherwise we're getting Address Error exception trying to fetch eret instruction with KSU bit set in status register. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/swtch.S#12 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/swtch.S#12 (text+ko) ==== @@ -193,7 +193,67 @@ .set noat lw t3, PC_CURTHREAD(t2) lw k1, TD_FRAME(t3) - jal exception_restore_registers - nop + + /* + * Load extended registers into some GPRs, and start unrolling + * the trapframe, putting back the extended registers just + * before we need to restore those GPRs. This doesn't do any + * special ordering like the save_registers routine might, + * but it keeps the flow relatively consistent. + */ + lw a1, TF_REG_EPC(k1) + lw a0, TF_REG_MULHI(k1) + lw v1, TF_REG_MULLO(k1) + + lw ra, TF_REG_RA(k1) + lw t9, TF_REG_T9(k1) + lw t8, TF_REG_T8(k1) + lw ta3, TF_REG_TA3(k1) + lw ta2, TF_REG_TA2(k1) + lw ta1, TF_REG_TA1(k1) + lw ta0, TF_REG_TA0(k1) + lw t3, TF_REG_T3(k1) + lw t2, TF_REG_T2(k1) + lw t1, TF_REG_T1(k1) + lw t0, TF_REG_T0(k1) + + lw s0, TF_REG_S0(k1) + lw s1, TF_REG_S1(k1) + lw s2, TF_REG_S2(k1) + lw s3, TF_REG_S3(k1) + lw s4, TF_REG_S4(k1) + lw s5, TF_REG_S5(k1) + lw s6, TF_REG_S6(k1) + lw s7, TF_REG_S7(k1) + lw s8, TF_REG_S8(k1) + + /* + * Brief interlude. + */ + mtc0 a1, MIPS_COP_0_EXC_PC + mthi a0 + mtlo v1 + + /* + * Now restore the registers we used for scratch, and nearby + * GPRs. + */ + lw a3, TF_REG_A3(k1) + lw a2, TF_REG_A2(k1) + lw a1, TF_REG_A1(k1) + lw a0, TF_REG_A0(k1) + lw v1, TF_REG_V1(k1) + lw v0, TF_REG_V0(k1) + lw gp, TF_REG_GP(k1) + lw sp, TF_REG_SP(k1) + + /* + * We are done with the assembler temporary, restore it, and + * return with it disabled, just in case. + */ + .set noat + lw AT, TF_REG_AST(k1) + lw k1, TF_REG_SR(k1) eret + mtc0 k1, MIPS_COP_0_STATUS END(fork_trampoline) From owner-p4-projects@FreeBSD.ORG Thu Jul 5 12:49:21 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 090D316A46E; Thu, 5 Jul 2007 12:49:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A996916A46B for ; Thu, 5 Jul 2007 12:49:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9AC4F13C43E for ; Thu, 5 Jul 2007 12:49:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65CnKYZ068366 for ; Thu, 5 Jul 2007 12:49:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65CnK7F068363 for perforce@freebsd.org; Thu, 5 Jul 2007 12:49:20 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 12:49:20 GMT Message-Id: <200707051249.l65CnK7F068363@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 12:49:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=122942 Change 122942 by gonzo@gonzo_jeeves on 2007/07/05 12:48:54 o Set _wsize to whole physical memory region (it's how things are in NetBSD) o Allocate map region with M_ZERO o Borrow bus_dmamap_load implementation from -arm tree o Remove panic from _bus_dmamap_unload which is a noop now Tested with: ADM5120 switch engine Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#4 (text+ko) ==== @@ -111,9 +111,6 @@ vm_offset_t _wsize; }; -/* XXXMIPS: waith with DMA till real hardware will be used */ -#define NO_DMA - #define DMAMAP_LINEAR 0x1 #define DMAMAP_MBUF 0x2 #define DMAMAP_UIO 0x4 @@ -151,8 +148,6 @@ SYSINIT(busdma, SI_SUB_VM, SI_ORDER_ANY, mips_dmamap_freelist_init, NULL); - - /* * Check to see if the specified page is in an allowed DMA range. */ @@ -215,7 +210,7 @@ TAILQ_REMOVE(&dmamap_freelist, map, freelist); mtx_unlock(&busdma_mtx); if (!map) { - map = malloc(sizeof(*map), M_DEVBUF, M_NOWAIT); + map = malloc(sizeof(*map), M_DEVBUF, M_NOWAIT | M_ZERO); if (map) map->flags = DMAMAP_ALLOCATED; } else @@ -278,7 +273,8 @@ newtag->map_count = 0; newtag->_wbase = 0; newtag->_physbase = 0; - newtag->_wsize = 64 * 1024 * 1024; + /* XXXMIPS: Should we limit window size to amount of physical memory */ + newtag->_wsize = MIPS_KSEG1_START - MIPS_KSEG0_START; if (lockfunc != NULL) { newtag->lockfunc = lockfunc; newtag->lockfuncarg = lockfuncarg; @@ -449,11 +445,6 @@ return (ENOMEM); } if (flags & BUS_DMA_COHERENT) { - /* XXXMIPS: check this later - void *tmpaddr = arm_remap_nocache( - (void *)((vm_offset_t)*vaddr &~ PAGE_MASK), - dmat->maxsize + ((vm_offset_t)*vaddr & PAGE_MASK)); - */ void *tmpaddr = (void *)*vaddr; if (tmpaddr) { @@ -461,7 +452,7 @@ ((vm_offset_t)*vaddr & PAGE_MASK)); newmap->origbuffer = *vaddr; newmap->allocbuffer = tmpaddr; - mips_dcache_wbinv_range((vm_offset_t)*vaddr, + mips_dcache_wbinv_range((vm_offset_t)*vaddr, dmat->maxsize); *vaddr = tmpaddr; } else @@ -521,20 +512,17 @@ /* * Get the physical address for this segment. */ - curaddr = pmap_extract(pmap, vaddr); + KASSERT(kernel_pmap == pmap, ("pmap is not kernel pmap")); + curaddr = pmap_kextract(vaddr); /* * If we're beyond the current DMA window, indicate * that and try to fall back onto something else. */ - /* XXXMIPS: check for range validity */ if (curaddr < dmat->_physbase || curaddr >= (dmat->_physbase + dmat->_wsize)) return (EINVAL); -#if 0 - printf("dma: addr 0x%08lx -> 0x%08lx\n", curaddr, - (curaddr - t->_physbase) + t->_wbase); -#endif + /* * In a valid DMA range. Translate the physical * memory address to an address in the DMA window. @@ -611,6 +599,7 @@ error = bus_dmamap_load_buffer(dmat, dm_segments, map, buf, buflen, kernel_pmap, flags, &lastaddr, &nsegs); + if (error) (*callback)(callback_arg, NULL, 0, error); else @@ -631,8 +620,49 @@ bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); - return (0); +#ifdef __CC_SUPPORTS_DYNAMIC_ARRAY_INIT + bus_dma_segment_t dm_segments[dmat->nsegments]; +#else + bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS]; +#endif + int nsegs = -1, error = 0; + + M_ASSERTPKTHDR(m0); + + map->flags &= ~DMAMAP_TYPE_MASK; + map->flags |= DMAMAP_MBUF | DMAMAP_COHERENT; + map->buffer = m0; + map->len = 0; + + if (m0->m_pkthdr.len <= dmat->maxsize) { + vm_offset_t lastaddr = 0; + struct mbuf *m; + + for (m = m0; m != NULL && error == 0; m = m->m_next) { + if (m->m_len > 0) { + error = bus_dmamap_load_buffer(dmat, + dm_segments, map, m->m_data, m->m_len, + pmap_kernel(), flags, &lastaddr, &nsegs); + map->len += m->m_len; + } + } + } else { + error = EINVAL; + } + + if (error) { + /* + * force "no valid mappings" on error in callback. + */ + (*callback)(callback_arg, dm_segments, 0, 0, error); + } else { + (*callback)(callback_arg, dm_segments, nsegs + 1, + m0->m_pkthdr.len, error); + } + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, dmat->flags, error, nsegs + 1); + + return (error); } int @@ -641,6 +671,7 @@ int flags) { int error = 0; + panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); return (error); } @@ -653,6 +684,7 @@ bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { + panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); return (0); } @@ -663,7 +695,7 @@ void _bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { - panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); + return; } @@ -672,11 +704,13 @@ static __inline void bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op) { + panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); } void _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { - panic("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__); + + /* XXXMIPS: flush caches or whatever */ } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:17:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D150416A421; Thu, 5 Jul 2007 13:17:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9DE9916A400 for ; Thu, 5 Jul 2007 13:17:57 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7701413C46A for ; Thu, 5 Jul 2007 13:17:57 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DHvmv072460 for ; Thu, 5 Jul 2007 13:17:57 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DHvRh072454 for perforce@freebsd.org; Thu, 5 Jul 2007 13:17:57 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 13:17:57 GMT Message-Id: <200707051317.l65DHvRh072454@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122945 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:17:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=122945 Change 122945 by gonzo@gonzo_jeeves on 2007/07/05 13:17:01 o Sync instructions cache in mips_vector_init after all exception vectors have been set. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/cpu.c#19 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/cpu.c#19 (text+ko) ==== @@ -106,6 +106,7 @@ MIPS_INSTALL_VECTOR(CACHE, Cache); MIPS_INSTALL_VECTOR(INTERRUPT, Exception); /* XXX */ MIPS_INSTALL_VECTOR(GENERIC, Exception); + mips_icache_sync_all(); mips_wr_status(mips_rd_status() & ~MIPS_SR_BEV); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:17:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A466216A533; Thu, 5 Jul 2007 13:17:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0E45E16A4B3 for ; Thu, 5 Jul 2007 13:17:57 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CB0C213C46C for ; Thu, 5 Jul 2007 13:17:57 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DHvpk072467 for ; Thu, 5 Jul 2007 13:17:57 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DHvft072463 for perforce@freebsd.org; Thu, 5 Jul 2007 13:17:57 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 13:17:57 GMT Message-Id: <200707051317.l65DHvft072463@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122946 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:17:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122946 Change 122946 by rdivacky@rdivacky_witten on 2007/07/05 13:17:33 Dont close the fd in a case of error. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/fdopendir.c#3 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/fdopendir.c#3 (text+ko) ==== @@ -257,7 +257,6 @@ fail: saved_errno = errno; free(dirp); - (void)_close(fd); errno = saved_errno; return (NULL); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:20:02 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D993016A4AC; Thu, 5 Jul 2007 13:20:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AF7C716A4A9 for ; Thu, 5 Jul 2007 13:20:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8268E13C487 for ; Thu, 5 Jul 2007 13:20:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DK1Sf072584 for ; Thu, 5 Jul 2007 13:20:01 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DK1nq072581 for perforce@freebsd.org; Thu, 5 Jul 2007 13:20:01 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 13:20:01 GMT Message-Id: <200707051320.l65DK1nq072581@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122948 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:20:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=122948 Change 122948 by rdivacky@rdivacky_witten on 2007/07/05 13:19:39 Dont mess with modules/Makefile, it works now as expected. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/Makefile#6 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/modules/Makefile#6 (text+ko) ==== @@ -416,6 +416,7 @@ _tmpfs= tmpfs _wi= wi _xe= xe +.if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif .if ${MACHINE} == "i386" @@ -465,6 +466,7 @@ _pmc= pmc _snc= snc .endif +.endif .if ${MACHINE_ARCH} == "amd64" _aac= aac From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:21:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A67BE16A481; Thu, 5 Jul 2007 13:21:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 83EF116A47E for ; Thu, 5 Jul 2007 13:21:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5215B13C4C7 for ; Thu, 5 Jul 2007 13:21:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DL262072718 for ; Thu, 5 Jul 2007 13:21:02 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DL2pU072714 for perforce@freebsd.org; Thu, 5 Jul 2007 13:21:02 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 13:21:02 GMT Message-Id: <200707051321.l65DL2pU072714@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122949 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:21:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=122949 Change 122949 by gonzo@gonzo_jeeves on 2007/07/05 13:20:28 o Enable kdbpeek_X routines family for db_read_bytes. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/db_interface.c#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/db_interface.c#5 (text+ko) ==== @@ -61,19 +61,12 @@ static void kdbpoke_4(db_addr_t addr, int newval); static void kdbpoke_2(db_addr_t addr, short newval); static void kdbpoke_1(db_addr_t addr, char newval); -/* - * XXXMIPS: - */ -#if 0 static short kdbpeek_2(db_addr_t addr); static char kdbpeek_1(db_addr_t addr); +#if 0 static db_addr_t MachEmulateBranch(struct frame *, db_addr_t, unsigned long, int); #endif -/* - * XXXMIPS: - */ -#if 0 int kdbpeek(db_addr_t addr) { @@ -96,7 +89,6 @@ return *(char *)addr; } -#endif /* * kdbpoke -- write a value to a kernel virtual address. @@ -286,18 +278,16 @@ int db_read_bytes(vm_offset_t addr, size_t size, char *data) { - -/* - * XXXMIPS: warning: use of cast expressions as lvalues is deprecated - */ -#if 0 + int *int_ptr = (int *)data; + short *short_ptr = (short *)data; + char *char_ptr = data; while (size >= 4) - *((int*)data)++ = kdbpeek(addr), addr += 4, size -= 4; + *(int_ptr)++ = kdbpeek(addr), addr += 4, size -= 4; while (size >= 2) - *((short*)data)++ = kdbpeek_2(addr), addr += 2, size -= 2; + *(short_ptr)++ = kdbpeek_2(addr), addr += 2, size -= 2; if (size == 1) - *((char*)data)++ = kdbpeek_1(addr); -#endif + *(char_ptr)++ = kdbpeek_1(addr); + return (0); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:22:05 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D7ED16A473; Thu, 5 Jul 2007 13:22:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D5D5216A46F for ; Thu, 5 Jul 2007 13:22:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AEFE213C4E8 for ; Thu, 5 Jul 2007 13:22:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DM4SB073068 for ; Thu, 5 Jul 2007 13:22:04 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DM4uM073065 for perforce@freebsd.org; Thu, 5 Jul 2007 13:22:04 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 5 Jul 2007 13:22:04 GMT Message-Id: <200707051322.l65DM4uM073065@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 122950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:22:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=122950 Change 122950 by rdivacky@rdivacky_witten on 2007/07/05 13:21:38 Change ssize_t to int for the actual function of readlinkat. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#45 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#45 (text+ko) ==== @@ -2690,7 +2690,7 @@ size_t bufsize; }; #endif -ssize_t +int readlinkat(struct thread *td, struct readlinkat_args *args) { return (kern_readlinkat(td, args->fd, args->path, UIO_USERSPACE, From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:23:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13D1B16A468; Thu, 5 Jul 2007 13:23:07 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C8DB316A421 for ; Thu, 5 Jul 2007 13:23:06 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B996913C44C for ; Thu, 5 Jul 2007 13:23:06 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DN6FK073226 for ; Thu, 5 Jul 2007 13:23:06 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DN60j073223 for perforce@freebsd.org; Thu, 5 Jul 2007 13:23:06 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 13:23:06 GMT Message-Id: <200707051323.l65DN60j073223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122951 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:23:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=122951 Change 122951 by gonzo@gonzo_jeeves on 2007/07/05 13:22:17 o Style clean-up Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#25 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#25 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#24 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#25 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -813,19 +813,12 @@ lw s7, TF_REG_S7(k1) lw s8, TF_REG_S8(k1) - - /* * Brief interlude. */ mtc0 a1, MIPS_COP_0_EXC_PC mthi a0 mtlo v1 -#if 0 - mtc0 v0, MIPS_COP_0_STATUS -#endif - - /* * Now restore the registers we used for scratch, and nearby From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:24:09 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4E2B16A46D; Thu, 5 Jul 2007 13:24:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ABB7616A41F for ; Thu, 5 Jul 2007 13:24:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9CB0013C4B7 for ; Thu, 5 Jul 2007 13:24:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DO82d073292 for ; Thu, 5 Jul 2007 13:24:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65DO8RV073289 for perforce@freebsd.org; Thu, 5 Jul 2007 13:24:08 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 13:24:08 GMT Message-Id: <200707051324.l65DO8RV073289@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122952 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:24:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=122952 Change 122952 by gonzo@gonzo_jeeves on 2007/07/05 13:23:59 o Add read/write functions for watchlo/watchhi cp0 registers. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpufunc.h#17 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpufunc.h#17 (text+ko) ==== @@ -191,6 +191,8 @@ MIPS_RDRW32_COP0(entryhi, MIPS_COP_0_TLB_HI); MIPS_RDRW32_COP0(pagemask, MIPS_COP_0_TLB_PG_MASK); MIPS_RDRW32_COP0(prid, MIPS_COP_0_PRID); +MIPS_RDRW32_COP0(watchlo, MIPS_COP_0_WATCH_LO); +MIPS_RDRW32_COP0(watchhi, MIPS_COP_0_WATCH_HI); static __inline u_int32_t mips_rd_config_sel1(void) From owner-p4-projects@FreeBSD.ORG Thu Jul 5 13:57:52 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5463916A46F; Thu, 5 Jul 2007 13:57:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 025F616A400 for ; Thu, 5 Jul 2007 13:57:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E73C613C4C3 for ; Thu, 5 Jul 2007 13:57:51 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65DvpwO075541 for ; Thu, 5 Jul 2007 13:57:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65Dvp18075538 for perforce@freebsd.org; Thu, 5 Jul 2007 13:57:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Jul 2007 13:57:51 GMT Message-Id: <200707051357.l65Dvp18075538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 122954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 13:57:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=122954 Change 122954 by gonzo@gonzo_jeeves on 2007/07/05 13:57:25 o Show fields and flags of cp0 status and cause registers on panic. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/trap.c#22 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#22 (text+ko) ==== @@ -129,6 +129,26 @@ trapsignal(td, &ksi); } +/* + * Helper routines to explain content of fields/flags for cp0 registers + */ +#define PRINT_VAL(val, bit, size, name) do { \ + if(coma) \ + printf(","); \ + printf("%s=%x", name, \ + (((val) >> (bit)) & ((1 << ((size)+1))-1))); \ + coma = 1; \ + } while(0) + +#define PRINT_FLAG(val, bit, name) do { \ + if(((val) >> (bit)) & 1) { \ + if(coma) \ + printf(","); \ + printf("%s", name); \ + coma = 1; \ + } \ + } while(0) + void trap(struct trapframe * tf, u_int cause, void *badvaddr) { @@ -138,6 +158,7 @@ struct trap_identifier *tid; int code, kernelmode; int ftype, error; + u_int coma = 0, status; platform_trap_enter(); @@ -303,8 +324,40 @@ printf("program counter = %#x\n", tf->tf_regs[TF_EPC]); printf("return address = %#x\n", tf->tf_regs[TF_RA]); printf("bad virtual address = %p\n", badvaddr); - printf("cause = %#x\n", cause); - printf("status = %#x\n", tf->tf_regs[TF_SR]); + + printf("cause = %#x <", cause); + PRINT_VAL(cause, 2, 5, "ExcCode"); + PRINT_VAL(cause, 8, 2, "IPSW"); + PRINT_VAL(cause, 10, 2, "IPHW"); + PRINT_FLAG(cause, 22, "WP"); + PRINT_FLAG(cause, 23, "IV"); + PRINT_VAL(cause, 28, 2, "CE"); + PRINT_FLAG(cause, 31, "BD"); + printf(">\n"); + + coma = 0; + status = tf->tf_regs[TF_SR]; + printf("status = %#x <", status); + PRINT_VAL(status, 28, 4, "CU"); + PRINT_FLAG(status, 27, "RP"); + PRINT_FLAG(status, 26, "FR"); + PRINT_FLAG(status, 25, "RE"); + PRINT_FLAG(status, 24, "MX"); + PRINT_FLAG(status, 23, "PX"); + PRINT_FLAG(status, 22, "BEV"); + PRINT_FLAG(status, 21, "TS"); + PRINT_FLAG(status, 20, "SR"); + PRINT_FLAG(status, 19, "NMI"); + PRINT_VAL(status, 8, 8, "IM"); + PRINT_FLAG(status, 7, "KX"); + PRINT_FLAG(status, 6, "SX"); + PRINT_FLAG(status, 5, "UX"); + PRINT_FLAG(status, 4, "UM"); + PRINT_FLAG(status, 3, "RO"); + PRINT_FLAG(status, 2, "ERL"); + PRINT_FLAG(status, 1, "EXL"); + PRINT_FLAG(status, 0, "IE"); + printf(">\n"); printf("current thread = %p\n", curthread); if (curthread != NULL) { printf("current process = "); @@ -339,6 +392,9 @@ platform_trap_exit(); } +#undef PRINT_FLAG +#undef PRINT_VAL + int check_address(void *addr) { From owner-p4-projects@FreeBSD.ORG Thu Jul 5 14:31:35 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 972DC16A46B; Thu, 5 Jul 2007 14:31:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 350BB16A468 for ; Thu, 5 Jul 2007 14:31:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2570113C43E for ; Thu, 5 Jul 2007 14:31:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65EVZYC079678 for ; Thu, 5 Jul 2007 14:31:35 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65EVYUJ079675 for perforce@freebsd.org; Thu, 5 Jul 2007 14:31:34 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 5 Jul 2007 14:31:34 GMT Message-Id: <200707051431.l65EVYUJ079675@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122955 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 14:31:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=122955 Change 122955 by lulf@lulf_carrot on 2007/07/05 14:31:21 - Implement raid5 command, which enables easy creation of raid5 volumes. - Remember to setup objects after we have run raid5/mirror/stripe/concat. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#27 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#20 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#3 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#27 (text+ko) ==== @@ -444,6 +444,9 @@ } else if (!strcmp(verb, "move")) { gv_move(gp, req); + } else if (!strcmp(verb, "raid5")) { + gv_raid5(gp, req); + } else if (!strcmp(verb, "rebuildparity") || !strcmp(verb, "checkparity")) { gv_parityop(sc, req); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#20 (text+ko) ==== @@ -33,6 +33,7 @@ void gv_concat(struct g_geom *gp, struct gctl_req *); void gv_mirror(struct g_geom *gp, struct gctl_req *); void gv_stripe(struct g_geom *gp, struct gctl_req *); +void gv_raid5(struct g_geom *gp, struct gctl_req *); /* geom_vinum_drive.c */ void gv_save_config(struct gv_softc *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#3 (text+ko) ==== @@ -100,6 +100,7 @@ s->size = -1; gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } + gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } @@ -191,6 +192,83 @@ scount++; } } + gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); +} + +void +gv_raid5(struct g_geom *gp, struct gctl_req *req) +{ + struct gv_softc *sc; + struct gv_drive *d; + struct gv_volume *v; + struct gv_plex *p; + struct gv_sd *s; + int *drives, *flags, dcount; + char *vol, *drive, buf[30]; + off_t *stripesize; + + dcount = 0; + sc = gp->softc; + + vol = gctl_get_param(req, "name", NULL); + if (vol == NULL) { + gctl_error(req, "volume's not given"); + return; + } + flags = gctl_get_paraml(req, "flags", sizeof(*flags)); + drives = gctl_get_paraml(req, "drives", sizeof(*drives)); + stripesize = gctl_get_paraml(req, "stripesize", sizeof(*stripesize)); + + if (stripesize == NULL) { + gctl_error(req, "no stripesize given"); + return; + } + + if (drives == NULL) { + gctl_error(req, "drives not given"); + return; + } + + /* We must have at least three drives. */ + if (*drives < 3) { + gctl_error(req, "must have at least three drives for this " + "plex organisation"); + return; + } + /* First we create the volume. */ + v = g_malloc(sizeof(*v), M_WAITOK | M_ZERO); + strlcpy(v->name, vol, GV_MAXVOLNAME); + v->state = GV_VOL_UP; + gv_post_event(sc, GV_EVENT_CREATE_VOLUME, v, NULL, 0, 0); + + /* Then we create the plex. */ + p = g_malloc(sizeof(*p), M_WAITOK | M_ZERO); + snprintf(p->name, sizeof(p->name), "%s.p%d", v->name, v->plexcount); + strlcpy(p->volume, v->name, GV_MAXVOLNAME); + p->org = GV_PLEX_RAID5; + p->stripesize = *stripesize; + gv_post_event(sc, GV_EVENT_CREATE_PLEX, p, NULL, 0, 0); + + /* Create subdisks on drives. */ + for (dcount = 0; dcount < *drives; dcount++) { + snprintf(buf, sizeof(buf), "drive%d", dcount); + drive = gctl_get_param(req, buf, NULL); + d = gv_find_drive(sc, drive); + if (d == NULL) { + gctl_error(req, "No such drive '%s'", drive); + continue; + } + s = g_malloc(sizeof(*s), M_WAITOK | M_ZERO); + snprintf(s->name, sizeof(s->name), "%s.s%d", p->name, dcount); + strlcpy(s->plex, p->name, GV_MAXPLEXNAME); + strlcpy(s->drive, drive, GV_MAXDRIVENAME); + s->plex_offset = -1; + s->drive_offset = -1; + s->size = -1; + gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); + } + gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } @@ -244,8 +322,7 @@ p->stripesize = 262144; gv_post_event(sc, GV_EVENT_CREATE_PLEX, p, NULL, 0, 0); - /* Drives are first (only right now) priority. We just gives each even - * drive to plex one, and each odd to plex two. */ + /* Create subdisks on drives. */ for (dcount = 0; dcount < *drives; dcount++) { snprintf(buf, sizeof(buf), "drive%d", dcount); drive = gctl_get_param(req, buf, NULL); @@ -263,5 +340,6 @@ s->size = -1; gv_post_event(sc, GV_EVENT_CREATE_SD, s, NULL, 0, 0); } + gv_post_event(sc, GV_EVENT_SETUP_OBJECTS, sc, NULL, 0, 0); gv_post_event(sc, GV_EVENT_SAVE_CONFIG, sc, NULL, 0, 0); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 14:33:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 969E616A468; Thu, 5 Jul 2007 14:33:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B6EA16A400 for ; Thu, 5 Jul 2007 14:33:38 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5B3A513C4C3 for ; Thu, 5 Jul 2007 14:33:38 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65EXcQL079809 for ; Thu, 5 Jul 2007 14:33:38 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65EXb2S079806 for perforce@freebsd.org; Thu, 5 Jul 2007 14:33:37 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 5 Jul 2007 14:33:37 GMT Message-Id: <200707051433.l65EXb2S079806@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122956 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 14:33:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=122956 Change 122956 by lulf@lulf_carrot on 2007/07/05 14:32:43 - Implement userland part of the raid5 command. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#12 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#12 (text+ko) ==== @@ -65,6 +65,7 @@ void gvinum_mirror(int, char **); void gvinum_parityop(int, char **, int); void gvinum_printconfig(int, char **); +void gvinum_raid5(int, char **); void gvinum_rename(int, char **); void gvinum_resetconfig(void); void gvinum_rm(int, char **); @@ -427,8 +428,8 @@ } /* - * General routine for creating a volume. Mainly for use by concat, mirror and - * stripe commands. + * General routine for creating a volume. Mainly for use by concat, mirror, + * raid5 and stripe commands. */ void create_volume(int argc, char **argv, char *verb) @@ -437,10 +438,13 @@ const char *errstr; char buf[BUFSIZ], *drivename, *volname; int drives, flags, i; + off_t stripesize; flags = 0; drives = 0; volname = NULL; + stripesize = 262144; + /* XXX: Should we check for argument length? */ req = gctl_get_handle(); @@ -455,6 +459,8 @@ flags |= GV_FLAG_V; } else if (!strcmp(argv[i], "-s")) { flags |= GV_FLAG_S; + if (!strcmp(verb, "raid5")) + stripesize = gv_sizespec(argv[++i]); } else { /* Assume it's a drive. */ snprintf(buf, sizeof(buf), "drive%d", drives++); @@ -468,6 +474,8 @@ } } + gctl_ro_param(req, "stripesize", sizeof(off_t), &stripesize); + /* Find a free volume name. */ if (volname == NULL) volname = find_name("gvinumvolume", GV_TYPE_VOL, GV_MAXVOLNAME); @@ -646,6 +654,8 @@ "quit Exit the vinum program when running in interactive mode." " Nor-\n" " mally this would be done by entering the EOF character.\n" + "raid5 [-fv] [-s stripesize] [-n name] drives\n" + " Create a RAID-5 volume from the specified drives.\n" "rename [-r] [drive | subdisk | plex | volume] newname\n" " Change the name of the specified object.\n" "rebuildparity plex [-f]\n" @@ -917,7 +927,20 @@ gctl_free(req); } +/* Create a RAID-5 volume. */ void +gvinum_raid5(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage:\traid5 [-fv] [-s stripesize] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "raid5"); +} + + +void gvinum_rename(int argc, char **argv) { struct gctl_req *req; @@ -1199,6 +1222,8 @@ gvinum_move(argc, argv); else if (!strcmp(argv[0], "printconfig")) gvinum_printconfig(argc, argv); + else if (!strcmp(argv[0], "raid5")) + gvinum_raid5(argc, argv); else if (!strcmp(argv[0], "rename")) gvinum_rename(argc, argv); else if (!strcmp(argv[0], "resetconfig")) From owner-p4-projects@FreeBSD.ORG Thu Jul 5 14:44:54 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1F8C16A46B; Thu, 5 Jul 2007 14:44:53 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6E5AA16A400 for ; Thu, 5 Jul 2007 14:44:53 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5EE7913C448 for ; Thu, 5 Jul 2007 14:44:53 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65Eir70080565 for ; Thu, 5 Jul 2007 14:44:53 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65EirIS080560 for perforce@freebsd.org; Thu, 5 Jul 2007 14:44:53 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 5 Jul 2007 14:44:53 GMT Message-Id: <200707051444.l65EirIS080560@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 122957 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 14:44:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=122957 Change 122957 by lulf@lulf_carrot on 2007/07/05 14:44:30 - Update the manpage, and add information about the new raid5 command in it. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.8#3 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.8#3 (text+ko) ==== @@ -129,6 +129,10 @@ when running in interactive mode. Normally this would be done by entering the EOF character. +.It Ic raid5 Oo Fl fv Oc Oo Fl s Ar stripesize Oc Oo Fl n Ar name Oc Ar drives +Create a RAID-5 volume from the specified drives. If no name is specified, +a unique name will be set by Ic gvinum. This organization requires at least +three drives. .It Ic rename Oo Fl r Oc Ar drive | subdisk | plex | volume newname Change the name of the specified object. The @@ -250,14 +254,6 @@ directory with device nodes for .Nm objects -.It Pa /dev/gvinum/plex -directory containing device nodes for -.Nm -plexes -.It Pa /dev/gvinum/sd -directory containing device nodes for -.Nm -subdisks .El .Sh EXAMPLES To create a mirror on disks /dev/ad1 and /dev/ad2, create a filesystem, mount, @@ -276,42 +272,32 @@ .Dl "gvinum mirror -s -n data /dev/ad1 /dev/ad2 /dev/ad3 /dev/ad4" .Dl "newfs /dev/gvinum/data" .Pp -To create a raid5 array on disks /dev/ad1 /dev/ad2 and /dev/ad3, you can -create a config file like this: +To create a raid5 array on disks /dev/ad1 /dev/ad2 and /dev/ad3, with stripesize +493k you can use the raid5 command: .Pp -.Dl "gvinum create" +.Dl "gvinum raid5 -s 493k /dev/ad1 /dev/ad2 /dev/ad3" .Pp -Then an editor will open, and you can create your configuration: -.Pp -.Dl "drive gdrive1 device /dev/ad1" -.Dl "drive gdrive2 device /dev/ad2" -.Dl "drive gdrive3 device /dev/ad3" -.Dl "volume myraid5vol" -.Dl "plex org raid5 493k" -.Dl "sd drive gdrive1" -.Dl "sd drive gdrive2" -.Dl "sd drive gdrive3" -.Pp +Then the volume will be created automatically. Afterwards, you have to initialize the volume: .Pp .Dl "gvinum start myraid5vol" .Pp The initialization will start, and the states will be updated when it's -finished. +finished. The list command will give you information about its progress. .Pp Imagine that one of the drives fails, and the output of 'printconfig' looks something like this: .Pp -.Dl "drive gdrive2 device /dev/ad2" -.Dl "drive gdrive3 device /dev/???" -.Dl "drive gdrive1 device /dev/ad1" +.Dl "drive gvinumdrive1 device /dev/ad2" +.Dl "drive gvinumdrive2 device /dev/???" +.Dl "drive gvinumdrive0 device /dev/ad1" .Dl "volume myraid5vol" .Dl "plex name myraid5vol.p0 org raid5 986s vol myraid5vol" -.Dl "sd name myraid5vol.p0.s2 drive gdrive3 len 32538s driveoffset 265s" +.Dl "sd name myraid5vol.p0.s2 drive gvinumdrive2 len 32538s driveoffset 265s" .Dl "plex myraid5vol.p0 plexoffset 1972s" -.Dl "sd name myraid5vol.p0.s1 drive gdrive2 len 32538s driveoffset 265s" +.Dl "sd name myraid5vol.p0.s1 drive gvinumdrive1 len 32538s driveoffset 265s" .Dl "plex myraid5vol.p0 plexoffset 986s" -.Dl "sd name myraid5vol.p0.s0 drive gdrive1 len 32538s driveoffset 265s" +.Dl "sd name myraid5vol.p0.s0 drive gvinumdrive0 len 32538s driveoffset 265s" .Dl "plex myraid5vol.p0 plexoffset 0s" .Pp Create a new drive with this configuration: From owner-p4-projects@FreeBSD.ORG Thu Jul 5 15:47:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B990916A46D; Thu, 5 Jul 2007 15:47:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 81B1616A468 for ; Thu, 5 Jul 2007 15:47:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7287813C4C7 for ; Thu, 5 Jul 2007 15:47:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65FlDsG086020 for ; Thu, 5 Jul 2007 15:47:13 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65FlD63086017 for perforce@freebsd.org; Thu, 5 Jul 2007 15:47:13 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 15:47:13 GMT Message-Id: <200707051547.l65FlD63086017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122962 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 15:47:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=122962 Change 122962 by rpaulo@rpaulo_epsilon on 2007/07/05 15:46:56 Use device_printf(). Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#9 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#9 (text+ko) ==== @@ -204,19 +204,17 @@ if (usbd_get_quirks(uaa->device)->uq_flags & UQ_KBD_FNKEY) { err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP); if (err) { - printf("%s: could not read report descriptor\n", - device_get_nameunit(sc->sc_dev)); + device_printf(self, + "could not read report descriptor\n"); return ENXIO; } if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY), hid_input, &sc->sc_loc_fn, &flags)) { - printf("%s: Fn key.\n", - device_get_nameunit(sc->sc_dev)); + device_printf(self, "Fn key.\n"); sc->sc_flags |= UKBD_FN; } else - printf("%s: Fn key not found.\n", - device_get_nameunit(sc->sc_dev)); + device_printf(self, "Fn key not found.\n"); free(desc, M_TEMP); } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 16:23:00 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E088116A46E; Thu, 5 Jul 2007 16:22:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B34B716A46C for ; Thu, 5 Jul 2007 16:22:59 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A366C13C447 for ; Thu, 5 Jul 2007 16:22:59 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65GMxji089882 for ; Thu, 5 Jul 2007 16:22:59 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65GMxus089879 for perforce@freebsd.org; Thu, 5 Jul 2007 16:22:59 GMT (envelope-from zec@FreeBSD.org) Date: Thu, 5 Jul 2007 16:22:59 GMT Message-Id: <200707051622.l65GMxus089879@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122964 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 16:23:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=122964 Change 122964 by zec@zec_tpx32 on 2007/07/05 16:22:22 Protosw population fix. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netipsec/xform_ipip.c,v 1.13 2006/06/26 22:30:08 thompsa Exp $ */ +/* $FreeBSD: src/sys/netipsec/xform_ipip.c,v 1.14 2007/07/03 12:13:45 gnn Exp $ */ /* $OpenBSD: ip_ipip.c,v 1.25 2002/06/10 18:04:55 itojun Exp $ */ /*- * The authors of this code are John Ioannidis (ji@tla.org), @@ -614,7 +614,7 @@ return (error); } -#ifdef FAST_IPSEC +#ifdef IPSEC static int ipe4_init(struct secasvar *sav, struct xformsw *xsp) { @@ -646,21 +646,25 @@ extern struct domain inetdomain; static struct protosw ipe4_protosw = -{ SOCK_RAW, &inetdomain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR|PR_LASTHDR, - ip4_input, - 0, 0, rip_ctloutput, - 0, - 0, 0, 0, 0, - &rip_usrreqs +{ + .pr_type = SOCK_RAW, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_IPV4, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR, + .pr_input = ip4_input, + .pr_ctloutput = rip_ctloutput, + .pr_usrreqs = &rip_usrreqs }; #ifdef INET6 static struct ip6protosw ipe6_protosw = -{ SOCK_RAW, &inetdomain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR|PR_LASTHDR, - ip4_input6, - 0, 0, rip_ctloutput, - 0, - 0, 0, 0, 0, - &rip_usrreqs +{ + .pr_type = SOCK_RAW, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_IPV6, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR, + .pr_input = ip4_input6, + .pr_ctloutput = rip_ctloutput, + .pr_usrreqs = &rip_usrreqs }; #endif @@ -693,4 +697,4 @@ #endif } SYSINIT(ipe4_xform_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_MIDDLE, ipe4_attach, NULL); -#endif /* FAST_IPSEC */ +#endif /* IPSEC */ From owner-p4-projects@FreeBSD.ORG Thu Jul 5 17:18:11 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4084A16A4FE; Thu, 5 Jul 2007 17:18:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EACBB16A400 for ; Thu, 5 Jul 2007 17:18:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DB4EE13C46A for ; Thu, 5 Jul 2007 17:18:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65HIAbu004016 for ; Thu, 5 Jul 2007 17:18:10 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65HIAnq004013 for perforce@freebsd.org; Thu, 5 Jul 2007 17:18:10 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 17:18:10 GMT Message-Id: <200707051718.l65HIAnq004013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 17:18:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=122967 Change 122967 by rpaulo@rpaulo_epsilon on 2007/07/05 17:17:50 Style cleanups. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#8 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#7 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#8 $ * */ @@ -123,7 +123,7 @@ if (vendor == backlight_models[i].bm_vendor && devid == backlight_models[i].bm_devid && !strncmp(model, backlight_models[i].bm_model, - strlen(model))) { + strlen(model))) { freeenv(model); return &backlight_models[i]; } @@ -177,10 +177,10 @@ sysctl_ctx_init(&sc->sc_sysctl_ctx); sc->sc_sysctl_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, - device_get_name(dev), - CTLFLAG_RD, 0, ""); + SYSCTL_STATIC_CHILDREN(_hw), + OID_AUTO, + device_get_name(dev), + CTLFLAG_RD, 0, ""); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, SYSCTL_CHILDREN(sc->sc_sysctl_tree), @@ -257,7 +257,7 @@ uint32_t newlevel; newlevel = (macbook_get_max(sc) << BACKLIGHT_MB_MAX_SHIFT) | - (value << BACKLIGHT_MB_CUR_SHIFT); + (value << BACKLIGHT_MB_CUR_SHIFT); bus_write_4(sc->sc_res, BACKLIGHT_MB_OFFSET, newlevel); @@ -273,14 +273,14 @@ rid = PCIR_BAR(0); sc->sc_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); + RF_ACTIVE); if (sc->sc_res == NULL) return ENOMEM; max = macbook_get_max(sc); if (max > BACKLIGHT_MB_MAX) { device_printf(dev, "maximum brightness level out of range" - "(0x%x) - please send-pr\n", max); + "(0x%x) - please send-pr\n", max); return EINVAL; } @@ -336,7 +336,7 @@ curlevel = macbook_get_current(sc); level = (curlevel - BACKLIGHT_MB_MIN) * 100 / - (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN); + (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN); error = sysctl_handle_int(oidp, &level, 0, req); @@ -347,7 +347,7 @@ return EINVAL; curlevel = (level * (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN) - / 100) + BACKLIGHT_MB_MIN; + / 100) + BACKLIGHT_MB_MIN; macbook_set_current(sc, curlevel); *(unsigned int *)oidp->oid_arg1 = level; From owner-p4-projects@FreeBSD.ORG Thu Jul 5 20:21:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A8F616A41F; Thu, 5 Jul 2007 20:21:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1193F16A469 for ; Thu, 5 Jul 2007 20:21:03 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 01F0413C459 for ; Thu, 5 Jul 2007 20:21:03 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65KL2nd023033 for ; Thu, 5 Jul 2007 20:21:02 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65KL2OP023025 for perforce@freebsd.org; Thu, 5 Jul 2007 20:21:02 GMT (envelope-from cnst@FreeBSD.org) Date: Thu, 5 Jul 2007 20:21:02 GMT Message-Id: <200707052021.l65KL2OP023025@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 122972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 20:21:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=122972 Change 122972 by cnst@dale on 2007/07/05 20:20:25 Initial import of the cnst-sensors project. Obtained from: OpenBSD + applied local modifications for FreeBSD. Affected files ... .. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#1 add .. //depot/projects/soc2007/cnst-sensors/sys.conf/files#1 add .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#1 add .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#1 add .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78var.h#1 add .. //depot/projects/soc2007/cnst-sensors/sys.i386.conf/GENERIC.hints#1 add .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#1 add .. //depot/projects/soc2007/cnst-sensors/sys.sys/sensors.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 5 21:15:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 375B316A469; Thu, 5 Jul 2007 21:15:10 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0ED9416A400 for ; Thu, 5 Jul 2007 21:15:10 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C108D13C448 for ; Thu, 5 Jul 2007 21:15:09 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65LF97v049405 for ; Thu, 5 Jul 2007 21:15:09 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65LF9SH049400 for perforce@freebsd.org; Thu, 5 Jul 2007 21:15:09 GMT (envelope-from thioretic@FreeBSD.org) Date: Thu, 5 Jul 2007 21:15:09 GMT Message-Id: <200707052115.l65LF9SH049400@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122974 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 21:15:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=122974 Change 122974 by thioretic@thioretic on 2007/07/05 21:14:17 Devclasses for filter drivers stuff. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#7 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#6 edit .. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#4 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#7 (text+ko) ==== @@ -68,4 +68,22 @@ # attached, but to drv_compat_ctrl_driver, which will demux # to stacked drivers. # dev->drivers are pointers to drv_compat structures that - # represent drivers of interest.+ # represent drivers of interest. + a.1.2 Devclasses + SOLUTION: add filters field to devclass + # the filter drivers (with DR_LOWESTname = (char*) (dc + 1); strcpy(dc->name, classname); TAILQ_INIT(&dc->drivers); + TAILQ_INIT(&dc->filters); TAILQ_INSERT_TAIL(&devclasses, dc, link); bus_data_generation_update(); @@ -1162,7 +1172,11 @@ */ if (parentname && dc && !dc->parent && strcmp(classname, parentname) != 0) { - dc->parent = devclass_find_internal(parentname, 0, FALSE); + dc->parent = devclass_find_internal(parentname, 0, FALSE, FALSE); + } + + if (filter) { + TAILQ_INSERT_TAIL(&(dc->parent->filters), dc, link); } return (dc); @@ -1179,7 +1193,7 @@ devclass_t devclass_create(const char *classname) { - return (devclass_find_internal(classname, 0, TRUE)); + return (devclass_find_internal(classname, 0, TRUE, FALSE)); } /** @@ -1193,7 +1207,7 @@ devclass_t devclass_find(const char *classname) { - return (devclass_find_internal(classname, 0, FALSE)); + return (devclass_find_internal(classname, 0, FALSE, FALSE)); } /** @@ -1212,6 +1226,7 @@ { driverlink_t dl; int i; + uint32_t flags; PDEBUG(("%s", DRIVERNAME(driver))); @@ -1230,7 +1245,11 @@ /* * Make sure the devclass which the driver is implementing exists. */ - devclass_find_internal(driver->name, 0, TRUE); + if (!drv_compat_get_flags (driver, &flags)){ + /*todo what???*/ + } + + devclass_find_internal(driver->name, 0, TRUE, FALSE); dl->driver = driver; TAILQ_INSERT_TAIL(&dc->drivers, dl, link); @@ -1810,7 +1829,7 @@ PDEBUG(("%s at %s as unit %d", name, DEVICENAME(parent), unit)); if (name) { - dc = devclass_find_internal(name, 0, TRUE); + dc = devclass_find_internal(name, 0, TRUE, FALSE); if (!dc) { printf("make_device: can't find device class %s\n", name); @@ -2627,7 +2646,7 @@ return (EINVAL); } - dc = devclass_find_internal(classname, 0, TRUE); + dc = devclass_find_internal(classname, 0, TRUE, FALSE); if (!dc) return (ENOMEM); @@ -4043,7 +4062,7 @@ kobj_init((kobj_t) root_bus, (kobj_class_t) &root_driver); root_bus->driver = &root_driver; root_bus->state = DS_ATTACHED; - root_devclass = devclass_find_internal("root", 0, FALSE); + root_devclass = devclass_find_internal("root", 0, FALSE, FALSE); devinit(); return (0); @@ -4083,6 +4102,53 @@ } /** + * @internal + * @brief Parses the dmd_busname for filter drivers + * + * The dmd_busname for filter drivers if represented + * by a string of busnames (actually they are names + * of DR_LOWEST drivers) delimited by '|' symbol. + * + * @param in a pointer to dmd_busname string + * @param out a pointer to store the address + * of an array of strings, representing + * the devclass names of DR_LOWEST + * drivers. + */ + +static int +parse_parent_name (char* in, char ***out){ /*TODO*/ + char* cptr = in, *ptr = in, *newpar; + int count = 1, num = 0; + + if (!in || *in == '\0') + return (0); + + if (!strcmp(in, "*")){ + /* do we need this? + * if we do, then there must be a way + * to add filter driver to devclasses + * of drivers, not yet added + */ + } + else{ + while (strchr(ptr, '|')) count++; + *out = malloc (sizeof(char*)*(count+1), M_BUS, M_NOWAIT|M_ZERO); + count=0; + do { + while (*ptr!='|' && *ptr!='\0') num++, ptr++; + newpar = malloc ((num+1)*sizeof(char), M_BUS, M_NOWAIT|M_ZERO); + if (!newpar) return(0); + strlcpy(newpar, cptr, num+1); + (*out)[count++] = newpar; + num = 0; cptr = ++ptr; + } while (cptr<(in+strlen(in))); + (*out)[count]=NULL; + return (1); + } +} + +/** * @brief Module handler for registering device drivers * * This module handler is used to automatically register device @@ -4095,12 +4161,16 @@ { int error; struct driver_module_data *dmd; - devclass_t bus_devclass; + devclass_t bus_devclass, parent_devclass, filter_devclass; drv_internal_t drv_intnl; kobj_class_t driver; + char* parents[]; + int count=0; dmd = (struct driver_module_data *)arg; - bus_devclass = devclass_find_internal(dmd->dmd_busname, 0, TRUE); + drv_intnl = dmd->dmd_driver; + if (!(drv_intnl->flags & ~(DR_LOWEST | DR_STACKAWARE | DR_TOPMOST))) + bus_devclass = devclass_find_internal(dmd->dmd_busname, 0, TRUE, FALSE); error = 0; switch (what) { @@ -4109,12 +4179,27 @@ error = dmd->dmd_chainevh(mod,what,dmd->dmd_chainarg); //driver = dmd->dmd_driver; - drv_intnl = dmd->dmd_driver; drv_compat_add_driver(drv_intnl); driver = drv_intnl->devops; PDEBUG(("Loading module: driver %s on bus %s", DRIVERNAME(driver), dmd->dmd_busname)); - error = devclass_add_driver(bus_devclass, driver); + if (drv_intnl->flags & ~(DR_LOWEST | DR_STACKAWARE | DR_TOPMOST)){ + /* if is a filter driver */ + if (!parse_parent_name(dmd->dmd_busname, &parents)) + break; + while (parents[count]){ + parent_devclass = devclass_find_internal (parents[count], + 0, TRUE, FALSE); + filter_devclass = devclass_find_internal (driver->name, + parent[count], TRUE, TRUE); + error = devclass_add_driver (filter_devclass, driver); + count++; + } + free(parents); + } + else{ + error = devclass_add_driver(bus_devclass, driver); + } if (error) break; ==== //depot/projects/soc2007/thioretic_gidl/sys/bus.h#4 (text+ko) ==== @@ -498,6 +498,8 @@ uint32_t flags; }; +#define DR_ALLLEVELS (DR_LOWEST|DR_LOWER|DR_MIDDLE|DR_UPPER|DR_TOPMOST) + typedef struct drv_internal *drv_internal_t; struct driver_module_data { @@ -513,7 +515,7 @@ \ static struct drv_internal name##_##busname##_intnl { \ (kobj_class_t) &driver, \ - LOWEST \ + DR_LOWEST \ }; \ \ static struct driver_module_data name##_##busname##_driver_mod = { \ From owner-p4-projects@FreeBSD.ORG Thu Jul 5 21:24:22 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4870F16A46D; Thu, 5 Jul 2007 21:24:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 11FB916A468 for ; Thu, 5 Jul 2007 21:24:22 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DE1EA13C447 for ; Thu, 5 Jul 2007 21:24:21 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65LOLcp050196 for ; Thu, 5 Jul 2007 21:24:21 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65LOLop050192 for perforce@freebsd.org; Thu, 5 Jul 2007 21:24:21 GMT (envelope-from thioretic@FreeBSD.org) Date: Thu, 5 Jul 2007 21:24:21 GMT Message-Id: <200707052124.l65LOLop050192@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 122975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 21:24:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=122975 Change 122975 by thioretic@thioretic on 2007/07/05 21:23:53 Make my ascii graphics more viewable Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#8 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#8 (text+ko) ==== @@ -80,10 +80,10 @@ # Devclasses tree: # # BUS<-+-+.... - # | - # DR_LOWEST driver_n<-+----+... - # | | - # filter0 filter1 + # | + # DR_LOWEST driver_n<-+----+... + # | | + # filter0 filter1 # # NB: here BUS is also a DR_LOWEST driver in turn with all # those consequences. From owner-p4-projects@FreeBSD.ORG Thu Jul 5 21:46:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3E9C16A46C; Thu, 5 Jul 2007 21:46:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 94A3216A469; Thu, 5 Jul 2007 21:46:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 17E2113C45A; Thu, 5 Jul 2007 21:46:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l65LkdbK027582; Thu, 5 Jul 2007 17:46:40 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Roman Divacky Date: Thu, 5 Jul 2007 17:43:33 -0400 User-Agent: KMail/1.9.6 References: <200707030806.l63860H7000475@repoman.freebsd.org> In-Reply-To: <200707030806.l63860H7000475@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707051743.33415.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 05 Jul 2007 17:46:40 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3606/Thu Jul 5 13:50:01 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122752 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 21:46:43 -0000 On Tuesday 03 July 2007 04:06:00 am Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=122752 > > Change 122752 by rdivacky@rdivacky_witten on 2007/07/03 08:05:17 > > O_EXEC support. it is able to fexecve "/bin/date" when opened with O_RDONLY > or O_EXEC. > > I am a little suspicious about this patch because audacious (mp3 player) acts > really weird now. Needs some more investigation. > @@ -1281,6 +1283,27 @@ > return (ETXTBSY); > > /* > + * Check for the mode the file was opened with > + */ > + if (fexecve) { > + struct file f; > + struct file *fp = &f; What is the point of this? > + > + FILEDESC_SLOCK(td->td_proc->p_fd); > + fp = fget_locked(td->td_proc->p_fd, fd); > + if (fp == NULL || fp->f_ops == &badfileops) { > + FILEDESC_SUNLOCK(td->td_proc->p_fd); > + return (EBADF); > + } > + fhold(fp); > + FILEDESC_SUNLOCK(td->td_proc->p_fd); > + if (!(fp->f_flag & FREAD) && !(fp->f_flag & O_EXEC)) { > + fdrop(fp, td); > + return (EACCES); > + } > + fdrop(fp, td); > + } > + /* > * Call filesystem specific open routine (which does nothing in the > * general case). > */ Any reason you didn't just use fget() here? i.e.: if (fexecve) { struct file *fp; error = fget(td, fd, &fp); if (error) return (error); if ((fp->f_flag & (FREAD | O_EXEC)) == 0) { fdrop(fp, td); return (EACCES); } fdrop(fp, td); } Also, the fdrop() here seems very, very dubious. You shouldn't be dropping it, but holding the reference since the file could change out from under you (shared descriptor tables via rfork(), etc.) leading to a race and potential security problem (think of a race where a rfork()'d thread changes the binary you are going to execute out from under you). The better fix may be to check the fd when you open it to actually use it. > ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#8 (text+ko) ==== > > @@ -107,6 +103,7 @@ > #ifdef _KERNEL > #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ > #endif > +#define O_EXEC 0x8000 /* open for execute only */ > /* Defined by POSIX Extended API ... TODO: number of the spec */ > #define AT_FDCWD -100 /* Use the current working directory > to determine the target of relative > @@ -138,7 +135,7 @@ This clashes with O_NOCTTY. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Jul 5 21:56:22 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC2DE16A46C; Thu, 5 Jul 2007 21:56:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A442816A421; Thu, 5 Jul 2007 21:56:21 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4DDBE13C465; Thu, 5 Jul 2007 21:56:21 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l65LuJRc027636; Thu, 5 Jul 2007 17:56:19 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Rui Paulo Date: Thu, 5 Jul 2007 17:51:35 -0400 User-Agent: KMail/1.9.6 References: <200707040343.l643hQ2i073492@repoman.freebsd.org> In-Reply-To: <200707040343.l643hQ2i073492@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707051751.35532.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 05 Jul 2007 17:56:19 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3606/Thu Jul 5 13:50:01 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 21:56:22 -0000 On Tuesday 03 July 2007 11:43:26 pm Rui Paulo wrote: > -static struct asmc_model *asmc_match(device_t); > +static struct asmc_model * > + asmc_match(device_t dev); Old way was better. > #define ASMC_SMS_FUNCS asmc_mb_sysctl_sms_x, asmc_mb_sysctl_sms_y, \ > asmc_mb_sysctl_sms_z > @@ -253,21 +257,20 @@ > */ > sysctl_ctx_init(&sc->sc_sysctl_ctx); > sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, > - SYSCTL_STATIC_CHILDREN(_hw), > - OID_AUTO, > - device_get_name(dev), > - CTLFLAG_RD, 0, > - device_get_desc(dev)); > + SYSCTL_STATIC_CHILDREN(_hw), > + OID_AUTO, > + device_get_name(dev), > + CTLFLAG_RD, 0, > + device_get_desc(dev)); It's actually 4 spaces from the start of the previous line, not the start of the function name or macro on the previous line, thus: sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, device_get_name(dev), CTL_FLAG_RD, 0, device_get_desc(dev)); However, why are you creating your own sysctl tree? new-bus already provides one in dev.foo.X. You can use 'device_get_sysctl_ctx()' and 'device_get_sysctl_tree()' with SYSCTL_ADD_*() to hang custom nodes off the existing tree which is preferable to doing your own thing under hw. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Jul 5 22:33:26 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DE4D16A469; Thu, 5 Jul 2007 22:33:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2D58316A400; Thu, 5 Jul 2007 22:33:26 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id 9B2B713C45D; Thu, 5 Jul 2007 22:33:25 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id 22843690CE1; Thu, 5 Jul 2007 23:28:34 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id D58B6690D05; Thu, 5 Jul 2007 23:28:33 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00, FORGED_RCVD_HELO,RCVD_IN_SORBS_DUL autolearn=no version=3.1.7 Received: from epsilon.local (87-196-93-104.net.novis.pt [87.196.93.104]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id 3B0A1690CE1; Thu, 5 Jul 2007 23:28:30 +0100 (WEST) From: Rui Paulo To: John Baldwin Date: Thu, 5 Jul 2007 23:33:14 +0100 User-Agent: KMail/1.9.6 References: <200707040343.l643hQ2i073492@repoman.freebsd.org> <200707051751.35532.jhb@freebsd.org> In-Reply-To: <200707051751.35532.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707052333.15276.rpaulo@fnop.net> X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 22:33:26 -0000 On Thursday 05 July 2007 22:51:35 John Baldwin wrote: > > > #define ASMC_SMS_FUNCS asmc_mb_sysctl_sms_x, asmc_mb_sysctl_sms_y, \ > > asmc_mb_sysctl_sms_z > > @@ -253,21 +257,20 @@ > > */ > > sysctl_ctx_init(&sc->sc_sysctl_ctx); > > sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, > > - SYSCTL_STATIC_CHILDREN(_hw), > > - OID_AUTO, > > - device_get_name(dev), > > - CTLFLAG_RD, 0, > > - device_get_desc(dev)); > > + SYSCTL_STATIC_CHILDREN(_hw), > > + OID_AUTO, > > + device_get_name(dev), > > + CTLFLAG_RD, 0, > > + device_get_desc(dev)); > > It's actually 4 spaces from the start of the previous line, not the start > of the function name or macro on the previous line, thus: > sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, > SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, device_get_name(dev), > CTL_FLAG_RD, 0, device_get_desc(dev)); Right. I didn't have your dot.emacs when I did this. :-) > However, why are you creating your own sysctl tree? new-bus already > provides one in dev.foo.X. You can use 'device_get_sysctl_ctx()' > and 'device_get_sysctl_tree()' with SYSCTL_ADD_*() to hang custom nodes off > the existing tree which is preferable to doing your own thing under hw. Ok. I felt like hw.asmc was preferable. Will change it in a couple of minutes. Thanks. -- Rui Paulo From owner-p4-projects@FreeBSD.ORG Thu Jul 5 22:39:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E2B916A469; Thu, 5 Jul 2007 22:39:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5C48B16A421 for ; Thu, 5 Jul 2007 22:39:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4CE5F13C458 for ; Thu, 5 Jul 2007 22:39:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65MdxWL056423 for ; Thu, 5 Jul 2007 22:39:59 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65MdxHI056420 for perforce@freebsd.org; Thu, 5 Jul 2007 22:39:59 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 22:39:59 GMT Message-Id: <200707052239.l65MdxHI056420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 22:39:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=122977 Change 122977 by rpaulo@rpaulo_epsilon on 2007/07/05 22:39:22 Be more style compliant regarding to continuation of arguments for functions/macros. Pointed out by: jhb Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#18 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#18 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#17 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#18 $ * */ @@ -99,8 +99,7 @@ static int asmc_mb_sysctl_sms_y(SYSCTL_HANDLER_ARGS); static int asmc_mb_sysctl_sms_z(SYSCTL_HANDLER_ARGS); -static struct asmc_model * - asmc_match(device_t dev); +static struct asmc_model *asmc_match(device_t dev); #define ASMC_SMS_FUNCS asmc_mb_sysctl_sms_x, asmc_mb_sysctl_sms_y, \ asmc_mb_sysctl_sms_z @@ -257,31 +256,24 @@ */ sysctl_ctx_init(&sc->sc_sysctl_ctx); sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, - device_get_name(dev), - CTLFLAG_RD, 0, - device_get_desc(dev)); + SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, device_get_name(dev), + CTLFLAG_RD, 0, device_get_desc(dev)); /* * hw.asmc.fan.* tree. */ sc->sc_fan_tree[0] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, "fan", - CTLFLAG_RD, 0, - "Fan Root Tree"); + SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "fan", + CTLFLAG_RD, 0, "Fan Root Tree"); for (i = 1; i <= sc->sc_nfan; i++) { j = i - 1; name[0] = '0' + j; name[1] = 0; - sc->sc_fan_tree[i] = - SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[0]), - OID_AUTO, name, - CTLFLAG_RD, 0, - "Fan Subtree"); + sc->sc_fan_tree[i] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, + SYSCTL_CHILDREN(sc->sc_fan_tree[0]), + OID_AUTO, name, CTLFLAG_RD, 0, + "Fan Subtree"); SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), @@ -323,10 +315,8 @@ */ sc->sc_temp_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, "temp", - CTLFLAG_RD, 0, - "Temperature sensors"); + SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "temp", + CTLFLAG_RD, 0, "Temperature sensors"); for (i = 0; model->smc_temps[i]; i++) { SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, @@ -344,10 +334,9 @@ * hw.asmc.sms tree. */ sc->sc_sms_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), - OID_AUTO, "sms", - CTLFLAG_RD, 0, - "Sudden Motion Sensor"); + SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "sms", + CTLFLAG_RD, 0, "Sudden Motion Sensor"); + SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "x", CTLTYPE_INT | CTLFLAG_RD, @@ -376,8 +365,7 @@ */ TASK_INIT(&sc->sc_sms_task, 0, asmc_sms_task, sc); sc->sc_sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, - taskqueue_thread_enqueue, - &sc->sc_sms_tq); + taskqueue_thread_enqueue, &sc->sc_sms_tq); taskqueue_start_threads(&sc->sc_sms_tq, 1, PI_REALTIME, "%s sms taskq", device_get_nameunit(dev)); @@ -387,7 +375,7 @@ */ sc->sc_rid = 0; sc->sc_res = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->sc_rid, - ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); + ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); taskqueue_free(sc->sc_sms_tq); @@ -400,12 +388,12 @@ if (ret) { ret = bus_setup_intr(dev, sc->sc_res, - INTR_TYPE_MISC | INTR_MPSAFE, - NULL, asmc_sms_fastintr, dev, - &sc->sc_cookie); + INTR_TYPE_MISC | INTR_MPSAFE, + NULL, asmc_sms_fastintr, dev, + &sc->sc_cookie); if (ret == 0) device_printf(dev, "unable to setup fast interrupt. " - "Using normal mode.\n"); + "Using normal mode.\n"); } if (ret) { @@ -504,7 +492,7 @@ sc->sc_nfan = asmc_fan_count(dev); if (sc->sc_nfan > ASMC_MAXFANS) { device_printf(dev, "more than %d fans were detected. Please " - "report this.\n", ASMC_MAXFANS); + "report this.\n", ASMC_MAXFANS); sc->sc_nfan = ASMC_MAXFANS; } From owner-p4-projects@FreeBSD.ORG Thu Jul 5 22:54:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A2DA716A469; Thu, 5 Jul 2007 22:54:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 57FBC16A421 for ; Thu, 5 Jul 2007 22:54:17 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3C39613C468 for ; Thu, 5 Jul 2007 22:54:17 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l65MsHwT057495 for ; Thu, 5 Jul 2007 22:54:17 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l65MsGtS057492 for perforce@freebsd.org; Thu, 5 Jul 2007 22:54:16 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 5 Jul 2007 22:54:16 GMT Message-Id: <200707052254.l65MsGtS057492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122978 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2007 22:54:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=122978 Change 122978 by rpaulo@rpaulo_epsilon on 2007/07/05 22:53:40 Don't create a new sysctl tree under hw (previously hw.asmc), use the one provided by newbus (i.e. dev.asmc.N) as this is preferable. Pointed out by: jhb Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#19 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#9 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#19 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#18 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#19 $ * */ @@ -241,8 +241,13 @@ int ret; char name[2]; struct asmc_softc *sc = device_get_softc(dev); + struct sysctl_ctx_list *sysctlctx; + struct sysctl_oid *sysctlnode; struct asmc_model *model; + sysctlctx = device_get_sysctl_ctx(dev); + sysctlnode = device_get_sysctl_tree(dev); + model = asmc_match(dev); mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); @@ -252,57 +257,49 @@ sc->sc_model = model; /* - * hw.asmc tree. + * dev.asmc.n.fan.* tree. */ - sysctl_ctx_init(&sc->sc_sysctl_ctx); - sc->sc_root_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, device_get_name(dev), - CTLFLAG_RD, 0, device_get_desc(dev)); - - /* - * hw.asmc.fan.* tree. - */ - sc->sc_fan_tree[0] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "fan", + sc->sc_fan_tree[0] = SYSCTL_ADD_NODE(sysctlctx, + SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "fan", CTLFLAG_RD, 0, "Fan Root Tree"); for (i = 1; i <= sc->sc_nfan; i++) { j = i - 1; name[0] = '0' + j; name[1] = 0; - sc->sc_fan_tree[i] = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, + sc->sc_fan_tree[i] = SYSCTL_ADD_NODE(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[0]), OID_AUTO, name, CTLFLAG_RD, 0, "Fan Subtree"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "speed", CTLTYPE_INT | CTLFLAG_RD, dev, j, model->smc_fan_speed, "I", "Fan speed in RPM"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "safespeed", CTLTYPE_INT | CTLFLAG_RD, dev, j, model->smc_fan_safespeed, "I", "Fan safe speed in RPM"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "minspeed", CTLTYPE_INT | CTLFLAG_RD, dev, j, model->smc_fan_minspeed, "I", "Fan minimum speed in RPM"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "maxspeed", CTLTYPE_INT | CTLFLAG_RD, dev, j, model->smc_fan_maxspeed, "I", "Fan maximum speed in RPM"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "targetspeed", CTLTYPE_INT | CTLFLAG_RD, @@ -311,15 +308,15 @@ } /* - * hw.asmc.temp tree. + * dev.asmc.n.temp tree. */ - sc->sc_temp_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "temp", + sc->sc_temp_tree = SYSCTL_ADD_NODE(sysctlctx, + SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "temp", CTLFLAG_RD, 0, "Temperature sensors"); for (i = 0; model->smc_temps[i]; i++) { - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_temp_tree), OID_AUTO, model->smc_tempnames[i], CTLTYPE_INT | CTLFLAG_RD, @@ -331,25 +328,25 @@ goto out; /* - * hw.asmc.sms tree. + * dev.asmc.n.sms tree. */ - sc->sc_sms_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_root_tree), OID_AUTO, "sms", + sc->sc_sms_tree = SYSCTL_ADD_NODE(sysctlctx, + SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "sms", CTLFLAG_RD, 0, "Sudden Motion Sensor"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "x", CTLTYPE_INT | CTLFLAG_RD, dev, 0, model->smc_sms_x, "I", "Sudden Motion Sensor X value"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "y", CTLTYPE_INT | CTLFLAG_RD, dev, 0, model->smc_sms_y, "I", "Sudden Motion Sensor Y value"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "z", CTLTYPE_INT | CTLFLAG_RD, dev, 0, model->smc_sms_z, "I", @@ -410,8 +407,6 @@ { struct asmc_softc *sc = device_get_softc(dev); - sysctl_ctx_free(&sc->sc_sysctl_ctx); - if (sc->sc_sms_tq) { taskqueue_drain(sc->sc_sms_tq, &sc->sc_sms_task); taskqueue_free(sc->sc_sms_tq); ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#9 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#8 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#9 $ * */ @@ -36,8 +36,6 @@ int16_t sms_rest_x; int16_t sms_rest_y; int16_t sms_rest_z; - struct sysctl_ctx_list sc_sysctl_ctx; - struct sysctl_oid *sc_root_tree; struct sysctl_oid *sc_fan_tree[ASMC_MAXFANS+1]; struct sysctl_oid *sc_temp_tree; struct sysctl_oid *sc_sms_tree; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 00:29:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A92D416A469; Fri, 6 Jul 2007 00:29:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6748216A421 for ; Fri, 6 Jul 2007 00:29:18 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 57DE013C45A for ; Fri, 6 Jul 2007 00:29:18 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l660TILK067126 for ; Fri, 6 Jul 2007 00:29:18 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l660THH4067123 for perforce@freebsd.org; Fri, 6 Jul 2007 00:29:17 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 6 Jul 2007 00:29:17 GMT Message-Id: <200707060029.l660THH4067123@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 122980 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 00:29:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=122980 Change 122980 by rpaulo@rpaulo_epsilon on 2007/07/06 00:28:30 Bring back support for INTR_FILTER. This time I hope I used it correctly. Now we only need to create a taskqueue if INTR_FILTER kernel option is not used. Explained by: jhb Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#20 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#20 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#19 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#20 $ * */ @@ -81,8 +81,10 @@ static int asmc_temp_getvalue(device_t dev, const char *key); static int asmc_sms_read(device_t, const char *key, int16_t *val); static void asmc_sms_calibrate(device_t dev); -static int asmc_sms_intr(void *arg); -static void asmc_sms_fastintr(void *arg); +static int asmc_sms_intrfast(void *arg); +#ifdef INTR_FILTER +static void asmc_sms_handler(void *arg); +#endif static void asmc_sms_printintr(device_t dev, uint8_t); static void asmc_sms_task(void *arg, int pending); @@ -359,14 +361,18 @@ * PI_REALTIME is used due to the sensitivity of the * interrupt. An interrupt from the SMS means that the * disk heads should be turned off as quickly as possible. + * + * We only need to do this for the non INTR_FILTER case. */ + sc->sc_sms_tq = NULL; +#ifndef INTR_FILTER TASK_INIT(&sc->sc_sms_task, 0, asmc_sms_task, sc); sc->sc_sms_tq = taskqueue_create_fast("asmc_taskq", M_WAITOK, taskqueue_thread_enqueue, &sc->sc_sms_tq); taskqueue_start_threads(&sc->sc_sms_tq, 1, PI_REALTIME, "%s sms taskq", device_get_nameunit(dev)); +#endif - /* * Allocate an IRQ for the SMS. */ @@ -375,29 +381,30 @@ ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); - taskqueue_free(sc->sc_sms_tq); - goto out; + if (sc->sc_sms_tq) + taskqueue_free(sc->sc_sms_tq); + return (ENXIO); } ret = bus_setup_intr(dev, sc->sc_res, INTR_TYPE_MISC | INTR_MPSAFE, - asmc_sms_intr, NULL, dev, &sc->sc_cookie); +#ifdef INTR_FILTER + asmc_sms_intrfast, asmc_sms_handler, +#else + asmc_sms_intrfast, NULL, +#endif + dev, &sc->sc_cookie); - if (ret) { - ret = bus_setup_intr(dev, sc->sc_res, - INTR_TYPE_MISC | INTR_MPSAFE, - NULL, asmc_sms_fastintr, dev, - &sc->sc_cookie); - if (ret == 0) - device_printf(dev, "unable to setup fast interrupt. " - "Using normal mode.\n"); - } if (ret) { device_printf(dev, "unable to setup SMS IRQ\n"); bus_release_resource(dev, SYS_RES_IRQ, sc->sc_rid, sc->sc_res); + if (sc->sc_sms_tq) + taskqueue_free(sc->sc_sms_tq); + return (ret); } + out: return (0); } @@ -769,7 +776,7 @@ } static int -asmc_sms_intr(void *arg) +asmc_sms_intrfast(void *arg) { uint8_t type; device_t dev = (device_t) arg; @@ -781,26 +788,24 @@ sc->sc_sms_intrtype = type; asmc_sms_printintr(dev, type); + +#ifdef INTR_FILTER + return (FILTER_SCHEDULE_THREAD | FILTER_HANDLED); +#else taskqueue_enqueue(sc->sc_sms_tq, &sc->sc_sms_task); - +#endif return (FILTER_HANDLED); } +#ifdef INTR_FILTER static void -asmc_sms_fastintr(void *arg) +asmc_sms_handler(void *arg) { - uint8_t type; - device_t dev = (device_t) arg; - struct asmc_softc *sc = device_get_softc(dev); - - mtx_lock_spin(&sc->sc_mtx); - type = inb(ASMC_INTPORT); - mtx_unlock_spin(&sc->sc_mtx); - - sc->sc_sms_intrtype = type; - asmc_sms_printintr(dev, type); - taskqueue_enqueue_fast(sc->sc_sms_tq, &sc->sc_sms_task); + struct asmc_softc *sc = device_get_softc(arg); + + asmc_sms_task(sc, 0); } +#endif static void From owner-p4-projects@FreeBSD.ORG Fri Jul 6 01:16:22 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE17116A41F; Fri, 6 Jul 2007 01:16:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B91216A46B for ; Fri, 6 Jul 2007 01:16:21 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6A8F013C44C for ; Fri, 6 Jul 2007 01:16:21 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l661GLXq005666 for ; Fri, 6 Jul 2007 01:16:21 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l661GIll005661 for perforce@freebsd.org; Fri, 6 Jul 2007 01:16:18 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 6 Jul 2007 01:16:18 GMT Message-Id: <200707060116.l661GIll005661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122984 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 01:16:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=122984 Change 122984 by zec@zec_tpx32 on 2007/07/06 01:15:18 IFC @ 122940 NOTE: this change backs out all the previous virtualization changes to pf, so we now have the freshly imported pf 4.1 in the tree, but without any virtualization support. Affected files ... .. //depot/projects/vimage/src/sys/Makefile#5 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#10 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_file.c#6 integrate .. //depot/projects/vimage/src/sys/compat/pecoff/imgact_pecoff.c#2 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#11 integrate .. //depot/projects/vimage/src/sys/conf/files#13 integrate .. //depot/projects/vimage/src/sys/conf/files.amd64#5 integrate .. //depot/projects/vimage/src/sys/conf/files.arm#3 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#5 integrate .. //depot/projects/vimage/src/sys/conf/files.ia64#3 integrate .. //depot/projects/vimage/src/sys/conf/files.pc98#5 integrate .. //depot/projects/vimage/src/sys/conf/files.powerpc#5 integrate .. //depot/projects/vimage/src/sys/conf/files.sparc64#6 integrate .. //depot/projects/vimage/src/sys/conf/files.sun4v#4 integrate .. //depot/projects/vimage/src/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/vimage/src/sys/conf/options#13 integrate .. //depot/projects/vimage/src/sys/conf/options.amd64#2 integrate .. //depot/projects/vimage/src/sys/conf/options.i386#2 integrate .. //depot/projects/vimage/src/sys/conf/options.pc98#2 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_cbq.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_hfsc.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_priq.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_red.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/if_pflog.c#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/if_pflog.h#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.c#6 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.h#4 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf.c#7 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#4 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#8 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_mtag.h#1 add .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_norm.c#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_osfp.c#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ruleset.c#1 add .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_table.c#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pfvar.h#3 edit .. //depot/projects/vimage/src/sys/contrib/pf/netinet/in4_cksum.c#2 edit .. //depot/projects/vimage/src/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp.c#9 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.h#6 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/vimage/src/sys/dev/isp/ispvar.h#5 integrate .. //depot/projects/vimage/src/sys/dev/rp/rp.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sbni/if_sbni.c#2 integrate .. //depot/projects/vimage/src/sys/dev/snp/snp.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/es137x.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/dsp.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/ubser.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/umass.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvisor.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvscom.c#5 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#10 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_xenix.c#3 integrate .. //depot/projects/vimage/src/sys/i386/include/pc/vesa.h#2 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/vimage/src/sys/i4b/driver/i4b_ipr.c#3 integrate .. //depot/projects/vimage/src/sys/i4b/driver/i4b_isppp.c#2 integrate .. //depot/projects/vimage/src/sys/i4b/layer4/i4b_i4bdrv.c#2 integrate .. //depot/projects/vimage/src/sys/i4b/layer4/i4b_l4.c#2 integrate .. //depot/projects/vimage/src/sys/kern/Make.tags.inc#5 integrate .. //depot/projects/vimage/src/sys/kern/init_sysent.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_conf.c#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/vimage/src/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/vimage/src/sys/kern/kern_priv.c#3 integrate .. //depot/projects/vimage/src/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/vimage/src/sys/kern/subr_smp.c#4 integrate .. //depot/projects/vimage/src/sys/kern/subr_unit.c#3 integrate .. //depot/projects/vimage/src/sys/kern/sys_generic.c#6 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.c#2 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.master#2 integrate .. //depot/projects/vimage/src/sys/kern/systrace_args.c#2 integrate .. //depot/projects/vimage/src/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/vimage/src/sys/kern/tty_pts.c#3 integrate .. //depot/projects/vimage/src/sys/kern/tty_pty.c#2 integrate .. //depot/projects/vimage/src/sys/kern/tty_tty.c#2 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/vimage/src/sys/modules/ipfw/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/pf/Makefile#2 integrate .. //depot/projects/vimage/src/sys/net/ieee8023ad_lacp.c#6 integrate .. //depot/projects/vimage/src/sys/net/ieee8023ad_lacp.h#5 integrate .. //depot/projects/vimage/src/sys/net/if_ethersubr.c#12 integrate .. //depot/projects/vimage/src/sys/net/if_lagg.c#6 integrate .. //depot/projects/vimage/src/sys/net/if_lagg.h#5 integrate .. //depot/projects/vimage/src/sys/net/if_ppp.c#6 integrate .. //depot/projects/vimage/src/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/in_proto.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#7 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#15 integrate .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#10 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.h#5 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#11 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#8 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#15 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#5 edit .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#12 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#13 integrate .. //depot/projects/vimage/src/sys/netinet6/esp_output.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.h#4 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#8 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#6 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#3 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#8 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6.c#14 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#13 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#11 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/vimage/src/sys/opencrypto/cast.c#2 integrate .. //depot/projects/vimage/src/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_policy.h#6 integrate .. //depot/projects/vimage/src/sys/sys/conf.h#4 integrate .. //depot/projects/vimage/src/sys/sys/mbuf.h#5 integrate .. //depot/projects/vimage/src/sys/sys/param.h#9 integrate .. //depot/projects/vimage/src/sys/sys/syscall.h#2 integrate .. //depot/projects/vimage/src/sys/sys/syscall.mk#2 integrate .. //depot/projects/vimage/src/sys/sys/sysproto.h#2 integrate .. //depot/projects/vimage/src/sys/sys/systm.h#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_mmap.c#4 integrate Differences ... ==== //depot/projects/vimage/src/sys/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ +# $FreeBSD: src/sys/Makefile,v 1.44 2007/07/05 08:55:13 bz Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netnatm netncp \ + netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} @@ -24,12 +24,14 @@ HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` +# You need the devel/cscope port for this. cscope: ${.CURDIR}/cscopenamefile cd ${.CURDIR}; cscope -k -p4 -i cscopenamefile ${.CURDIR}/cscopenamefile: cd ${.CURDIR}; find ${CSCOPEDIRS} -name "*.[csh]" > ${.TARGET} +# You need the devel/global and one of editor/emacs* ports for that. TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscopenamefile rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscopenamefile ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#5 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.67 2007/07/01 22:19:20 njl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.68 2007/07/04 00:18:38 bz Exp $ # # @@ -542,9 +542,9 @@ #XXX#device i4bipr #XXX#options NI4BIPR=4 # enable VJ header compression detection for ipr i/f -options IPR_VJ +#XXX#options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) -options IPR_LOG=32 +#XXX#options IPR_LOG=32 # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#10 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.44 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.45 2007/07/04 23:06:43 peter Exp $"); #include #include @@ -927,7 +927,6 @@ bsd_args.len = linux_args->len; } bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE; - bsd_args.pad = 0; #ifdef DEBUG if (ldebug(mmap)) @@ -1153,7 +1152,6 @@ #endif sa.fd = args->fd; - sa.pad = 0; sa.length = args->length; return ftruncate(td, &sa); } ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.65 2007/06/17 04:37:57 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.66 2007/07/04 23:04:41 peter Exp $"); #include "opt_compat.h" @@ -475,6 +475,24 @@ return (mmap(td, &ap)); } +#ifdef COMPAT_FREEBSD6 +int +freebsd6_freebsd32_mmap(struct thread *td, struct freebsd6_freebsd32_mmap_args *uap) +{ + struct freebsd32_mmap_args ap; + + ap.addr = uap->addr; + ap.len = uap->len; + ap.prot = uap->prot; + ap.flags = uap->flags; + ap.fd = uap->fd; + ap.poslo = uap->poslo; + ap.poshi = uap->poshi; + + return (freebsd32_mmap(td, &ap)); +} +#endif + struct itimerval32 { struct timeval32 it_interval; struct timeval32 it_value; @@ -1616,6 +1634,71 @@ return (ftruncate(td, &ap)); } +#ifdef COMPAT_FREEBSD6 +/* versions with the 'int pad' argument */ +int +freebsd6_freebsd32_pread(struct thread *td, struct freebsd6_freebsd32_pread_args *uap) +{ + struct pread_args ap; + + ap.fd = uap->fd; + ap.buf = uap->buf; + ap.nbyte = uap->nbyte; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + return (pread(td, &ap)); +} + +int +freebsd6_freebsd32_pwrite(struct thread *td, struct freebsd6_freebsd32_pwrite_args *uap) +{ + struct pwrite_args ap; + + ap.fd = uap->fd; + ap.buf = uap->buf; + ap.nbyte = uap->nbyte; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + return (pwrite(td, &ap)); +} + +int +freebsd6_freebsd32_lseek(struct thread *td, struct freebsd6_freebsd32_lseek_args *uap) +{ + int error; + struct lseek_args ap; + off_t pos; + + ap.fd = uap->fd; + ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32)); + ap.whence = uap->whence; + error = lseek(td, &ap); + /* Expand the quad return into two parts for eax and edx */ + pos = *(off_t *)(td->td_retval); + td->td_retval[0] = pos & 0xffffffff; /* %eax */ + td->td_retval[1] = pos >> 32; /* %edx */ + return error; +} + +int +freebsd6_freebsd32_truncate(struct thread *td, struct freebsd6_freebsd32_truncate_args *uap) +{ + struct truncate_args ap; + + ap.path = uap->path; + ap.length = (uap->lengthlo | ((off_t)uap->lengthhi << 32)); + return (truncate(td, &ap)); +} + +int +freebsd6_freebsd32_ftruncate(struct thread *td, struct freebsd6_freebsd32_ftruncate_args *uap) +{ + struct ftruncate_args ap; + + ap.fd = uap->fd; + ap.length = (uap->lengthlo | ((off_t)uap->lengthhi << 32)); + return (ftruncate(td, &ap)); +} +#endif /* COMPAT_FREEBSD6 */ + struct sf_hdtr32 { uint32_t headers; int hdr_cnt; ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.76 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.77 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -134,22 +134,6 @@ char a3_l_[PADL_(uint32_t)]; uint32_t a3; char a3_r_[PADR_(uint32_t)]; char a4_l_[PADL_(uint32_t)]; uint32_t a4; char a4_r_[PADR_(uint32_t)]; }; -struct freebsd32_pread_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_pwrite_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_stat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; @@ -162,35 +146,6 @@ char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)]; }; -struct freebsd32_mmap_args { - char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; - char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; - char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_lseek_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; - char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; - char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; -}; -struct freebsd32_truncate_args { - char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; -struct freebsd32_ftruncate_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; - char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; - char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; -}; struct freebsd32_sysctl_args { char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)]; char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)]; @@ -322,6 +277,45 @@ char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)]; char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; }; +struct freebsd32_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; + char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd32_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +struct freebsd32_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *); int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *); int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *); @@ -341,15 +335,9 @@ int freebsd32_semsys(struct thread *, struct freebsd32_semsys_args *); int freebsd32_msgsys(struct thread *, struct freebsd32_msgsys_args *); int freebsd32_shmsys(struct thread *, struct freebsd32_shmsys_args *); -int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); -int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); int freebsd32_stat(struct thread *, struct freebsd32_stat_args *); int freebsd32_fstat(struct thread *, struct freebsd32_fstat_args *); int freebsd32_lstat(struct thread *, struct freebsd32_lstat_args *); -int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); -int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); -int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); -int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); int freebsd32_sysctl(struct thread *, struct freebsd32_sysctl_args *); int freebsd32_futimes(struct thread *, struct freebsd32_futimes_args *); int freebsd32_msgsnd(struct thread *, struct freebsd32_msgsnd_args *); @@ -377,6 +365,12 @@ int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *); int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *); int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *); +int freebsd32_pread(struct thread *, struct freebsd32_pread_args *); +int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *); +int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *); +int freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *); +int freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *); +int freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *); #ifdef COMPAT_43 @@ -466,6 +460,63 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +struct freebsd6_freebsd32_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)]; + char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd6_freebsd32_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +struct freebsd6_freebsd32_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)]; + char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)]; +}; +int freebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *); +int freebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *); +int freebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *); +int freebsd6_freebsd32_lseek(struct thread *, struct freebsd6_freebsd32_lseek_args *); +int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); +int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); + +#endif /* COMPAT_FREEBSD6 */ + #define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4 #define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG #define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG @@ -485,15 +536,9 @@ #define FREEBSD32_SYS_AUE_freebsd32_semsys AUE_SEMSYS #define FREEBSD32_SYS_AUE_freebsd32_msgsys AUE_MSGSYS #define FREEBSD32_SYS_AUE_freebsd32_shmsys AUE_SHMSYS -#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD -#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE #define FREEBSD32_SYS_AUE_freebsd32_stat AUE_STAT #define FREEBSD32_SYS_AUE_freebsd32_fstat AUE_FSTAT #define FREEBSD32_SYS_AUE_freebsd32_lstat AUE_LSTAT -#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP -#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK -#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE -#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #define FREEBSD32_SYS_AUE_freebsd32_sysctl AUE_SYSCTL #define FREEBSD32_SYS_AUE_freebsd32_futimes AUE_FUTIMES #define FREEBSD32_SYS_AUE_freebsd32_msgsnd AUE_MSGSND @@ -521,6 +566,12 @@ #define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD +#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE +#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP +#define FREEBSD32_SYS_AUE_freebsd32_lseek AUE_LSEEK +#define FREEBSD32_SYS_AUE_freebsd32_truncate AUE_TRUNCATE +#define FREEBSD32_SYS_AUE_freebsd32_ftruncate AUE_FTRUNCATE #undef PAD_ #undef PADL_ ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.74 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.75 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ #define FREEBSD32_SYS_syscall 0 @@ -24,7 +24,7 @@ #define FREEBSD32_SYS_chmod 15 #define FREEBSD32_SYS_chown 16 #define FREEBSD32_SYS_break 17 - /* 18 is old freebsd32_getfsstat */ +#define FREEBSD32_SYS_freebsd4_freebsd32_getfsstat 18 /* 19 is obsolete olseek */ #define FREEBSD32_SYS_getpid 20 #define FREEBSD32_SYS_mount 21 @@ -153,8 +153,8 @@ /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ /* 156 is obsolete ogetdirentries */ - /* 157 is old freebsd32_statfs */ - /* 158 is old freebsd32_fstatfs */ +#define FREEBSD32_SYS_freebsd4_freebsd32_statfs 157 +#define FREEBSD32_SYS_freebsd4_freebsd32_fstatfs 158 #define FREEBSD32_SYS_getfh 161 #define FREEBSD32_SYS_getdomainname 162 #define FREEBSD32_SYS_setdomainname 163 @@ -164,8 +164,8 @@ #define FREEBSD32_SYS_freebsd32_semsys 169 #define FREEBSD32_SYS_freebsd32_msgsys 170 #define FREEBSD32_SYS_freebsd32_shmsys 171 -#define FREEBSD32_SYS_freebsd32_pread 173 -#define FREEBSD32_SYS_freebsd32_pwrite 174 +#define FREEBSD32_SYS_freebsd6_freebsd32_pread 173 +#define FREEBSD32_SYS_freebsd6_freebsd32_pwrite 174 #define FREEBSD32_SYS_ntp_adjtime 176 #define FREEBSD32_SYS_setgid 181 #define FREEBSD32_SYS_setegid 182 @@ -178,11 +178,11 @@ #define FREEBSD32_SYS_getrlimit 194 #define FREEBSD32_SYS_setrlimit 195 #define FREEBSD32_SYS_getdirentries 196 -#define FREEBSD32_SYS_freebsd32_mmap 197 +#define FREEBSD32_SYS_freebsd6_freebsd32_mmap 197 #define FREEBSD32_SYS___syscall 198 -#define FREEBSD32_SYS_freebsd32_lseek 199 -#define FREEBSD32_SYS_freebsd32_truncate 200 -#define FREEBSD32_SYS_freebsd32_ftruncate 201 +#define FREEBSD32_SYS_freebsd6_freebsd32_lseek 199 +#define FREEBSD32_SYS_freebsd6_freebsd32_truncate 200 +#define FREEBSD32_SYS_freebsd6_freebsd32_ftruncate 201 #define FREEBSD32_SYS_freebsd32_sysctl 202 #define FREEBSD32_SYS_mlock 203 #define FREEBSD32_SYS_munlock 204 @@ -220,7 +220,7 @@ #define FREEBSD32_SYS_nlstat 280 #define FREEBSD32_SYS_freebsd32_preadv 289 #define FREEBSD32_SYS_freebsd32_pwritev 290 - /* 297 is old freebsd32_fhstatfs */ +#define FREEBSD32_SYS_freebsd4_freebsd32_fhstatfs 297 #define FREEBSD32_SYS_fhopen 298 #define FREEBSD32_SYS_fhstat 299 #define FREEBSD32_SYS_modnext 300 @@ -252,14 +252,14 @@ #define FREEBSD32_SYS_sched_get_priority_min 333 #define FREEBSD32_SYS_sched_rr_get_interval 334 #define FREEBSD32_SYS_utrace 335 - /* 336 is old freebsd32_sendfile */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sendfile 336 #define FREEBSD32_SYS_kldsym 337 #define FREEBSD32_SYS_jail 338 #define FREEBSD32_SYS_sigprocmask 340 #define FREEBSD32_SYS_sigsuspend 341 - /* 342 is old freebsd32_sigaction */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sigaction 342 #define FREEBSD32_SYS_sigpending 343 - /* 344 is old freebsd32_sigreturn */ +#define FREEBSD32_SYS_freebsd4_freebsd32_sigreturn 344 #define FREEBSD32_SYS_freebsd32_sigtimedwait 345 #define FREEBSD32_SYS_freebsd32_sigwaitinfo 346 #define FREEBSD32_SYS___acl_get_file 347 @@ -331,4 +331,10 @@ #define FREEBSD32_SYS_sctp_generic_sendmsg 472 #define FREEBSD32_SYS_sctp_generic_sendmsg_iov 473 #define FREEBSD32_SYS_sctp_generic_recvmsg 474 -#define FREEBSD32_SYS_MAXSYSCALL 475 +#define FREEBSD32_SYS_freebsd32_pread 475 +#define FREEBSD32_SYS_freebsd32_pwrite 476 +#define FREEBSD32_SYS_freebsd32_mmap 477 +#define FREEBSD32_SYS_freebsd32_lseek 478 +#define FREEBSD32_SYS_freebsd32_truncate 479 +#define FREEBSD32_SYS_freebsd32_ftruncate 480 +#define FREEBSD32_SYS_MAXSYSCALL 481 ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.65 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.66 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ const char *freebsd32_syscallnames[] = { @@ -25,7 +25,7 @@ "chmod", /* 15 = chmod */ "chown", /* 16 = chown */ "break", /* 17 = break */ - "old.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ + "compat4.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ "obs_olseek", /* 19 = obsolete olseek */ "getpid", /* 20 = getpid */ "mount", /* 21 = mount */ @@ -53,13 +53,13 @@ "getegid", /* 43 = getegid */ "profil", /* 44 = profil */ "ktrace", /* 45 = ktrace */ - "old.freebsd32_sigaction", /* 46 = old freebsd32_sigaction */ + "compat.freebsd32_sigaction", /* 46 = old freebsd32_sigaction */ "getgid", /* 47 = getgid */ - "old.freebsd32_sigprocmask", /* 48 = old freebsd32_sigprocmask */ + "compat.freebsd32_sigprocmask", /* 48 = old freebsd32_sigprocmask */ "getlogin", /* 49 = getlogin */ "setlogin", /* 50 = setlogin */ "acct", /* 51 = acct */ - "old.freebsd32_sigpending", /* 52 = old freebsd32_sigpending */ + "compat.freebsd32_sigpending", /* 52 = old freebsd32_sigpending */ "freebsd32_sigaltstack", /* 53 = freebsd32_sigaltstack */ "ioctl", /* 54 = ioctl */ "reboot", /* 55 = reboot */ @@ -115,11 +115,11 @@ "setsockopt", /* 105 = setsockopt */ "listen", /* 106 = listen */ "obs_vtimes", /* 107 = obsolete vtimes */ - "old.freebsd32_sigvec", /* 108 = old freebsd32_sigvec */ - "old.freebsd32_sigblock", /* 109 = old freebsd32_sigblock */ - "old.freebsd32_sigsetmask", /* 110 = old freebsd32_sigsetmask */ - "old.freebsd32_sigsuspend", /* 111 = old freebsd32_sigsuspend */ - "old.freebsd32_sigstack", /* 112 = old freebsd32_sigstack */ + "compat.freebsd32_sigvec", /* 108 = old freebsd32_sigvec */ + "compat.freebsd32_sigblock", /* 109 = old freebsd32_sigblock */ + "compat.freebsd32_sigsetmask", /* 110 = old freebsd32_sigsetmask */ + "compat.freebsd32_sigsuspend", /* 111 = old freebsd32_sigsuspend */ + "compat.freebsd32_sigstack", /* 112 = old freebsd32_sigstack */ "obs_orecvmsg", /* 113 = obsolete orecvmsg */ "obs_osendmsg", /* 114 = obsolete osendmsg */ "obs_vtrace", /* 115 = obsolete vtrace */ @@ -164,8 +164,8 @@ "#154", /* 154 = nosys */ "#155", /* 155 = nfssvc */ "obs_ogetdirentries", /* 156 = obsolete ogetdirentries */ - "old.freebsd32_statfs", /* 157 = old freebsd32_statfs */ - "old.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */ + "compat4.freebsd32_statfs", /* 157 = old freebsd32_statfs */ + "compat4.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */ "#159", /* 159 = nosys */ "#160", /* 160 = lgetfh */ "getfh", /* 161 = getfh */ @@ -180,8 +180,8 @@ "freebsd32_msgsys", /* 170 = freebsd32_msgsys */ "freebsd32_shmsys", /* 171 = freebsd32_shmsys */ "#172", /* 172 = nosys */ - "freebsd32_pread", /* 173 = freebsd32_pread */ - "freebsd32_pwrite", /* 174 = freebsd32_pwrite */ + "compat6.freebsd32_pread", /* 173 = old freebsd32_pread */ + "compat6.freebsd32_pwrite", /* 174 = old freebsd32_pwrite */ "#175", /* 175 = nosys */ "ntp_adjtime", /* 176 = ntp_adjtime */ "#177", /* 177 = sfork */ @@ -204,11 +204,11 @@ "getrlimit", /* 194 = getrlimit */ "setrlimit", /* 195 = setrlimit */ "getdirentries", /* 196 = getdirentries */ - "freebsd32_mmap", /* 197 = freebsd32_mmap */ + "compat6.freebsd32_mmap", /* 197 = old freebsd32_mmap */ "__syscall", /* 198 = __syscall */ - "freebsd32_lseek", /* 199 = freebsd32_lseek */ - "freebsd32_truncate", /* 200 = freebsd32_truncate */ - "freebsd32_ftruncate", /* 201 = freebsd32_ftruncate */ + "compat6.freebsd32_lseek", /* 199 = old freebsd32_lseek */ + "compat6.freebsd32_truncate", /* 200 = old freebsd32_truncate */ + "compat6.freebsd32_ftruncate", /* 201 = old freebsd32_ftruncate */ "freebsd32_sysctl", /* 202 = freebsd32_sysctl */ "mlock", /* 203 = mlock */ "munlock", /* 204 = munlock */ @@ -304,7 +304,7 @@ "#294", /* 294 = nosys */ "#295", /* 295 = nosys */ "#296", /* 296 = nosys */ - "old.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */ + "compat4.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */ "fhopen", /* 298 = fhopen */ "fhstat", /* 299 = fhstat */ "modnext", /* 300 = modnext */ @@ -343,15 +343,15 @@ "sched_get_priority_min", /* 333 = sched_get_priority_min */ "sched_rr_get_interval", /* 334 = sched_rr_get_interval */ "utrace", /* 335 = utrace */ - "old.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */ + "compat4.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */ "kldsym", /* 337 = kldsym */ "jail", /* 338 = jail */ "#339", /* 339 = pioctl */ "sigprocmask", /* 340 = sigprocmask */ "sigsuspend", /* 341 = sigsuspend */ - "old.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */ + "compat4.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */ "sigpending", /* 343 = sigpending */ - "old.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */ + "compat4.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */ "freebsd32_sigtimedwait", /* 345 = freebsd32_sigtimedwait */ "freebsd32_sigwaitinfo", /* 346 = freebsd32_sigwaitinfo */ "__acl_get_file", /* 347 = __acl_get_file */ @@ -482,4 +482,10 @@ "sctp_generic_sendmsg", /* 472 = sctp_generic_sendmsg */ "sctp_generic_sendmsg_iov", /* 473 = sctp_generic_sendmsg_iov */ "sctp_generic_recvmsg", /* 474 = sctp_generic_recvmsg */ + "freebsd32_pread", /* 475 = freebsd32_pread */ + "freebsd32_pwrite", /* 476 = freebsd32_pwrite */ + "freebsd32_mmap", /* 477 = freebsd32_mmap */ + "freebsd32_lseek", /* 478 = freebsd32_lseek */ + "freebsd32_truncate", /* 479 = freebsd32_truncate */ + "freebsd32_ftruncate", /* 480 = freebsd32_ftruncate */ }; ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.75 2006/12/20 19:39:10 jkim Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.88 2006/12/20 19:36:03 jkim Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.76 2007/07/04 23:03:50 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp */ #include "opt_compat.h" @@ -30,6 +30,12 @@ #define compat4(n, name) 0, (sy_call_t *)nosys #endif +#ifdef COMPAT_FREEBSD6 +#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name) +#else +#define compat6(n, name) 0, (sy_call_t *)nosys +#endif + /* The casts are bogus but will do for now. */ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = syscall */ @@ -205,8 +211,8 @@ { AS(freebsd32_msgsys_args), (sy_call_t *)freebsd32_msgsys, AUE_MSGSYS, NULL, 0, 0 }, /* 170 = freebsd32_msgsys */ { AS(freebsd32_shmsys_args), (sy_call_t *)freebsd32_shmsys, AUE_SHMSYS, NULL, 0, 0 }, /* 171 = freebsd32_shmsys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 172 = nosys */ - { AS(freebsd32_pread_args), (sy_call_t *)freebsd32_pread, AUE_PREAD, NULL, 0, 0 }, /* 173 = freebsd32_pread */ - { AS(freebsd32_pwrite_args), (sy_call_t *)freebsd32_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 174 = freebsd32_pwrite */ + { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0 }, /* 173 = old freebsd32_pread */ + { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0 }, /* 174 = old freebsd32_pwrite */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 175 = nosys */ { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 }, /* 176 = ntp_adjtime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 177 = sfork */ @@ -229,11 +235,11 @@ { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0 }, /* 194 = getrlimit */ { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0 }, /* 195 = setrlimit */ { AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 196 = getdirentries */ - { AS(freebsd32_mmap_args), (sy_call_t *)freebsd32_mmap, AUE_MMAP, NULL, 0, 0 }, /* 197 = freebsd32_mmap */ + { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0 }, /* 197 = old freebsd32_mmap */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 198 = __syscall */ - { AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 199 = freebsd32_lseek */ - { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = freebsd32_truncate */ - { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = freebsd32_ftruncate */ + { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0 }, /* 199 = old freebsd32_lseek */ + { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = old freebsd32_truncate */ + { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = old freebsd32_ftruncate */ { AS(freebsd32_sysctl_args), (sy_call_t *)freebsd32_sysctl, AUE_SYSCTL, NULL, 0, 0 }, /* 202 = freebsd32_sysctl */ { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0 }, /* 203 = mlock */ { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0 }, /* 204 = munlock */ @@ -507,4 +513,10 @@ { AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0 }, /* 472 = sctp_generic_sendmsg */ { AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0 }, /* 473 = sctp_generic_sendmsg_iov */ { AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0 }, /* 474 = sctp_generic_recvmsg */ + { AS(freebsd32_pread_args), (sy_call_t *)freebsd32_pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = freebsd32_pread */ + { AS(freebsd32_pwrite_args), (sy_call_t *)freebsd32_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = freebsd32_pwrite */ + { AS(freebsd32_mmap_args), (sy_call_t *)freebsd32_mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = freebsd32_mmap */ + { AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = freebsd32_lseek */ + { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */ + { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_ftruncate */ }; ==== //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.89 2007/06/15 21:54:26 emaste Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -303,11 +303,11 @@ 171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \ uint32_t a3, uint32_t a4); } 172 AUE_NULL UNIMPL nosys -173 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, void *buf, \ +173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \ size_t nbyte, int pad, \ u_int32_t offsetlo, u_int32_t offsethi); } ; XXX note - bigendian is different -174 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ +174 AUE_PWRITE COMPAT6 { ssize_t freebsd32_pwrite(int fd, \ const void *buf, size_t nbyte, int pad, \ u_int32_t offsetlo, u_int32_t offsethi); } ; XXX note - bigendian is different @@ -343,22 +343,22 @@ __setrlimit_args int 196 AUE_GETDIRENTRIES NOPROTO { int getdirentries(int fd, char *buf, \ u_int count, long *basep); } -197 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \ +197 AUE_MMAP COMPAT6 { caddr_t freebsd32_mmap(caddr_t addr, \ size_t len, int prot, int flags, int fd, \ int pad, u_int32_t poslo, \ u_int32_t poshi); } 198 AUE_NULL NOPROTO { int nosys(void); } __syscall \ __syscall_args int ; XXX note - bigendian is different -199 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, int pad, \ +199 AUE_LSEEK COMPAT6 { off_t freebsd32_lseek(int fd, int pad, \ u_int32_t offsetlo, u_int32_t offsethi, \ int whence); } ; XXX note - bigendian is different -200 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ +200 AUE_TRUNCATE COMPAT6 { int freebsd32_truncate(char *path, \ int pad, u_int32_t lengthlo, \ u_int32_t lengthhi); } ; XXX note - bigendian is different -201 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, int pad, \ +201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \ u_int32_t lengthlo, u_int32_t lengthhi); } 202 AUE_SYSCTL STD { int freebsd32_sysctl(int *name, \ u_int namelen, void *old, \ @@ -778,3 +778,19 @@ 474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ struct sockaddr * from, __socklen_t *fromlenaddr, \ struct sctp_sndrcvinfo *sinfo, int *msg_flags); } +475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \ + void *buf,size_t nbyte, \ + u_int32_t offsetlo, u_int32_t offsethi); } +476 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ + const void *buf, size_t nbyte, \ + u_int32_t offsetlo, u_int32_t offsethi); } +477 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \ + size_t len, int prot, int flags, int fd, \ + u_int32_t poslo, u_int32_t poshi); } +478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \ + u_int32_t offsetlo, u_int32_t offsethi, \ + int whence); } +479 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ + u_int32_t lengthlo, u_int32_t lengthhi); } +480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ + u_int32_t lengthlo, u_int32_t lengthhi); } ==== //depot/projects/vimage/src/sys/compat/linux/linux_file.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.104 2007/06/10 04:37:22 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.105 2007/07/04 23:06:43 peter Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -835,7 +835,6 @@ } */ nuap; nuap.fd = args->fd; - nuap.pad = 0; nuap.length = args->length; return (ftruncate(td, &nuap)); } ==== //depot/projects/vimage/src/sys/compat/pecoff/imgact_pecoff.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.39 2005/02/22 01:26:48 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.40 2007/07/05 07:38:17 peter Exp $"); #include #include @@ -405,7 +405,7 @@ int prot; u_long text_size = 0, data_size = 0, dsize; u_long text_addr = 0, data_addr = VM_MAXUSER_ADDRESS; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 03:23:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C7A216A469; Fri, 6 Jul 2007 03:23:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 030AA16A41F for ; Fri, 6 Jul 2007 03:23:30 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E720E13C457 for ; Fri, 6 Jul 2007 03:23:29 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l663NTj8017801 for ; Fri, 6 Jul 2007 03:23:29 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l663NTF3017798 for perforce@freebsd.org; Fri, 6 Jul 2007 03:23:29 GMT (envelope-from thompsa@freebsd.org) Date: Fri, 6 Jul 2007 03:23:29 GMT Message-Id: <200707060323.l663NTF3017798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 122988 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 03:23:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=122988 Change 122988 by thompsa@thompsa_heff on 2007/07/06 03:23:28 Add in a large chunk of ipw changes by Sam, I am currently testing and refining this. Affected files ... .. //depot/projects/wifi/sys/dev/ipw/if_ipw.c#19 edit .. //depot/projects/wifi/sys/dev/ipw/if_ipwreg.h#3 edit .. //depot/projects/wifi/sys/dev/ipw/if_ipwvar.h#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/ipw/if_ipw.c#19 (text+ko) ==== @@ -1,8 +1,7 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.28 2007/06/29 02:43:13 kevlo Exp $ */ - /*- * Copyright (c) 2004-2006 * Damien Bergamini . All rights reserved. + * Copyright (c) 2006 Sam Leffler, Errno Consulting * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -28,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.28 2007/06/29 02:43:13 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.18 2006/03/13 20:05:32 damien Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -78,10 +77,11 @@ #include #include +#define IPW_DEBUG #ifdef IPW_DEBUG #define DPRINTF(x) do { if (ipw_debug > 0) printf x; } while (0) #define DPRINTFN(n, x) do { if (ipw_debug >= (n)) printf x; } while (0) -int ipw_debug = 0; +int ipw_debug = 4; SYSCTL_INT(_debug, OID_AUTO, ipw, CTLFLAG_RW, &ipw_debug, 0, "ipw debug level"); #else #define DPRINTF(x) @@ -109,40 +109,66 @@ static int ipw_media_change(struct ifnet *); static void ipw_media_status(struct ifnet *, struct ifmediareq *); static int ipw_newstate(struct ieee80211com *, enum ieee80211_state, int); -static uint16_t ipw_read_prom_word(struct ipw_softc *, uint8_t); -static void ipw_command_intr(struct ipw_softc *, struct ipw_soft_buf *); -static void ipw_newstate_intr(struct ipw_softc *, struct ipw_soft_buf *); -static void ipw_data_intr(struct ipw_softc *, struct ipw_status *, +static void ipw_rx_cmd_intr(struct ipw_softc *, struct ipw_soft_buf *); +static void ipw_rx_newstate_intr(struct ipw_softc *, struct ipw_soft_buf *); +static void ipw_rx_data_intr(struct ipw_softc *, struct ipw_status *, struct ipw_soft_bd *, struct ipw_soft_buf *); static void ipw_rx_intr(struct ipw_softc *); static void ipw_release_sbd(struct ipw_softc *, struct ipw_soft_bd *); static void ipw_tx_intr(struct ipw_softc *); +static const char *ipw_cmdname(int); static void ipw_intr(void *); static void ipw_dma_map_addr(void *, bus_dma_segment_t *, int, int); -static int ipw_cmd(struct ipw_softc *, uint32_t, void *, uint32_t); +static int ipw_cmd(struct ipw_softc *, uint32_t, const void *, uint32_t); static int ipw_tx_start(struct ifnet *, struct mbuf *, struct ieee80211_node *); +static void ipw_start_locked(struct ifnet *); static void ipw_start(struct ifnet *); -static void ipw_watchdog(struct ifnet *); +static void ipw_watchdog(void *); static int ipw_ioctl(struct ifnet *, u_long, caddr_t); static void ipw_stop_master(struct ipw_softc *); static int ipw_reset(struct ipw_softc *); -static int ipw_load_ucode(struct ipw_softc *, const char *, int); -static int ipw_load_firmware(struct ipw_softc *, const char *, int); +static int ipw_enable(struct ipw_softc *); +static int ipw_disable(struct ipw_softc *); static int ipw_config(struct ipw_softc *); -static void ipw_init_task(void *, int); +static void ipw_restart(void *, int); +static int ipw_scan(struct ipw_softc *); +static void ipw_scanstart(void *, int); +static void ipw_assoc_lost(void *, int); +static void ipw_assoc(void *, int); +static int ipw_auth_and_assoc(struct ipw_softc *); +static int ipw_disassociate(struct ipw_softc *); +static void ipw_down(void *, int); static void ipw_init(void *); +static void ipw_init_locked(struct ipw_softc *, int); +static void ipw_stop_locked(struct ipw_softc *); static void ipw_stop(void *); static int ipw_sysctl_stats(SYSCTL_HANDLER_ARGS); +static int ipw_getrfkill(struct ipw_softc *); +static void ipw_radio_on(void *, int); +static void ipw_radio_off(void *, int); static int ipw_sysctl_radio(SYSCTL_HANDLER_ARGS); +static int ipw_get_firmware(struct ipw_softc *); +static void ipw_put_firmware(struct ipw_softc *); +static int ipw_load_ucode(struct ipw_softc *, const struct ipw_fw *); +static int ipw_load_firmware(struct ipw_softc *, const struct ipw_fw *); static uint32_t ipw_read_table1(struct ipw_softc *, uint32_t); static void ipw_write_table1(struct ipw_softc *, uint32_t, uint32_t); +#if 0 static int ipw_read_table2(struct ipw_softc *, uint32_t, void *, uint32_t *); static void ipw_read_mem_1(struct ipw_softc *, bus_size_t, uint8_t *, bus_size_t); +#endif static void ipw_write_mem_1(struct ipw_softc *, bus_size_t, const uint8_t *, bus_size_t); +static uint16_t ipw_read_prom_word(struct ipw_softc *, uint8_t); +static void ipw_sysctlattach(struct ipw_softc *); +static void ipw_scan_start(struct ieee80211com *); +static void ipw_scan_end(struct ieee80211com *); +static void ipw_set_channel(struct ieee80211com *); +static void ipw_scan_curchan(struct ieee80211com *, unsigned long maxdwell); +static void ipw_scan_mindwell(struct ieee80211com *); static int ipw_probe(device_t); static int ipw_attach(device_t); @@ -172,6 +198,22 @@ static devclass_t ipw_devclass; DRIVER_MODULE(ipw, pci, ipw_driver, ipw_devclass, 0, 0); +DRIVER_MODULE(ipw, cardbus, ipw_driver, ipw_devclass, 0, 0); + +/* + * NB.: This models the only instance of async locking in ipw_init_locked + * and must be kept in sync. + */ +#define IPW_LOCK_DECL int __waslocked = 0 +#define IPW_LOCK(sc) do { \ + if (!(__waslocked = mtx_owned(&(sc)->sc_mtx))) \ + mtx_lock(&sc->sc_mtx); \ +} while (0) +#define IPW_UNLOCK(sc) do { \ + if (!__waslocked) \ + mtx_unlock(&sc->sc_mtx); \ +} while (0) +#define IPW_LOCK_ASSERT(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) static int ipw_probe(device_t dev) @@ -206,7 +248,25 @@ mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); - TASK_INIT(&sc->sc_init_task, 0, ipw_init_task, sc); +#if __FreeBSD_version >= 700000 + sc->sc_tq = taskqueue_create("ipw_taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sc->sc_tq); + taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", + device_get_nameunit(dev)); +#else + sc->sc_tq = taskqueue_create("ipw_taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sc->sc_tq, &sc->sc_tqproc); + taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", + device_get_nameunit(dev)); +#endif + TASK_INIT(&sc->sc_radiontask, 0, ipw_radio_on, sc); + TASK_INIT(&sc->sc_radiofftask, 0, ipw_radio_off, sc); + TASK_INIT(&sc->sc_scanstarttask,0, ipw_scanstart, sc); + TASK_INIT(&sc->sc_assoclosttask,0, ipw_assoc_lost, sc); + TASK_INIT(&sc->sc_assoctask, 0, ipw_assoc, sc); + TASK_INIT(&sc->sc_downtask, 0, ipw_down, sc); + TASK_INIT(&sc->sc_restarttask, 0, ipw_restart, sc); + callout_init_mtx(&sc->sc_wdtimer, &sc->sc_mtx, 0); if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { device_printf(dev, "chip is in D%d power mode " @@ -260,7 +320,6 @@ ifp->if_init = ipw_init; ifp->if_ioctl = ipw_ioctl; ifp->if_start = ipw_start; - ifp->if_watchdog = ipw_watchdog; IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; IFQ_SET_READY(&ifp->if_snd); @@ -271,11 +330,12 @@ ic->ic_state = IEEE80211_S_INIT; /* set device capabilities */ - ic->ic_caps = - IEEE80211_C_IBSS | /* IBSS mode supported */ - IEEE80211_C_MONITOR | /* monitor mode supported */ - IEEE80211_C_TXPMGT | /* tx power management */ - IEEE80211_C_SHPREAMBLE; /* short preamble supported */ + ic->ic_caps = IEEE80211_C_IBSS /* IBSS mode supported */ + | IEEE80211_C_MONITOR /* monitor mode supported */ + | IEEE80211_C_PMGT /* power save supported */ + | IEEE80211_C_SHPREAMBLE /* short preamble supported */ + | IEEE80211_C_WPA /* 802.11i supported */ + ; /* read MAC address from EEPROM */ val = ipw_read_prom_word(sc, IPW_EEPROM_MAC + 0); @@ -303,7 +363,7 @@ /* check support for radio transmitter switch in EEPROM */ if (!(ipw_read_prom_word(sc, IPW_EEPROM_RADIO) & 8)) - sc->flags |= IPW_FLAG_HAS_RADIO_SWITCH; + sc->flags |= IPW_FLAG_HAS_RFSWITCH; ieee80211_ifattach(ic); /* override state transition machine */ @@ -311,8 +371,14 @@ ic->ic_newstate = ipw_newstate; ieee80211_media_init(ic, ipw_media_change, ipw_media_status); + ic->ic_scan_start = ipw_scan_start; + ic->ic_scan_end = ipw_scan_end; + ic->ic_set_channel = ipw_set_channel; + ic->ic_scan_curchan = ipw_scan_curchan; + ic->ic_scan_mindwell = ipw_scan_mindwell; + bpfattach2(ifp, DLT_IEEE802_11_RADIO, - sizeof (struct ieee80211_frame) + sizeof (sc->sc_txtap), + sizeof (struct ieee80211_frame) + sizeof (sc->sc_txtap), &sc->sc_drvbpf); sc->sc_rxtap_len = sizeof sc->sc_rxtap; @@ -323,26 +389,8 @@ sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(IPW_TX_RADIOTAP_PRESENT); - /* - * Add a few sysctl knobs. - */ - sc->dwelltime = 100; - - SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "radio", - CTLTYPE_INT | CTLFLAG_RD, sc, 0, ipw_sysctl_radio, "I", - "radio transmitter switch state (0=off, 1=on)"); + ipw_sysctlattach(sc); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "stats", - CTLTYPE_OPAQUE | CTLFLAG_RD, sc, 0, ipw_sysctl_stats, "S", - "statistics"); - - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "dwell", - CTLFLAG_RW, &sc->dwelltime, 0, - "channel dwell time (ms) for AP/station scanning"); - /* * Hook our interrupt after all initialization is complete. */ @@ -370,6 +418,8 @@ struct ifnet *ifp = ic->ic_ifp; ipw_stop(sc); + callout_drain(&sc->sc_wdtimer); + ipw_put_firmware(sc); if (ifp != NULL) { bpfdetach(ifp); @@ -389,10 +439,7 @@ if (ifp != NULL) if_free(ifp); - if (sc->sc_firmware != NULL) { - firmware_put(sc->sc_firmware, FIRMWARE_UNLOAD); - sc->sc_firmware = NULL; - } + taskqueue_free(sc->sc_tq); mtx_destroy(&sc->sc_mtx); @@ -692,6 +739,7 @@ struct ipw_softc *sc = device_get_softc(dev); ipw_stop(sc); + ipw_put_firmware(sc); /* ??? XXX */ return 0; } @@ -711,18 +759,19 @@ { struct ipw_softc *sc = device_get_softc(dev); struct ifnet *ifp = sc->sc_ic.ic_ifp; + IPW_LOCK_DECL; - mtx_lock(&sc->sc_mtx); + IPW_LOCK(sc); pci_write_config(dev, 0x41, 0, 1); if (ifp->if_flags & IFF_UP) { - ifp->if_init(ifp->if_softc); + ipw_init_locked(sc, 0); if (ifp->if_drv_flags & IFF_DRV_RUNNING) - ifp->if_start(ifp); + ipw_start_locked(ifp); } - mtx_unlock(&sc->sc_mtx); + IPW_UNLOCK(sc); return 0; } @@ -732,20 +781,30 @@ { struct ipw_softc *sc = ifp->if_softc; int error; + IPW_LOCK_DECL; - mtx_lock(&sc->sc_mtx); - + IPW_LOCK(sc); error = ieee80211_media_change(ifp); - if (error != ENETRESET) { - mtx_unlock(&sc->sc_mtx); - return error; + if (error == ENETRESET) { + if ((ifp->if_flags & IFF_UP) && + (ifp->if_drv_flags & IFF_DRV_RUNNING)) + ipw_init_locked(sc, 0); + error = 0; } + IPW_UNLOCK(sc); - if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) - ipw_init(sc); + return error; +} - mtx_unlock(&sc->sc_mtx); - +static int +ipw_cvtrate(int ipwrate) +{ + switch (ipwrate) { + case IPW_RATE_DS1: return 2; + case IPW_RATE_DS2: return 4; + case IPW_RATE_DS5: return 11; + case IPW_RATE_DS11: return 22; + } return 0; } @@ -756,20 +815,9 @@ static void ipw_media_status(struct ifnet *ifp, struct ifmediareq *imr) { -#define N(a) (sizeof (a) / sizeof (a[0])) struct ipw_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; - static const struct { - uint32_t val; - int rate; - } rates[] = { - { IPW_RATE_DS1, 2 }, - { IPW_RATE_DS2, 4 }, - { IPW_RATE_DS5, 11 }, - { IPW_RATE_DS11, 22 }, - }; - uint32_t val; - int rate, i; + int rate; imr->ifm_status = IFM_AVALID; imr->ifm_active = IFM_IEEE80211; @@ -777,33 +825,13 @@ imr->ifm_status |= IFM_ACTIVE; /* read current transmission rate from adapter */ - val = ipw_read_table1(sc, IPW_INFO_CURRENT_TX_RATE) & 0xf; - - /* convert ipw rate to 802.11 rate */ - for (i = 0; i < N(rates) && rates[i].val != val; i++); - rate = (i < N(rates)) ? rates[i].rate : 0; - - imr->ifm_active |= IFM_IEEE80211_11B; + rate = ipw_cvtrate(ipw_read_table1(sc, IPW_INFO_CURRENT_TX_RATE) & 0xf); imr->ifm_active |= ieee80211_rate2media(ic, rate, IEEE80211_MODE_11B); - switch (ic->ic_opmode) { - case IEEE80211_M_STA: - break; - case IEEE80211_M_IBSS: + if (ic->ic_opmode == IEEE80211_M_IBSS) imr->ifm_active |= IFM_IEEE80211_IBSS; - break; - - case IEEE80211_M_MONITOR: + else if (ic->ic_opmode == IEEE80211_M_MONITOR) imr->ifm_active |= IFM_IEEE80211_MONITOR; - break; - - case IEEE80211_M_AHDEMO: - case IEEE80211_M_HOSTAP: - case IEEE80211_M_WDS: - /* should not get there */ - break; - } -#undef N } static int @@ -811,99 +839,55 @@ { struct ifnet *ifp = ic->ic_ifp; struct ipw_softc *sc = ifp->if_softc; - uint8_t macaddr[IEEE80211_ADDR_LEN]; - uint32_t len; + + DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, + ieee80211_state_name[ic->ic_state], + ieee80211_state_name[nstate], sc->flags)); switch (nstate) { + case IEEE80211_S_AUTH: + taskqueue_enqueue(sc->sc_tq, &sc->sc_assoctask); + break; + case IEEE80211_S_RUN: - DELAY(200); /* firmware needs a short delay here */ + if (ic->ic_opmode == IEEE80211_M_IBSS) { + /* + * XXX when joining an ibss network we are called + * with a SCAN -> RUN transition on scan complete. + * Use that to call ipw_auth_and_assoc. On completing + * the join we are then called again with an + * AUTH -> RUN transition and we want to do nothing. + * This is all totally bogus and needs to be redone. + */ + if (ic->ic_state == IEEE80211_S_SCAN) + taskqueue_enqueue(sc->sc_tq, &sc->sc_assoctask); + } + /* XXX way wrong */ + return sc->sc_newstate(ic, nstate, + IEEE80211_FC0_SUBTYPE_ASSOC_RESP); + break; - len = IEEE80211_ADDR_LEN; - ipw_read_table2(sc, IPW_INFO_CURRENT_BSSID, macaddr, &len); - -#if 0 - ni = ieee80211_find_node(&ic->ic_scan, macaddr); - if (ni == NULL) - break; - - ieee80211_ref_node(ni); - ieee80211_sta_join(ic, ni); - ieee80211_node_authorize(ni); - - if (ic->ic_opmode == IEEE80211_M_STA) - ieee80211_notify_node_join(ic, ni, 1); -#endif + case IEEE80211_S_ASSOC: break; case IEEE80211_S_INIT: - case IEEE80211_S_SCAN: - case IEEE80211_S_AUTH: - case IEEE80211_S_ASSOC: + /* + * NB: don't try to do this if ipw_stop_master has + * shutdown the firmware and disabled interrupts. + */ + if (ic->ic_state == IEEE80211_S_RUN && + (sc->flags & IPW_FLAG_FW_INITED)) + taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask); break; - } - ic->ic_state = nstate; - - return 0; -} - -/* - * Read 16 bits at address 'addr' from the serial EEPROM. - */ -static uint16_t -ipw_read_prom_word(struct ipw_softc *sc, uint8_t addr) -{ - uint32_t tmp; - uint16_t val; - int n; - - /* clock C once before the first command */ - IPW_EEPROM_CTL(sc, 0); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_C); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - - /* write start bit (1) */ - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_D); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_D | IPW_EEPROM_C); - - /* write READ opcode (10) */ - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_D); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_D | IPW_EEPROM_C); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_C); - - /* write address A7-A0 */ - for (n = 7; n >= 0; n--) { - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | - (((addr >> n) & 1) << IPW_EEPROM_SHIFT_D)); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | - (((addr >> n) & 1) << IPW_EEPROM_SHIFT_D) | IPW_EEPROM_C); + default: + break; } - - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - - /* read data Q15-Q0 */ - val = 0; - for (n = 15; n >= 0; n--) { - IPW_EEPROM_CTL(sc, IPW_EEPROM_S | IPW_EEPROM_C); - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - tmp = MEM_READ_4(sc, IPW_MEM_EEPROM_CTL); - val |= ((tmp & IPW_EEPROM_Q) >> IPW_EEPROM_SHIFT_Q) << n; - } - - IPW_EEPROM_CTL(sc, 0); - - /* clear Chip Select and clock C */ - IPW_EEPROM_CTL(sc, IPW_EEPROM_S); - IPW_EEPROM_CTL(sc, 0); - IPW_EEPROM_CTL(sc, IPW_EEPROM_C); - - return le16toh(val); + return sc->sc_newstate(ic, nstate, arg); } static void -ipw_command_intr(struct ipw_softc *sc, struct ipw_soft_buf *sbuf) +ipw_rx_cmd_intr(struct ipw_softc *sc, struct ipw_soft_buf *sbuf) { struct ipw_cmd *cmd; @@ -911,16 +895,18 @@ cmd = mtod(sbuf->m, struct ipw_cmd *); - DPRINTFN(2, ("cmd ack'ed (%u, %u, %u, %u, %u)\n", le32toh(cmd->type), - le32toh(cmd->subtype), le32toh(cmd->seq), le32toh(cmd->len), - le32toh(cmd->status))); + DPRINTFN(9, ("%s(%s subtype %u seq %u len %u status %u)\n", + __func__, ipw_cmdname(le32toh(cmd->type)), le32toh(cmd->subtype), + le32toh(cmd->seq), le32toh(cmd->len), le32toh(cmd->status))); - wakeup(sc); + sc->flags &= ~IPW_FLAG_BUSY; + wakeup_one(&sc->cmd); } static void -ipw_newstate_intr(struct ipw_softc *sc, struct ipw_soft_buf *sbuf) +ipw_rx_newstate_intr(struct ipw_softc *sc, struct ipw_soft_buf *sbuf) { +#define IEEESTATE(ic) ieee80211_state_name[ic->ic_state] struct ieee80211com *ic = &sc->sc_ic; uint32_t state; @@ -928,43 +914,106 @@ state = le32toh(*mtod(sbuf->m, uint32_t *)); - DPRINTFN(2, ("entering state %u\n", state)); + switch (state) { + case IPW_STATE_INITIALIZED: + case IPW_STATE_DISABLED: + break; - switch (state) { case IPW_STATE_ASSOCIATED: - ieee80211_new_state(ic, IEEE80211_S_RUN, -1); + DPRINTFN(2, ("Association succeeded (%s flags 0x%x)\n", + IEEESTATE(ic), sc->flags)); + sc->flags |= IPW_FLAG_ASSOCIATED; + /* XXX suppress state change in case the fw auto-associates */ + if (ic->ic_state != IEEE80211_S_ASSOC) { + DPRINTF(("Unexpected association (state %u)\n", + ic->ic_state)); + } else + ieee80211_new_state(ic, IEEE80211_S_RUN, -1); break; case IPW_STATE_SCANNING: - /* don't leave run state on background scan */ - if (ic->ic_state != IEEE80211_S_RUN) - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); - - ic->ic_flags |= IEEE80211_F_SCAN; + DPRINTFN(3, ("Scanning (%s flags 0x%x)\n", + IEEESTATE(ic), sc->flags)); + /* + * NB: Check driver state for association on assoc + * loss as the firmware will immediately start to + * scan and we would treat it as a beacon miss if + * we checked the 802.11 layer state. + */ + if (sc->flags & IPW_FLAG_ASSOCIATED) + ieee80211_beacon_miss(ic); break; case IPW_STATE_SCAN_COMPLETE: - ieee80211_notify_scan_done(ic); - ic->ic_flags &= ~IEEE80211_F_SCAN; + DPRINTFN(3, ("Scan complete (%s flags 0x%x)\n", + IEEESTATE(ic), sc->flags)); + /* + * XXX For some reason scan requests generate scan + * started + scan done events before any traffic is + * received (e.g. probe response frames). We work + * around this by marking the HACK flag and skipping + * the first scan complete event. This works ok + * because the adapter scans only 2.4G channels so + * doing an extra pass doesn't take long. + */ + if (sc->flags & IPW_FLAG_HACK) { + sc->flags &= ~IPW_FLAG_HACK; + break; + } + sc->sc_scan_timer = 0; + sc->flags &= ~IPW_FLAG_SCANNING; + ieee80211_scan_done(ic); break; case IPW_STATE_ASSOCIATION_LOST: - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + DPRINTFN(2, ("Association lost (%s flags 0x%x)\n", + IEEESTATE(ic), sc->flags)); + sc->flags &= ~IPW_FLAG_ASSOCIATED; + taskqueue_enqueue(sc->sc_tq, &sc->sc_assoclosttask); break; - case IPW_STATE_RADIO_DISABLED: - ic->ic_ifp->if_flags &= ~IFF_UP; - ipw_stop(sc); + case IPW_STATE_RADIO_OFF: + DPRINTFN(2, ("Radio off (%s flags 0x%x)\n", + IEEESTATE(ic), sc->flags)); + taskqueue_enqueue(sc->sc_tq, &sc->sc_radiofftask); + break; + default: + DPRINTFN(2, ("%s: state %u %s flags 0x%x\n", + __func__, state, IEEESTATE(ic), sc->flags)); break; } +#undef IEEESTATE } /* + * Set driver state for current channel. + */ +static void +ipw_setcurchan(struct ipw_softc *sc, int chan) +{ + struct ieee80211com *ic = &sc->sc_ic; + + if (chan == sc->curchan) + return; + + ic->ic_curchan = ieee80211_find_channel(ic, + ieee80211_ieee2mhz(chan, 0), + IEEE80211_CHAN_B); + sc->curchan = chan; + + sc->sc_rxtap.wr_chan_freq = sc->sc_txtap.wt_chan_freq = + htole16(ic->ic_curchan->ic_freq); + sc->sc_rxtap.wr_chan_flags = sc->sc_txtap.wt_chan_flags = + htole16(ic->ic_curchan->ic_flags); +} + +/* * XXX: Hack to set the current channel to the value advertised in beacons or * probe responses. Only used during AP detection. + * XXX value comes from DSPARMS ie which is wrong for off-channel rx's */ static void -ipw_fix_channel(struct ieee80211com *ic, struct mbuf *m) +ipw_fix_channel(struct ipw_softc *sc, struct mbuf *m) { struct ieee80211_frame *wh; uint8_t subtype; @@ -990,16 +1039,14 @@ #if IEEE80211_CHAN_MAX < 255 if (frm[2] <= IEEE80211_CHAN_MAX) #endif - ic->ic_bsschan = ieee80211_find_channel(ic, - ieee80211_ieee2mhz(frm[2], 0), - IEEE80211_CHAN_B); + ipw_setcurchan(sc, frm[2]); frm += frm[1] + 2; } } static void -ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status, +ipw_rx_data_intr(struct ipw_softc *sc, struct ipw_status *status, struct ipw_soft_bd *sbd, struct ipw_soft_buf *sbuf) { struct ieee80211com *ic = &sc->sc_ic; @@ -1008,15 +1055,25 @@ struct ieee80211_frame *wh; struct ieee80211_node *ni; bus_addr_t physaddr; - int error; + int error, framelen; + IPW_LOCK_DECL; + + framelen = le32toh(status->len); + if (framelen < IEEE80211_MIN_LEN || framelen > MCLBYTES) { + /* + * XXX >MCLBYTES is bogus as it means the h/w dma'd + * out of bounds; need to figure out how to limit + * frame size in the firmware + */ + /* XXX stat */ + DPRINTF(("drop rx frame len=%u rssi=%u\n", + framelen, status->rssi)); + return; + } DPRINTFN(5, ("received frame len=%u, rssi=%u\n", le32toh(status->len), status->rssi)); - if (le32toh(status->len) < sizeof (struct ieee80211_frame_min) || - le32toh(status->len) > MCLBYTES) - return; - /* * Try to allocate a new mbuf for this ring element and load it before * processing the current mbuf. If the ring element cannot be loaded, @@ -1062,22 +1119,21 @@ m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = le32toh(status->len); - if (bpf_peers_present(sc->sc_drvbpf)) { + /* XXX */ + if (sc->flags & IPW_FLAG_SCANNING) + ipw_fix_channel(sc, m); + + if (sc->sc_drvbpf != NULL) { struct ipw_rx_radiotap_header *tap = &sc->sc_rxtap; tap->wr_flags = 0; - tap->wr_antsignal = status->rssi; - tap->wr_chan_freq = htole16(ic->ic_curchan->ic_freq); - tap->wr_chan_flags = htole16(ic->ic_curchan->ic_flags); + tap->wr_antsignal = status->rssi + IPW_RSSI_TO_DBM; bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_rxtap_len, m); } - if (ic->ic_state == IEEE80211_S_SCAN) - ipw_fix_channel(ic, m); - wh = mtod(m, struct ieee80211_frame *); - mtx_unlock(&sc->sc_mtx); + IPW_UNLOCK(sc); ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh); /* send the frame to the 802.11 layer */ @@ -1085,7 +1141,7 @@ /* node is no longer needed */ ieee80211_free_node(ni); - mtx_lock(&sc->sc_mtx); + IPW_LOCK(sc); bus_dmamap_sync(sc->rbd_dmat, sc->rbd_map, BUS_DMASYNC_PREWRITE); } @@ -1093,6 +1149,7 @@ static void ipw_rx_intr(struct ipw_softc *sc) { + struct ieee80211com *ic = &sc->sc_ic; struct ipw_status *status; struct ipw_soft_bd *sbd; struct ipw_soft_buf *sbuf; @@ -1112,31 +1169,33 @@ switch (le16toh(status->code) & 0xf) { case IPW_STATUS_CODE_COMMAND: - ipw_command_intr(sc, sbuf); + ipw_rx_cmd_intr(sc, sbuf); break; case IPW_STATUS_CODE_NEWSTATE: - ipw_newstate_intr(sc, sbuf); + ipw_rx_newstate_intr(sc, sbuf); break; case IPW_STATUS_CODE_DATA_802_3: case IPW_STATUS_CODE_DATA_802_11: - ipw_data_intr(sc, status, sbd, sbuf); + ipw_rx_data_intr(sc, status, sbd, sbuf); break; case IPW_STATUS_CODE_NOTIFICATION: - DPRINTFN(2, ("received notification\n")); + DPRINTFN(2, ("notification status, len %u flags 0x%x\n", + le32toh(status->len), status->flags)); + if (ic->ic_state == IEEE80211_S_AUTH) { + /* XXX assume auth notification */ + ieee80211_node_authorize(ic->ic_bss); + ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1); + } break; default: - device_printf(sc->sc_dev, "unknown status code %u\n", + device_printf(sc->sc_dev, "unexpected status code %u\n", le16toh(status->code)); + break; } - - /* firmware was killed, stop processing received frames */ - if (!(sc->flags & IPW_FLAG_FW_INITED)) - return; - sbd->bd->flags = 0; } @@ -1174,12 +1233,8 @@ bus_dmamap_unload(sc->txbuf_dmat, sbuf->map); SLIST_INSERT_HEAD(&sc->free_sbuf, sbuf, next); - if (sbuf->m->m_flags & M_TXCB) - ieee80211_process_callback(sbuf->ni, sbuf->m, 0/*XXX*/); m_freem(sbuf->m); ieee80211_free_node(sbuf->ni); - - sc->sc_tx_timer = 0; break; } @@ -1211,8 +1266,10 @@ /* remember what the firmware has processed */ sc->txold = (r == 0) ? IPW_NTBD - 1 : r - 1; + sc->sc_tx_timer = 0; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - ipw_start(ifp); + + ipw_start_locked(ifp); } static void @@ -1222,36 +1279,39 @@ uint32_t r; mtx_lock(&sc->sc_mtx); + r = CSR_READ_4(sc, IPW_CSR_INTR); + if (r != 0 && r != 0xffffffff) { + /* acknowledge all interrupts */ + CSR_WRITE_4(sc, IPW_CSR_INTR, r); - if ((r = CSR_READ_4(sc, IPW_CSR_INTR)) == 0 || r == 0xffffffff) { - mtx_unlock(&sc->sc_mtx); - return; - } + DPRINTFN(9, ("%s: 0x%x\n", __func__, r)); - /* disable interrupts */ - CSR_WRITE_4(sc, IPW_CSR_INTR_MASK, 0); - - /* acknowledge all interrupts */ - CSR_WRITE_4(sc, IPW_CSR_INTR, r); - - if (r & (IPW_INTR_FATAL_ERROR | IPW_INTR_PARITY_ERROR)) { - device_printf(sc->sc_dev, "firmware error\n"); - taskqueue_enqueue_fast(taskqueue_fast, &sc->sc_init_task); - r = 0; /* don't process more interrupts */ + if (r & IPW_INTR_FATAL_ERROR) { + device_printf(sc->sc_dev, "firmware error\n"); + taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + r = 0; /* NB: don't do anything else */ + } + if (r & IPW_INTR_FW_INIT_DONE) { + wakeup_one(sc); + r &= ~IPW_INTR_FW_INIT_DONE; + } + if (r & IPW_INTR_RX_TRANSFER) { + ipw_rx_intr(sc); + r &= ~IPW_INTR_RX_TRANSFER; + } + if (r & IPW_INTR_TX_TRANSFER) { + ipw_tx_intr(sc); + r &= ~IPW_INTR_TX_TRANSFER; + } + if (r & IPW_INTR_PARITY_ERROR) { + /* XXX rate limit */ + device_printf(sc->sc_dev, "parity error\n"); + r &= ~IPW_INTR_PARITY_ERROR; + } + if (r != 0) + device_printf(sc->sc_dev, + "%s: 0x%x unserviced\n", __func__, r); } - - if (r & IPW_INTR_FW_INIT_DONE) - wakeup(sc); - - if (r & IPW_INTR_RX_TRANSFER) - ipw_rx_intr(sc); - - if (r & IPW_INTR_TX_TRANSFER) - ipw_tx_intr(sc); - - /* re-enable interrupts */ - CSR_WRITE_4(sc, IPW_CSR_INTR_MASK, IPW_INTR_MASK); - mtx_unlock(&sc->sc_mtx); } @@ -1266,26 +1326,87 @@ *(bus_addr_t *)arg = segs[0].ds_addr; } +static const char * +ipw_cmdname(int cmd) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + static const struct { + int cmd; + const char *name; + } cmds[] = { + { IPW_CMD_ADD_MULTICAST, "ADD_MULTICAST" }, + { IPW_CMD_BROADCAST_SCAN, "BROADCAST_SCAN" }, + { IPW_CMD_DISABLE, "DISABLE" }, + { IPW_CMD_DISABLE_PHY, "DISABLE_PHY" }, + { IPW_CMD_DISASSOCIATE, "DISASSOCIATE" }, + { IPW_CMD_ENABLE, "ENABLE" }, + { IPW_CMD_PREPARE_POWER_DOWN, "PREPARE_POWER_DOWN" }, + { IPW_CMD_SET_BASIC_TX_RATES, "SET_BASIC_TX_RATES" }, + { IPW_CMD_SET_BEACON_INTERVAL, "SET_BEACON_INTERVAL" }, + { IPW_CMD_SET_CHANNEL, "SET_CHANNEL" }, + { IPW_CMD_SET_CONFIGURATION, "SET_CONFIGURATION" }, + { IPW_CMD_SET_DESIRED_BSSID, "SET_DESIRED_BSSID" }, + { IPW_CMD_SET_ESSID, "SET_ESSID" }, + { IPW_CMD_SET_FRAG_THRESHOLD, "SET_FRAG_THRESHOLD" }, + { IPW_CMD_SET_LONG_RETRY, "SET_LONG_RETRY" }, + { IPW_CMD_SET_MAC_ADDRESS, "SET_MAC_ADDRESS" }, + { IPW_CMD_SET_MANDATORY_BSSID, "SET_MANDATORY_BSSID" }, + { IPW_CMD_SET_MODE, "SET_MODE" }, + { IPW_CMD_SET_MSDU_TX_RATES, "SET_MSDU_TX_RATES" }, + { IPW_CMD_SET_POWER_MODE, "SET_POWER_MODE" }, + { IPW_CMD_SET_RTS_THRESHOLD, "SET_RTS_THRESHOLD" }, + { IPW_CMD_SET_SCAN_DWELL_TIME, "SET_SCAN_DWELL_TIME" }, + { IPW_CMD_SET_SCAN_OPTIONS, "SET_SCAN_OPTIONS" }, + { IPW_CMD_SET_SECURITY_INFO, "SET_SECURITY_INFO" }, + { IPW_CMD_SET_SHORT_RETRY, "SET_SHORT_RETRY" }, + { IPW_CMD_SET_TX_POWER_INDEX, "SET_TX_POWER_INDEX" }, + { IPW_CMD_SET_TX_RATES, "SET_TX_RATES" }, + { IPW_CMD_SET_WEP_FLAGS, "SET_WEP_FLAGS" }, + { IPW_CMD_SET_WEP_KEY, "SET_WEP_KEY" }, + { IPW_CMD_SET_WEP_KEY_INDEX, "SET_WEP_KEY_INDEX" }, + { IPW_CMD_SET_WPA_IE, "SET_WPA_IE" }, + + }; + static char buf[12]; + int i; + + for (i = 0; i < N(cmds); i++) + if (cmds[i].cmd == cmd) + return cmds[i].name; + snprintf(buf, sizeof(buf), "%u", cmd); + return buf; +#undef N +} + /* * Send a command to the firmware and wait for the acknowledgement. */ static int -ipw_cmd(struct ipw_softc *sc, uint32_t type, void *data, uint32_t len) +ipw_cmd(struct ipw_softc *sc, uint32_t cmd, const void *data, uint32_t len) { struct ipw_soft_bd *sbd; bus_addr_t physaddr; int error; + if (sc->flags & IPW_FLAG_BUSY) { + device_printf(sc->sc_dev, "%s: %s not sent, busy\n", + __func__, ipw_cmdname(cmd)); + return EAGAIN; + } + sc->flags |= IPW_FLAG_BUSY; + sbd = &sc->stbd_list[sc->txcur]; error = bus_dmamap_load(sc->cmd_dmat, sc->cmd_map, &sc->cmd, sizeof (struct ipw_cmd), ipw_dma_map_addr, &physaddr, 0); if (error != 0) { - device_printf(sc->sc_dev, "could not map command DMA memory\n"); + device_printf(sc->sc_dev, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 09:14:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E18D816A41F; Fri, 6 Jul 2007 09:14:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B576816A421 for ; Fri, 6 Jul 2007 09:14:56 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8E69713C483 for ; Fri, 6 Jul 2007 09:14:56 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l669Eu2N070930 for ; Fri, 6 Jul 2007 09:14:56 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l669EuKw070927 for perforce@freebsd.org; Fri, 6 Jul 2007 09:14:56 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 6 Jul 2007 09:14:56 GMT Message-Id: <200707060914.l669EuKw070927@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 123000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 09:14:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=123000 Change 123000 by zec@zec_tpx32 on 2007/07/06 09:14:31 #include which now provides prototype declaration for suser(). We'll abandon suser() in favor of priv_check() anyway soon. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#21 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#21 (text+ko) ==== @@ -48,6 +48,7 @@ #include #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Fri Jul 6 10:00:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD89E16A469; Fri, 6 Jul 2007 10:00:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 98C2D16A41F for ; Fri, 6 Jul 2007 10:00:58 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 88B6013C43E for ; Fri, 6 Jul 2007 10:00:58 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66A0w3X074011 for ; Fri, 6 Jul 2007 10:00:58 GMT (envelope-from dongmei@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66A0wt1074008 for perforce@freebsd.org; Fri, 6 Jul 2007 10:00:58 GMT (envelope-from dongmei@FreeBSD.org) Date: Fri, 6 Jul 2007 10:00:58 GMT Message-Id: <200707061000.l66A0wt1074008@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dongmei@FreeBSD.org using -f From: dongmei To: Perforce Change Reviews Cc: Subject: PERFORCE change 123005 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 10:00:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=123005 Change 123005 by dongmei@dongmei-soc2007-home on 2007/07/06 10:00:08 add the function which can parse trail file in list view and tree view Affected files ... .. //depot/projects/soc2007/dongmei-auditanalyzer/buffer.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/buffer.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/except.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/except.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/exceptions.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_access.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_util.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_util.h#3 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_wrappers.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/filesystem.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/filesystem.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/Makefile#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/Todo#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/auanalyzer.core#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/compat_macros.h#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/file_dlg.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/file_dlg.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/gtkglobals.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/gui_utils.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/gui_utils.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/keys.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.c#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.h#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/main.c#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.c#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.h#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/progress_dlg.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/simple_dialog.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/trail_file_dlg.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/trail_file_dlg.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/tree_view.c#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/tree_view.h#2 edit .. //depot/projects/soc2007/dongmei-auditanalyzer/image/stock_dialog_error_48.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/stock_dialog_info_48.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/stock_dialog_question_48.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/stock_dialog_stop_48.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/stock_dialog_warning_48.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/progress_dlg.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/simple_dialog.h#3 add .. //depot/projects/soc2007/dongmei-auditanalyzer/strerror.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/strerror.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/tfile.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/tfile.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/tsess.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/tsess.h#1 add Differences ... ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/compat_macros.h#2 (text+ko) ==== @@ -1,5 +1,25 @@ /* compat_macros.h * GTK-related Global defines, etc. + * + * $Id: compat_macros.h 19924 2006-11-18 01:47:49Z gerald $ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __COMPAT_MACROS_H__ @@ -294,6 +314,86 @@ #define ITEM_FACTORY_STOCK_ENTRY(path, accelerator, callback, action, data) \ {path, accelerator, GTK_MENU_FUNC(callback), action, "", data} +#ifdef HAVE_LIBPCAP +#define WIRESHARK_STOCK_LABEL_CAPTURE_INTERFACES "_Interfaces" +#define WIRESHARK_STOCK_LABEL_CAPTURE_AIRPCAP "_Wireless" +#define WIRESHARK_STOCK_LABEL_CAPTURE_OPTIONS "_Options" +#define WIRESHARK_STOCK_LABEL_CAPTURE_START "_Start" +#define WIRESHARK_STOCK_LABEL_CAPTURE_STOP "S_top" +#define WIRESHARK_STOCK_LABEL_CAPTURE_RESTART "_Restart" +#define WIRESHARK_STOCK_LABEL_CAPTURE_FILTER "_CFilter" +#define WIRESHARK_STOCK_LABEL_CAPTURE_FILTER_ENTRY "_Capture Filter:" +#define WIRESHARK_STOCK_LABEL_CAPTURE_DETAILS "_Details" +#endif +#define WIRESHARK_STOCK_LABEL_DISPLAY_FILTER "_Filter" +#define WIRESHARK_STOCK_LABEL_DISPLAY_FILTER_ENTRY "_Filter:" +#define WIRESHARK_STOCK_LABEL_PREFS "_Prefs" +#define WIRESHARK_STOCK_LABEL_BROWSE "_Browse..." +#define WIRESHARK_STOCK_LABEL_CREATE_STAT "Create _Stat" +#define WIRESHARK_STOCK_LABEL_EXPORT "_Export..." +#define WIRESHARK_STOCK_LABEL_IMPORT "_Import..." +#define WIRESHARK_STOCK_LABEL_EDIT "_Edit..." +#define WIRESHARK_STOCK_LABEL_ADD_EXPRESSION "_Expression..." /* plus sign coming from icon */ +#define WIRESHARK_STOCK_LABEL_DONT_SAVE "Continue _without Saving" +#define WIRESHARK_STOCK_LABEL_ABOUT "_About" +#define WIRESHARK_STOCK_LABEL_COLORIZE "_Colorize" +#define WIRESHARK_STOCK_LABEL_AUTOSCROLL "_Auto Scroll in Live Capture" +#define WIRESHARK_STOCK_LABEL_RESIZE_COLUMNS "Resize Columns" +#define WIRESHARK_STOCK_LABEL_TIME "Time" +#define WIRESHARK_STOCK_LABEL_INTERNET "Internet" +#define WIRESHARK_STOCK_LABEL_WEB_SUPPORT "Web Support" +#define WIRESHARK_STOCK_LABEL_WIKI "Wiki" +#define WIRESHARK_STOCK_LABEL_CONVERSATIONS "Conversations" +#define WIRESHARK_STOCK_LABEL_ENDPOINTS "Endpoints" +#define WIRESHARK_STOCK_LABEL_GRAPHS "Graphs" +#define WIRESHARK_STOCK_LABEL_TELEPHONY "Telephony" +#define WIRESHARK_STOCK_LABEL_DECODE_AS "Decode As" +#define WIRESHARK_STOCK_LABEL_CHECKBOX "Checkbox" +#define WIRESHARK_STOCK_LABEL_FILE_SET_LIST "List Files" +#define WIRESHARK_STOCK_LABEL_FILE_SET_NEXT "Next File" +#define WIRESHARK_STOCK_LABEL_FILE_SET_PREVIOUS "Previous File" +#define WIRESHARK_STOCK_LABEL_FILTER_OUT_STREAM "Filter Out This Stream" + +#ifdef HAVE_LIBPCAP +#define WIRESHARK_STOCK_CAPTURE_INTERFACES "Wireshark_Stock_CaptureInterfaces" +#define WIRESHARK_STOCK_CAPTURE_AIRPCAP "Wireshark_Stock_CaptureAirpcap" +#define WIRESHARK_STOCK_CAPTURE_OPTIONS "Wireshark_Stock_CaptureOptionss" +#define WIRESHARK_STOCK_CAPTURE_START "Wireshark_Stock_CaptureStart" +#define WIRESHARK_STOCK_CAPTURE_STOP "Wireshark_Stock_CaptureStop" +#define WIRESHARK_STOCK_CAPTURE_RESTART "Wireshark_Stock_CaptureRestart" +#define WIRESHARK_STOCK_CAPTURE_FILTER "Wireshark_Stock_CaptureFilter" +#define WIRESHARK_STOCK_CAPTURE_FILTER_ENTRY "Wireshark_Stock_CaptureFilter_Entry" +#define WIRESHARK_STOCK_CAPTURE_DETAILS "Wireshark_Stock_CaptureDetails" +#endif +#define WIRESHARK_STOCK_DISPLAY_FILTER "Wireshark_Stock_DisplayFilter" +#define WIRESHARK_STOCK_DISPLAY_FILTER_ENTRY "Wireshark_Stock_DisplayFilter_Entry" +#define WIRESHARK_STOCK_PREFS "Wireshark_Stock_Prefs" +#define WIRESHARK_STOCK_BROWSE "Wireshark_Stock_Browse" +#define WIRESHARK_STOCK_CREATE_STAT "Wireshark_Stock_CreateStat" +#define WIRESHARK_STOCK_EXPORT "Wireshark_Stock_Export" +#define WIRESHARK_STOCK_IMPORT "Wireshark_Stock_Import" +#define WIRESHARK_STOCK_EDIT "Wireshark_Stock_Edit" +#define WIRESHARK_STOCK_ADD_EXPRESSION "Wireshark_Stock_Edit_Add_Expression" +#define WIRESHARK_STOCK_DONT_SAVE "Wireshark_Stock_Continue_without_Saving" +#define WIRESHARK_STOCK_ABOUT "Wireshark_Stock_About" +#define WIRESHARK_STOCK_COLORIZE "Wireshark_Stock_Colorize" +#define WIRESHARK_STOCK_AUTOSCROLL "Wireshark_Stock_Autoscroll" +#define WIRESHARK_STOCK_RESIZE_COLUMNS "Wireshark_Stock_Resize_Columns" +#define WIRESHARK_STOCK_TIME "Wireshark_Stock_Time" +#define WIRESHARK_STOCK_INTERNET "Wireshark_Stock_Internet" +#define WIRESHARK_STOCK_WEB_SUPPORT "Wireshark_Stock_Web_Support" +#define WIRESHARK_STOCK_WIKI "Wireshark_Stock_Wiki" +#define WIRESHARK_STOCK_CONVERSATIONS "Wireshark_Stock_Conversations" +#define WIRESHARK_STOCK_ENDPOINTS "Wireshark_Stock_Endpoints" +#define WIRESHARK_STOCK_GRAPHS "Wireshark_Stock_Graphs" +#define WIRESHARK_STOCK_TELEPHONY "Wireshark_Stock_Telephony" +#define WIRESHARK_STOCK_DECODE_AS "Wireshark_Stock_DecodeAs" +#define WIRESHARK_STOCK_CHECKBOX "Wireshark_Stock_Checkbox" +#define WIRESHARK_STOCK_FILE_SET_LIST "Wireshark_Stock_File_Set_List" +#define WIRESHARK_STOCK_FILE_SET_NEXT "Wireshark_Stock_File_Set_Next" +#define WIRESHARK_STOCK_FILE_SET_PREVIOUS "Wireshark_Stock_File_Set_Previous" +#define WIRESHARK_STOCK_FILTER_OUT_STREAM "Wireshark_Stock_Filter_Out_This_Stream" + #define BUTTON_NEW_FROM_STOCK(stock_id) \ gtk_button_new_from_stock(stock_id); ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.c#2 (text+ko) ==== @@ -8,157 +8,133 @@ */ #include +#include +#include +#include "compat_macros.h" +#include "../tfile.h" +extern trailer_file cfile; static GtkWidget *window = NULL; -typedef struct -{ - const gboolean fixed; - const guint number; - const gchar *severity; - const gchar *description; -} -Bug; - enum { - COLUMN_FIXED, COLUMN_NUMBER, - COLUMN_SEVERITY, - COLUMN_DESCRIPTION, + COLUMN_CREATE_TIME, + COLUMN_MS, + COLUMN_EVENT, + COLUMN_VERSION, + COLUMN_RECORD_LEN, NUM_COLUMNS }; -static Bug data[] = -{ - { FALSE, 60482, "Normal", "scrollable notebooks and hidden tabs" }, - { FALSE, 60620, "Critical", "gdk_window_clear_area (gdkwindow-win32.c) is not thread-safe" }, - { FALSE, 50214, "Major", "Xft support does not clean up correctly" }, - { TRUE, 52877, "Major", "GtkFileSelection needs a refresh method. " }, - { FALSE, 56070, "Normal", "Can't click button after setting in sensitive" }, - { TRUE, 56355, "Normal", "GtkLabel - Not all changes propagate correctly" }, - { FALSE, 50055, "Normal", "Rework width/height computations for TreeView" }, - { FALSE, 58278, "Normal", "gtk_dialog_set_response_sensitive () doesn't work" }, - { FALSE, 55767, "Normal", "Getters for all setters" }, - { FALSE, 56925, "Normal", "Gtkcalender size" }, - { FALSE, 56221, "Normal", "Selectable label needs right-click copy menu" }, - { TRUE, 50939, "Normal", "Add shift clicking to GtkTextView" }, - { FALSE, 6112, "Enhancement","netscape-like collapsable toolbars" }, - { FALSE, 1, "Normal", "First bug :=)" }, -}; +//GtkWidget *record_list; + +GtkListStore *record_list; static GtkTreeModel * create_model (void) { gint i = 0; - GtkListStore *store; - GtkTreeIter iter; - /* create list store */ - store = gtk_list_store_new (NUM_COLUMNS, - G_TYPE_BOOLEAN, - G_TYPE_UINT, - G_TYPE_STRING, - G_TYPE_STRING); + record_list = gtk_list_store_new (NUM_COLUMNS, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_INT, + G_TYPE_INT); - /* add data to the list store */ - for (i = 0; i < G_N_ELEMENTS (data); i++) - { - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, - COLUMN_FIXED, data[i].fixed, - COLUMN_NUMBER, data[i].number, - COLUMN_SEVERITY, data[i].severity, - COLUMN_DESCRIPTION, data[i].description, - -1); - } - - return GTK_TREE_MODEL (store); + return GTK_TREE_MODEL (record_list); } static void -fixed_toggled (GtkCellRendererToggle *cell, - gchar *path_str, - gpointer data) -{ - GtkTreeModel *model = (GtkTreeModel *)data; - GtkTreeIter iter; - GtkTreePath *path = gtk_tree_path_new_from_string (path_str); - gboolean fixed; - - /* get toggled iter */ - gtk_tree_model_get_iter (model, &iter, path); - gtk_tree_model_get (model, &iter, COLUMN_FIXED, &fixed, -1); - - /* do something with the value */ - fixed ^= 1; - - /* set new value */ - gtk_list_store_set (GTK_LIST_STORE (model), &iter, COLUMN_FIXED, fixed, -1); - - /* clean up */ - gtk_tree_path_free (path); -} - -static void add_columns (GtkTreeView *treeview) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeModel *model = gtk_tree_view_get_model (treeview); - /* column for fixed toggles */ - renderer = gtk_cell_renderer_toggle_new (); - g_signal_connect (renderer, "toggled", - G_CALLBACK (fixed_toggled), model); + /* column for numbers */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("No", + renderer, + "text", + COLUMN_NUMBER, + NULL); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_NUMBER); + gtk_tree_view_append_column (treeview, column); - column = gtk_tree_view_column_new_with_attributes ("Fixed?", + /* column for Create Time */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("Create Time", renderer, - "active", COLUMN_FIXED, + "text", + COLUMN_CREATE_TIME, NULL); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_CREATE_TIME); + gtk_tree_view_append_column (treeview, column); - /* set this column to a fixed sizing (of 50 pixels) */ - gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column), - GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50); + /* column for Millisecond */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("Millisecond", + renderer, + "text", + COLUMN_MS, + NULL); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_MS); gtk_tree_view_append_column (treeview, column); - /* column for bug numbers */ + /* column for EVENT */ renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes ("Bug number", + column = gtk_tree_view_column_new_with_attributes ("Event", renderer, "text", - COLUMN_NUMBER, + COLUMN_EVENT, NULL); - gtk_tree_view_column_set_sort_column_id (column, COLUMN_NUMBER); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_EVENT); gtk_tree_view_append_column (treeview, column); - - /* column for severities */ + + /* column for Version */ renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes ("Severity", + column = gtk_tree_view_column_new_with_attributes ("Version", renderer, "text", - COLUMN_SEVERITY, + COLUMN_VERSION, NULL); - gtk_tree_view_column_set_sort_column_id (column, COLUMN_SEVERITY); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_VERSION); gtk_tree_view_append_column (treeview, column); - - /* column for description */ + + /* column for Record length */ renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes ("Description", + column = gtk_tree_view_column_new_with_attributes ("Record length", renderer, "text", - COLUMN_DESCRIPTION, + COLUMN_RECORD_LEN, NULL); - gtk_tree_view_column_set_sort_column_id (column, COLUMN_DESCRIPTION); + gtk_tree_view_column_set_sort_column_id (column, COLUMN_RECORD_LEN); gtk_tree_view_append_column (treeview, column); + } +void +record_list_select_cb(GtkTreeSelection *treeselection, + gpointer user_data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(treeselection,&model,&iter)) + { + gint num; + gtk_tree_model_get(model,&iter,COLUMN_NUMBER,&num,-1); + tf_select_record(&cfile,num); + printf("num=%d\n",num); + } +} GtkWidget * create_list() { GtkTreeModel *model; - GtkWidget *treeview; - + GtkWidget *treeview; + GtkTreeSelection *treeselection; /* create tree model */ model = create_model (); @@ -166,47 +142,47 @@ treeview = gtk_tree_view_new_with_model (model); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE); gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview), - COLUMN_DESCRIPTION); + COLUMN_EVENT); + treeselection=gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); + + SIGNAL_CONNECT(treeselection, "changed", record_list_select_cb, NULL); g_object_unref (model); /* add columns to the tree view */ add_columns (GTK_TREE_VIEW (treeview)); return treeview; } -/* Add some text to our text widget - this is a callback that is invoked -when our window is realized. We could also force our window to be -realized with gtk_widget_realize, but it would have to be part of -a hierarchy first */ -void insert_text (GtkTextBuffer *buffer) +void +record_list_clear(void) { - GtkTextIter iter; - - gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); + gtk_list_store_clear(record_list); +} - gtk_text_buffer_insert (buffer, &iter, - "audit analyzer", -1); +int +print_sec32(char *timestr,u_int32_t sec) +{ + time_t timestamp; + timestamp = (time_t)sec; + ctime_r(×tamp, timestr); + timestr[24] = '\0'; /* No new line */ + return 0; } - -/* Create a scrolled text area that displays a "message" */ -GtkWidget *create_text( void ) + +void +record_list_append(tokenstr_t *data,gint number) { - GtkWidget *scrolled_window; - GtkWidget *view; - GtkTextBuffer *buffer; + GtkTreeIter iter; + /* add data to the list store */ + gtk_list_store_append (record_list, &iter); + gtk_list_store_set (record_list, &iter, + COLUMN_NUMBER, number, + COLUMN_CREATE_TIME,data->tt.hdr32.s, + COLUMN_MS,data->tt.hdr32.ms, + COLUMN_EVENT,data->tt.hdr32.e_type, + COLUMN_VERSION,data->tt.hdr32.version, + COLUMN_RECORD_LEN,data->tt.hdr32.size, + -1); - view = gtk_text_view_new (); - buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); - - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); +} - gtk_container_add (GTK_CONTAINER (scrolled_window), view); - insert_text (buffer); - - gtk_widget_show_all (scrolled_window); - - return scrolled_window; -} ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.h#2 (text+ko) ==== ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/main.c#2 (text+ko) ==== @@ -6,9 +6,11 @@ #include #include +#include "../tfile.h" #include "list_view.h" #include "tree_view.h" +trailer_file cfile; GtkWidget *top_level = NULL,*list_view,*tree_view,*list_sw,*tree_sw; static GtkWidget *menubar, *main_vbox, *main_tb, *pkt_scrollw, *stat_hbox, *filter_tb; @@ -38,7 +40,7 @@ gtk_toolbar_set_orientation(GTK_TOOLBAR(main_tb), GTK_ORIENTATION_HORIZONTAL); /* our first item is button */ - iconw = gtk_image_new_from_file ("../image/toolbar/close.xpm"); /* icon widget */ + iconw = gtk_image_new_from_file ("image/toolbar/close.xpm"); /* icon widget */ close_button = gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), /* our toolbar */ "Close", /* button label */ @@ -179,6 +181,7 @@ GtkWidget *vpaned; gtk_init (&argc, &argv); + init_trail_file(&cfile); create_main_window(); show_main_window(); gtk_main (); ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ #include #include #include "compat_macros.h" +#include "trail_file_dlg.h" #define GTK_MENU_FUNC(a) ((GtkItemFactoryCallback)(a)) @@ -8,9 +9,9 @@ static GtkItemFactoryEntry menu_items[] = { ITEM_FACTORY_ENTRY("/_File", NULL, NULL, 0, "", NULL), -/* ITEM_FACTORY_STOCK_ENTRY("/File/_Open...", "O", file_open_cmd_cb, + ITEM_FACTORY_STOCK_ENTRY("/File/_Open...", "O", file_open_cmd_cb, 0, GTK_STOCK_OPEN), - ITEM_FACTORY_STOCK_ENTRY("/File/_Quit", "Q", file_quit_cmd_cb, +/* ITEM_FACTORY_STOCK_ENTRY("/File/_Quit", "Q", file_quit_cmd_cb, 0, GTK_STOCK_QUIT), */ ITEM_FACTORY_ENTRY("/_Edit", NULL, NULL, 0, "", NULL), ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.h#2 (text+ko) ==== ==== //depot/projects/soc2007/dongmei-auditanalyzer/gtk/tree_view.c#2 (text+ko) ==== @@ -7,248 +7,489 @@ * example first. * */ +#include +#include +#include +#include #include +#include +#include +#include +#include "../tfile.h" static GtkWidget *window = NULL; +GtkTreeStore *record_tree; -/* TreeItem structure */ -typedef struct _TreeItem TreeItem; -struct _TreeItem -{ - const gchar *label; - gboolean alex; - gboolean havoc; - gboolean tim; - gboolean owen; - gboolean dave; - gboolean world_holiday; /* shared by the European hackers */ - TreeItem *children; -}; - /* columns */ enum { - HOLIDAY_NAME_COLUMN = 0, - ALEX_COLUMN, - HAVOC_COLUMN, - TIM_COLUMN, - OWEN_COLUMN, - DAVE_COLUMN, - - VISIBLE_COLUMN, - WORLD_COLUMN, + TOKEN_DETAIL_COLUMN = 0, NUM_COLUMNS }; -/* tree data */ -static TreeItem january[] = +static GtkTreeModel * +create_model (void) { - {"New Years Day", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - {"Presidential Inauguration", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - {"Martin Luther King Jr. day", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { NULL } -}; + /* create tree store */ + record_tree= gtk_tree_store_new (NUM_COLUMNS, + G_TYPE_STRING); -static TreeItem february[] = + return GTK_TREE_MODEL (record_tree); +} +/* + * Prints a single byte in the given format. + */ +static void +sprint_1_byte(gchar **str, u_char val, const gchar *label) { - { "Presidents' Day", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { "Groundhog Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Valentine's Day", FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, NULL }, - { NULL } -}; + *str=(gchar *)malloc(sizeof(label)+50); + g_sprintf(*str,"%s:%u\0",label,val); +} -static TreeItem march[] = +/* + * Print 2 bytes in the given format. + */ +static void +sprint_2_bytes(gchar **str, u_int16_t val, const gchar *label) { - { "National Tree Planting Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "St Patrick's Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { NULL } -}; -static TreeItem april[] = + *str=(gchar *)malloc(sizeof(label)+50); + g_sprintf(str,"%s:%u\0",label,val); +} + +/* + * Prints 4 bytes in the given format. + */ +static void +sprint_4_bytes(gchar **str, u_int32_t val, const gchar *label) { - { "April Fools' Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Army Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Earth Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Administrative Professionals' Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { NULL } -}; + *str=(gchar *)malloc(sizeof(label)+50); + g_sprintf(*str,"%s:%u\0",label,val); +} -static TreeItem may[] = +/* + * Prints 8 bytes in the given format. + */ +static void +sprint_8_bytes(gchar **str, u_int64_t val, const gchar *label) { - { "Nurses' Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "National Day of Prayer", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Mothers' Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Armed Forces Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Memorial Day", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { NULL } -}; + *str=(gchar *)malloc(sizeof(label)+50); + g_sprintf(*str,"%s:%llu\0",label,val); +} -static TreeItem june[] = +/* + * Prints the given size of data bytes in hex. + */ +static void +sprint_mem(gchar **str, u_char *data, size_t len) { - { "June Fathers' Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Juneteenth (Liberation of Slaves)", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Flag Day", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { NULL } -}; + *str=(gchar *)malloc(len+1); + int i; -static TreeItem july[] = -{ - { "Parents' Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Independence Day", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { NULL } -}; + if (len > 0) { + g_sprintf(*str, "0x"); + for (i = 0; i < len; i++) + g_sprintf(*str, "%x", data[i]); + } +} -static TreeItem august[] = +/* + * Prints the given data bytes as a string. + */ +static void +sprint_string(gchar **dstr, const char *sstr, size_t len, const gchar *label) { - { "Air Force Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Coast Guard Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Friendship Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { NULL } -}; - -static TreeItem september[] = + int i; + *dstr=(gchar *)malloc(len+1+sizeof(label)); + g_sprintf(dstr,"%s:",label); + if (len > 0) { + for (i = 0; i < len; i++) { + if (sstr[i] != '\0') + g_sprintf(*dstr, "%c", sstr[i]); + } + } +} +/* + * Prints seconds in the ctime format. + */ +static void +sprint_sec32(gchar **str, u_int32_t sec, const gchar *label) { - { "Grandparents' Day", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { "Citizenship Day or Constitution Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Labor Day", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { NULL } -}; + time_t timestamp; + char timestr[26]; + *str=(gchar *)malloc(sizeof(label)+1+26); + timestamp = (time_t)sec; + ctime_r(×tamp, timestr); + timestr[24] = '\0'; /* No new line */ + g_sprintf(*str,"%s:%s",label,timestr); +} -static TreeItem october[] = +/* + * XXXRW: 64-bit token streams make use of 64-bit time stamps; since we + * assume a 32-bit time_t, we simply truncate for now. + */ +static void +sprint_sec64(gchar **str, u_int64_t sec,const gchar *label) { - { "National Children's Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Bosses' Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Sweetest Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Mother-in-Law's Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Navy Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Columbus Day", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { "Halloween", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, NULL }, - { NULL } -}; + time_t timestamp; + char timestr[26]; + *str=(gchar *)malloc(sizeof(label)+1+26); + timestamp = (time_t)sec; + ctime_r(×tamp, timestr); + timestr[24] = '\0'; /* No new line */ + g_sprintf(*str,"%s:%s",label,timestr); +} -static TreeItem november[] = +/* + * Prints the excess milliseconds. + */ +static void +sprint_msec32(gchar **str, u_int32_t msec, const gchar *label) { - { "Marine Corps Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Veterans' Day", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { "Thanksgiving", FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, NULL }, - { NULL } -}; + *str=(gchar *)malloc(sizeof(label)+1+50); + g_sprintf(*str,"%s:+ %u msec",label,msec); +} -static TreeItem december[] = +/* + * XXXRW: 64-bit token streams make use of 64-bit time stamps; since we assume + * a 32-bit msec, we simply truncate for now. + */ +static void +sprint_msec64(gchar **str, u_int64_t msec, const gchar *label) { - { "Pearl Harbor Remembrance Day", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { "Christmas", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, - { "Kwanzaa", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, - { NULL } -}; - - -static TreeItem toplevel[] = + *str=(gchar *)malloc(sizeof(label)+1+50); + msec &= 0xffffffff; + g_sprintf(*str,"%s:+ %u msec",label,(u_int32_t)msec); +} +#define IP_V4_ADDRESS_LEN 20 +#define IP_V6_ADDRESS_LEN 25 +/* + * Prints a dotted form for the IP address. + */ +static void +sprint_ip_address(gchar **str, u_int32_t ip,const gchar *label) { - {"January", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, january}, - {"February", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, february}, - {"March", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, march}, - {"April", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, april}, - {"May", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, may}, - {"June", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, june}, - {"July", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, july}, - {"August", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, august}, - {"September", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, september}, - {"October", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, october}, - {"November", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, november}, - {"December", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, december}, - {NULL} -}; + struct in_addr ipaddr; + *str=(gchar *)malloc(sizeof(label)+1+IP_V4_ADDRESS_LEN); + ipaddr.s_addr = ip; + g_sprintf(*str,"%s:%s",label,inet_ntoa(ipaddr)); +} - -static GtkTreeModel * -create_model (void) +/* + * Prints a string value for the given ip address. + */ +static void +sprint_ip_ex_address(gchar **str, u_int32_t type, u_int32_t *ipaddr,const gchar *label) { - GtkTreeStore *model; - GtkTreeIter iter; - TreeItem *month = toplevel; + struct in_addr ipv4; + struct in6_addr ipv6; + char dst[INET6_ADDRSTRLEN]; + *str=(gchar *)malloc(sizeof(label)+1+IP_V6_ADDRESS_LEN); + + switch (type) { + case AU_IPv4: + ipv4.s_addr = (in_addr_t)(ipaddr[0]); + g_sprintf(*str,"%s:%s",label,inet_ntop(AF_INET, &ipv4, dst, + INET6_ADDRSTRLEN)); + break; - /* create tree store */ - model = gtk_tree_store_new (NUM_COLUMNS, - G_TYPE_STRING, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN); + case AU_IPv6: + bcopy(ipaddr, &ipv6, sizeof(ipv6)); + g_sprintf(*str, "%s:%s",label, inet_ntop(AF_INET6, &ipv6, dst, + INET6_ADDRSTRLEN)); + break; - /* add data to the tree store */ - while (month->label) - { - TreeItem *holiday = month->children; - - gtk_tree_store_append (model, &iter, NULL); - gtk_tree_store_set (model, &iter, - HOLIDAY_NAME_COLUMN, month->label, - ALEX_COLUMN, FALSE, - HAVOC_COLUMN, FALSE, - TIM_COLUMN, FALSE, - OWEN_COLUMN, FALSE, - DAVE_COLUMN, FALSE, - VISIBLE_COLUMN, FALSE, - WORLD_COLUMN, FALSE, - -1); - - /* add children */ - while (holiday->label) - { - GtkTreeIter child_iter; - - gtk_tree_store_append (model, &child_iter, &iter); - gtk_tree_store_set (model, &child_iter, - HOLIDAY_NAME_COLUMN, holiday->label, - ALEX_COLUMN, holiday->alex, - HAVOC_COLUMN, holiday->havoc, - TIM_COLUMN, holiday->tim, - OWEN_COLUMN, holiday->owen, - DAVE_COLUMN, holiday->dave, - VISIBLE_COLUMN, TRUE, - WORLD_COLUMN, holiday->world_holiday, - -1); - - holiday++; + default: + g_sprintf(*str, "%s:invalid",label); } +} +#define RETVAL_MAX_LEN 128 +/* + * Prints return value as success or failure. + */ +static void +sprint_retval(gchar **str, u_char status, const gchar *label) +{ + *str=(gchar *)malloc(sizeof(label)+1+RETVAL_MAX_LEN); - month++; - } + if (status == 0) + g_sprintf(*str, "%s:success",label); + else + g_sprintf(*str, "%s:failure : %s",label, strerror(status)); +} - return GTK_TREE_MODEL (model); +/* + * Prints the exit value. + */ +static void +sprint_errval(gchar **str, u_int32_t val,const gchar *label) +{ + *str=(gchar *)malloc(sizeof(label)+1+RETVAL_MAX_LEN); + g_sprintf(*str, "%s:Error %u",label, val); } +/* + * Prints IPC type. + */ static void -item_toggled (GtkCellRendererToggle *cell, - gchar *path_str, - gpointer data) +sprint_ipctype(gchar **str, u_char type, const gchar *label) { - GtkTreeModel *model = (GtkTreeModel *)data; - GtkTreePath *path = gtk_tree_path_new_from_string (path_str); - GtkTreeIter iter; - gboolean toggle_item; + if (type == AT_IPC_MSG) + g_sprintf(*str, "%s:Message IPC",label); + else if (type == AT_IPC_SEM) + g_sprintf(*str, "%s:Semaphore IPC",label); + else if (type == AT_IPC_SHM) + g_sprintf(*str, "%s:Shared Memory IPC",label); + else + g_sprintf(*str, "%s:%u", label,type); +} - gint *column; +/* + * Prints the event from the header token in either the short, default or raw + * form. + */ +static void +sprint_event(gchar **event_name, u_int16_t ev,const gchar *label) +{ + char event_ent_name[AU_EVENT_NAME_MAX]; + char event_ent_desc[AU_EVENT_DESC_MAX]; + struct au_event_ent e, *ep; + *event_name=(gchar *)malloc(sizeof(label)+1+AU_EVENT_NAME_MAX); + bzero(&e, sizeof(e)); + bzero(event_ent_name, sizeof(event_ent_name)); + bzero(event_ent_desc, sizeof(event_ent_desc)); + e.ae_name = event_ent_name; + e.ae_desc = event_ent_desc; - column = g_object_get_data (G_OBJECT (cell), "column"); + ep = getauevnum_r(&e, ev); + if (ep == NULL) { + g_sprintf(*event_name, "%s:%u", label, ev); + return; + } + g_sprintf(*event_name, "%s:%s",label,e.ae_name); +} >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 10:02:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A89E16A468; Fri, 6 Jul 2007 10:02:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B61A16A400 for ; Fri, 6 Jul 2007 10:02:41 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from merke.itea.ntnu.no (merke.itea.ntnu.no [129.241.7.61]) by mx1.freebsd.org (Postfix) with ESMTP id 2264713C45D for ; Fri, 6 Jul 2007 10:02:41 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by merke.itea.ntnu.no (Postfix) with ESMTP id 9476E13EAA2; Fri, 6 Jul 2007 12:02:39 +0200 (CEST) Received: from gaupe.stud.ntnu.no (gaupe.stud.ntnu.no [129.241.56.184]) by merke.itea.ntnu.no (Postfix) with ESMTP; Fri, 6 Jul 2007 12:02:39 +0200 (CEST) Received: by gaupe.stud.ntnu.no (Postfix, from userid 2312) id CFDBAD0034; Fri, 6 Jul 2007 12:02:44 +0200 (CEST) Date: Fri, 6 Jul 2007 12:02:44 +0200 From: Ulf Lilleengen To: Sonja Milicic Message-ID: <20070706100244.GB318@stud.ntnu.no> References: <200707050001.l6501ebB054832@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200707050001.l6501ebB054832@repoman.freebsd.org> User-Agent: Mutt/1.5.9i X-Content-Scanned: with sophos and spamassassin at mailgw.ntnu.no. Cc: Perforce Change Reviews Subject: Re: PERFORCE change 122892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 10:02:42 -0000 On tor, jul 05, 2007 at 12:01:40 +0000, Sonja Milicic wrote: > http://perforce.freebsd.org/chv.cgi?CH=122892 > > Change 122892 by smilicic@tanarri_marilith on 2007/07/05 00:01:06 > > fixed a bug with log provider creation and added more details to dumpconf > > Affected files ... > > .. //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 edit > Differences ... > > ==== //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 (text+ko) ==== * SNIP * > g_log_worker_sleep(struct g_log_softc *sc) > { > - if (g_log_no_events(&sc->sc_events)) > - tsleep(sc, PRIBIO, "glogidle", hz); > + if (g_log_no_events(&sc->sc_events)){ > + G_LOG_DEBUG(0, "putting worker to sleep"); > + tsleep(sc, PRIBIO, "glogidle", hz); > + } > } > > /*worker thread*/ > @@ -380,6 +419,7 @@ > panic("No softc!"); You should consider to use KASSERT for this, as you have done en log_post_event. > > while (1){ > + G_LOG_DEBUG(0,"working..."); > ev = g_log_get_event(&sc->sc_events); > + g_log_stop(sc->sc_geom_log, *force); > + else > + panic("Softc is null in ctl_destroy!"); Also a candidate. Also, I noticed that a lot of places you mix whitespaces and tabs. It would be nice if you just used one of them. Anyway, thought I'd just see how the other GEOM student is doing :) Your work looks good so far! -- Ulf Lilleengen From owner-p4-projects@FreeBSD.ORG Fri Jul 6 10:15:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CAEC616A469; Fri, 6 Jul 2007 10:15:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 967AD16A468 for ; Fri, 6 Jul 2007 10:15:14 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from merke.itea.ntnu.no (merke.itea.ntnu.no [129.241.7.61]) by mx1.freebsd.org (Postfix) with ESMTP id 5732F13C458 for ; Fri, 6 Jul 2007 10:15:14 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by merke.itea.ntnu.no (Postfix) with ESMTP id 1C1D913EACC for ; Fri, 6 Jul 2007 12:15:13 +0200 (CEST) Received: from gaupe.stud.ntnu.no (gaupe.stud.ntnu.no [129.241.56.184]) by merke.itea.ntnu.no (Postfix) with ESMTP for ; Fri, 6 Jul 2007 12:15:12 +0200 (CEST) Received: by gaupe.stud.ntnu.no (Postfix, from userid 2312) id 95ACDD0034; Fri, 6 Jul 2007 12:15:18 +0200 (CEST) Date: Fri, 6 Jul 2007 12:15:18 +0200 From: Ulf Lilleengen To: Perforce Change Reviews Message-ID: <20070706101518.GC318@stud.ntnu.no> References: <200707050001.l6501ebB054832@repoman.freebsd.org> <20070706100244.GB318@stud.ntnu.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070706100244.GB318@stud.ntnu.no> User-Agent: Mutt/1.5.9i X-Content-Scanned: with sophos and spamassassin at mailgw.ntnu.no. Cc: Subject: Re: PERFORCE change 122892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 10:15:15 -0000 On fre, jul 06, 2007 at 12:02:44 +0200, Ulf Lilleengen wrote: > On tor, jul 05, 2007 at 12:01:40 +0000, Sonja Milicic wrote: > > http://perforce.freebsd.org/chv.cgi?CH=122892 > > > > Change 122892 by smilicic@tanarri_marilith on 2007/07/05 00:01:06 > > > > fixed a bug with log provider creation and added more details to dumpconf > > > > Affected files ... > > > > .. //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 edit > > Differences ... > > > > ==== //depot/projects/soc2007/smilicic_glog/sys/geom/log/glog.c#4 (text+ko) ==== > * SNIP * > > g_log_worker_sleep(struct g_log_softc *sc) > > { > > - if (g_log_no_events(&sc->sc_events)) > > - tsleep(sc, PRIBIO, "glogidle", hz); > > + if (g_log_no_events(&sc->sc_events)){ > > + G_LOG_DEBUG(0, "putting worker to sleep"); > > + tsleep(sc, PRIBIO, "glogidle", hz); > > + } > > } > > > > /*worker thread*/ > > @@ -380,6 +419,7 @@ > > panic("No softc!"); > You should consider to use KASSERT for this, as you have done en log_post_event. > > > > while (1){ > > + G_LOG_DEBUG(0,"working..."); > > ev = g_log_get_event(&sc->sc_events); > > + g_log_stop(sc->sc_geom_log, *force); *SNIP* > > + else > > + panic("Softc is null in ctl_destroy!"); > Also a candidate. > > Also, I noticed that a lot of places you mix whitespaces and tabs. It would be > nice if you just used one of them. Anyway, thought I'd just see how the other > GEOM student is doing :) Your work looks good so far! I forgot to insert more *snips* here, as you can see :) -- Ulf Lilleengen From owner-p4-projects@FreeBSD.ORG Fri Jul 6 10:34:45 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97A3616A46F; Fri, 6 Jul 2007 10:34:45 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B3E216A46D for ; Fri, 6 Jul 2007 10:34:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5C1FF13C457 for ; Fri, 6 Jul 2007 10:34:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66AYjfK077797 for ; Fri, 6 Jul 2007 10:34:45 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66AYjg9077794 for perforce@freebsd.org; Fri, 6 Jul 2007 10:34:45 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 6 Jul 2007 10:34:45 GMT Message-Id: <200707061034.l66AYjg9077794@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 123007 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 10:34:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=123007 Change 123007 by zec@zec_tca51 on 2007/07/06 10:34:24 Unbreak tcp_timewait.c (probably something went wrong witht the last IFC). Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#6 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#6 (text+ko) ==== @@ -191,6 +191,7 @@ void tcp_twstart(struct tcpcb *tp) { + INIT_VNET_INET(tp->t_vnet); struct tcptw *tw; struct inpcb *inp = tp->t_inpcb; int acknow; @@ -329,6 +330,7 @@ tcp_twcheck(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th, struct mbuf *m, int tlen) { + INIT_VNET_INET(curvnet); struct tcptw *tw; int thflags; tcp_seq seq; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 11:08:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 642E816A421; Fri, 6 Jul 2007 11:08:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3B72B16A400 for ; Fri, 6 Jul 2007 11:08:29 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 29DF113C455 for ; Fri, 6 Jul 2007 11:08:29 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66B8Tlp081288 for ; Fri, 6 Jul 2007 11:08:29 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66B8Qfu081285 for perforce@freebsd.org; Fri, 6 Jul 2007 11:08:26 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 6 Jul 2007 11:08:26 GMT Message-Id: <200707061108.l66B8Qfu081285@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 11:08:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=123008 Change 123008 by rdivacky@rdivacky_witten on 2007/07/06 11:07:26 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/NOTES#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ofw/openfirm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/re/if_re.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/snp/snp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/es137x.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/udbp.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_cause.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_debug.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_rbch_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_tel_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/i4b_trace.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_l4if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_llif.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_msgs.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_card.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_isa.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_lli.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ing.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ipr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_isppp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_rbch.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_tel.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_trace.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_cause.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_debug.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_ioctl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_l1l2.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_rbch_ioctl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_tel_ioctl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_trace.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/i4b_l1dmux.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/i4b_l1lib.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpnp/i4b_ifpnp_isac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ihfc/i4b_ihfc_drv.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ihfc/i4b_ihfc_l1if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ihfc/i4b_ihfc_pnp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_asuscom_ipac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_avm_a1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_bchan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_ctx_s0P.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_diva.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_drn_ngo.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_dynalink.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_elsa_pcc16.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_elsa_qs1i.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_elsa_qs1p.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_hscx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_isac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_isic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_isic_isa.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_isic_pnp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_itk_ix1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_l1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_l1fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_siemens_isurf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_sws.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_tel_s016.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_tel_s0163.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_tel_s08.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/isic/i4b_usr_sti.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/itjc/i4b_itjc_isac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/itjc/i4b_itjc_l1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/itjc/i4b_itjc_l1fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/itjc/i4b_itjc_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/iwic/i4b_iwic_bchan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/iwic/i4b_iwic_dchan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/iwic/i4b_iwic_fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/iwic/i4b_iwic_l1if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/iwic/i4b_iwic_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_iframe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_l2.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_l2fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_l2timer.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_lme.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_sframe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_tei.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_uframe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer2/i4b_util.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_l2if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_l3fsm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_l3timer.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_l4if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_q931.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer3/i4b_q932fac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_i4bdrv.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_l4.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_l4mgmt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer4/i4b_l4timer.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_conf.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/dest6.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/frag6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_cksum.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_gif.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_proto.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_rmx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_forward.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_id.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_input.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/mld6.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/nd6.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/raw_ip6.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/route6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/scope6.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_usrreq.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_var.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_cause.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_debug.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_rbch_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_tel_ioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/include/i4b_trace.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_bsdextended/mac_bsdextended.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_bsdextended/mac_bsdextended.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/sun4v/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/param.h#5 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/NOTES#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1440 2007/07/03 12:13:42 gnn Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1441 2007/07/05 15:33:13 gnn Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -490,12 +490,14 @@ # NETWORKING OPTIONS # -# Protocol families: -# Only the INET (Internet) family is officially supported in FreeBSD. +# Protocol families # options INET #Internet communications protocols options INET6 #IPv6 communications protocols -options IPSEC #IP security + +# In order to enable IPSEC you MUST also add device crypto to +# your kernel configuration +options IPSEC #IP security (requires device crypto) #options IPSEC_DEBUG #debug for IP security # # Set IPSEC_FILTERGIF to force packets coming through a gif tunnel ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1233 2007/07/05 07:04:17 peter Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1234 2007/07/05 15:28:59 mlaier Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -336,7 +336,7 @@ contrib/pf/net/pf_ruleset.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_subr.c optional pf \ - compile-with "${NORMAL_C_NOWERROR} -I$S/contrib/pf" + compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/net/pf_table.c optional pf \ compile-with "${NORMAL_C} -I$S/contrib/pf" contrib/pf/netinet/in4_cksum.c optional pf inet ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.86 2007/07/05 09:30:34 peter Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.88 2007/07/06 01:50:58 peter Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -90,7 +90,8 @@ CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \ + ${MACHINE_ARCH} == "sparc64" WERROR?= -Werror .endif .endif ==== //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/pf/net/pf_subr.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ #include "opt_inet6.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_subr.c,v 1.3 2007/07/03 12:16:07 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_subr.c,v 1.4 2007/07/05 15:28:59 mlaier Exp $"); #include #include @@ -116,7 +116,7 @@ static u_char isn_secret[32]; static int isn_last_reseed; -static u_int32_t isn_offset, isn_offset_old; +static u_int32_t isn_offset; static MD5_CTX isn_ctx; u_int32_t ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ipw/if_ipw.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.28 2007/06/29 02:43:13 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ /*- * Copyright (c) 2004-2006 @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.28 2007/06/29 02:43:13 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -1847,7 +1847,8 @@ #ifdef IPW_DEBUG if (ipw_debug > 0) { printf("Setting ESSID to "); - ieee80211_print_essid(ic->ic_des_essid, ic->ic_des_esslen); + ieee80211_print_essid(ic->ic_des_ssid[0].ssid, + ic->ic_des_ssid[0].len); printf("\n"); } #endif ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/if_nxge.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/nxge/if_nxge.c,v 1.1 2007/06/29 22:47:16 sam Exp $ + * $FreeBSD: src/sys/dev/nxge/if_nxge.c,v 1.2 2007/07/06 00:47:43 peter Exp $ */ /* @@ -252,8 +252,8 @@ if(dconfig->fifo.max_frags > (PAGE_SIZE/32)) { xge_os_printf("fifo_max_frags = %d", dconfig->fifo.max_frags); xge_os_printf("fifo_max_frags should be <= (PAGE_SIZE / 32) = %d", - (PAGE_SIZE / 32)); - xge_os_printf("Using fifo_max_frags = %d", (PAGE_SIZE / 32)); + (int)(PAGE_SIZE / 32)); + xge_os_printf("Using fifo_max_frags = %d", (int)(PAGE_SIZE / 32)); dconfig->fifo.max_frags = (PAGE_SIZE / 32); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ofw/openfirm.c#3 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ofw/openfirm.c,v 1.20 2007/06/16 22:34:16 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ofw/openfirm.c,v 1.21 2007/07/06 00:47:44 peter Exp $"); #include #include @@ -139,9 +139,9 @@ cell_t status; int i = 0; + va_start(ap, nreturns); args.nreturns = ++nreturns; args.slot[i++] = (cell_t)cmd; - va_start(ap, nreturns); while (i < 1) args.slot[i++] = va_arg(ap, cell_t); if (openfirmware(&args) == -1) { ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/re/if_re.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.90 2007/06/16 02:54:19 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.91 2007/07/06 00:05:11 yongari Exp $"); /* * RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI NIC driver @@ -1211,10 +1211,10 @@ hw_rev++; } - sc->rl_eewidth = 6; + sc->rl_eewidth = RL_9356_ADDR_LEN; re_read_eeprom(sc, (caddr_t)&re_did, 0, 1); if (re_did != 0x8129) - sc->rl_eewidth = 8; + sc->rl_eewidth = RL_9346_ADDR_LEN; /* * Get station address from the EEPROM. ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/snp/snp.c#3 (text+ko) ==== @@ -15,7 +15,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/snp/snp.c,v 1.104 2007/07/03 17:43:56 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/snp/snp.c,v 1.105 2007/07/05 13:07:12 kib Exp $"); #include #include @@ -118,7 +118,7 @@ static struct tty *snpdevtotty(struct cdev *dev); static void snp_clone(void *arg, struct ucred *cred, char *name, int namelen, struct cdev **dev); -static int snp_detach(struct snoop *snp); +static void snp_detach(void *arg); static int snp_down(struct snoop *snp); static int snp_in(struct snoop *snp, char *buf, int n); static int snp_modevent(module_t mod, int what, void *arg); @@ -422,11 +422,13 @@ } -static int -snp_detach(struct snoop *snp) +static void +snp_detach(void *arg) { + struct snoop *snp; struct tty *tp; + snp = (struct snoop *)arg; snp->snp_base = 0; snp->snp_len = 0; @@ -451,8 +453,6 @@ selwakeuppri(&snp->snp_sel, PZERO + 1); if ((snp->snp_flags & SNOOP_OPEN) == 0) free(snp, M_SNP); - - return (0); } static int @@ -466,9 +466,9 @@ free(snp->snp_buf, M_SNP); snp->snp_flags &= ~SNOOP_OPEN; dev->si_drv1 = NULL; - destroy_dev(dev); + destroy_dev_sched_cb(dev, snp_detach, snp); - return (snp_detach(snp)); + return (0); } static int @@ -481,8 +481,9 @@ snp->snp_blen = SNOOP_MINLEN; } snp->snp_flags |= SNOOP_DOWN; + snp_detach(snp); - return (snp_detach(snp)); + return (0); } static int ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/es137x.c#5 (text+ko) ==== @@ -59,7 +59,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/es137x.c,v 1.70 2007/06/17 06:10:42 ariff Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/es137x.c,v 1.71 2007/07/05 10:22:37 ariff Exp $"); #define MEM_MAP_REG 0x14 @@ -543,8 +543,10 @@ ES_LOCK(es); /* Fixed rate , do nothing. */ - if (ch->caps.minspeed == ch->caps.maxspeed) + if (ch->caps.minspeed == ch->caps.maxspeed) { + ES_UNLOCK(es); return (ch->caps.maxspeed); + } if (speed < ch->caps.minspeed) speed = ch->caps.minspeed; if (speed > ch->caps.maxspeed) ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/udbp.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/udbp.c,v 1.40 2007/06/22 05:14:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/udbp.c,v 1.41 2007/07/05 15:25:32 imp Exp $"); /* Driver for arbitrary double bulk pipe devices. * The driver assumes that there will be the same driver on the other side. @@ -294,8 +294,7 @@ for (i = 0 ; i < id->bNumEndpoints; i++) { ed = usbd_interface2endpoint_descriptor(iface, i); if (!ed) { - printf("%s: could not read endpoint descriptor\n", - device_get_nameunit(sc->sc_dev)); + device_printf(self, "could not read endpoint descriptor\n"); return ENXIO; } @@ -313,19 +312,18 @@ /* Verify that we goething sensible */ if (ed_bulkin == NULL || ed_bulkout == NULL) { - printf("%s: bulk-in and/or bulk-out endpoint not found\n", - device_get_nameunit(sc->sc_dev)); + device_printf(self, "bulk-in and/or bulk-out endpoint not found\n"); return ENXIO; } if (ed_bulkin->wMaxPacketSize[0] != ed_bulkout->wMaxPacketSize[0] || ed_bulkin->wMaxPacketSize[1] != ed_bulkout->wMaxPacketSize[1]) { - printf("%s: bulk-in and bulk-out have different packet sizes %d %d %d %d\n", - device_get_nameunit(sc->sc_dev), - ed_bulkin->wMaxPacketSize[0], - ed_bulkout->wMaxPacketSize[0], - ed_bulkin->wMaxPacketSize[1], - ed_bulkout->wMaxPacketSize[1]); + device_printf(self, + "bulk-in and bulk-out have different packet sizes %d %d %d %d\n", + ed_bulkin->wMaxPacketSize[0], + ed_bulkout->wMaxPacketSize[0], + ed_bulkin->wMaxPacketSize[1], + ed_bulkout->wMaxPacketSize[1]); return ENXIO; } @@ -360,15 +358,15 @@ err = usbd_open_pipe(iface, sc->sc_bulkin, USBD_EXCLUSIVE_USE, &sc->sc_bulkin_pipe); if (err) { - printf("%s: cannot open bulk-in pipe (addr %d)\n", - device_get_nameunit(sc->sc_dev), sc->sc_bulkin); + device_printf(self, "cannot open bulk-in pipe (addr %d)\n", + sc->sc_bulkin); goto bad; } err = usbd_open_pipe(iface, sc->sc_bulkout, USBD_EXCLUSIVE_USE, &sc->sc_bulkout_pipe); if (err) { - printf("%s: cannot open bulk-out pipe (addr %d)\n", - device_get_nameunit(sc->sc_dev), sc->sc_bulkout); + device_printf(self, "cannot open bulk-out pipe (addr %d)\n", + sc->sc_bulkout); goto bad; } @@ -572,9 +570,8 @@ pktlen = m->m_pkthdr.len; if (pktlen > sc->sc_bulkout_bufferlen) { - printf("%s: Packet too large, %d > %d\n", - device_get_nameunit(sc->sc_dev), pktlen, - sc->sc_bulkout_bufferlen); + device_printf(sc->sc_dev, "Packet too large, %d > %d\n", + pktlen, sc->sc_bulkout_bufferlen); return (USBD_IOERROR); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_l4if.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_l4if.c,v 1.7 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_l4if.c,v 1.8 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -36,9 +36,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_llif.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_llif.c,v 1.4 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_llif.c,v 1.5 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -36,9 +36,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/capi_msgs.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_msgs.c,v 1.5 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/capi_msgs.c,v 1.6 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -36,9 +36,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_card.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_card.c,v 1.6 2006/05/16 14:37:57 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_card.c,v 1.7 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -43,9 +43,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_isa.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_isa.c,v 1.11 2007/02/23 20:11:26 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_isa.c,v 1.12 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -42,9 +42,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_lli.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_lli.c,v 1.9 2006/05/16 14:37:57 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_lli.c,v 1.10 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -45,9 +45,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/capi/iavc/iavc_pci.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_pci.c,v 1.12 2007/02/23 20:11:26 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/capi/iavc/iavc_pci.c,v 1.13 2007/07/06 07:17:17 bz Exp $"); #include #include @@ -48,9 +48,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ctl.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ctl.c,v 1.26 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ctl.c,v 1.27 2007/07/06 07:17:18 bz Exp $"); #include #include @@ -42,8 +42,8 @@ #include #include -#include -#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ing.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ing.c,v 1.25 2007/07/04 00:18:39 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ing.c,v 1.26 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -50,8 +50,8 @@ #include #include -#include -#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_ipr.c#3 (text+ko) ==== @@ -55,7 +55,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ipr.c,v 1.39 2007/07/04 00:18:39 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ipr.c,v 1.40 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -98,8 +98,8 @@ #include #include -#include -#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_isppp.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_isppp.c,v 1.32 2007/07/04 00:18:39 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_isppp.c,v 1.33 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -60,8 +60,8 @@ #include #include -#include -#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_rbch.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_rbch.c,v 1.35 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_rbch.c,v 1.36 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -48,9 +48,9 @@ #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_tel.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_tel.c,v 1.36 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_tel.c,v 1.37 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -50,9 +50,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/driver/i4b_trace.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_trace.c,v 1.32 2005/01/06 22:18:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_trace.c,v 1.33 2007/07/06 07:17:18 bz Exp $"); #include "opt_i4b.h" @@ -49,8 +49,8 @@ #include #include -#include -#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/include/i4b_l1l2.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * i4b_l1l2.h - i4b layer 1 / layer 2 interactions * --------------------------------------------------- * - * $FreeBSD: src/sys/i4b/include/i4b_l1l2.h,v 1.9 2005/01/06 22:18:18 imp Exp $ + * $FreeBSD: src/sys/i4b/include/i4b_l1l2.h,v 1.10 2007/07/06 07:17:18 bz Exp $ * * last edit-date: [Sat Mar 9 15:54:49 2002] * @@ -37,7 +37,7 @@ #ifndef _I4B_L1L2_H_ #define _I4B_L1L2_H_ -#include +#include extern struct i4b_l1l2_func i4b_l1l2_func; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/i4b_l1dmux.c#2 (text+ko) ==== @@ -32,14 +32,14 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer1/i4b_l1dmux.c,v 1.8 2005/01/06 22:18:19 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer1/i4b_l1dmux.c,v 1.9 2007/07/06 07:17:18 bz Exp $"); #include #include -#include -#include -#include +#include +#include +#include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/i4b_l1lib.c#2 (text+ko) ==== @@ -33,13 +33,13 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer1/i4b_l1lib.c,v 1.5 2005/01/06 22:18:19 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer1/i4b_l1lib.c,v 1.6 2007/07/06 07:17:18 bz Exp $"); #include #include -#include -#include +#include +#include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c,v 1.8 2005/01/06 22:18:19 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c,v 1.9 2007/07/06 07:17:19 bz Exp $"); #include "opt_i4b.h" @@ -44,9 +44,9 @@ #include -#include -#include -#include +#include +#include +#include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c,v 1.8 2005/01/06 22:18:19 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c,v 1.9 2007/07/06 07:17:19 bz Exp $"); #include #include @@ -42,9 +42,9 @@ #include -#include -#include -#include +#include +#include +#include #include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ *---------------------------------------------------------------------------*/ #include -__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c,v 1.8 2005/01/06 22:18:19 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c,v 1.9 2007/07/06 07:17:19 bz Exp $"); #include #include @@ -42,9 +42,9 @@ #include -#include -#include -#include +#include +#include +#include #include ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ *---------------------------------------------------------------------------*/ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 13:02:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D501416A46F; Fri, 6 Jul 2007 13:02:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4465F16A41F for ; Fri, 6 Jul 2007 13:02:06 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3233D13C45B for ; Fri, 6 Jul 2007 13:02:06 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66D26qA098778 for ; Fri, 6 Jul 2007 13:02:06 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66D25i8098764 for perforce@freebsd.org; Fri, 6 Jul 2007 13:02:05 GMT (envelope-from loafier@FreeBSD.org) Date: Fri, 6 Jul 2007 13:02:05 GMT Message-Id: <200707061302.l66D25i8098764@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 13:02:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=123010 Change 123010 by loafier@chrisdsoc on 2007/07/06 12:59:40 Made a new branch. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/acpica/madt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/atomic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/autoconf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/bios.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/db_interface.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/db_trace.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/exception.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/fpu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/genassym.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/identcpu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/initcpu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/io.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/io_apic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/legacy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/local_apic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/locore.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mpboot.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mptable.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/msi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/nexus.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/pmap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/support.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/trap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/tsc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/compile/.cvsignore#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/.cvsignore#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/DEFAULTS#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/GENERIC#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/MAC#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/conf/NOTES#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/_bus.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/_inttypes.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/_limits.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/_stdint.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/_types.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/apicreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/apicvar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/asm.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/asmacros.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/atomic.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/bus.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/bus_dma.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/clock.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/cpu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/cpufunc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/cputypes.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/db_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/elf.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/endian.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/exec.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/float.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/floatingpoint.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/fpu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/frame.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/ieeefp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/in_cksum.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/intr_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/iodev.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/kdb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/legacyvar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/limits.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/md_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/memdev.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/metadata.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/minidump.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/mptable.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/mutex.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/param.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pc/bios.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pc/display.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pcb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pcb_ext.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pcpu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pmap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/ppireg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/proc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/profile.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/psl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/ptrace.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/reloc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/resource.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/runq.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/segments.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/setjmp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/sf_buf.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/sigframe.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/signal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/smp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/specialreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/stdarg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/sysarch.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/timerreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/trap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/tss.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/ucontext.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/varargs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/include/vmparam.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/atpic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/clock.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/elcr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/icu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/isa.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/isa.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/isa_dma.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/isa/nmi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/linux32/syscalls.master#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/pci/pci_bus.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/autoconf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/bcopy_page.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/bcopyinout.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/blockio.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/bootconfig.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/copystr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/db_disasm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/db_interface.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/db_trace.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/disassem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/dump_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/elf_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/exception.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/fiq.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/fiq_subr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/fusu.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/genassym.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/identcpu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/in_cksum.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/inckern.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/intr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/locore.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/mem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/nexus.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/nexus_io.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/pmap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/setcpsr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/setstack.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/support.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/swtch.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/sys_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/trap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/uio_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/undefined.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/vectors.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/arm/vm_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_mci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pio.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_piovar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pmc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_rtc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_spi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_spireg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_ssc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_st.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_streg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_twi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_twiio.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_twireg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/files.at91#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/files.kb920x#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/if_ate.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/if_atereg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/kb920x_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/ohci_atmelarm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/std.at91#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/std.kb920x#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/compile/.cvsignore#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/.cvsignore#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/AVILA#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/AVILA.hints#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/BWCT#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/BWCT.hints#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/EP80219#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/IQ31244#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/KB920X#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/KB920X.hints#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/SIMICS#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/conf/SKYEYE#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/_bus.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/_inttypes.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/_limits.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/_stdint.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/_types.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/armreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/asm.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/asmacros.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/atomic.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/blockio.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/bootconfig.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/bus.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/bus_dma.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/clock.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/cpu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/cpuconf.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/cpufunc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/db_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/disassem.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/elf.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/endian.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/exec.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/fiq.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/float.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/floatingpoint.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/fp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/frame.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/gdb_machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/ieee.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/ieeefp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/in_cksum.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/intr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/katelib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/kdb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/limits.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/machdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/md_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/memdev.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/metadata.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/mutex.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/param.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/pcb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/pcpu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/pmap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/pmc_mdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/proc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/profile.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/psl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/pte.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/ptrace.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/reloc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/resource.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/runq.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/setjmp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/sf_buf.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/sigframe.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/signal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/smp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/stdarg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/swi.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/sysarch.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/trap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/ucontext.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/undefined.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/utrap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/include/vmparam.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/std.xscale#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/xscalereg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/arm/xscale/xscalevar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot2/board.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/bcache.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/boot.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/bootstrap.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/commands.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/console.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/dev_net.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/dev_net.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/devopen.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/help.common#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/interp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/interp_backslash.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/interp_forth.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/interp_parse.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/isapnp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/isapnp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf32.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf64.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/load_elf_obj.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/loader.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/ls.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/merge_help.awk#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/misc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/module.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/newvers.sh#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/panic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/pnp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/reloc_elf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/reloc_elf32.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/reloc_elf64.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/common/ufsread.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efi.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efiapi.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/eficon.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efidebug.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efidef.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efidevp.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efierr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efifs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efilib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efinet.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efipart.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efiprot.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efiser.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/delay.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/errno.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/handles.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/efi/libefi/time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/dict.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/ficl.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/ficl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/fileaccess.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/float.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/loader.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/math64.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/math64.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/prefix.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/search.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/stack.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/testmain.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/tools.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/unix.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/vm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ficl/words.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/beastie.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/frames.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/loader.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/loader.4th.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/loader.conf#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/loader.conf.5#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/loader.rc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/pnp.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/screen.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/forth/support.4th#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot0/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot2/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot2/lib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/boot2/sio.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/pread.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/conf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/help.i386#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/loader.rc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/loader/version#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/mbr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/autoload.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/bootinfo.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/copy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/devicename.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/exec.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/common/libia64.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/conf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/start.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/efi/version#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/conf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/delay.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/exit.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/libski.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/skimd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/start.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ia64/ski/version#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/common/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/io.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/start.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/boot2/table.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/biossmap.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/loader/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/loader/conf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/pc98/loader/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/ldscript.powerpc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/start.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/powerpc/loader/version#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/main.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/boot/sparc64/loader/version#1 branch .. //depot/projects/soc2007/loafier_busalloc/bsm/audit.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/bsm/audit_internal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/bsm/audit_kevents.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/bsm/audit_record.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/README.quirks#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_ccb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_debug.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_periph.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_periph.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_queue.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_queue.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_sim.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_sim.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_xpt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_xpt.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_xpt_periph.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/cam_xpt_sim.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_all.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_all.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_da.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_da.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_low.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_low.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_message.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_target.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/00READ#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/README#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/TODO#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/cnode.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_fbsd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_io.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_kernel.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_namecache.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_namecache.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_opstats.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_pioctl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_psdev.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_psdev.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_subr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_subr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_venus.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_venus.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_vfsops.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_vfsops.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_vnops.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/coda/coda_vnops.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_signal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ia32/ia32_reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ia32/ia32_util.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linsysfs/linsysfs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_emul.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_emul.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_file.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_futex.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_futex.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_ipc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_ipc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_mib.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_mib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_misc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_misc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_signal.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_signal.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_socket.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_socket.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_stats.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_time.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_uid16.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_util.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/linux/linux_util.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/cfg_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/hal_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/kern_windrv.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/ndis_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/pe_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/resource_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/subr_hal.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/subr_pe.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/usbd_var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/sysmacros.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/systm.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/taskq.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/taskq_impl.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/time.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/types.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/uio.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/varargs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/vfs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/compat/opensolaris/sys/vnode.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 13:15:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 944F516A400; Fri, 6 Jul 2007 13:15:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D9D816A468 for ; Fri, 6 Jul 2007 13:15:24 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3C2E813C458 for ; Fri, 6 Jul 2007 13:15:24 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66DFNre001195 for ; Fri, 6 Jul 2007 13:15:23 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66DFMZx001192 for perforce@freebsd.org; Fri, 6 Jul 2007 13:15:22 GMT (envelope-from loafier@FreeBSD.org) Date: Fri, 6 Jul 2007 13:15:22 GMT Message-Id: <200707061315.l66DFMZx001192@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123011 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 13:15:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=123011 Change 123011 by loafier@chrisdsoc on 2007/07/06 13:15:08 Edited first 6 ARM drivers on BusAllocUpdate list. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pio.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_rtc.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_spi.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_ssc.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_twi.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/arm/at91/if_ate.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_pio.c#2 (text) ==== @@ -42,12 +42,23 @@ #include #include +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec pio_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_pio_softc { device_t dev; /* Myself */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ and Memory resources */ struct mtx sc_mtx; /* basically a perimeter lock */ struct cdev *cdev; int flags; @@ -57,13 +68,13 @@ static inline uint32_t RD4(struct at91_pio_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_pio_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } #define AT91_PIO_LOCK(_sc) mtx_lock_spin(&(_sc)->sc_mtx) @@ -148,7 +159,7 @@ * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, PIO_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC, at91_pio_intr, NULL, sc, &sc->intrhand); if (err) { AT91_PIO_LOCK_DESTROY(sc); @@ -177,23 +188,15 @@ at91_pio_activate(device_t dev) { struct at91_pio_softc *sc; - int rid; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) - goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE | RF_SHAREABLE); - if (sc->irq_res == NULL) - goto errout; + + if (bus_alloc_resources(dev, pio_res_spec, sc->res)) { + at91_pio_deactivate(dev); + return (ENOMEM); + } + return (0); -errout: - at91_pio_deactivate(dev); - return (ENOMEM); } static void @@ -203,18 +206,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, pio_res_spec, sc->res); } static int ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_rtc.c#2 (text) ==== @@ -43,25 +43,36 @@ #include "clock_if.h" +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec rtc_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_rtc_softc { device_t dev; /* Myself */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ and Memory resources */ struct mtx sc_mtx; /* basically a perimeter lock */ }; static inline uint32_t RD4(struct at91_rtc_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_rtc_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } #define AT91_RTC_LOCK(_sc) mtx_lock_spin(&(_sc)->sc_mtx) @@ -110,7 +121,7 @@ * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, RTC_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC, at91_rtc_intr, NULL, sc, &sc->intrhand); if (err) { AT91_RTC_LOCK_DESTROY(sc); @@ -133,23 +144,15 @@ at91_rtc_activate(device_t dev) { struct at91_rtc_softc *sc; - int rid; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) - goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE | RF_SHAREABLE); - if (sc->irq_res == NULL) - goto errout; + + if (bus_alloc_resources(dev, rtc_res_spec, sc->res)) { + at91_rtc_deactivate(dev); + return (ENOMEM); + } + return (0); -errout: - at91_rtc_deactivate(dev); - return (ENOMEM); } static void @@ -159,18 +162,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, rtc_res_spec, sc->res); } static int ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_spi.c#2 (text) ==== @@ -43,12 +43,23 @@ #include #include "spibus_if.h" +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec spi_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_spi_softc { device_t dev; /* Myself */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ and Memory resource */ bus_dma_tag_t dmatag; /* bus dma tag for mbufs */ bus_dmamap_t map[4]; /* Maps for the transaction */ int rxdone; @@ -57,13 +68,13 @@ static inline uint32_t RD4(struct at91_spi_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_spi_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } /* bus entry points */ @@ -149,20 +160,14 @@ at91_spi_activate(device_t dev) { struct at91_spi_softc *sc; - int rid, err = ENOMEM; + int err = ENOMEM; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) + + if (bus_alloc_resources(dev, spi_res_spec, sc->res)) goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->irq_res == NULL) - goto errout; - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC | INTR_MPSAFE, NULL, at91_spi_intr, sc, &sc->intrhand); if (err != 0) goto errout; @@ -179,18 +184,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, spi_res_spec, sc->res); } static void ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_ssc.c#2 (text) ==== @@ -38,12 +38,23 @@ #include +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec ssc_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_ssc_softc { device_t dev; /* Myself */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ and Memory resources */ struct mtx sc_mtx; /* basically a perimeter lock */ struct cdev *cdev; int flags; @@ -53,13 +64,13 @@ static inline uint32_t RD4(struct at91_ssc_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_ssc_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } #define AT91_SSC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) @@ -123,7 +134,7 @@ /* * Activate the interrupt */ - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC | INTR_MPSAFE, NULL, at91_ssc_intr, sc, &sc->intrhand); if (err) { AT91_SSC_LOCK_DESTROY(sc); @@ -165,23 +176,15 @@ at91_ssc_activate(device_t dev) { struct at91_ssc_softc *sc; - int rid; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) - goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->irq_res == NULL) - goto errout; + + if (bus_alloc_resources(dev, ssc_res_spec, sc->res)) { + at91_ssc_deactivate(dev); + return (ENOMEM); + } + return (0); -errout: - at91_ssc_deactivate(dev); - return (ENOMEM); } static void @@ -191,18 +194,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, ssc_res_spec, sc->res); } static void ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_twi.c#2 (text) ==== @@ -49,12 +49,23 @@ #define TWI_FAST_CLOCK 45000 #define TWI_FASTEST_CLOCK 90000 +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec twi_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_twi_softc { device_t dev; /* Myself */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ & Memory resources */ struct mtx sc_mtx; /* basically a perimeter lock */ volatile uint32_t flags; uint32_t cwgr; @@ -66,13 +77,13 @@ static inline uint32_t RD4(struct at91_twi_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_twi_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } #define AT91_TWI_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) @@ -121,7 +132,7 @@ /* * Activate the interrupt */ - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC | INTR_MPSAFE, NULL, at91_twi_intr, sc, &sc->intrhand); if (err) { AT91_TWI_LOCK_DESTROY(sc); @@ -162,23 +173,15 @@ at91_twi_activate(device_t dev) { struct at91_twi_softc *sc; - int rid; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) - goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->irq_res == NULL) - goto errout; + + if (bus_alloc_resources(dev, twi_res_spec, sc->res)) { + at91_twi_deactivate(dev); + return (ENOMEM); + } + return (0); -errout: - at91_twi_deactivate(dev); - return (ENOMEM); } static void @@ -188,18 +191,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, twi_res_spec, sc->res); } static void ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/if_ate.c#2 (text) ==== @@ -75,6 +75,18 @@ #define ATE_MAX_TX_BUFFERS 2 /* We have ping-pong tx buffers */ #define ATE_MAX_RX_BUFFERS 64 +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec ate_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct ate_softc { struct ifnet *ifp; /* ifnet pointer */ @@ -82,8 +94,7 @@ device_t dev; /* Myself */ device_t miibus; /* My child miibus */ void *intrhand; /* Interrupt handle */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ & Memory resources */ struct callout tick_ch; /* Tick callout */ bus_dma_tag_t mtag; /* bus dma tag for mbufs */ bus_dmamap_t tx_map[ATE_MAX_TX_BUFFERS]; @@ -104,13 +115,13 @@ static inline uint32_t RD4(struct ate_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct ate_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } #define ATE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) @@ -225,7 +236,7 @@ /* * Activate the interrupt */ - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_NET | INTR_MPSAFE, NULL, ate_intr, sc, &sc->intrhand); if (err) { ether_ifdetach(ifp); @@ -324,20 +335,12 @@ ate_activate(device_t dev) { struct ate_softc *sc; - int rid, err, i; + int err, i; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) + if (bus_alloc_resources(dev, ate_res_spec, sc->res)) goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->irq_res == NULL) - goto errout; - + /* * Allocate DMA tags and maps */ @@ -441,20 +444,12 @@ bus_dma_tag_destroy(sc->mcs_tag); #endif if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); if (sc->miibus) device_delete_child(sc->dev, sc->miibus); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, ate_res_spec, sc->res); } /* From owner-p4-projects@FreeBSD.ORG Fri Jul 6 13:47:09 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 731C616A469; Fri, 6 Jul 2007 13:47:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3FAAB16A400 for ; Fri, 6 Jul 2007 13:47:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2F53F13C44B for ; Fri, 6 Jul 2007 13:47:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66Dl9BA008237 for ; Fri, 6 Jul 2007 13:47:09 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66Dl8E5008233 for perforce@freebsd.org; Fri, 6 Jul 2007 13:47:08 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 6 Jul 2007 13:47:08 GMT Message-Id: <200707061347.l66Dl8E5008233@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123016 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 13:47:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=123016 Change 123016 by rdivacky@rdivacky_witten on 2007/07/06 13:46:23 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Symbol.map#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_sx.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sx.h#3 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.599 2007/07/04 00:18:38 bz Exp $ +# $FreeBSD: src/sys/conf/options,v 1.600 2007/07/06 13:20:43 attilio Exp $ # # On the handling of kernel options # @@ -538,6 +538,7 @@ MUTEX_NOINLINE opt_global.h LOCK_PROFILING opt_global.h LOCK_PROFILING_FAST opt_global.h +LOCK_PROFILING_SHARED opt_global.h MSIZE opt_global.h REGRESSION opt_global.h RESTARTABLE_PANICS opt_global.h ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_sx.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.53 2007/05/31 09:14:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.54 2007/07/06 13:20:44 attilio Exp $"); #include #include @@ -63,6 +63,9 @@ #error "You must have SMP to enable the ADAPTIVE_SX option" #endif +CTASSERT(((SX_ADAPTIVESPIN | SX_RECURSE) & LO_CLASSFLAGS) == + (SX_ADAPTIVESPIN | SX_RECURSE)); + /* Handy macros for sleep queues. */ #define SQ_EXCLUSIVE_QUEUE 0 #define SQ_SHARED_QUEUE 1 @@ -287,8 +290,10 @@ curthread->td_locks--; WITNESS_UNLOCK(&sx->lock_object, 0, file, line); LOCK_LOG_LOCK("SUNLOCK", &sx->lock_object, 0, 0, file, line); +#ifdef LOCK_PROFILING_SHARED if (SX_SHARERS(sx->sx_lock) == 1) lock_profile_release_lock(&sx->lock_object); +#endif __sx_sunlock(sx, file, line); } @@ -412,23 +417,21 @@ #ifdef ADAPTIVE_SX volatile struct thread *owner; #endif + uint64_t waittime = 0; uintptr_t x; int contested = 0, error = 0; - uint64_t waitstart = 0; /* If we already hold an exclusive lock, then recurse. */ if (sx_xlocked(sx)) { KASSERT((sx->lock_object.lo_flags & SX_RECURSE) != 0, ("_sx_xlock_hard: recursed on non-recursive sx %s @ %s:%d\n", - sx->lock_object.lo_name, file, line)); + sx->lock_object.lo_name, file, line)); sx->sx_recurse++; atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p recursing", __func__, sx); return (0); } - lock_profile_obtain_lock_failed(&(sx)->lock_object, - &contested, &waitstart); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR5(KTR_LOCK, "%s: %s contested (lock=%p) at %s:%d", __func__, @@ -452,6 +455,8 @@ "%s: spinning on %p held by %p", __func__, sx, owner); GIANT_SAVE(); + lock_profile_obtain_lock_failed( + &sx->lock_object, &contested, &waittime); while (SX_OWNER(sx->sx_lock) == x && TD_IS_RUNNING(owner)) cpu_spinwait(); @@ -538,6 +543,8 @@ __func__, sx); GIANT_SAVE(); + lock_profile_obtain_lock_failed(&sx->lock_object, &contested, + &waittime); sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_EXCLUSIVE_QUEUE); @@ -560,8 +567,8 @@ GIANT_RESTORE(); if (!error) - lock_profile_obtain_lock_success(&(sx)->lock_object, contested, - waitstart, file, line); + lock_profile_obtain_lock_success(&sx->lock_object, contested, + waittime, file, line); return (error); } @@ -629,14 +636,17 @@ #ifdef ADAPTIVE_SX volatile struct thread *owner; #endif +#ifdef LOCK_PROFILING_SHARED + uint64_t waittime = 0; + int contested = 0; +#endif uintptr_t x; - uint64_t waitstart = 0; - int contested = 0, error = 0; + int error = 0; + /* * As with rwlocks, we don't make any attempt to try to block * shared locks once there is an exclusive waiter. */ - for (;;) { x = sx->sx_lock; @@ -650,10 +660,12 @@ MPASS(!(x & SX_LOCK_SHARED_WAITERS)); if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) { +#ifdef LOCK_PROFILING_SHARED if (SX_SHARERS(x) == 0) lock_profile_obtain_lock_success( &sx->lock_object, contested, - waitstart, file, line); + waittime, file, line); +#endif if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR4(KTR_LOCK, "%s: %p succeed %p -> %p", __func__, @@ -661,9 +673,6 @@ (void *)(x + SX_ONE_SHARER)); break; } - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); - continue; } @@ -677,23 +686,22 @@ x = SX_OWNER(x); owner = (struct thread *)x; if (TD_IS_RUNNING(owner)) { - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, sx, owner); GIANT_SAVE(); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed( + &sx->lock_object, &contested, &waittime); +#endif while (SX_OWNER(sx->sx_lock) == x && TD_IS_RUNNING(owner)) cpu_spinwait(); continue; } - } + } #endif - else - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); /* * Some other thread already has an exclusive lock, so @@ -750,8 +758,12 @@ if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on sleep queue", __func__, sx); - + GIANT_SAVE(); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed(&sx->lock_object, &contested, + &waittime); +#endif sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_SHARED_QUEUE); @@ -822,7 +834,6 @@ MPASS(x == SX_SHARERS_LOCK(1)); if (atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1), SX_LOCK_UNLOCKED)) { - lock_profile_release_lock(&sx->lock_object); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p last succeeded", __func__, sx); @@ -837,7 +848,6 @@ */ MPASS(x == (SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS)); - lock_profile_release_lock(&sx->lock_object); sleepq_lock(&sx->lock_object); /* ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sx.h#3 (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/sys/sx.h,v 1.36 2007/05/31 09:14:47 attilio Exp $ + * $FreeBSD: src/sys/sys/sx.h,v 1.37 2007/07/06 13:20:44 attilio Exp $ */ #ifndef _SYS_SX_H_ @@ -178,9 +178,11 @@ if (!(x & SX_LOCK_SHARED) || !atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) error = _sx_slock_hard(sx, opts, file, line); - else +#ifdef LOCK_PROFILING_SHARED + else if (SX_SHARERS(x) == 0) lock_profile_obtain_lock_success(&sx->lock_object, 0, 0, file, line); +#endif return (error); } From owner-p4-projects@FreeBSD.ORG Fri Jul 6 13:47:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 08F2816A468; Fri, 6 Jul 2007 13:47:10 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C1BD716A539 for ; Fri, 6 Jul 2007 13:47:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 98CC113C45D for ; Fri, 6 Jul 2007 13:47:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66Dl92V008245 for ; Fri, 6 Jul 2007 13:47:09 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66Dl9UB008240 for perforce@freebsd.org; Fri, 6 Jul 2007 13:47:09 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 6 Jul 2007 13:47:09 GMT Message-Id: <200707061347.l66Dl9UB008240@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123017 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 13:47:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=123017 Change 123017 by rdivacky@rdivacky_witten on 2007/07/06 13:47:01 Add symbol version. Pointed out by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Symbol.map#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/lib/libc/gen/Symbol.map#2 (text) ==== @@ -227,6 +227,7 @@ nlist; nrand48; opendir; + fdopendir; pause; posix_madvise; popen; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 14:00:27 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2787216A4C9; Fri, 6 Jul 2007 14:00:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E186F16A498 for ; Fri, 6 Jul 2007 14:00:26 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B99B913C468 for ; Fri, 6 Jul 2007 14:00:26 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66E0Q0Z009344 for ; Fri, 6 Jul 2007 14:00:26 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66E0QnN009341 for perforce@freebsd.org; Fri, 6 Jul 2007 14:00:26 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 6 Jul 2007 14:00:26 GMT Message-Id: <200707061400.l66E0QnN009341@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123019 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 14:00:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=123019 Change 123019 by rdivacky@rdivacky_witten on 2007/07/06 13:59:48 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/sys/Symbol.map#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 6 14:02:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D79A16A469; Fri, 6 Jul 2007 14:02:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5AAC616A421 for ; Fri, 6 Jul 2007 14:02:31 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 31F1A13C459 for ; Fri, 6 Jul 2007 14:02:31 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66E2V1K009652 for ; Fri, 6 Jul 2007 14:02:31 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66E2UOt009647 for perforce@freebsd.org; Fri, 6 Jul 2007 14:02:30 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 6 Jul 2007 14:02:30 GMT Message-Id: <200707061402.l66E2UOt009647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 14:02:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=123020 Change 123020 by rdivacky@rdivacky_witten on 2007/07/06 14:02:11 Syscalls versioning. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/lib/libc/sys/Symbol.map#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/lib/libc/sys/Symbol.map#2 (text) ==== @@ -960,4 +960,19 @@ _writev; __sys_writev; __error_unthreaded; + faccessat; + fchmodat; + fchownat; + fexecve; + fstatat; + futimesat; + linkat; + mkdirat; + mkfifoat; + mknodat; + openat; + readlinkat; + renameat; + symlinkat; + unlinkat; }; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 16:04:05 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BE2716A46B; Fri, 6 Jul 2007 16:04:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BE67616A400 for ; Fri, 6 Jul 2007 16:04:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ADCCB13C484 for ; Fri, 6 Jul 2007 16:04:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66G44pJ021777 for ; Fri, 6 Jul 2007 16:04:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66G44ff021774 for perforce@freebsd.org; Fri, 6 Jul 2007 16:04:04 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 6 Jul 2007 16:04:04 GMT Message-Id: <200707061604.l66G44ff021774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 16:04:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=123022 Change 123022 by hselasky@hselasky_mini_itx on 2007/07/06 16:04:03 Hi, My main hacking location did not have internet access, so here is a multiple changes submit again. Summed up: 1) Added a completely new FULL speed over HIGH speed USB HUB bandwidth allocator. See the "usbd_fs_isoc_xxx()" functions in "usb_subr.c". Finally it should be possible to connect several FULL speed isochronous devices to a HIGH speed USB HUB at the same time, without problems. NOTE: The sum of the isochronous bandwidth must not exceed 6.0Mbit/s per HS USB HUB! This is because I have made a simple hack and reserved 3.0 Mbit/s for interrupt endpoints so that the scheduling becomes extremely fast and simple. The bandwidth distribution is tunable through the "USB_FS_ISOC_UFRAME_MAX" definition in "usb.h". 2) Fixed a data-toggle error in the EHCI driver. Now the hardware/DMA data toggle value is used as reference for the next transfer. 3) Fixed a possible control transfer problem when using the Linux emulation layer with the UHCI driver. Part of this fix is to always use a fixup buffer independent of transfer type. This way it will also be easier to make virtual kernel mappings from the allocated memory pages. 4) Instead of comparing memory pointers with "less than", compute the end-pointer and use the "not equal to" comparison instead. This is safer and faster. 5) Removed interrupt counting in the interrupt handlers. 6) ISOCHRONOUS transfers will always have a timeout. If the driver does not specify a timeout, 250ms will be used. 7) Make sure that LOW speed devices cannot specify FULL speed ISOCHRONOUS transfers. The check is done in the host controller "pipe_init" callbacks. 8) EHCI-driver: Lower EHCI NAK-reload count to 1 for non-HIGH-speed devices. 9) New mechanism: If the "pipe_init" callback wants to say that it does not support a certain transfer type, it can do so by not setting "pipe->methods". 10) Added maximum string length arguments to "usbd_devinfo_vp()" and "usbd_printBCD()", instead of depending on some old assumptions. 11) Replaced the remaining "strcpy()" with "strlcpy()". This does not fix anything. 12) "usbd_page_fit_obj()" does no longer clobber the "page->length" variable, which turned out to not be a good idea. 13) Fixed a bug in the UHCI driver, where the wrong page was exited/entered from/to DMA. 14) Some optimizations and nits. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/README#15 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#35 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/ugen.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/uhub.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/usb.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#40 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#43 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#28 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/README#15 (text+ko) ==== @@ -215,8 +215,9 @@ NOTE: The transfer timeout, if any, is started after that the pre-delay has elapsed! -- The "timeout" field, if non-zero, will set the transfer timeout, in - milliseconds. +- The "timeout" field, if non-zero, will set the transfer timeout in + milliseconds. If the "timeout" field is zero and the transfer type + is ISOCHRONOUS a timeout of 250ms will be used. - The "frames" field sets the number of isochronous frames, for "type" = UE_ISOCHRONOUS. ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#35 (text+ko) ==== @@ -1108,7 +1108,7 @@ } /* Make a copy of the data toggle */ - last_toggle = td->toggle_curr; + last_toggle = (status & EHCI_QTD_TOGGLE_MASK) ? 1 : 0; /* Check if this is the last transfer */ if (((void *)td) == xfer->td_transfer_last) { @@ -1125,12 +1125,6 @@ /* update data toggle */ - if ((last_len == 0) || - (((last_len + xfer->max_packet_size - 1) / - xfer->max_packet_size) & 1)) { - last_toggle = !last_toggle; - } - xfer->pipe->toggle_next = last_toggle; DPRINTFN(10, ("actlen=%d\n", actlen)); @@ -1362,8 +1356,6 @@ td = curthread; /* NULL is not a valid thread */ - sc->sc_bus.no_intrs++; - DPRINTFN(15,("%s: real interrupt\n", device_get_nameunit(sc->sc_bus.bdev))); @@ -1570,18 +1562,19 @@ u_int32_t buf_offset; u_int32_t len; u_int32_t c_error = - (xfer->udev->speed == USB_SPEED_HIGH) ? 0 : + (usbd_get_speed(xfer->udev) == USB_SPEED_HIGH) ? 0 : htole32(EHCI_QTD_SET_CERR(3)); u_int8_t isread; u_int8_t shortpkt = 0; u_int8_t force_short; + struct usbd_pipe_methods *methods = xfer->pipe->methods; ehci_qtd_t *td; ehci_qtd_t *td_last = NULL; ehci_qh_t *qh; DPRINTFN(8, ("addr=%d endpt=%d len=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), - xfer->length, xfer->udev->speed)); + xfer->length, usbd_get_speed(xfer->udev))); td = (xfer->td_transfer_first = xfer->td_transfer_cache = xfer->td_start); @@ -1593,7 +1586,7 @@ len = xfer->length; - if(xfer->pipe->methods == &ehci_device_ctrl_methods) + if(methods == &ehci_device_ctrl_methods) { isread = xfer->control_isread; @@ -1620,7 +1613,6 @@ td->qtd_buffer[1] = htole32(buf_res.physaddr & (~0xFFF)); td->qtd_buffer_hi[1] = 0; - td->toggle_curr = 0; td->len = sizeof(usb_device_request_t); len -= sizeof(usb_device_request_t); @@ -1726,7 +1718,6 @@ htole32(buf_res.physaddr & (~0xFFF)); td->qtd_buffer_hi[1] = 0; - td->toggle_curr = xfer->pipe->toggle_next; td->len = average; /* adjust the toggle based on the @@ -1756,7 +1747,7 @@ usbd_page_dma_enter(td_last->page); } - if(xfer->pipe->methods == &ehci_device_ctrl_methods) + if(methods == &ehci_device_ctrl_methods) { if (xfer->control_remainder == 0) { @@ -1820,38 +1811,37 @@ qh_endp = (EHCI_QH_SET_ADDR(xfer->address) | EHCI_QH_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)) | - EHCI_QH_DTC | - EHCI_QH_SET_MPL(xfer->max_packet_size) | - EHCI_QH_SET_NRL(8) /* XXX */ - ); + EHCI_QH_SET_MPL(xfer->max_packet_size)); + + if (usbd_get_speed(xfer->udev) == USB_SPEED_HIGH) { + qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) | + EHCI_QH_DTC | EHCI_QH_SET_NRL(8)); + } else { + + if (usbd_get_speed(xfer->udev) == USB_SPEED_FULL) { + qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL) | + EHCI_QH_DTC); + } else { + qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_LOW) | + EHCI_QH_DTC); + } - switch (xfer->udev->speed) { - case USB_SPEED_LOW: - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_LOW)| - EHCI_QH_CTL); - break; - case USB_SPEED_FULL: - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL)| - EHCI_QH_CTL); - break; - case USB_SPEED_HIGH: - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH)); - break; - default: - panic("%s: bad device speed %d!", __FUNCTION__, xfer->udev->speed); - break; - } + if (methods == &ehci_device_ctrl_methods) { + qh_endp |= EHCI_QH_CTL; + } - if(xfer->pipe->methods != &ehci_device_ctrl_methods) - { - qh_endp &= ~EHCI_QH_CTL; + if (methods != &ehci_device_intr_methods) { + /* Only try one time per microframe! */ + qh_endp |= EHCI_QH_SET_NRL(1); + } } qh->qh_endp = htole32(qh_endp); qh_endphub = (EHCI_QH_SET_MULT(xfer->max_packet_count & 3)| - EHCI_QH_SET_CMASK(0xf0)); + EHCI_QH_SET_CMASK(xfer->usb_cmask)| + EHCI_QH_SET_SMASK(xfer->usb_smask)); if(xfer->udev->myhsport) { @@ -1860,12 +1850,6 @@ EHCI_QH_SET_PORT(xfer->udev->myhsport->portno)); } - if(xfer->pipe->methods == &ehci_device_intr_methods) - { - /* execute the transfer one time per 1ms */ - qh_endphub |= EHCI_QH_SET_SMASK(0x04); - } - qh->qh_endphub = htole32(qh_endphub); qh->qh_curqtd = htole32(0); @@ -2354,7 +2338,27 @@ u_int16_t best; u_int16_t bit; u_int16_t x; + uint8_t slot; + + /* Allocate a microframe slot first: */ + + slot = usbd_intr_schedule_adjust + (xfer->udev, xfer->max_frame_size, USB_HS_MICRO_FRAMES_MAX); + + if (usbd_get_speed(xfer->udev) == USB_SPEED_HIGH) { + xfer->usb_uframe = slot; + xfer->usb_smask = (1 << slot) & 0xFF; + xfer->usb_cmask = 0; + } else { + xfer->usb_uframe = slot; + xfer->usb_smask = (1 << slot) & 0x3F; + xfer->usb_cmask = (-(4 << slot)) & 0xFE; + } + /* Find the best QH position corresponding + * to the given interval: + */ + best = 0; bit = EHCI_VIRTUAL_FRAMELIST_COUNT/2; while(bit) @@ -2389,6 +2393,10 @@ ehci_device_intr_close(struct usbd_xfer *xfer) { ehci_softc_t *sc = xfer->usb_sc; + uint8_t slot; + + slot = usbd_intr_schedule_adjust + (xfer->udev, -(xfer->max_frame_size), xfer->usb_uframe); sc->sc_intr_stat[xfer->qh_pos]--; @@ -2447,20 +2455,15 @@ sitd_portaddr = EHCI_SITD_SET_ADDR(xfer->address)| - EHCI_SITD_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)); + EHCI_SITD_SET_ENDPT(UE_GET_ADDR(xfer->endpoint))| + EHCI_SITD_SET_HUBA(xfer->udev->myhsport->parent->address)| + EHCI_SITD_SET_PORT(xfer->udev->myhsport->portno); if(UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { sitd_portaddr |= EHCI_SITD_SET_DIR_IN; } - if(xfer->udev->myhsport) - { - sitd_portaddr |= - EHCI_SITD_SET_HUBA(xfer->udev->myhsport->parent->address)| - EHCI_SITD_SET_PORT(xfer->udev->myhsport->portno); - } - sitd_portaddr = htole32(sitd_portaddr); /* initialize all TD's */ @@ -2476,24 +2479,7 @@ * * micro-frame usage * (8 microframes per 1ms) - * - * 0: isoc-IN - * 1: isoc-OUT - * 2: interrupt transfers - * . - * . - * 7: */ - if(UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) - { - td->sitd_mask = htole32(EHCI_SITD_SET_SMASK(0x01)| - EHCI_SITD_SET_CMASK(0xFC)); - } - else - { - td->sitd_mask = htole32(EHCI_SITD_SET_SMASK(0x02)| - EHCI_SITD_SET_CMASK(0xF8)); - } td->sitd_back = htole32(EHCI_LINK_TERMINATE); usbd_page_dma_enter(td->page); @@ -2513,13 +2499,20 @@ { struct usbd_page_search buf_res; ehci_softc_t *sc = xfer->usb_sc; + struct usbd_fs_isoc_schedule *fss_start; + struct usbd_fs_isoc_schedule *fss_end; + struct usbd_fs_isoc_schedule *fss; u_int32_t buf_offset; u_int32_t nframes; uint32_t temp; + uint32_t sitd_mask; u_int16_t *plen; + uint16_t tlen; #ifdef USB_DEBUG u_int8_t once = 1; #endif + uint8_t sa; + uint8_t sb; ehci_sitd_t *td; ehci_sitd_t *td_last = NULL; ehci_sitd_t **pp_last; @@ -2562,7 +2555,8 @@ * will be finished: */ xfer->isoc_time_complete = - usbd_isoc_time_expand(&(sc->sc_bus), nframes) + buf_offset + + usbd_fs_isoc_schedule_isoc_time_expand + (xfer->udev, &fss_start, &fss_end, nframes) + buf_offset + xfer->nframes; /* get the real number of frames */ @@ -2593,6 +2587,8 @@ xfer->qh_pos = xfer->pipe->isoc_next; + fss = fss_start + (xfer->qh_pos % USB_ISOC_TIME_MAX); + while(nframes--) { if(td == NULL) @@ -2606,9 +2602,12 @@ pp_last = &sc->sc_isoc_fs_p_last[0]; } + if (fss >= fss_end) { + fss = fss_start; + } + /* reuse sitd_portaddr and sitd_back from last transfer */ - /* TODO: implement support for multiple transactions */ if(*plen > xfer->max_frame_size) { #ifdef USB_DEBUG @@ -2624,6 +2623,11 @@ *plen = xfer->max_frame_size; } + /* We currently don't care if the + * ISOCHRONOUS schedule is full! + */ + sa = usbd_fs_isoc_schedule_alloc(fss, *plen); + usbd_page_dma_exit(td->page); td->sitd_bp[0] = htole32(buf_res.physaddr); @@ -2633,13 +2637,41 @@ temp = buf_res.physaddr & (~0xFFF); - if(UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) - { - temp |= 1; /* T-count == 1*/ + if (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) { + tlen = *plen; + if (tlen <= 188) { + temp |= 1; /* T-count = 1, TP = ALL*/ + tlen = 1; + } else { + tlen += 187; + tlen /= 188; + temp |= tlen; /* T-count = [1..6] */ + temp |= 8; /* TP = Begin */ + } + + tlen += sa; + + if (tlen >= 8) { + sb = 0; + } else { + sb = (1 << tlen); + } + + sa = (1 << sa); + sa = (sb - sa) & 0x3F; + sb = 0; + } else { + sb = (-(4 << sa)) & 0xFE; + sa = (1 << sa) & 0x3F; } + sitd_mask = (EHCI_SITD_SET_SMASK(sa)| + EHCI_SITD_SET_CMASK(sb)); + td->sitd_bp[1] = htole32(temp); + td->sitd_mask = htole32(sitd_mask); + if(nframes == 0) { td->sitd_status = htole32 @@ -2667,6 +2699,7 @@ pp_last++; plen++; + fss++; td_last = td; td = td->obj_next; } @@ -3838,11 +3871,23 @@ (xfer->pipe->methods == &ehci_device_bulk_methods) || (xfer->pipe->methods == &ehci_device_intr_methods)) { - if ((xfer->pipe->methods == &ehci_device_intr_methods) && - (udev->speed == USB_SPEED_HIGH)) - usbd_std_transfer_setup(udev, xfer, setup, 0x400, 0xC00, 3); - else - usbd_std_transfer_setup(udev, xfer, setup, 0x400, 0x400, 1); + if (xfer->pipe->methods == &ehci_device_intr_methods) { + if (udev->speed == USB_SPEED_HIGH) { + usbd_std_transfer_setup(udev, xfer, setup, + 0x400, 0xC00, 3); + } else if (udev->speed == USB_SPEED_FULL) { + usbd_std_transfer_setup(udev, xfer, setup, + USB_FS_BYTES_PER_HS_UFRAME, + USB_FS_BYTES_PER_HS_UFRAME, 1); + } else { + usbd_std_transfer_setup(udev, xfer, setup, + USB_FS_BYTES_PER_HS_UFRAME / 8, + USB_FS_BYTES_PER_HS_UFRAME / 8, 1); + } + } else { + usbd_std_transfer_setup(udev, xfer, setup, + 0x400, 0x400, 1); + } nqh = 1; nqtd = (1+ /* SETUP */ 1+ /* STATUS */ 1 /* SHORTPKT */) + @@ -3850,7 +3895,7 @@ } else if(xfer->pipe->methods == &ehci_device_isoc_fs_methods) { - usbd_std_transfer_setup(udev, xfer, setup, 188, 188, 1); + usbd_std_transfer_setup(udev, xfer, setup, 0x3FF, 0x3FF, 1); if(xfer->nframes == 0) { @@ -3967,8 +4012,8 @@ n < nitd; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ehci_itd_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ehci_itd_t)); + if(buf) { register ehci_itd_t *td; @@ -3995,8 +4040,8 @@ n < nsitd; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ehci_sitd_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ehci_sitd_t)); + if(buf) { register ehci_sitd_t *td; @@ -4023,8 +4068,8 @@ n < nqtd; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ehci_qtd_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ehci_qtd_t)); + if(buf) { register ehci_qtd_t *qtd; @@ -4061,8 +4106,8 @@ n < nqh; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ehci_qh_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ehci_qh_t)); + if(buf) { register ehci_qh_t *qh; @@ -4154,13 +4199,18 @@ pipe->methods = &ehci_root_intr_methods; break; default: - panic("invalid endpoint address: 0x%02x", - edesc->bEndpointAddress); + /* do nothing */ break; } } else { + if ((udev->speed != USB_SPEED_HIGH) && + (udev->myhsport == NULL)) { + /* We need a transaction translator */ + goto done; + } + switch (edesc->bmAttributes & UE_XFERTYPE) { case UE_CONTROL: @@ -4174,7 +4224,7 @@ { pipe->methods = &ehci_device_isoc_hs_methods; } - else + else if (udev->speed == USB_SPEED_FULL) { pipe->methods = &ehci_device_isoc_fs_methods; } @@ -4182,8 +4232,12 @@ case UE_BULK: pipe->methods = &ehci_device_bulk_methods; break; + default: + /* do nothing */ + break; } } + done: return; } ==== //depot/projects/usb/src/sys/dev/usb/ehci.h#13 (text+ko) ==== @@ -319,8 +319,6 @@ struct usbd_page *page; uint32_t qtd_self; uint16_t len; - uint8_t toggle_curr; - uint8_t unused; } __aligned(EHCI_QTD_ALIGN) ehci_qtd_t; /* Queue Head */ ==== //depot/projects/usb/src/sys/dev/usb/ohci.c#29 (text+ko) ==== @@ -1052,7 +1052,6 @@ td = curthread; /* NULL is not a valid thread */ - sc->sc_bus.no_intrs++; hw_ptr = sc->sc_hw_ptr; DPRINTFN(15,("%s: real interrupt\n", @@ -2114,12 +2113,6 @@ /**/ ohci_add_interrupt_info(sc, xfer); - if(!xfer->timeout) - { - /* in case the frame start number is wrong */ - xfer->timeout = 1000/4; - } - /* enqueue transfer * (so that it can be aborted through pipe abort) */ @@ -2948,8 +2941,8 @@ n < ntd; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ohci_td_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ohci_td_t)); + if(buf) { register ohci_td_t *td; @@ -2976,8 +2969,8 @@ n < nitd; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ohci_itd_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ohci_itd_t)); + if(buf) { register ohci_itd_t *itd; @@ -3011,8 +3004,8 @@ n < nqh; n++) { - size[1] += usbd_page_fit_obj(page_ptr, size[1], - sizeof(ohci_ed_t)); + size[1] += usbd_page_fit_obj(size[1], sizeof(ohci_ed_t)); + if(buf) { register ohci_ed_t *ed; @@ -3104,8 +3097,7 @@ pipe->methods = &ohci_root_intr_methods; break; default: - panic("invalid endpoint address: 0x%02x", - edesc->bEndpointAddress); + /* do nothing */ break; } } @@ -3120,11 +3112,16 @@ pipe->methods = &ohci_device_intr_methods; break; case UE_ISOCHRONOUS: - pipe->methods = &ohci_device_isoc_methods; + if (udev->speed == USB_SPEED_FULL) { + pipe->methods = &ohci_device_isoc_methods; + } break; case UE_BULK: pipe->methods = &ohci_device_bulk_methods; break; + default: + /* do nothing */ + break; } } return; ==== //depot/projects/usb/src/sys/dev/usb/ugen.c#19 (text+ko) ==== @@ -1092,7 +1092,8 @@ /* start transfer */ usbd_transfer_start(xfer); - while (xfer->flags & USBD_DEV_TRANSFERRING) { + while ((xfer->flags & USBD_DEV_TRANSFERRING) || + (sce->xfer_in[1]->flags & USBD_DEV_TRANSFERRING)) { /* wait for data */ @@ -1104,6 +1105,7 @@ sce->state &= ~(UGEN_RD_SLP|UGEN_RD_WUP); if (error) { + usbd_transfer_stop(sce->xfer_in[1]); usbd_transfer_stop(xfer); break; } @@ -1217,7 +1219,8 @@ /* start transfer */ usbd_transfer_start(xfer); - while (xfer->flags & USBD_DEV_TRANSFERRING) { + while ((xfer->flags & USBD_DEV_TRANSFERRING) || + (sce->xfer_out[1]->flags & USBD_DEV_TRANSFERRING)) { /* wait for data */ @@ -1229,6 +1232,7 @@ sce->state &= ~(UGEN_WR_SLP|UGEN_WR_WUP); if (error) { + usbd_transfer_stop(sce->xfer_out[1]); usbd_transfer_stop(xfer); break; } @@ -1489,7 +1493,7 @@ if (usbd_clear_stall_callback(xfer, xfer_other)) { PRINTFN(4, ("sce=%p: stall cleared\n", sce)); - sce->write_stall = 1; + sce->write_stall = 0; usbd_transfer_start(xfer_other); } return; ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#29 (text+ko) ==== @@ -128,6 +128,19 @@ ((sc)->sc_hw_page.physaddr + \ POINTER_TO_UNSIGNED(&(((struct uhci_hw_softc *)0)->what))) +struct uhci_mem_layout { + + struct usbd_page_search buf_res; + struct usbd_page_search fix_res; + + struct usbd_xfer *xfer; + + uint32_t buf_offset; + uint32_t fix_offset; + + uint8_t isread; +}; + extern struct usbd_bus_methods uhci_bus_methods; extern struct usbd_pipe_methods uhci_device_bulk_methods; extern struct usbd_pipe_methods uhci_device_ctrl_methods; @@ -140,6 +153,146 @@ static void uhci_root_ctrl_task_td(struct uhci_softc *sc, struct thread *ctd); static void uhci_do_poll(struct usbd_bus *bus); +static void +uhci_mem_layout_init(struct uhci_mem_layout *ml, struct usbd_xfer *xfer) +{ + ml->buf_offset = 0; + usbd_get_page(&(xfer->buf_data), ml->buf_offset, &(ml->buf_res)); + + ml->fix_offset = 0; + usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); + + ml->isread = 0; /* write */ + + ml->xfer = xfer; /* save a push */ + return; +} + +static void +uhci_mem_layout_fit(struct uhci_mem_layout *ml, struct uhci_td *td, uint16_t len) +{ + struct usbd_page_search tmp_res; + struct usbd_xfer *xfer = ml->xfer; + + if (ml->buf_res.length < len) { + + /* need to do a fixup */ + + if (ml->fix_res.length < len) { + + /* need to do a sub-fixup */ + + ml->fix_offset += ml->fix_res.length; + usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); + } + + td->td_buffer = htole32(ml->fix_res.physaddr); + + if (!ml->isread) { + + /* + * The UHCI driver cannot handle + * page crossings, so a fixup is + * needed: + * + * +----+----+ - - - + * | YYY|Y | + * +----+----+ - - - + * \ \ + * \ \ + * +----+ + * |YYYY| (fixup) + * +----+ + */ + + /* no copy back needed: */ + + td->fixup_dst_offset = 0xffffffff; + td->fixup_src_offset = 0xffffffff; + + usbd_get_page(&(xfer->buf_data), ml->buf_offset + + ml->buf_res.length, &tmp_res); + + /* copy first data part to fixup location */ + + usbd_page_dma_exit(ml->fix_res.page); + + usbd_page_dma_exit(ml->buf_res.page); + bcopy(ml->buf_res.buffer, ml->fix_res.buffer, ml->buf_res.length); + usbd_page_dma_enter(ml->buf_res.page); + + /* copy second data part to fixup location */ + + usbd_page_dma_exit(tmp_res.page); + bcopy(tmp_res.buffer, ADD_BYTES(ml->fix_res.buffer, + ml->buf_res.length), + len - ml->buf_res.length); + usbd_page_dma_enter(tmp_res.page); + + usbd_page_dma_enter(ml->fix_res.page); + + } else { + td->fixup_dst_offset = ml->buf_offset; + td->fixup_src_offset = ml->fix_offset; + } + + /* prepare next fixup */ + ml->fix_offset += xfer->max_frame_size; + usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); + + } else { + td->td_buffer = htole32(ml->buf_res.physaddr); + td->fixup_dst_offset = 0xffffffff; + td->fixup_src_offset = 0xffffffff; + } + + /* prepare next data location */ + ml->buf_offset += len; + usbd_get_page(&(xfer->buf_data), ml->buf_offset, &(ml->buf_res)); + + return; +} + +static void +uhci_mem_layout_do_fixup(struct usbd_xfer *xfer, struct uhci_td *td, uint16_t len) +{ + struct usbd_page_search buf_res; + struct usbd_page_search fix_res; + u_int16_t temp; + + usbd_get_page(&(xfer->buf_data), td->fixup_dst_offset, &buf_res); + usbd_get_page(&(xfer->buf_fixup), td->fixup_src_offset, &fix_res); + + temp = min(buf_res.length, len); + + usbd_page_dma_exit(fix_res.page); + + usbd_page_dma_exit(buf_res.page); + bcopy(fix_res.buffer, buf_res.buffer, temp); + usbd_page_dma_enter(buf_res.page); + + len -= temp; + + if (len) { + usbd_get_page(&(xfer->buf_data), + td->fixup_dst_offset + temp, &buf_res); + + if (len > buf_res.length) { + /* overflow protection - should not happen */ + len = buf_res.length; + } + + usbd_page_dma_exit(buf_res.page); + bcopy(ADD_BYTES(fix_res.buffer, temp), + buf_res.buffer, len); + usbd_page_dma_enter(buf_res.page); + } + + usbd_page_dma_enter(fix_res.page); + + return; +} + void uhci_reset(uhci_softc_t *sc) { @@ -618,7 +771,6 @@ struct uhci_hw_softc *hw_ptr = sc->sc_hw_ptr; uhci_dumpregs(sc); - printf("intrs=%d\n", sc->sc_bus.no_intrs); uhci_dump_qh(&(hw_ptr->ls_ctl_start)); uhci_dump_qh(&(hw_ptr->hs_ctl_start)); uhci_dump_qh(&(hw_ptr->bulk_start)); @@ -886,14 +1038,11 @@ static u_int8_t uhci_isoc_done(uhci_softc_t *sc, struct usbd_xfer *xfer) { - struct usbd_page_search buf_res; - struct usbd_page_search fix_res; u_int32_t nframes = xfer->nframes; u_int32_t actlen = 0; uint32_t status; u_int16_t *plen = xfer->frlengths; u_int16_t len = 0; - u_int16_t temp; u_int8_t need_delay = 0; uhci_td_t *td = xfer->td_transfer_first; uhci_td_t **pp_last = &sc->sc_isoc_p_last[xfer->qh_pos]; @@ -941,32 +1090,7 @@ actlen += len; if (td->fixup_src_offset != 0xffffffff) { - - usbd_get_page(&(xfer->buf_data), td->fixup_dst_offset, &buf_res); - usbd_get_page(&(xfer->buf_fixup), td->fixup_src_offset, &fix_res); - - temp = min(buf_res.length, len); - - usbd_page_dma_exit(fix_res.page); - - usbd_page_dma_exit(buf_res.page); - bcopy(fix_res.buffer, buf_res.buffer, temp); - usbd_page_dma_enter(buf_res.page); - - len -= temp; - - if (len) { - - usbd_get_page(&(xfer->buf_data), - td->fixup_dst_offset + temp, &buf_res); - - usbd_page_dma_exit(buf_res.page); - bcopy(ADD_BYTES(fix_res.buffer, temp), - buf_res.buffer, len); - usbd_page_dma_enter(buf_res.page); - } - - usbd_page_dma_enter(fix_res.page); + uhci_mem_layout_do_fixup(xfer, td, len); } /* remove TD from schedule */ @@ -986,7 +1110,8 @@ { uint32_t status = 0; uint32_t token = 0; - u_int32_t actlen = 0; + uint32_t actlen = 0; + uint16_t len; uhci_td_t *td = xfer->td_transfer_first; DPRINTFN(12, ("xfer=%p pipe=%p transfer done\n", @@ -1013,7 +1138,12 @@ break; } - actlen += UHCI_TD_GET_ACTLEN(status); + len = UHCI_TD_GET_ACTLEN(status); + actlen += len; + + if (td->fixup_src_offset != 0xffffffff) { + uhci_mem_layout_do_fixup(xfer, td, len); + } if (((void *)td) == xfer->td_transfer_last) { td = NULL; @@ -1202,8 +1332,6 @@ td = curthread; /* NULL is not a valid thread */ - sc->sc_bus.no_intrs++; - DPRINTFN(15,("%s: real interrupt\n", device_get_nameunit(sc->sc_bus.bdev))); @@ -1384,11 +1512,10 @@ static uhci_td_t * >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 6 16:41:52 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22BA116A494; Fri, 6 Jul 2007 16:41:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ECE9816A482 for ; Fri, 6 Jul 2007 16:41:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DE09313C46A for ; Fri, 6 Jul 2007 16:41:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66GfpN5028962 for ; Fri, 6 Jul 2007 16:41:51 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66GfpWE028959 for perforce@freebsd.org; Fri, 6 Jul 2007 16:41:51 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 6 Jul 2007 16:41:51 GMT Message-Id: <200707061641.l66GfpWE028959@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 123023 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 16:41:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=123023 Change 123023 by zec@zec_tca51 on 2007/07/06 16:41:46 linkNum in ng_bridge can be equal to NG_BRIDGE_MAX_LINKS since the introduction of a special-purpose "anchor" hook, which is always has the maximum possible linkNum. Hence, update the assert accordingly not to panic on "anchor" hook deletion. NB. the "anchor" hack might become replaced by a more generic mechanism in the future for pinning up persisten ng nodes. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#3 (text+ko) ==== @@ -791,7 +791,7 @@ /* Get link number */ linkNum = (intptr_t)NG_HOOK_PRIVATE(hook); - KASSERT(linkNum >= 0 && linkNum < NG_BRIDGE_MAX_LINKS, + KASSERT(linkNum >= 0 && linkNum <= NG_BRIDGE_MAX_LINKS, ("%s: linkNum=%u", __func__, linkNum)); /* Remove all hosts associated with this link */ From owner-p4-projects@FreeBSD.ORG Fri Jul 6 17:15:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D6E216A59E; Fri, 6 Jul 2007 17:15:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DEE4216A584 for ; Fri, 6 Jul 2007 17:15:31 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe06.swip.net [212.247.154.161]) by mx1.freebsd.org (Postfix) with ESMTP id 692E213C489 for ; Fri, 6 Jul 2007 17:15:31 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [194.248.135.20] (account mc467741@c2i.net HELO laptop.lan) by mailfe06.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 539460046 for perforce@freebsd.org; Fri, 06 Jul 2007 18:15:28 +0200 From: Hans Petter Selasky To: Perforce Change Reviews Date: Fri, 6 Jul 2007 18:15:29 +0200 User-Agent: KMail/1.9.5 References: <200707061604.l66G44ff021774@repoman.freebsd.org> In-Reply-To: <200707061604.l66G44ff021774@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707061815.29720.hselasky@c2i.net> Cc: Subject: Re: PERFORCE change 123022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 17:15:32 -0000 On Friday 06 July 2007 18:04, Hans Petter Selasky wrote: > http://perforce.freebsd.org/chv.cgi?CH=123022 > > Change 123022 by hselasky@hselasky_mini_itx on 2007/07/06 16:04:03 > There was also a regression fix to "ugen.c" and a compile fix to "umass.c" which I forgot to mention. --HPS From owner-p4-projects@FreeBSD.ORG Fri Jul 6 18:37:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C2DA16A46B; Fri, 6 Jul 2007 18:37:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F12BA16A421 for ; Fri, 6 Jul 2007 18:37:16 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E293D13C448 for ; Fri, 6 Jul 2007 18:37:16 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66IbGrM049494 for ; Fri, 6 Jul 2007 18:37:16 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66IbGSN049491 for perforce@freebsd.org; Fri, 6 Jul 2007 18:37:16 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 6 Jul 2007 18:37:16 GMT Message-Id: <200707061837.l66IbGSN049491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 18:37:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=123027 Change 123027 by cnst@dale on 2007/07/06 18:37:09 Improved the script, now it creates the dev/lm directory if it doesn't exist, and renames the files if they already exist, so that the new files can be linked. (Previously, it was just giving errors in these circumstances.) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 (text+ko) ==== @@ -1,12 +1,24 @@ #!/bin/sh -# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#1 $ +# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 $ # Author: Constantine A. Murenin, 2007-07 # This file creates symbolic links for GSoC2007 cnst_sensors project SPREFIX=`pwd` #source prefix, i.e. this directory XXX TPREFIX=${@:-/usr/src} #target prefix, i.e. /usr/src -#echo "Target prefix: $PREFIX" +#echo "Source prefix: $SPREFIX; Target prefix: $TPREFIX" + +#create some directories that are specific for this project, +#if they don't exist already +for i in "sys/dev/lm" +do + DIR2C=$TPREFIX/$i #directory to create + if [ ! -d $DIR2C ] + then + mkdir $DIR2C && \ + echo "Created $DIR2C" + fi +done for i in `find ./ -name "*.*" -type d` do @@ -23,6 +35,10 @@ then # echo "Removing $TFILE" && ls -l $TFILE rm $TFILE + elif [ -f $TFILE ] + then + mv $TFILE $TFILE.orig.`date +%Y-%m-%dT%H%M%S%z` && \ + echo "File $TFILE renamed" fi ln -sh $SFILE $TFILE || \ echo "File $FILEINDIR not copied to $TDIR, file already exists" From owner-p4-projects@FreeBSD.ORG Fri Jul 6 19:19:11 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A97416A469; Fri, 6 Jul 2007 19:19:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 700D516A400 for ; Fri, 6 Jul 2007 19:19:11 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 61C7813C44B for ; Fri, 6 Jul 2007 19:19:11 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66JJBwD053477 for ; Fri, 6 Jul 2007 19:19:11 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66JJBZD053474 for perforce@freebsd.org; Fri, 6 Jul 2007 19:19:11 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 6 Jul 2007 19:19:11 GMT Message-Id: <200707061919.l66JJBZD053474@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 123031 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 19:19:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=123031 Change 123031 by zec@zec_tpx32 on 2007/07/06 19:18:48 Don't compile in a few INIT_VNET_INET macros when the variables it creates are not used. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#7 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#7 (text+ko) ==== @@ -191,7 +191,9 @@ void tcp_twstart(struct tcpcb *tp) { +#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT) INIT_VNET_INET(tp->t_vnet); +#endif struct tcptw *tw; struct inpcb *inp = tp->t_inpcb; int acknow; @@ -330,7 +332,9 @@ tcp_twcheck(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th, struct mbuf *m, int tlen) { +#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT) INIT_VNET_INET(curvnet); +#endif struct tcptw *tw; int thflags; tcp_seq seq; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:01:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BFEB16A469; Fri, 6 Jul 2007 23:01:53 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B2A8F16A41F for ; Fri, 6 Jul 2007 23:01:52 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8AEA813C44C for ; Fri, 6 Jul 2007 23:01:52 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66N1qAG087676 for ; Fri, 6 Jul 2007 23:01:52 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66N1qHo087663 for perforce@freebsd.org; Fri, 6 Jul 2007 23:01:52 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 6 Jul 2007 23:01:52 GMT Message-Id: <200707062301.l66N1qHo087663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:01:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=123036 Change 123036 by cnst@dale on 2007/07/06 23:01:11 branch kern_sysctl.c from FreeBSD Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:24:23 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E687B16A46B; Fri, 6 Jul 2007 23:24:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7766B16A41F for ; Fri, 6 Jul 2007 23:24:22 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 681D613C457 for ; Fri, 6 Jul 2007 23:24:22 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66NOMhi090585 for ; Fri, 6 Jul 2007 23:24:22 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66NOMHn090582 for perforce@freebsd.org; Fri, 6 Jul 2007 23:24:22 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 6 Jul 2007 23:24:22 GMT Message-Id: <200707062324.l66NOMHn090582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:24:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=123038 Change 123038 by cnst@dale on 2007/07/06 23:24:07 some KNF for FreeBSD's kern_sysctl.c Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#2 (text+ko) ==== @@ -80,11 +80,9 @@ { struct sysctl_oid *oidp; - SLIST_FOREACH(oidp, list, oid_link) { - if (strcmp(oidp->oid_name, name) == 0) { + SLIST_FOREACH(oidp, list, oid_link) + if (strcmp(oidp->oid_name, name) == 0) return (oidp); - } - } return (NULL); } @@ -185,9 +183,8 @@ sysctl_ctx_init(struct sysctl_ctx_list *c) { - if (c == NULL) { + if (c == NULL) return (EINVAL); - } TAILQ_INIT(c); return (0); } @@ -262,10 +259,9 @@ if (clist == NULL || oidp == NULL) return(NULL); - TAILQ_FOREACH(e, clist, link) { + TAILQ_FOREACH(e, clist, link) if(e->entry == oidp) return(e); - } return (e); } @@ -658,7 +654,7 @@ static SYSCTL_NODE(_sysctl, 2, next, CTLFLAG_RD, sysctl_sysctl_next, ""); static int -name2oid (char *name, int *oid, int *len, struct sysctl_oid **oidpp) +name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp) { int i; struct sysctl_oid *oidp; From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:36:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC67C16A46E; Fri, 6 Jul 2007 23:36:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79E5B16A468 for ; Fri, 6 Jul 2007 23:36:39 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 518EA13C4AE for ; Fri, 6 Jul 2007 23:36:39 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66Nact7091367 for ; Fri, 6 Jul 2007 23:36:38 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66NacR1091364 for perforce@freebsd.org; Fri, 6 Jul 2007 23:36:38 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 6 Jul 2007 23:36:38 GMT Message-Id: <200707062336.l66NacR1091364@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123039 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:36:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=123039 Change 123039 by cnst@dale on 2007/07/06 23:36:29 branch sys/sysctl.h from FreeBSD Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.sys/sysctl.h#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:45:51 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FC9316A46C; Fri, 6 Jul 2007 23:45:51 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6196E16A469 for ; Fri, 6 Jul 2007 23:45:51 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5294713C484 for ; Fri, 6 Jul 2007 23:45:51 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l66NjpJt091973 for ; Fri, 6 Jul 2007 23:45:51 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l66Njpx3091970 for perforce@freebsd.org; Fri, 6 Jul 2007 23:45:51 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 6 Jul 2007 23:45:51 GMT Message-Id: <200707062345.l66Njpx3091970@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:45:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=123040 Change 123040 by cnst@dale on 2007/07/06 23:45:36 add new node to sysctl.h: HW_SENSORS / "hw.sensors" Obtained from: OpenBSD's sysctl.h r1.63 (2003-04-25) + applied local modifications for FreeBSD Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.sys/sysctl.h#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.sys/sysctl.h#2 (text+ko) ==== @@ -487,7 +487,8 @@ #define HW_FLOATINGPT 10 /* int: has HW floating point? */ #define HW_MACHINE_ARCH 11 /* string: machine architecture */ #define HW_REALMEM 12 /* int: 'real' memory */ -#define HW_MAXID 13 /* number of valid hw ids */ +#define HW_SENSORS 13 /* node: hardware monitors */ +#define HW_MAXID 14 /* number of valid hw ids */ #define CTL_HW_NAMES { \ { 0, 0 }, \ @@ -502,6 +503,7 @@ { "diskstats", CTLTYPE_STRUCT }, \ { "floatingpoint", CTLTYPE_INT }, \ { "realmem", CTLTYPE_ULONG }, \ + { "sensors", CTLTYPE_NODE}, \ } /* From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:52:54 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 148C616A468; Fri, 6 Jul 2007 23:52:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7ED0816A400 for ; Fri, 6 Jul 2007 23:52:53 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id E7E7A13C457 for ; Fri, 6 Jul 2007 23:52:52 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id 3558D690CFD; Sat, 7 Jul 2007 00:47:55 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id C8B34690D24; Sat, 7 Jul 2007 00:47:54 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00, FORGED_RCVD_HELO,RCVD_IN_SORBS_DUL autolearn=no version=3.1.7 Received: from epsilon.local (87-196-31-109.net.novis.pt [87.196.31.109]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id 20F3C690CFD; Sat, 7 Jul 2007 00:47:50 +0100 (WEST) Message-ID: <468ED5CC.3030900@fnop.net> Date: Sat, 07 Jul 2007 00:52:44 +0100 From: Rui Paulo User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070704 Thunderbird/2.0.0.4 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: "Constantine A. Murenin" References: <200707061837.l66IbGSN049491@repoman.freebsd.org> In-Reply-To: <200707061837.l66IbGSN049491@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 123027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:52:54 -0000 Constantine A. Murenin wrote: > http://perforce.freebsd.org/chv.cgi?CH=123027 > > Change 123027 by cnst@dale on 2007/07/06 18:37:09 > > Improved the script, now it creates the dev/lm directory if it doesn't exist, and renames the files if they already exist, so that the new files can be linked. (Previously, it was just giving errors in these circumstances.) > > Affected files ... > > .. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 edit I think that using a script to do this is wrong. Is it possible that you could create a branch for your project based on the freebsd vendor branch ? Then you could integrate it from time to time. I know you don't like p4, but this is very easy to do. This way, you can create a diff against HEAD more easily and it also allows other folks to test your patches/drivers without any hassle. If you need any help, just don't hesitate to ask me. -- Rui Paulo From owner-p4-projects@FreeBSD.ORG Fri Jul 6 23:55:33 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E8AC16A46D; Fri, 6 Jul 2007 23:55:33 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 16A3D16A41F for ; Fri, 6 Jul 2007 23:55:33 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id C63C213C468 for ; Fri, 6 Jul 2007 23:55:32 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id 3863A690D24; Sat, 7 Jul 2007 00:50:36 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id E69DE690D26; Sat, 7 Jul 2007 00:50:35 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00, FORGED_RCVD_HELO,RCVD_IN_SORBS_DUL autolearn=no version=3.1.7 Received: from epsilon.local (87-196-31-109.net.novis.pt [87.196.31.109]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id 821B6690D24; Sat, 7 Jul 2007 00:50:32 +0100 (WEST) Message-ID: <468ED66E.5080400@fnop.net> Date: Sat, 07 Jul 2007 00:55:26 +0100 From: Rui Paulo User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070704 Thunderbird/2.0.0.4 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: "Constantine A. Murenin" References: <200707062345.l66Njpx3091970@repoman.freebsd.org> In-Reply-To: <200707062345.l66Njpx3091970@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 123040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2007 23:55:33 -0000 Constantine A. Murenin wrote: > http://perforce.freebsd.org/chv.cgi?CH=123040 > > Change 123040 by cnst@dale on 2007/07/06 23:45:36 > > add new node to sysctl.h: > HW_SENSORS / "hw.sensors" Hmm. I thought new sysctl nodes or leafs were dynamic and you needn't to add any entry to sysctl.h. Comments from other folks? -- Rui Paulo From owner-p4-projects@FreeBSD.ORG Sat Jul 7 00:37:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0A0116A46D; Sat, 7 Jul 2007 00:37:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ACCF816A400; Sat, 7 Jul 2007 00:37:24 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 3276413C44C; Sat, 7 Jul 2007 00:37:23 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l670LgO7022293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 7 Jul 2007 04:21:45 +0400 Message-ID: <468EDC8F.9080909@FreeBSD.org> Date: Fri, 06 Jul 2007 20:21:35 -0400 From: "Constantine A. Murenin" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Rui Paulo References: <200707061837.l66IbGSN049491@repoman.freebsd.org> <468ED5CC.3030900@fnop.net> In-Reply-To: <468ED5CC.3030900@fnop.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Shteryana Shopova , Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 123027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 00:37:25 -0000 On 06/07/2007 19:52, Rui Paulo wrote: > Constantine A. Murenin wrote: > >>http://perforce.freebsd.org/chv.cgi?CH=123027 >> >>Change 123027 by cnst@dale on 2007/07/06 18:37:09 >> >> Improved the script, now it creates the dev/lm directory if it doesn't exist, and renames the files if they already exist, so that the new files can be linked. (Previously, it was just giving errors in these circumstances.) >> >>Affected files ... >> >>.. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 edit > > > I think that using a script to do this is wrong. > Is it possible that you could create a branch for your project based on > the freebsd vendor branch ? Then you could integrate it from time to > time. I know you don't like p4, but this is very easy to do. > This way, you can create a diff against HEAD more easily and it also > allows other folks to test your patches/drivers without any hassle. > > If you need any help, just don't hesitate to ask me. Thank you for your concern, rpaulo! All files that exist in FreeBSD are already branched in my own branch from the freebsd vendor branch, hence I will in fact do integration from time to time as you suggest. I think I will use the current scheme for the moment -- branching only the files/directories that I am directly going to work on. I will then see if any other kinds of branching will be necessary, and will act accordingly. Also note that my script is not destructive -- it doesn't remove any files, except for links. ;) Cheers, Constantine. From owner-p4-projects@FreeBSD.ORG Sat Jul 7 02:24:14 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F43816A421; Sat, 7 Jul 2007 02:24:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E91C916A400 for ; Sat, 7 Jul 2007 02:24:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C12CD13C484 for ; Sat, 7 Jul 2007 02:24:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l672ODTO016347 for ; Sat, 7 Jul 2007 02:24:13 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l672ODgd016344 for perforce@freebsd.org; Sat, 7 Jul 2007 02:24:13 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 7 Jul 2007 02:24:13 GMT Message-Id: <200707070224.l672ODgd016344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 123042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 02:24:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=123042 Change 123042 by rpaulo@rpaulo_epsilon on 2007/07/07 02:23:33 Add correct MacBook Pro temperature keys. Obtained from: Latest applesmc patch. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#21 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#10 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#21 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#20 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#21 $ * */ @@ -127,25 +127,25 @@ { "MacBookPro1,1", "Apple SMC MacBook Pro Core Duo (15-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, { "MacBookPro1,2", "Apple SMC MacBook Pro Core Duo (17-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, { "MacBookPro2,1", "Apple SMC MacBook Pro Core 2 Duo (17-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, { "MacBookPro2,2", "Apple SMC MacBook Pro Core 2 Duo (15-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, /* The Mac Mini has no SMS */ ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#10 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#9 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#10 $ * */ @@ -147,7 +147,7 @@ /* * Temperatures. * - * First for MacBook/MacBook Pro, then for Intel Mac Mini. + * First for MacBook, second for MacBook Pro, then for Intel Mac Mini. * */ @@ -161,6 +161,19 @@ "Northbridge Point 2", "Heatsink 1", \ "Heatsink 2", "Memory Bank A", } +#define ASMC_MBP_TEMPS { "TB0T", "Th0H", "Th1H", "Tm0P", \ + "TG0H", "TG0P", "TG0T", NULL } + +#define ASMC_MBP_TEMPNAMES { "enclosure", "heatsink1", \ + "heatsink2", "memory", "graphics", \ + "graphicssink", "unknown", } + +#define ASMC_MBP_TEMPDESCS { "Enclosure Bottomside", \ + "Heatsink 1", "Heatsink 2", \ + "Memory Controller", \ + "Graphics Chip", "Graphics Heatsink", \ + "Unknown", } + #define ASMC_MM_TEMPS { "TN0P", "TN1P", NULL } #define ASMC_MM_TEMPNAMES { "northbridge1", "northbridge2" } #define ASMC_MM_TEMPDESCS { "Northbridge Point 1", \ From owner-p4-projects@FreeBSD.ORG Sat Jul 7 08:12:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2B9416A469; Sat, 7 Jul 2007 08:12:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7966416A421 for ; Sat, 7 Jul 2007 08:12:15 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 69C0213C469 for ; Sat, 7 Jul 2007 08:12:15 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l678CF7b061625 for ; Sat, 7 Jul 2007 08:12:15 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l678CFA4061622 for perforce@freebsd.org; Sat, 7 Jul 2007 08:12:15 GMT (envelope-from mharvan@FreeBSD.org) Date: Sat, 7 Jul 2007 08:12:15 GMT Message-Id: <200707070812.l678CFA4061622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123045 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 08:12:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=123045 Change 123045 by mharvan@mharvan_twoflower on 2007/07/07 08:11:45 added prepending a dispatch value before the actual payload (ping, data,...) added a keep-alive/ping mechanism, UDP failure can now be detected Affected files ... .. //depot/projects/soc2007/mharvan-mtund/mtund.src/Makefile#4 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#5 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#3 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/Makefile#4 (text+ko) ==== ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#5 (text+ko) ==== @@ -26,8 +26,17 @@ #include "tunneld.h" +// linux only +#include +#include + +#define min(a,b) ( (a>b) ? b : a ) + /* max transfered unit - capsuled packet size */ -const int mtu = 1400; +//const int mtu = 1400; +#define MTU 1500 +/* how many pings can fail before the plugin is declared broken */ +#define PING_FAIL 3 int server = 0; /* are we a server or a client? */ plugint *plugins = NULL; /* linked list of loaded plugins */ @@ -38,6 +47,9 @@ int tun_fd = 0; /* tunnel device */ struct event tun_ev; +struct event timer_ev; +uint echo_seq = 0; + char *host; char *port = "12345"; @@ -178,6 +190,8 @@ pl->next = plugins; plugins = pl; + pl->ping_counter = PING_FAIL; + fprintf(stderr, "successfully loaded plugin %s\n", pl->name); return 0; @@ -187,15 +201,68 @@ return 2; } +void send_echo_request() +{ + char data[10]; + plugint *pl = current_pl; + if (pl) { + *data = DISPATCH_ECHO_REQUEST; + *(data+1) = echo_seq++; + (void) pl->send(pl, data, sizeof(data)); + pl->ping_counter--; + } +} + +void timer_ev_handler(int fd, short ev_type, void *arg) +{ + struct timeval tv; + plugint *pl = current_pl; + + fprintf(stderr, "timer fired\n"); + + if (pl) { + if (! pl->ping_counter) { + report_plugin_error(pl, PLUGIN_ERROR_PING); + } else { + send_echo_request(); + } + } + + /* register a timer event */ + tv.tv_sec=1; + tv.tv_usec=0; + evtimer_set(&timer_ev, timer_ev_handler, NULL); + evtimer_add(&timer_ev, &tv); +} + /* * Pass data received by the plugin to the daemon. */ void process_data_from_plugin(plugint *pl, char *data, int len) { - if (len > 0) { - current_pl = pl; + u_int8_t dispatch = *data; + switch (dispatch) { + case DISPATCH_DATA: + if (len > 0) { + current_pl = pl; + } + tun_send(data+1, len-1); + break; + case DISPATCH_ECHO_REQUEST: + *data = (u_int8_t) DISPATCH_ECHO_REPLY; + pl->send(pl, data, len); + fprintf(stderr, "got echo request (plugin: %s)\n", + pl->name); + break; + case DISPATCH_ECHO_REPLY: + fprintf(stderr, "got echo reply (plugin: %s)\n", + pl->name); + pl->ping_counter++; + break; + default: + fprintf(stderr, "unknown dispatch 0x%X in data from plugin %s\n", + dispatch, pl->name); } - tun_send(data, len); } /* @@ -204,14 +271,17 @@ void process_data_from_tun(char *data, int len) { int n; + char ldata[MTU+1]; if (current_pl == NULL) { fprintf(stderr, "no plugin connected yet, discarding tun data\n"); report_plugin_error(NULL, PLUGIN_ERROR_BOOTSTRAP); } else { - n = current_pl->send(current_pl, data, len); + *ldata = DISPATCH_DATA; + memcpy(ldata+1, data, min(sizeof(ldata)-1, len)); + n = current_pl->send(current_pl, ldata, min(sizeof(ldata), len+1)); - if (n < len) { + if (n < min(sizeof(ldata), len+1)) { fprintf(stderr, "process_data_from_tun: plugind sent less " "bytes (%d) than requested (%d)\n", n, len); } @@ -224,11 +294,22 @@ return; } - if (!server) { + if (server) { + if (pl) { + /* reinitialize the broken plugin */ + fprintf(stderr, "plugin %s failed, reinitializing...\n", pl->name); + // TODO: pl->reinitialize(pl); + //pl->deinitialize(pl); + //(void) pl->initialize(pl, server, host, 1234); + } + } else { if (pl) { /* deinitialize the broken plugin */ fprintf(stderr, "plugin failed: %s\n", pl->name); pl->deinitialize(pl); + + /* move to next plugin */ + pl = pl->next; } /* scan - find a working plugin */ @@ -253,6 +334,8 @@ { plugint *pl; + event_del(&timer_ev); + event_del(&tun_ev); tun_close(tun_fd, tun_dev); @@ -337,7 +420,11 @@ if (server) { system("ifconfig tun0 mtu 1400 192.168.0.1 192.168.0.2"); } else { - system("ifconfig tun0 mtu 1400 192.168.0.2 192.168.0.1"); + /* FeeBSD */ + //system("ifconfig tun0 mtu 1400 192.168.0.2 192.168.0.1"); + /* Linux */ + system("ifconfig tun0 mtu 1400 192.168.0.2"); + system("route add 192.168.0.1 tun0"); } signal(SIGHUP, sigcb); @@ -346,7 +433,11 @@ /* load plugins */ load_plugin("./plugin_udp.so"); + plugins->name = "udp_1111"; + load_plugin("./plugin_udp.so"); plugins->name = "udp_2222"; + load_plugin("./plugin_udp.so"); + plugins->name = "udp_3333"; load_plugin("./plugin_tcp.so"); plugins->name = "tcp_1111"; load_plugin("./plugin_tcp.so"); @@ -366,6 +457,8 @@ report_plugin_error(NULL, PLUGIN_ERROR_BOOTSTRAP); } + timer_ev_handler(-1, 0, NULL); + /* start tunneling */ event_dispatch(); ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#3 (text+ko) ==== @@ -15,6 +15,7 @@ /* structure representing a plugin in the main tunnel daemon */ typedef struct _plugint { char *name; + int ping_counter; int (*initialize)(struct _plugint*, int, char*, char*); void (*deinitialize)(struct _plugint*); int (*send)(struct _plugint*, char*, int); @@ -28,7 +29,14 @@ PLUGIN_ERROR_BOOTSTRAP, PLUGIN_ERROR_SEND, PLUGIN_ERROR_RECEIVE, - PLUGIN_ERROR_TIMEOUT + PLUGIN_ERROR_TIMEOUT, + PLUGIN_ERROR_PING, +}; + +enum { + DISPATCH_ECHO_REQUEST = 1, + DISPATCH_ECHO_REPLY = 2, + DISPATCH_DATA = 0x42 }; /* --- select() --- */ From owner-p4-projects@FreeBSD.ORG Sat Jul 7 09:07:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C34116A46C; Sat, 7 Jul 2007 09:07:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 10C3016A41F for ; Sat, 7 Jul 2007 09:07:03 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 9F08A13C459 for ; Sat, 7 Jul 2007 09:07:02 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 453 invoked from network); 7 Jul 2007 08:39:07 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 7 Jul 2007 08:39:07 -0000 Message-ID: <468F517D.3010709@freebsd.org> Date: Sat, 07 Jul 2007 10:40:29 +0200 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.12 (Windows/20070509) MIME-Version: 1.0 To: Rui Paulo References: <200707062345.l66Njpx3091970@repoman.freebsd.org> <468ED66E.5080400@fnop.net> In-Reply-To: <468ED66E.5080400@fnop.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 123040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 09:07:03 -0000 Rui Paulo wrote: > Constantine A. Murenin wrote: >> http://perforce.freebsd.org/chv.cgi?CH=123040 >> >> Change 123040 by cnst@dale on 2007/07/06 23:45:36 >> >> add new node to sysctl.h: >> HW_SENSORS / "hw.sensors" > > Hmm. I thought new sysctl nodes or leafs were dynamic and you needn't to > add any entry to sysctl.h. Yes, all new sysctl nodes and leaves should be entirely dynamic. The (old) static ones should go away with 8.0 or so. IIRC there hasn't been any new static sysctl node since a loooong time. -- Andre From owner-p4-projects@FreeBSD.ORG Sat Jul 7 09:58:51 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA95116A468; Sat, 7 Jul 2007 09:58:50 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6932616A400 for ; Sat, 7 Jul 2007 09:58:50 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5911313C45A for ; Sat, 7 Jul 2007 09:58:50 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l679wotc078596 for ; Sat, 7 Jul 2007 09:58:50 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l679wo23078593 for perforce@freebsd.org; Sat, 7 Jul 2007 09:58:50 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 7 Jul 2007 09:58:50 GMT Message-Id: <200707070958.l679wo23078593@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 09:58:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=123049 Change 123049 by loafier@chrisdsoc on 2007/07/07 09:58:13 Sync branch Affected files ... .. //depot/projects/soc2007/loafier_busalloc/conf/options#2 integrate .. //depot/projects/soc2007/loafier_busalloc/dev/usb/usb_port.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/dev/usb/usbdevs#2 integrate .. //depot/projects/soc2007/loafier_busalloc/kern/kern_sx.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/sys/sx.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/vm/vm_fault.c#2 integrate Differences ... ==== //depot/projects/soc2007/loafier_busalloc/conf/options#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.599 2007/07/04 00:18:38 bz Exp $ +# $FreeBSD: src/sys/conf/options,v 1.600 2007/07/06 13:20:43 attilio Exp $ # # On the handling of kernel options # @@ -538,6 +538,7 @@ MUTEX_NOINLINE opt_global.h LOCK_PROFILING opt_global.h LOCK_PROFILING_FAST opt_global.h +LOCK_PROFILING_SHARED opt_global.h MSIZE opt_global.h REGRESSION opt_global.h RESTARTABLE_PANICS opt_global.h ==== //depot/projects/soc2007/loafier_busalloc/dev/usb/usb_port.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* $OpenBSD: usb_port.h,v 1.18 2000/09/06 22:42:10 rahnds Exp $ */ /* $NetBSD: usb_port.h,v 1.54 2002/03/28 21:49:19 ichiro Exp $ */ -/* $FreeBSD: src/sys/dev/usb/usb_port.h,v 1.97 2007/06/30 02:41:29 imp Exp $ */ +/* $FreeBSD: src/sys/dev/usb/usb_port.h,v 1.98 2007/07/06 20:02:37 imp Exp $ */ /* Also already merged from NetBSD: * $NetBSD: usb_port.h,v 1.57 2002/09/27 20:42:01 thorpej Exp $ @@ -158,11 +158,7 @@ #define USB_ATTACH_SUCCESS_RETURN return 0 #define USB_ATTACH_SETUP \ - do { \ - sc->sc_dev = self; \ - device_set_desc_copy(self, devinfo); \ - device_printf(self, "%s\n", devinfo); \ - } while (0); + sc->sc_dev = self; \ #define USB_DETACH(dname) \ static int \ ==== //depot/projects/soc2007/loafier_busalloc/dev/usb/usbdevs#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/usb/usbdevs,v 1.318 2007/07/05 05:26:08 imp Exp $ +$FreeBSD: src/sys/dev/usb/usbdevs,v 1.319 2007/07/06 20:05:39 imp Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- @@ -64,7 +64,7 @@ vendor UNKNOWN1 0x0053 Unknown vendor vendor UNKNOWN2 0x0105 Unknown vendor -vendor EGALAX2 0x0123 eGalax +vendor EGALAX2 0x0123 eGalax, Inc. vendor HUMAX 0x02ad HUMAX vendor LTS 0x0386 LTS vendor BWCT 0x03da Bernd Walter Computer Technology @@ -73,7 +73,6 @@ vendor DATABROADCAST 0x03ea Data Broadcasting vendor ATMEL 0x03eb Atmel vendor IWATSU 0x03ec Iwatsu America -vendor MITEL 0x03ee Mitel vendor MITSUMI 0x03ee Mitsumi vendor HP 0x03f0 Hewlett Packard vendor GENOA 0x03f1 Genoa @@ -105,9 +104,9 @@ vendor LEADTEK 0x0413 Leadtek vendor WINBOND 0x0416 Winbond vendor PHOENIX 0x041a Phoenix -vendor CREATIVE 0x041e Creative +vendor CREATIVE 0x041e Creative Labs vendor NOKIA 0x0421 Nokia -vendor ADI 0x0422 ADI +vendor ADI 0x0422 ADI Systems vendor CATC 0x0423 Computer Access Technology vendor SMC2 0x0424 Standard Microsystems vendor MOTOROLA_HK 0x0425 Motorola HK @@ -149,7 +148,7 @@ vendor KENSINGTON 0x047d Kensington vendor LUCENT 0x047e Lucent vendor PLANTRONICS 0x047f Plantronics -vendor KYOCERA 0x0482 Kyocera +vendor KYOCERA 0x0482 Kyocera Wireless Corp. vendor STMICRO 0x0483 STMicroelectronics vendor FOXCONN 0x0489 Foxconn vendor YAMAHA 0x0499 YAMAHA @@ -189,29 +188,29 @@ vendor LSI 0x04d4 LSI vendor MENTORGRAPHICS 0x04d6 Mentor Graphics vendor ITUNERNET 0x04d8 I-Tuner Networks -vendor HOLTEK 0x04d9 Holtek +vendor HOLTEK 0x04d9 Holtek Semiconductor, Inc. vendor PANASONIC 0x04da Panasonic (Matsushita) vendor HUANHSIN 0x04dc Huan Hsin vendor SHARP 0x04dd Sharp vendor IIYAMA 0x04e1 Iiyama -vendor SHUTTLE 0x04e6 Shuttle +vendor SHUTTLE 0x04e6 Shuttle Technology vendor ELO 0x04e7 Elo TouchSystems -vendor SAMSUNG 0x04e8 Samsung +vendor SAMSUNG 0x04e8 Samsung Electronics vendor NORTHSTAR 0x04eb Northstar vendor TOKYOELECTRON 0x04ec Tokyo Electron vendor ANNABOOKS 0x04ed Annabooks vendor JVC 0x04f1 JVC -vendor CHICONY 0x04f2 Chicony +vendor CHICONY 0x04f2 Chicony Electronics vendor ELAN 0x04f3 Elan vendor NEWNEX 0x04f7 Newnex -vendor BROTHER 0x04f9 Brother +vendor BROTHER 0x04f9 Brother Industries vendor DALLAS 0x04fa Dallas Semiconductor vendor SUNPLUS 0x04fc Sunplus vendor PFU 0x04fe PFU vendor FUJIKURA 0x0501 Fujikura/DDK vendor ACER 0x0502 Acer vendor 3COM 0x0506 3Com -vendor HOSIDEN 0x0507 Hosiden +vendor HOSIDEN 0x0507 Hosiden Corporation vendor AZTECH 0x0509 Aztech Systems vendor BELKIN 0x050d Belkin Components vendor KAWATSU 0x050f Kawatsu Semiconductor @@ -255,14 +254,14 @@ vendor ELECOM 0x056e Elecom vendor CONEXANT 0x0572 Conexant vendor HAUPPAUGE 0x0573 Hauppauge Computer Works -vendor BAFO 0x0576 BAFO/Quality Computer Accesories +vendor BAFO 0x0576 BAFO/Quality Computer Accessories vendor YEDATA 0x057b Y-E Data vendor AVM 0x057c AVM vendor QUICKSHOT 0x057f Quickshot vendor ROLAND 0x0582 Roland vendor ROCKFIRE 0x0583 Rockfire vendor RATOC 0x0584 RATOC Systems -vendor ZYXEL 0x0586 ZyXEL Communications +vendor ZYXEL 0x0586 ZyXEL Communication vendor INFINEON 0x058b Infineon vendor MICREL 0x058d Micrel vendor ALCOR 0x058f Alcor Micro @@ -292,7 +291,7 @@ vendor RICOH 0x05ca Ricoh vendor ELSA 0x05cc ELSA vendor SCIWORX 0x05ce sci-worx -vendor BRAINBOXES 0x05d1 Brainboxes +vendor BRAINBOXES 0x05d1 Brainboxes Limited vendor ULTIMA 0x05d8 Ultima vendor AXIOHM 0x05d9 Axiohm Transaction Solutions vendor MICROTEK 0x05da Microtek @@ -302,19 +301,19 @@ vendor SYMBOL 0x05e0 Symbol Technologies vendor SYNTEK 0x05e1 Syntek vendor GENESYS 0x05e3 Genesys Logic -vendor FUJI 0x05e5 Fuji Electronic +vendor FUJI 0x05e5 Fuji Electric vendor KEITHLEY 0x05e6 Keithley Instruments vendor EIZONANAO 0x05e7 EIZO Nanao vendor KLSI 0x05e9 Kawasaki LSI vendor FFC 0x05eb FFC vendor ANKO 0x05ef Anko Electronic vendor PIENGINEERING 0x05f3 P.I. Engineering -vendor AOC 0x05f6 AOC -vendor CHIC 0x05fe Chic -vendor BARCO 0x0600 Barco -vendor BRIDGE 0x0607 Bridge +vendor AOC 0x05f6 AOC International +vendor CHIC 0x05fe Chic Technology +vendor BARCO 0x0600 Barco Display Systems +vendor BRIDGE 0x0607 Bridge Information vendor SOLIDYEAR 0x060b Solid Year -vendor BIORAD 0x0614 Bio-Rad +vendor BIORAD 0x0614 Bio-Rad Laboratories vendor MACALLY 0x0618 Macally vendor ACTLABS 0x061c Act Labs vendor ALARIS 0x0620 Alaris @@ -330,8 +329,8 @@ vendor SIGMATEL 0x066f Sigmatel vendor DRAYTEK 0x0675 DrayTek vendor AIWA 0x0677 Aiwa -vendor ACARD 0x0678 ACARD -vendor PROLIFIC 0x067b Prolific +vendor ACARD 0x0678 ACARD Technology +vendor PROLIFIC 0x067b Prolific Technology vendor SIEMENS 0x067c Siemens vendor AVANCELOGIC 0x0680 Avance Logic vendor SIEMENS2 0x0681 Siemens @@ -339,42 +338,42 @@ vendor CHPRODUCTS 0x068e CH Products vendor HAGIWARA 0x0693 Hagiwara Sys-Com vendor CTX 0x0698 Chuntex -vendor ASKEY 0x069a Askey +vendor ASKEY 0x069a Askey Computer vendor SAITEK 0x06a3 Saitek -vendor ALCATELT 0x06b9 Alcatel +vendor ALCATELT 0x06b9 Alcatel Telecom vendor AGFA 0x06bd AGFA-Gevaert vendor ASIAMD 0x06be Asia Microelectronic Development -vendor BIZLINK 0x06c4 Bizlink +vendor BIZLINK 0x06c4 Bizlink International vendor KEYSPAN 0x06cd Keyspan / InnoSys Inc. -vendor AASHIMA 0x06d6 Aashima +vendor AASHIMA 0x06d6 Aashima Technology vendor MULTITECH 0x06e0 MultiTech -vendor ADS 0x06e1 ADS -vendor ALCATELM 0x06e4 Alcatel -vendor SIRIUS 0x06ea Sirius +vendor ADS 0x06e1 ADS Technologies +vendor ALCATELM 0x06e4 Alcatel Microelectronics +vendor SIRIUS 0x06ea Sirius Technologies vendor GUILLEMOT 0x06f8 Guillemot vendor BOSTON 0x06fd Boston Acoustics -vendor SMC 0x0707 SCM +vendor SMC 0x0707 Standard Microsystems vendor PUTERCOM 0x0708 Putercom vendor MCT 0x0711 MCT vendor IMATION 0x0718 Imation vendor SONYERICSSON 0x0731 Sony Ericsson vendor EICON 0x0734 Eicon Networks vendor DIGITALSTREAM 0x074e Digital Stream -vendor AUREAL 0x0755 Aureal +vendor AUREAL 0x0755 Aureal Semiconductor vendor MIDIMAN 0x0763 Midiman vendor SURECOM 0x0769 Surecom Technology vendor LINKSYS2 0x077b Linksys -vendor GRIFFIN 0x077d Griffin +vendor GRIFFIN 0x077d Griffin Technology vendor SANDISK 0x0781 SanDisk vendor JENOPTIK 0x0784 Jenoptik vendor LOGITEC 0x0789 Logitec vendor BRIMAX 0x078e Brimax -vendor AXIS 0x0792 Axis -vendor ABL 0x0794 ABL +vendor AXIS 0x0792 Axis Communications +vendor ABL 0x0794 ABL Electronics vendor SAGEM 0x079b Sagem -vendor SUNCOMM 0x079c Sun Communications -vendor ALFADATA 0x079d Alfadata -vendor NATIONALTECH 0x07a2 National Technical +vendor SUNCOMM 0x079c Sun Communications, Inc. +vendor ALFADATA 0x079d Alfadata Computer +vendor NATIONALTECH 0x07a2 National Technical Systems vendor ONNTO 0x07a3 Onnto vendor BE 0x07a4 Be vendor ADMTEK 0x07a6 ADMtek @@ -383,30 +382,30 @@ vendor MICROTECH 0x07af Microtech vendor GENERALINSTMNTS 0x07b2 General Instruments (Motorola) vendor OLYMPUS 0x07b4 Olympus -vendor ABOCOM 0x07b8 AboCom +vendor ABOCOM 0x07b8 AboCom Systems vendor KEISOKUGIKEN 0x07c1 Keisokugiken vendor ONSPEC 0x07c4 OnSpec -vendor APG 0x07c5 APG -vendor BUG 0x07c8 BUG -vendor ALLIEDTELESYN 0x07c9 Allied Telesyn -vendor AVERMEDIA 0x07ca AVerMedia +vendor APG 0x07c5 APG Cash Drawer +vendor BUG 0x07c8 B.U.G. +vendor ALLIEDTELESYN 0x07c9 Allied Telesyn International +vendor AVERMEDIA 0x07ca AVerMedia Technologies vendor SIIG 0x07cc SIIG vendor CASIO 0x07cf CASIO vendor DLINK2 0x07d1 D-Link -vendor APTIO 0x07d2 Aptio -vendor ARASAN 0x07da Arasan +vendor APTIO 0x07d2 Aptio Products +vendor ARASAN 0x07da Arasan Chip Systems vendor ALLIEDCABLE 0x07e6 Allied Cable vendor STSN 0x07ef STSN vendor CENTURY 0x07f7 Century Corp -vendor ZOOM 0x0803 Zoom +vendor ZOOM 0x0803 Zoom Telephonics vendor PCS 0x0810 Personal Communication Systems vendor BROADLOGIC 0x0827 BroadLogic vendor HANDSPRING 0x082d Handspring -vendor PALM 0x0830 Palm +vendor PALM 0x0830 Palm Computing vendor SOURCENEXT 0x0833 SOURCENEXT -vendor ACTIONSTAR 0x0835 Action Star +vendor ACTIONSTAR 0x0835 Action Star Enterprise vendor SAMSUNG_TECHWIN 0x0839 Samsung Techwin -vendor ACCTON 0x083a Accton +vendor ACCTON 0x083a Accton Technology vendor DIAMOND 0x0841 Diamond vendor NETGEAR 0x0846 BayNETGEAR vendor ACTIVEWIRE 0x0854 ActiveWire @@ -414,35 +413,35 @@ vendor PORTGEAR 0x085a PortGear vendor SYSTEMTALKS 0x086e System Talks vendor METRICOM 0x0870 Metricom -vendor ADESSOKBTEK 0x087c ADESSO +vendor ADESSOKBTEK 0x087c ADESSO/Kbtek America vendor JATON 0x087d Jaton -vendor APT 0x0880 APT +vendor APT 0x0880 APT Technologies vendor BOCARESEARCH 0x0885 Boca Research -vendor ANDREA 0x08a8 Andrea +vendor ANDREA 0x08a8 Andrea Electronics vendor BURRBROWN 0x08bb Burr-Brown Japan vendor 2WIRE 0x08c8 2Wire -vendor AIPTEK 0x08ca AIPTEK +vendor AIPTEK 0x08ca AIPTEK International vendor SMARTBRIDGES 0x08d1 SmartBridges -vendor BILLIONTON 0x08dd Billionton -vendor EXTENDED 0x08e9 Extended +vendor BILLIONTON 0x08dd Billionton Systems +vendor EXTENDED 0x08e9 Extended Systems vendor MSYSTEMS 0x08ec M-Systems vendor AUTHENTEC 0x08ff AuthenTec vendor AUDIOTECHNICA 0x0909 Audio-Technica -vendor TRUMPION 0x090a Trumpion +vendor TRUMPION 0x090a Trumpion Microelectronics vendor FEIYA 0x090c Feiya -vendor ALATION 0x0910 Alation +vendor ALATION 0x0910 Alation Systems vendor CONCORDCAMERA 0x0919 Concord Camera -vendor GARMIN 0x091e Garmin +vendor GARMIN 0x091e Garmin International vendor GOHUBS 0x0921 GoHubs vendor XEROX 0x0924 Xerox -vendor BIOMETRIC 0x0929 American Biometric +vendor BIOMETRIC 0x0929 American Biometric Company vendor TOSHIBA 0x0930 Toshiba vendor PLEXTOR 0x093b Plextor vendor INTREPIDCS 0x093c Intrepid vendor YANO 0x094f Yano -vendor KINGSTON 0x0951 Kingston -vendor BLUEWATER 0x0956 BlueWater -vendor AGILENT 0x0957 Agilent +vendor KINGSTON 0x0951 Kingston Technology +vendor BLUEWATER 0x0956 BlueWater Systems +vendor AGILENT 0x0957 Agilent Technologies vendor PORTSMITH 0x095a Portsmith vendor ACERW 0x0967 Acer vendor ADIRONDACK 0x0976 Adirondack Wire & Cable @@ -456,48 +455,48 @@ vendor ACTISYS 0x09c4 ACTiSYS vendor AFOURTECH 0x09da A-FOUR TECH vendor AIMEX 0x09dc AIMEX -vendor ADDONICS 0x09df Addonics -vendor AKAI 0x09e8 AKAI +vendor ADDONICS 0x09df Addonics Technologies +vendor AKAI 0x09e8 AKAI professional M.I. vendor ARESCOM 0x09f5 ARESCOM vendor BAY 0x09f9 Bay Associates vendor ALTERA 0x09fb Altera vendor CSR 0x0a12 Cambridge Silicon Radio -vendor TREK 0x0a16 Trek +vendor TREK 0x0a16 Trek Technology vendor ASAHIOPTICAL 0x0a17 Asahi Optical vendor BOCASYSTEMS 0x0a43 Boca Systems vendor MEDIAGEAR 0x0a48 MediaGear vendor BROADCOM 0x0a5c Broadcom vendor GREENHOUSE 0x0a6b GREENHOUSE -vendor GEOCAST 0x0a79 Geocast +vendor GEOCAST 0x0a79 Geocast Network Systems vendor NEODIO 0x0aec Neodio vendor OPTION 0x0af0 Option -vendor ASUS 0x0b05 ASUS +vendor ASUS 0x0b05 ASUSTeK Computer vendor TODOS 0x0b0c Todos Data System vendor SIIG2 0x0b39 SIIG -vendor TEKRAM 0x0b3b Tekram -vendor HAL 0x0b41 HAL -vendor EMS 0x0b43 EMS +vendor TEKRAM 0x0b3b Tekram Technology +vendor HAL 0x0b41 HAL Corporation +vendor EMS 0x0b43 EMS Production vendor NEC2 0x0b62 NEC vendor ATI2 0x0b6f ATI -vendor ZEEVO 0x0b7a Zeevo -vendor KURUSUGAWA 0x0b7e Kurusugawa -vendor ASIX 0x0b95 ASIX +vendor ZEEVO 0x0b7a Zeevo, Inc. +vendor KURUSUGAWA 0x0b7e Kurusugawa Electronics, Inc. +vendor ASIX 0x0b95 ASIX Electronics vendor O2MICRO 0x0b97 O2 Micro, Inc. vendor USR 0x0baf U.S. Robotics vendor AMBIT 0x0bb2 Ambit Microsystems -vendor REALTEK 0x0bda RealTek -vendor ADDONICS2 0x0bf6 Addonics -vendor AGATE 0x0c08 Agate +vendor REALTEK 0x0bda Realtek +vendor ADDONICS2 0x0bf6 Addonics Technology +vendor AGATE 0x0c08 Agate Technologies vendor DMI 0x0c0b DMI vendor CHICONY2 0x0c45 Chicony -vendor SEALEVEL 0x0c52 Sealevel +vendor SEALEVEL 0x0c52 Sealevel System vendor LUWEN 0x0c76 Luwen vendor ZCOM 0x0cde Z-Com vendor ATHEROS2 0x0cf3 Atheros Communications vendor TANGTOP 0x0d3d Tangtop vendor SMC3 0x0d5c SMC vendor ADDON 0x0d7d Add-on Technology -vendor ACDC 0x0d7e ACDC +vendor ACDC 0x0d7e American Computer & Digital Components vendor ABC 0x0d8c ABC vendor CONCEPTRONIC 0x0d8e Conceptronic vendor SKANHEX 0x0d96 Skanhex Technology, Inc. @@ -508,11 +507,11 @@ vendor HAWKING 0x0e66 Hawking vendor FOSSIL 0x0e67 Fossil, Inc vendor GMATE 0x0e7e G.Mate, Inc -vendor OTI 0x0ea0 Ours +vendor OTI 0x0ea0 Ours Technology vendor PILOTECH 0x0eaf Pilotech vendor NOVATECH 0x0eb0 NovaTech vendor WINMAXGROUP 0x0ed1 WinMaxGroup -vendor EGALAX 0x0eef eGalax +vendor EGALAX 0x0eef eGalax, Inc. vendor MICROTUNE 0x0f4d Microtune vendor VTECH 0x0f88 VTech vendor QUALCOMM2 0x1004 Qualcomm @@ -520,11 +519,11 @@ vendor GIGABYTE 0x1044 GIGABYTE vendor WESTERN 0x1058 Western Digital vendor MOTOROLA 0x1063 Motorola -vendor CCYU 0x1065 CCYU +vendor CCYU 0x1065 CCYU Technology vendor CURITEL 0x106c Curitel Communications Inc vendor PLX 0x10b5 PLX vendor ASANTE 0x10bd Asante -vendor JRC 0x1145 JRC +vendor JRC 0x1145 Japan Radio Company vendor SPHAIRON 0x114b Sphairon Access Systems GmbH vendor DELORME 0x1163 DeLorme vendor SERVERWORKS 0x1166 ServerWorks @@ -535,7 +534,7 @@ vendor TWINMOS 0x126f TwinMOS vendor TSUNAMI 0x1241 Tsunami vendor CREATIVE2 0x1292 Creative Labs -vendor BELKIN2 0x1293 Belkin +vendor BELKIN2 0x1293 Belkin Components vendor HUAWEI 0x12d1 Huawei Technologies vendor TAPWAVE 0x12ef Tapwave vendor AINCOMM 0x12fd Aincomm @@ -547,7 +546,7 @@ vendor NOVATEL 0x1410 Novatel Wireless vendor WISTRONNEWEB 0x1435 Wistron NeWeb vendor RADIOSHACK 0x1453 Radio Shack -vendor HUAWEI3COM 0x1472 Huawei 3Com +vendor HUAWEI3COM 0x1472 Huawei-3Com vendor SILICOM 0x1485 Silicom vendor RALINK 0x148f Ralink Technology vendor IMAGINATION 0x149a Imagination Technologies @@ -560,43 +559,43 @@ vendor OQO 0x1557 OQO vendor UMEDIA 0x157e U-MEDIA Communications vendor SOHOWARE 0x15e8 SOHOware -vendor UMAX 0x1606 UMAX +vendor UMAX 0x1606 UMAX Data Systems vendor INSIDEOUT 0x1608 Inside Out Networks vendor GOODWAY 0x1631 Good Way Technology vendor ENTREGA 0x1645 Entrega -vendor ACTIONTEC 0x1668 Actiontec +vendor ACTIONTEC 0x1668 Actiontec Electronics vendor ATHEROS 0x168c Atheros Communications vendor GIGASET 0x1690 Gigaset vendor GLOBALSUN 0x16ab Global Sun Technology -vendor ANYDATA 0x16d5 AnyData Corporation -vendor CMOTECH 0x16d8 CMOTECH CO., LTD. +vendor ANYDATA 0x16d5 AnyDATA Corporation +vendor CMOTECH 0x16d8 CMOTECH Co., Ltd. vendor LINKSYS4 0x1737 Linksys vendor AMIT 0x18c5 AMIT vendor QCOM 0x18e8 Qcom vendor LINKSYS3 0x1915 Linksys vendor DLINK 0x2001 D-Link -vendor PLANEX2 0x2019 Planex +vendor PLANEX2 0x2019 Planex Communications vendor ERICSSON 0x2282 Ericsson vendor MOTOROLA2 0x22b8 Motorola vendor TRIPPLITE 0x2478 Tripp-Lite -vendor HIROSE 0x2631 Hirose +vendor HIROSE 0x2631 Hirose Electric vendor NHJ 0x2770 NHJ -vendor PLANEX 0x2c02 Planex -vendor VIDZMEDIA 0x3275 VidzMedia +vendor PLANEX 0x2c02 Planex Communications +vendor VIDZMEDIA 0x3275 VidzMedia Pte Ltd vendor AEI 0x3334 AEI vendor PQI 0x3538 PQI -vendor DAISY 0x3579 Daisy +vendor DAISY 0x3579 Daisy Technology vendor NI 0x3923 National Instruments -vendor MICRONET 0x3980 Micronet +vendor MICRONET 0x3980 Micronet Communications vendor IODATA2 0x40bb I-O Data vendor IRIVER 0x4102 iRiver vendor DELL 0x413c Dell vendor ACEECA 0x4766 Aceeca vendor AVERATEC 0x50c2 Averatec -vendor ONSPEC2 0x55aa OnSpec +vendor ONSPEC2 0x55aa OnSpec Electronic Inc. vendor ZINWELL 0x5a57 Zinwell vendor SITECOM 0x6189 Sitecom -vendor ARKMICRO 0x6547 Arkmicro Technologies +vendor ARKMICRO 0x6547 Arkmicro Technologies Inc. vendor INTEL 0x8086 Intel vendor HP2 0xf003 Hewlett Packard ==== //depot/projects/soc2007/loafier_busalloc/kern/kern_sx.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.53 2007/05/31 09:14:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.54 2007/07/06 13:20:44 attilio Exp $"); #include #include @@ -63,6 +63,9 @@ #error "You must have SMP to enable the ADAPTIVE_SX option" #endif +CTASSERT(((SX_ADAPTIVESPIN | SX_RECURSE) & LO_CLASSFLAGS) == + (SX_ADAPTIVESPIN | SX_RECURSE)); + /* Handy macros for sleep queues. */ #define SQ_EXCLUSIVE_QUEUE 0 #define SQ_SHARED_QUEUE 1 @@ -287,8 +290,10 @@ curthread->td_locks--; WITNESS_UNLOCK(&sx->lock_object, 0, file, line); LOCK_LOG_LOCK("SUNLOCK", &sx->lock_object, 0, 0, file, line); +#ifdef LOCK_PROFILING_SHARED if (SX_SHARERS(sx->sx_lock) == 1) lock_profile_release_lock(&sx->lock_object); +#endif __sx_sunlock(sx, file, line); } @@ -412,23 +417,21 @@ #ifdef ADAPTIVE_SX volatile struct thread *owner; #endif + uint64_t waittime = 0; uintptr_t x; int contested = 0, error = 0; - uint64_t waitstart = 0; /* If we already hold an exclusive lock, then recurse. */ if (sx_xlocked(sx)) { KASSERT((sx->lock_object.lo_flags & SX_RECURSE) != 0, ("_sx_xlock_hard: recursed on non-recursive sx %s @ %s:%d\n", - sx->lock_object.lo_name, file, line)); + sx->lock_object.lo_name, file, line)); sx->sx_recurse++; atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p recursing", __func__, sx); return (0); } - lock_profile_obtain_lock_failed(&(sx)->lock_object, - &contested, &waitstart); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR5(KTR_LOCK, "%s: %s contested (lock=%p) at %s:%d", __func__, @@ -452,6 +455,8 @@ "%s: spinning on %p held by %p", __func__, sx, owner); GIANT_SAVE(); + lock_profile_obtain_lock_failed( + &sx->lock_object, &contested, &waittime); while (SX_OWNER(sx->sx_lock) == x && TD_IS_RUNNING(owner)) cpu_spinwait(); @@ -538,6 +543,8 @@ __func__, sx); GIANT_SAVE(); + lock_profile_obtain_lock_failed(&sx->lock_object, &contested, + &waittime); sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_EXCLUSIVE_QUEUE); @@ -560,8 +567,8 @@ GIANT_RESTORE(); if (!error) - lock_profile_obtain_lock_success(&(sx)->lock_object, contested, - waitstart, file, line); + lock_profile_obtain_lock_success(&sx->lock_object, contested, + waittime, file, line); return (error); } @@ -629,14 +636,17 @@ #ifdef ADAPTIVE_SX volatile struct thread *owner; #endif +#ifdef LOCK_PROFILING_SHARED + uint64_t waittime = 0; + int contested = 0; +#endif uintptr_t x; - uint64_t waitstart = 0; - int contested = 0, error = 0; + int error = 0; + /* * As with rwlocks, we don't make any attempt to try to block * shared locks once there is an exclusive waiter. */ - for (;;) { x = sx->sx_lock; @@ -650,10 +660,12 @@ MPASS(!(x & SX_LOCK_SHARED_WAITERS)); if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) { +#ifdef LOCK_PROFILING_SHARED if (SX_SHARERS(x) == 0) lock_profile_obtain_lock_success( &sx->lock_object, contested, - waitstart, file, line); + waittime, file, line); +#endif if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR4(KTR_LOCK, "%s: %p succeed %p -> %p", __func__, @@ -661,9 +673,6 @@ (void *)(x + SX_ONE_SHARER)); break; } - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); - continue; } @@ -677,23 +686,22 @@ x = SX_OWNER(x); owner = (struct thread *)x; if (TD_IS_RUNNING(owner)) { - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, sx, owner); GIANT_SAVE(); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed( + &sx->lock_object, &contested, &waittime); +#endif while (SX_OWNER(sx->sx_lock) == x && TD_IS_RUNNING(owner)) cpu_spinwait(); continue; } - } + } #endif - else - lock_profile_obtain_lock_failed(&sx->lock_object, &contested, - &waitstart); /* * Some other thread already has an exclusive lock, so @@ -750,8 +758,12 @@ if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on sleep queue", __func__, sx); - + GIANT_SAVE(); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed(&sx->lock_object, &contested, + &waittime); +#endif sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_SHARED_QUEUE); @@ -822,7 +834,6 @@ MPASS(x == SX_SHARERS_LOCK(1)); if (atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1), SX_LOCK_UNLOCKED)) { - lock_profile_release_lock(&sx->lock_object); if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p last succeeded", __func__, sx); @@ -837,7 +848,6 @@ */ MPASS(x == (SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS)); - lock_profile_release_lock(&sx->lock_object); sleepq_lock(&sx->lock_object); /* ==== //depot/projects/soc2007/loafier_busalloc/sys/sx.h#2 (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/sys/sx.h,v 1.36 2007/05/31 09:14:47 attilio Exp $ + * $FreeBSD: src/sys/sys/sx.h,v 1.37 2007/07/06 13:20:44 attilio Exp $ */ #ifndef _SYS_SX_H_ @@ -178,9 +178,11 @@ if (!(x & SX_LOCK_SHARED) || !atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) error = _sx_slock_hard(sx, opts, file, line); - else +#ifdef LOCK_PROFILING_SHARED + else if (SX_SHARERS(x) == 0) lock_profile_obtain_lock_success(&sx->lock_object, 0, 0, file, line); +#endif return (error); } ==== //depot/projects/soc2007/loafier_busalloc/vm/vm_fault.c#2 (text+ko) ==== @@ -72,7 +72,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_fault.c,v 1.232 2007/06/17 04:14:27 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_fault.c,v 1.233 2007/07/06 21:25:21 alc Exp $"); #include #include @@ -402,13 +402,15 @@ vm_pageq_remove_nowakeup(fs.m); - if (VM_PAGE_RESOLVEQUEUE(fs.m, queue) == PQ_CACHE && - vm_page_count_severe()) { - vm_page_activate(fs.m); - vm_page_unlock_queues(); - unlock_and_deallocate(&fs); - VM_WAITPFAULT; - goto RetryFault; + if (VM_PAGE_RESOLVEQUEUE(fs.m, queue) == PQ_CACHE) { + cnt.v_reactivated++; + if (vm_page_count_severe()) { + vm_page_activate(fs.m); + vm_page_unlock_queues(); + unlock_and_deallocate(&fs); + VM_WAITPFAULT; + goto RetryFault; + } } vm_page_unlock_queues(); @@ -1335,6 +1337,6 @@ marray[i] = rtm; } - /* return number of bytes of pages */ + /* return number of pages */ return i; } From owner-p4-projects@FreeBSD.ORG Sat Jul 7 10:03:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AC3A16A46D; Sat, 7 Jul 2007 10:03:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CA18016A400 for ; Sat, 7 Jul 2007 10:03:57 +0000 (UTC) (envelope-from fli@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A28F913C448 for ; Sat, 7 Jul 2007 10:03:57 +0000 (UTC) (envelope-from fli@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67A3vRD080234 for ; Sat, 7 Jul 2007 10:03:57 GMT (envelope-from fli@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67A3vW8080231 for perforce@freebsd.org; Sat, 7 Jul 2007 10:03:57 GMT (envelope-from fli@FreeBSD.org) Date: Sat, 7 Jul 2007 10:03:57 GMT Message-Id: <200707071003.l67A3vW8080231@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fli@FreeBSD.org using -f From: Fredrik Lindberg To: Perforce Change Reviews Cc: Subject: PERFORCE change 123050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 10:03:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=123050 Change 123050 by fli@fli_nexus on 2007/07/07 10:03:53 Fix a typo, use correct part when constructing a PTR record. Affected files ... .. //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_util.c#2 edit Differences ... ==== //depot/projects/soc2007/fli-mdns_sd/mdnsd/stack_util.c#2 (text+ko) ==== @@ -195,7 +195,7 @@ for (i = 0; i < 4; i++) parts[i] = strsep(&p, "."); asprintf(&r, "%s.%s.%s.%s.in-addr.arpa.", parts[3], parts[2], - parts[1], parts[2]); + parts[1], parts[0]); free(q); } #ifdef INET6 From owner-p4-projects@FreeBSD.ORG Sat Jul 7 12:04:19 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DC4616A477; Sat, 7 Jul 2007 12:04:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2F6E816A400 for ; Sat, 7 Jul 2007 12:04:19 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1E9B313C484 for ; Sat, 7 Jul 2007 12:04:19 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67C4Jsk092235 for ; Sat, 7 Jul 2007 12:04:19 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67C4IVO092232 for perforce@freebsd.org; Sat, 7 Jul 2007 12:04:18 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 7 Jul 2007 12:04:18 GMT Message-Id: <200707071204.l67C4IVO092232@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123054 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 12:04:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=123054 Change 123054 by loafier@chrisdsoc on 2007/07/07 12:04:09 Missed one Affected files ... .. //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_mci.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/arm/at91/at91_mci.c#2 (text+ko) ==== @@ -63,14 +63,25 @@ #define BBSZ 512 +enum { + RES_IRQ, + RES_MEM, + RES_SZ +}; + +static struct resource_spec mci_res_spec[] = { + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_MEMORY, 0, RF_ACTIVE}, + {-1, 0, 0} +}; + struct at91_mci_softc { void *intrhand; /* Interrupt handle */ device_t dev; int flags; #define CMD_STARTED 1 #define STOP_STARTED 2 - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ + struct resource *res[RES_SZ]; /* IRQ and Memory resources */ struct mtx sc_mtx; bus_dma_tag_t dmatag; bus_dmamap_t map; @@ -86,13 +97,13 @@ static inline uint32_t RD4(struct at91_mci_softc *sc, bus_size_t off) { - return bus_read_4(sc->mem_res, off); + return bus_read_4(sc->res[RES_MEM], off); } static inline void WR4(struct at91_mci_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->mem_res, off, val); + bus_write_4(sc->res[RES_MEM], off, val); } /* bus entry points */ @@ -191,7 +202,7 @@ /* * Activate the interrupt */ - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + err = bus_setup_intr(dev, sc->res[RES_IRQ], INTR_TYPE_MISC | INTR_MPSAFE, NULL, at91_mci_intr, sc, &sc->intrhand); if (err) { AT91_MCI_LOCK_DESTROY(sc); @@ -222,23 +233,14 @@ at91_mci_activate(device_t dev) { struct at91_mci_softc *sc; - int rid; sc = device_get_softc(dev); - rid = 0; - sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->mem_res == NULL) - goto errout; - rid = 0; - sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->irq_res == NULL) - goto errout; + if (bus_alloc_resources(dev, mci_res_spec, sc->res)) { + at91_mci_deactivate(dev); + return (ENOMEM); + } + return (0); -errout: - at91_mci_deactivate(dev); - return (ENOMEM); } static void @@ -248,18 +250,10 @@ sc = device_get_softc(dev); if (sc->intrhand) - bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->intrhand); sc->intrhand = 0; bus_generic_detach(sc->dev); - if (sc->mem_res) - bus_release_resource(dev, SYS_RES_IOPORT, - rman_get_rid(sc->mem_res), sc->mem_res); - sc->mem_res = 0; - if (sc->irq_res) - bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->irq_res), sc->irq_res); - sc->irq_res = 0; - return; + bus_release_resources(dev, mci_res_spec, sc->res); } static void From owner-p4-projects@FreeBSD.ORG Sat Jul 7 12:49:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FD8116A468; Sat, 7 Jul 2007 12:49:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E301516A41F for ; Sat, 7 Jul 2007 12:49:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D278E13C43E for ; Sat, 7 Jul 2007 12:49:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67CnG6c004641 for ; Sat, 7 Jul 2007 12:49:16 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67CnG0F004638 for perforce@freebsd.org; Sat, 7 Jul 2007 12:49:16 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sat, 7 Jul 2007 12:49:16 GMT Message-Id: <200707071249.l67CnG0F004638@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 12:49:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=123056 Change 123056 by rdivacky@rdivacky_witten on 2007/07/07 12:49:00 Redefine O_EXEC to not clash with O_NOCTTY. Noticed by: jhb Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#10 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/fcntl.h#10 (text+ko) ==== @@ -103,12 +103,10 @@ #ifdef _KERNEL #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ #endif -#define O_EXEC 0x8000 /* open for execute only */ -#define FEXEC 0x8000 /* Defined by POSIX Extended API ... TODO: number of the spec */ #define AT_FDCWD -100 /* Use the current working directory - to determine the target of relative - file paths. + * to determine the target of relative + * file paths. */ #define AT_EACCESS 0x100 /* Check access using effective user and group ID */ #define AT_SYMLINK_NOFOLLOW 0x200 /* Do not follow symbolic links */ @@ -126,6 +124,9 @@ /* Defined by POSIX Extended API ... TODO: number of the spec */ #define O_DIRECTORY 0x00020000 /* Fail if not directory */ +#define O_EXEC 0x00040000 /* open for execute only */ +#define FEXEC 0x00040000 + /* * XXX missing O_DSYNC, O_RSYNC. */ From owner-p4-projects@FreeBSD.ORG Sat Jul 7 13:21:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BAF216A46F; Sat, 7 Jul 2007 13:21:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E36BA16A46D for ; Sat, 7 Jul 2007 13:21:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D36BE13C469 for ; Sat, 7 Jul 2007 13:21:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67DLwUD008104 for ; Sat, 7 Jul 2007 13:21:58 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67DLwb0008101 for perforce@freebsd.org; Sat, 7 Jul 2007 13:21:58 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 7 Jul 2007 13:21:58 GMT Message-Id: <200707071321.l67DLwb0008101@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 123057 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 13:21:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=123057 Change 123057 by rpaulo@rpaulo_epsilon on 2007/07/07 13:21:33 Add latest MacBook Pro models. LED backlit and HD version. Not tested, but most things should work. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#22 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#22 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#21 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#22 $ * */ @@ -148,6 +148,18 @@ ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, + { + "MacBookPro3,1", "Apple SMC MacBook Pro Core 2 Duo (15-inch LED)", + ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS + }, + + { + "MacBookPro3,2", "Apple SMC MacBook Pro Core 2 Duo (17-inch HD)", + ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, + ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS + }, + /* The Mac Mini has no SMS */ { "Macmini1,1", "Apple SMC Mac Mini", From owner-p4-projects@FreeBSD.ORG Sat Jul 7 14:27:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3118816A469; Sat, 7 Jul 2007 14:27:25 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0911E16A400 for ; Sat, 7 Jul 2007 14:27:25 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id EC7CB13C44B for ; Sat, 7 Jul 2007 14:27:24 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67ERONq013602 for ; Sat, 7 Jul 2007 14:27:24 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67EROsX013599 for perforce@freebsd.org; Sat, 7 Jul 2007 14:27:24 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 7 Jul 2007 14:27:24 GMT Message-Id: <200707071427.l67EROsX013599@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 123060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 14:27:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=123060 Change 123060 by rpaulo@rpaulo_epsilon on 2007/07/07 14:27:09 Increase the delays in asmc_init(). Sometimes the SMS fails to init because it needs more time. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#23 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#23 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#22 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#23 $ * */ @@ -460,21 +460,21 @@ */ buf[0] = 20; /* msecs */ asmc_key_write(dev, ASMC_KEY_SMS_LOW_INT, buf, 1); - DELAY(150); + DELAY(200); buf[0] = 20; /* msecs */ asmc_key_write(dev, ASMC_KEY_SMS_HIGH_INT, buf, 1); - DELAY(150); + DELAY(200); buf[0] = 0x00; buf[1] = 0x60; asmc_key_write(dev, ASMC_KEY_SMS_LOW, buf, 2); - DELAY(150); + DELAY(200); buf[0] = 0x01; buf[1] = 0xc0; asmc_key_write(dev, ASMC_KEY_SMS_HIGH, buf, 2); - DELAY(150); + DELAY(200); /* * I'm not sure what this key does, but it seems to be From owner-p4-projects@FreeBSD.ORG Sat Jul 7 15:58:20 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B3FE16A41F; Sat, 7 Jul 2007 15:58:20 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC61F16A46D for ; Sat, 7 Jul 2007 15:58:19 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CC81413C457 for ; Sat, 7 Jul 2007 15:58:19 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67FwJ2N022455 for ; Sat, 7 Jul 2007 15:58:19 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67FwJ6l022452 for perforce@freebsd.org; Sat, 7 Jul 2007 15:58:19 GMT (envelope-from lulf@FreeBSD.org) Date: Sat, 7 Jul 2007 15:58:19 GMT Message-Id: <200707071558.l67FwJ6l022452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123061 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 15:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=123061 Change 123061 by lulf@lulf_carrot on 2007/07/07 15:58:16 - Set correct volume size. This solves the problem with having unequal mirrored plexes. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#17 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#17 (text+ko) ==== @@ -971,9 +971,7 @@ } LIST_FOREACH(v, &sc->volumes, volume) { - p = LIST_FIRST(&v->plexes); - if (p != NULL) - v->size = p->size; + v->size = gv_vol_size(v); if (v->provider == NULL) { g_topology_lock(); pp = g_new_providerf(sc->geom, "gvinum/%s", v->name); From owner-p4-projects@FreeBSD.ORG Sat Jul 7 19:06:19 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 997A416A468; Sat, 7 Jul 2007 19:06:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55B5216A400 for ; Sat, 7 Jul 2007 19:06:19 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4529013C44C for ; Sat, 7 Jul 2007 19:06:19 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l67J6JE3048802 for ; Sat, 7 Jul 2007 19:06:19 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l67J6Jwa048799 for perforce@freebsd.org; Sat, 7 Jul 2007 19:06:19 GMT (envelope-from thioretic@FreeBSD.org) Date: Sat, 7 Jul 2007 19:06:19 GMT Message-Id: <200707071906.l67J6Jwa048799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 123068 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2007 19:06:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=123068 Change 123068 by thioretic@thioretic on 2007/07/07 19:05:27 Start to introduce advanced topology stuff. Now device has multiple parents, so some dummy find & replace. Those for bus_generic_* stuff next time.) Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#9 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#7 edit .. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#5 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#9 (text+ko) ==== @@ -71,6 +71,7 @@ # represent drivers of interest. a.1.2 Devclasses SOLUTION: add filters field to devclass + FILE(S) AFFECTED: kern/subr_bus.c # the filter drivers (with DR_LOWESTparent->filters), dc, link); + TAILQ_INSERT_TAIL(&(dc->parent->filters), &dc, link); } return (dc); @@ -1246,7 +1258,7 @@ * Make sure the devclass which the driver is implementing exists. */ if (!drv_compat_get_flags (driver, &flags)){ - /*todo what???*/ + /*todo what???*/; } devclass_find_internal(driver->name, 0, TRUE, FALSE); @@ -1322,8 +1334,8 @@ if (dc->devices[i]) { dev = dc->devices[i]; if (/*dev->driver == driver*/ - is_device_driver(dev, driver) && dev->parent && - dev->parent->devclass == busclass) { + is_device_driver(dev, driver) && !TAILQ_EMPTY(&(dev->parents)) && + (TAILQ_FIRST(&(dev->parent->devclass))) == busclass) { if ((error = device_detach(dev)) != 0) return (error); device_set_driver(dev, NULL); @@ -1398,8 +1410,8 @@ if (dc->devices[i]) { dev = dc->devices[i]; if (/*dev->driver == driver*/ - is_device_driver(dev, driver) && dev->parent && - dev->parent->devclass == busclass) { + is_device_driver(dev, driver) && !TAILQ_EMPTY(&(dev->parents) && + (TAILQ_FIRST(&(dev->parent)))->devclass == busclass) { if ((error = device_quiesce(dev)) != 0) return (error); } @@ -1820,11 +1832,12 @@ * @returns the new device */ static device_t -make_device(device_t parent, const char *name, int unit) /*TODO*/ +make_device(device_t parent, const char *name, int unit, driver_t *initto) /*TODO*/ { device_t dev; devclass_t dc; int level; + drv_compat_t drvc; PDEBUG(("%s at %s as unit %d", name, DEVICENAME(parent), unit)); @@ -1842,14 +1855,27 @@ dev = malloc(sizeof(struct device), M_BUS, M_NOWAIT|M_ZERO); if (!dev) return (NULL); - - dev->parent = parent; - TAILQ_INIT(&dev->children); - kobj_init((kobj_t) dev, &null_class); + TAILQ_INIT(&(dev->parents)); + TAILQ_INSERT_TAIL(&(dev->parents), *parent, link) + TAILQ_INIT(&(dev->children)); + //kobj_init((kobj_t) dev, &null_class); + kobj_init((kobj_t) dev, &drv_compat_ctrl_driver) //dev->driver = NULL; for (level=DRV_LOWEST; level<=DRV_TOPMOST; level++) TAILQ_INIT(&((dev->drivers)[level])); - dev->devclass = NULL; + if (initto){ + drvc = drv_compat_find_driver (initto); + if (!(drvc->topology_ops = kobj_create (initto, M_BUS, M_NOWAIT|M_ZERO))) + /*todo what??*/; + dev->devclass = devclass_find (DRIVERNAME(driver)); + level = drv_compat_flags2idx(drvc->flags); + TAILQ_INSERT_TAIL (&((dev->drivers)[level]), &drvc, link); + dev->state = DS_ALIVE; + } + else{ + dev->devclass = NULL; + dev->state = DS_NOTPRESENT; + } dev->unit = unit; dev->nameunit = NULL; dev->desc = NULL; @@ -1863,13 +1889,13 @@ dev->flags |= DF_FIXEDCLASS; if (devclass_add_device(dc, dev)) { kobj_delete((kobj_t) dev, M_BUS); + dev->state = 0; return (NULL); } } dev->ivars = NULL; dev->softc = NULL; - dev->state = DS_NOTPRESENT; TAILQ_INSERT_TAIL(&bus_data_devices, dev, devlink); bus_data_generation_update(); @@ -1945,7 +1971,7 @@ PDEBUG(("%s at %s with order %d as unit %d", name, DEVICENAME(dev), order, unit)); - child = make_device(dev, name, unit); + child = make_device(dev, name, unit, NULL); if (child == NULL) return (child); child->order = order; @@ -2013,6 +2039,15 @@ return (0); } +static int +is_device_parent (device_t dev, device_t child){ + device_t dc; + TAILQ_FOREACH (dc, &(child->parents), link){ + if (dc == dev) return (1); + } + return (0); +} + /** * @brief Find a device given a unit number * @@ -2039,12 +2074,14 @@ if (unit != -1) { child = devclass_get_device(dc, unit); - if (child && child->parent == dev) + if (child && /*child->parent == dev*/ + is_device_parent(dev, child)) return (child); } else { for (unit = 0; unit < devclass_get_maxunit(dc); unit++) { child = devclass_get_device(dc, unit); - if (child && child->parent == dev) + if (child && /*child->parent == dev*/ + is_device_parent(dev, child)) return (child); } } @@ -2224,9 +2261,11 @@ * @brief Return the parent of a device */ device_t -device_get_parent(device_t dev) +device_get_parent(device_t dev) /*TODO*/ { - return (dev->parent); + if (!TAILQ_EMPTY(&(dev->parents))) + return (TAILQ_FIRST(&(dev->parents))); + return (NULL); } /** @@ -2545,10 +2584,14 @@ void device_busy(device_t dev) { + device_t parent; if (dev->state < DS_ATTACHED) panic("device_busy: called for unattached device"); - if (dev->busy == 0 && dev->parent) - device_busy(dev->parent); + if (dev->busy == 0 && !TAILQ_EMPTY(&(dev->parents))){ + TAILQ_FOREACH (parent, &(dev->parents), link){ + device_busy(parent); + } + } dev->busy++; dev->state = DS_BUSY; } @@ -2564,8 +2607,12 @@ device_get_nameunit(dev)); dev->busy--; if (dev->busy == 0) { - if (dev->parent) - device_unbusy(dev->parent); + if (/*dev->parent*/!TAILQ_EMPTY(&(dev->parents))){ + TAILQ_FOREACH (parent, &(dev->parents), link){ + device_unbusy(parent); + } + } + //device_unbusy(dev->parent); dev->state = DS_ATTACHED; } } @@ -2725,7 +2772,7 @@ * @retval non-zero some other unix error code */ int -device_probe_and_attach(device_t dev) +device_probe_and_attach(device_t dev) /*TODO*/ { int error; @@ -2777,10 +2824,14 @@ device_attach(device_t dev) { int error; + device_t parent; device_sysctl_init(dev); - if (!device_is_quiet(dev)) - device_print_child(dev->parent, dev); + if (!device_is_quiet(dev)){ + TAILQ_FOREACH (parent, &(dev->parents), link){ + device_print_child(parent, dev); + } + } if ((error = DEVICE_ATTACH(dev)) != 0) { printf("device_attach: %s%d attach returned %d\n", dev->driver->name, dev->unit, error); @@ -2817,6 +2868,7 @@ device_detach(device_t dev) { int error; + device_t parent; GIANT_REQUIRED; @@ -2830,8 +2882,11 @@ return (error); devremoved(dev); device_printf(dev, "detached\n"); - if (dev->parent) - BUS_CHILD_DETACHED(dev->parent, dev); + if (!TAILQ_EMPTY(&(dev->parent))){ + TAILQ_FOREACH (parent, &(dev->parents), link){ + BUS_CHILD_DETACHED(parent, dev); + } + } if (!(dev->flags & DF_FIXEDCLASS)) devclass_delete_device(dev->devclass, dev); @@ -4057,7 +4112,7 @@ case MOD_LOAD: TAILQ_INIT(&bus_data_devices); kobj_class_compile((kobj_class_t) &root_driver); - root_bus = make_device(NULL, "root", 0); + root_bus = make_device(NULL, "root", 0, NULL); root_bus->desc = "System root bus"; kobj_init((kobj_t) root_bus, (kobj_class_t) &root_driver); root_bus->driver = &root_driver; @@ -4159,13 +4214,13 @@ int driver_module_handler(module_t mod, int what, void *arg) { - int error; + int error=0; struct driver_module_data *dmd; devclass_t bus_devclass, parent_devclass, filter_devclass; drv_internal_t drv_intnl; kobj_class_t driver; char* parents[]; - int count=0; + int count=0, isfilter; dmd = (struct driver_module_data *)arg; drv_intnl = dmd->dmd_driver; @@ -4183,23 +4238,24 @@ driver = drv_intnl->devops; PDEBUG(("Loading module: driver %s on bus %s", DRIVERNAME(driver), dmd->dmd_busname)); - if (drv_intnl->flags & ~(DR_LOWEST | DR_STACKAWARE | DR_TOPMOST)){ + if (!parse_parent_name(dmd->dmd_busname, &parents)) + break; + isfilter = drv_intnl->flags & ~(DR_LOWEST | DR_STACKAWARE | DR_TOPMOST); + while (parents[count]){ + if (isfilter){ /* if is a filter driver */ - if (!parse_parent_name(dmd->dmd_busname, &parents)) - break; - while (parents[count]){ parent_devclass = devclass_find_internal (parents[count], 0, TRUE, FALSE); filter_devclass = devclass_find_internal (driver->name, parent[count], TRUE, TRUE); - error = devclass_add_driver (filter_devclass, driver); + error &= devclass_add_driver (filter_devclass, driver); count++; } - free(parents); + else{ + error &= devclass_add_driver(parents[count], driver); + } } - else{ - error = devclass_add_driver(bus_devclass, driver); - } + free(parents); if (error) break; @@ -4220,6 +4276,15 @@ *dmd->dmd_devclass = devclass_find_internal(driver->name, 0, TRUE); } + + if(drv_intnl->flags & DR_REQDEV){ /*restrict to DR_LOWEST? */ + make_device (root_bus, DRIVERNAME(driver), -1, driver); + /* todo: set all parents for device + * parents are all devices (alive) in parent + * devclasses + */ + } + break; case MOD_UNLOAD: ==== //depot/projects/soc2007/thioretic_gidl/sys/bus.h#5 (text+ko) ==== @@ -495,6 +495,7 @@ #define DR_MIDDLE 8 #define DR_UPPER 16 #define DR_TOPMOST 32 +#define DR_REQDEV 64 uint32_t flags; };