From owner-p4-projects@FreeBSD.ORG Sun Mar 16 00:00:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BA99106566C; Sun, 16 Mar 2008 00:00:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AD48106566B for ; Sun, 16 Mar 2008 00:00:40 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B06F8FC14 for ; Sun, 16 Mar 2008 00:00:40 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G00dEF093039 for ; Sun, 16 Mar 2008 00:00:39 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G00dJq093037 for perforce@freebsd.org; Sun, 16 Mar 2008 00:00:39 GMT (envelope-from marcel@freebsd.org) Date: Sun, 16 Mar 2008 00:00:39 GMT Message-Id: <200803160000.m2G00dJq093037@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 137814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 00:00:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=137814 Change 137814 by marcel@marcel_xcllnt on 2008/03/15 23:59:52 Handle decrementer. Handle openpic. call sched_throw(). Affected files ... .. //depot/projects/powerpc/sys/powerpc/aim/clock.c#2 edit .. //depot/projects/powerpc/sys/powerpc/aim/mp_cpudep.c#5 edit .. //depot/projects/powerpc/sys/powerpc/include/pcpu.h#12 edit .. //depot/projects/powerpc/sys/powerpc/powerpc/mp_machdep.c#20 edit .. //depot/projects/powerpc/sys/powerpc/powerpc/openpic.c#9 edit Differences ... ==== //depot/projects/powerpc/sys/powerpc/aim/clock.c#2 (text+ko) ==== @@ -61,11 +61,12 @@ #include #include #include -#include #include #include +#include +#include +#include #include -#include #include @@ -77,11 +78,9 @@ /* * Initially we assume a processor with a bus frequency of 12.5 MHz. */ -u_int tickspending; u_long ns_per_tick = 80; static u_long ticks_per_sec = 12500000; static long ticks_per_intr; -static volatile u_long lasttb; #define DIFF19041970 2082844800 @@ -164,7 +163,6 @@ void decr_intr(struct trapframe *frame) { - u_long tb; long tick; int nticks; @@ -178,36 +176,17 @@ * Based on the actual time delay since the last decrementer reload, * we arrange for earlier interrupt next time. */ - __asm ("mftb %0; mfdec %1" : "=r"(tb), "=r"(tick)); + __asm ("mfdec %0" : "=r"(tick)); for (nticks = 0; tick < 0; nticks++) tick += ticks_per_intr; mtdec(tick); - /* - * lasttb is used during microtime. Set it to the virtual - * start of this tick interval. - */ - lasttb = tb + tick - ticks_per_intr; - nticks += tickspending; - tickspending = 0; - - /* - * Reenable interrupts - */ -#if 0 - msr = mfmsr(); - mtmsr(msr | PSL_EE | PSL_RI); -#endif - /* - * Do standard timer interrupt stuff. - * Do softclock stuff only on the last iteration. - */ -#if 0 - while (--nticks > 0) { - hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); + while (nticks-- > 0) { + if (PCPU_GET(cpuid) == 0) + hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); + else + hardclock_cpu(TRAPF_USERMODE(frame)); } -#endif - hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); } void @@ -235,7 +214,6 @@ ns_per_tick = 1000000000 / ticks_per_sec; ticks_per_intr = ticks_per_sec / hz; - __asm __volatile ("mftb %0" : "=r"(lasttb)); mtdec(ticks_per_intr); mtmsr(msr); ==== //depot/projects/powerpc/sys/powerpc/aim/mp_cpudep.c#5 (text+ko) ==== @@ -135,18 +135,6 @@ return (powerpc_smp_fill_cpuref(cpuref, bsp)); } -#if 0 -static void -dump_rstvec(void) -{ - uint32_t buf[6]; - - bcopy((void *)EXC_RST, buf, sizeof(buf)); - printf("XXX: %08x %08x %08x %08x %08x %08x\n", buf[0], buf[1], buf[2], - buf[3], buf[4], buf[5]); -} -#endif - uint32_t cpudep_ap_bootstrap(volatile uint32_t *trcp) { ==== //depot/projects/powerpc/sys/powerpc/include/pcpu.h#12 (text+ko) ==== @@ -41,6 +41,7 @@ struct pmap *pc_curpmap; /* current pmap */ \ struct thread *pc_fputhread; /* current fpu user */ \ uintptr_t pc_hwref; \ + uint32_t pc_pir; \ int pc_bsp:1; \ int pc_awake:1; \ uint32_t pc_ipimask; \ ==== //depot/projects/powerpc/sys/powerpc/powerpc/mp_machdep.c#20 (text+ko) ==== @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include @@ -45,7 +47,8 @@ MALLOC_DEFINE(M_SMP, "smp", "SMP specific datastructures"); volatile static int ap_awake; -volatile static int ap_spin; +volatile static u_int ap_state; +volatile static uint32_t ap_decr; int mp_ipi_test = 0; @@ -56,14 +59,19 @@ trcp[0] = 0x3000; trcp[1] = (uint32_t)&machdep_ap_bootstrap; + __asm __volatile("mtspr 1023,%0" :: "r"(PCPU_GET(cpuid))); + __asm __volatile("mfspr %0,1023" : "=r"(pcpup->pc_pir)); pcpup->pc_awake = 1; - while (ap_spin) - DELAY(0); + while (ap_state == 0) + ; + + __asm __volatile("mtdec %0" :: "r"(ap_decr)); ap_awake++; - while (1); + mtmsr(mfmsr() | PSL_EE | PSL_RI); + sched_throw(NULL); } struct cpu_group * @@ -135,10 +143,12 @@ pcpu_init(pc, cpu.cr_cpuid, sizeof(*pc)); } else { pc = pcpup; + pc->pc_cpuid = bsp.cr_cpuid; pc->pc_bsp = 1; } + pc->pc_cpumask = 1 << pc->pc_cpuid; pc->pc_hwref = cpu.cr_hwref; - all_cpus |= 1 << cpu.cr_cpuid; + all_cpus |= pc->pc_cpumask; next: error = powerpc_smp_next_cpu(&cpu); @@ -176,28 +186,29 @@ return; } - ap_spin = 1; - cpus = 0; smp_cpus = 0; SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { cpus++; + pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask; if (!pc->pc_bsp) { printf("Waking up CPU %d (dev=%x)\n", pc->pc_cpuid, pc->pc_hwref); powerpc_smp_start_cpu(pc); - } else + } else { + __asm __volatile("mfspr %0,1023" : "=r"(pc->pc_pir)); pc->pc_awake = 1; - + } if (pc->pc_awake) smp_cpus++; } ap_awake = 1; - ap_spin = 0; + __asm __volatile("mfdec %0" : "=r"(ap_decr)); + ap_state++; while (ap_awake < smp_cpus) - DELAY(0); + ; if (smp_cpus != cpus || cpus != mp_ncpus) { printf("SMP: %d CPUs found; %d CPUs usable; %d CPUs woken\n", @@ -229,7 +240,7 @@ case IPI_AST: break; case IPI_PREEMPT: - /* TBD */ + sched_preempt(curthread); break; case IPI_RENDEZVOUS: smp_rendezvous_action(); ==== //depot/projects/powerpc/sys/powerpc/powerpc/openpic.c#9 (text+ko) ==== @@ -82,7 +82,7 @@ openpic_attach(device_t dev) { struct openpic_softc *sc; - u_int ipi, irq; + u_int cpu, ipi, irq; u_int32_t x; sc = device_get_softc(dev); @@ -132,6 +132,11 @@ "Version %s, supports %d CPUs and %d irqs\n", sc->sc_version, sc->sc_ncpu, sc->sc_nirq); + for (cpu = 0; cpu < sc->sc_ncpu; cpu++) { + openpic_write(sc, OPENPIC_PCPU_TPR(cpu), 0); + openpic_write(sc, OPENPIC_PCPU_WHOAMI(cpu), cpu); + } + /* Reset and disable all interrupts. */ for (irq = 0; irq < sc->sc_nirq; irq++) { x = irq; /* irq == vector. */ @@ -150,8 +155,6 @@ openpic_write(sc, OPENPIC_IPI_VECTOR(ipi), x); } - openpic_set_priority(sc, 15); - /* we don't need 8259 passthrough mode */ x = openpic_read(sc, OPENPIC_CONFIG); x |= OPENPIC_CONFIG_8259_PASSTHRU_DISABLE; @@ -161,9 +164,10 @@ for (irq = 0; irq < sc->sc_nirq; irq++) openpic_write(sc, OPENPIC_IDEST(irq), 1 << 0); - /* XXX set spurious intr vector */ - - openpic_set_priority(sc, 0); + for (cpu = 0; cpu < sc->sc_ncpu; cpu++) { + openpic_write(sc, OPENPIC_PCPU_TPR(cpu), 0); + openpic_write(sc, OPENPIC_PCPU_WHOAMI(cpu), cpu); + } /* clear all pending interrupts */ for (irq = 0; irq < sc->sc_nirq; irq++) { From owner-p4-projects@FreeBSD.ORG Sun Mar 16 01:29:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 278631065670; Sun, 16 Mar 2008 01:29:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C0CD0106564A for ; Sun, 16 Mar 2008 01:29:18 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BC2688FC19 for ; Sun, 16 Mar 2008 01:29:18 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G1TIBi008391 for ; Sun, 16 Mar 2008 01:29:18 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G1TIlk008389 for perforce@freebsd.org; Sun, 16 Mar 2008 01:29:18 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 01:29:18 GMT Message-Id: <200803160129.m2G1TIlk008389@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 137816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 01:29:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=137816 Change 137816 by sam@sam_ebb on 2008/03/16 01:29:06 implement protection (need to add raw xmit path still) Obtained from: openbsd (loosely) MFP4 after: 2 weeks Affected files ... .. //depot/projects/vap/sys/dev/usb/if_ural.c#14 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_ural.c#14 (text+ko) ==== @@ -1316,6 +1316,71 @@ } static int +ural_sendprot(struct ural_softc *sc, + const struct mbuf *m, struct ieee80211_node *ni, int prot, int rate) +{ + struct ieee80211com *ic = ni->ni_ic; + const struct ieee80211_frame *wh; + struct ural_tx_desc *desc; + struct ural_tx_data *data; + struct mbuf *mprot; + int protrate, ackrate, pktlen, flags; + uint16_t dur; + usbd_status error; + + KASSERT(prot == IEEE80211_PROT_RTSCTS || prot == IEEE80211_PROT_CTSONLY, + ("protection %d", prot)); + + wh = mtod(m, const struct ieee80211_frame *); + pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; + + /* XXX use phy support */ + protrate = 2; + ackrate = ural_ack_rate(ic, rate); + + dur = ural_txtime(pktlen, rate, ic->ic_flags) + + ural_txtime(RAL_ACK_SIZE, ackrate, ic->ic_flags) + + 2 * RAL_SIFS; + flags = RAL_TX_RETRY(7); + if (prot == IEEE80211_PROT_RTSCTS) { + dur += ural_txtime(RAL_CTS_SIZE, + ural_ack_rate(ic, protrate), ic->ic_flags) + RAL_SIFS; + flags |= RAL_TX_ACK; + mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); + } else { + mprot = ieee80211_alloc_cts(ic, ni->ni_vap->iv_myaddr, dur); + } + if (mprot == NULL) { + /* XXX stat + msg */ + return ENOBUFS; + } + data = &sc->tx_data[sc->tx_cur]; + desc = (struct ural_tx_desc *)data->buf; + + data->m = mprot; + data->ni = ieee80211_ref_node(ni); + m_copydata(mprot, 0, mprot->m_pkthdr.len, data->buf + RAL_TX_DESC_SIZE); + ural_setup_tx_desc(sc, desc, flags, mprot->m_pkthdr.len, protrate); + + usbd_setup_xfer(data->xfer, sc->sc_tx_pipeh, data, data->buf, + /* NB: no roundup necessary */ + RAL_TX_DESC_SIZE + mprot->m_pkthdr.len, + USBD_FORCE_SHORT_XFER | USBD_NO_COPY, RAL_TX_TIMEOUT, ural_txeof); + + error = usbd_transfer(data->xfer); + if (error != USBD_NORMAL_COMPLETION && error != USBD_IN_PROGRESS) { + data->m = NULL; + data->ni = NULL; + return error; + } + + sc->tx_queued++; + sc->tx_cur = (sc->tx_cur + 1) % RAL_TX_LIST_COUNT; + + return 0; +} + +static int ural_tx_raw(struct ural_softc *sc, struct mbuf *m0, struct ieee80211_node *ni, const struct ieee80211_bpf_params *params) { @@ -1338,6 +1403,7 @@ m_freem(m0); return EINVAL; } + /* XXX honor protection */ if (bpf_peers_present(ifp->if_bpf)) { struct ural_tx_radiotap_header *tap = &sc->sc_txtap; @@ -1429,6 +1495,23 @@ wh = mtod(m0, struct ieee80211_frame *); } + if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { + int prot = IEEE80211_PROT_NONE; + if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) + prot = IEEE80211_PROT_RTSCTS; + else if ((ic->ic_flags & IEEE80211_F_USEPROT) && + RAL_RATE_IS_OFDM(rate)) + prot = ic->ic_protmode; + if (prot != IEEE80211_PROT_NONE) { + error = ural_sendprot(sc, m0, ni, prot, rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RAL_TX_IFS_SIFS; + } + } + data = &sc->tx_data[sc->tx_cur]; desc = (struct ural_tx_desc *)data->buf; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 02:31:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFD101065674; Sun, 16 Mar 2008 02:31:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADAD1106564A for ; Sun, 16 Mar 2008 02:31:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ACF8D8FC15 for ; Sun, 16 Mar 2008 02:31:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G2VPHl011772 for ; Sun, 16 Mar 2008 02:31:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G2VO4B011770 for perforce@freebsd.org; Sun, 16 Mar 2008 02:31:24 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 02:31:24 GMT Message-Id: <200803160231.m2G2VO4B011770@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 137817 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 02:31:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=137817 Change 137817 by sam@sam_ebb on 2008/03/16 02:30:50 add routines to alloc+build rts and cts frames; inspired by similar routines in openbsd Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_output.c#39 edit .. //depot/projects/vap/sys/net80211/ieee80211_proto.h#18 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_output.c#39 (text+ko) ==== @@ -543,7 +543,7 @@ return EIO; /* XXX */ } - MGETHDR(m, M_NOWAIT, MT_HEADER); + m = m_gethdr(M_NOWAIT, MT_HEADER); if (m == NULL) { /* XXX debug msg */ ieee80211_unref_node(&ni); @@ -2246,6 +2246,59 @@ return ic->ic_raw_xmit(bss, m, NULL); } +/* + * Allocate and build a RTS (Request To Send) control frame. + */ +struct mbuf * +ieee80211_alloc_rts(struct ieee80211com *ic, + const uint8_t ra[IEEE80211_ADDR_LEN], + const uint8_t ta[IEEE80211_ADDR_LEN], + uint16_t dur) +{ + struct ieee80211_frame_rts *rts; + struct mbuf *m; + + /* XXX honor ic_headroom */ + m = m_gethdr(M_DONTWAIT, MT_DATA); + if (m != NULL) { + rts = mtod(m, struct ieee80211_frame_rts *); + rts->i_fc[0] = IEEE80211_FC0_VERSION_0 | + IEEE80211_FC0_TYPE_CTL | IEEE80211_FC0_SUBTYPE_RTS; + rts->i_fc[1] = IEEE80211_FC1_DIR_NODS; + *(u_int16_t *)rts->i_dur = htole16(dur); + IEEE80211_ADDR_COPY(rts->i_ra, ra); + IEEE80211_ADDR_COPY(rts->i_ta, ta); + + m->m_pkthdr.len = m->m_len = sizeof(struct ieee80211_frame_rts); + } + return m; +} + +/* + * Allocate and build a CTS (Clear To Send) control frame. + */ +struct mbuf * +ieee80211_alloc_cts(struct ieee80211com *ic, + const uint8_t ra[IEEE80211_ADDR_LEN], uint16_t dur) +{ + struct ieee80211_frame_cts *cts; + struct mbuf *m; + + /* XXX honor ic_headroom */ + m = m_gethdr(M_DONTWAIT, MT_DATA); + if (m != NULL) { + cts = mtod(m, struct ieee80211_frame_cts *); + cts->i_fc[0] = IEEE80211_FC0_VERSION_0 | + IEEE80211_FC0_TYPE_CTL | IEEE80211_FC0_SUBTYPE_CTS; + cts->i_fc[1] = IEEE80211_FC1_DIR_NODS; + *(u_int16_t *)cts->i_dur = htole16(dur); + IEEE80211_ADDR_COPY(cts->i_ra, ra); + + m->m_pkthdr.len = m->m_len = sizeof(struct ieee80211_frame_cts); + } + return m; +} + static void ieee80211_tx_mgt_timeout(void *arg) { ==== //depot/projects/vap/sys/net80211/ieee80211_proto.h#18 (text+ko) ==== @@ -91,6 +91,11 @@ struct mbuf *ieee80211_alloc_proberesp(struct ieee80211_node *, int); int ieee80211_send_proberesp(struct ieee80211vap *, const uint8_t da[IEEE80211_ADDR_LEN], int); +struct mbuf *ieee80211_alloc_rts(struct ieee80211com *ic, + const uint8_t [IEEE80211_ADDR_LEN], + const uint8_t [IEEE80211_ADDR_LEN], uint16_t); +struct mbuf *ieee80211_alloc_cts(struct ieee80211com *, + const uint8_t [IEEE80211_ADDR_LEN], uint16_t); void ieee80211_reset_erp(struct ieee80211com *); void ieee80211_set_shortslottime(struct ieee80211com *, int onoff); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 02:31:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 642CF1065697; Sun, 16 Mar 2008 02:31:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D10FA1065672 for ; Sun, 16 Mar 2008 02:31:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D09F48FC16 for ; Sun, 16 Mar 2008 02:31:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G2VPP0011777 for ; Sun, 16 Mar 2008 02:31:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G2VPqB011775 for perforce@freebsd.org; Sun, 16 Mar 2008 02:31:25 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 02:31:25 GMT Message-Id: <200803160231.m2G2VPqB011775@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 137818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 02:31:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=137818 Change 137818 by sam@sam_ebb on 2008/03/16 02:31:21 expose if_purgemaddrs for net80211 use Affected files ... .. //depot/projects/vap/sys/net/if.c#8 edit .. //depot/projects/vap/sys/net/if_var.h#7 edit Differences ... ==== //depot/projects/vap/sys/net/if.c#8 (text+ko) ==== @@ -107,7 +107,6 @@ */ static void if_attachdomain(void *); static void if_attachdomain1(struct ifnet *); -static void if_purgemaddrs(struct ifnet *); static int ifconf(u_long, caddr_t); static void if_freemulti(struct ifmultiaddr *); static void if_grow(void); @@ -644,7 +643,7 @@ /* * Remove any multicast network addresses from an interface. */ -static void +void if_purgemaddrs(struct ifnet *ifp) { struct ifmultiaddr *ifma; ==== //depot/projects/vap/sys/net/if_var.h#7 (text+ko) ==== @@ -669,6 +669,7 @@ void if_delmulti_ifma(struct ifmultiaddr *); void if_detach(struct ifnet *); void if_purgeaddrs(struct ifnet *); +void if_purgemaddrs(struct ifnet *); void if_down(struct ifnet *); struct ifmultiaddr * if_findmulti(struct ifnet *, struct sockaddr *); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 02:59:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4746A1065670; Sun, 16 Mar 2008 02:59:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 055771065676 for ; Sun, 16 Mar 2008 02:59:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 04D2B8FC1A for ; Sun, 16 Mar 2008 02:59:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G2xsBb012593 for ; Sun, 16 Mar 2008 02:59:54 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G2xsXh012591 for perforce@freebsd.org; Sun, 16 Mar 2008 02:59:54 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 02:59:54 GMT Message-Id: <200803160259.m2G2xsXh012591@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 137820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 02:59:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=137820 Change 137820 by sam@sam_ebb on 2008/03/16 02:59:46 must check if cb hook is setup Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_amrr.c#8 edit .. //depot/projects/vap/sys/net80211/ieee80211_proto.c#25 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_amrr.c#8 (text+ko) ==== @@ -172,7 +172,7 @@ struct ieee80211_amrr *amrr = amn->amn_amrr; int rix; - if (is_enough(amn) && ticks - amn->amn_ticks > amrr->amrr_interval) { + if (is_enough(amn) && (ticks - amn->amn_ticks) > amrr->amrr_interval) { rix = amrr_update(amrr, amn, ni); if (rix != amn->amn_rix) { /* update public rate */ @@ -180,6 +180,7 @@ ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL; amn->amn_rix = rix; } + amn->amn_ticks = ticks; } else rix = amn->amn_rix; return rix; ==== //depot/projects/vap/sys/net80211/ieee80211_proto.c#25 (text+ko) ==== @@ -1681,7 +1681,7 @@ vap->iv_newstate_cb = ieee80211_newstate_cb; } rc = vap->iv_newstate(vap, nstate, arg); - if (rc == 0) + if (rc == 0 && vap->iv_newstate_cb != NULL) vap->iv_newstate_cb(vap, nstate, arg); done: return rc; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 03:01:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E90091065675; Sun, 16 Mar 2008 03:01:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9BE61106564A for ; Sun, 16 Mar 2008 03:01:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 82B528FC17 for ; Sun, 16 Mar 2008 03:01:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G31vfw012829 for ; Sun, 16 Mar 2008 03:01:57 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G31vGE012827 for perforce@freebsd.org; Sun, 16 Mar 2008 03:01:57 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 03:01:57 GMT Message-Id: <200803160301.m2G31vGE012827@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 137821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 03:01:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=137821 Change 137821 by sam@sam_ebb on 2008/03/16 03:01:10 forced commit to note last change corrected time-based updates; wasn't updating the tick time of the last rate control update Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_amrr.c#9 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_amrr.c#9 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Mar 16 03:10:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8AED1065675; Sun, 16 Mar 2008 03:10:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 657A11065672; Sun, 16 Mar 2008 03:10:49 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 1FD078FC1A; Sun, 16 Mar 2008 03:10:49 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m2G39dlC031155; Sat, 15 Mar 2008 21:09:39 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 15 Mar 2008 21:10:14 -0600 (MDT) Message-Id: <20080315.211014.-1303466449.imp@bsdimp.com> To: rrs@freebsd.org From: "M. Warner Losh" In-Reply-To: <200803131744.m2DHi57M087677@repoman.freebsd.org> References: <200803131744.m2DHi57M087677@repoman.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: perforce@freebsd.org Subject: Re: PERFORCE change 137623 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 03:10:50 -0000 You might put some CTASSERTs in to make sure that we're divisible by 16 for these defines. Warner From owner-p4-projects@FreeBSD.ORG Sun Mar 16 03:13:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 288D51065670; Sun, 16 Mar 2008 03:13:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA8A5106564A; Sun, 16 Mar 2008 03:13:43 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id ADDF18FC14; Sun, 16 Mar 2008 03:13:43 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m2G3AMBH031168; Sat, 15 Mar 2008 21:10:22 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 15 Mar 2008 21:10:57 -0600 (MDT) Message-Id: <20080315.211057.420517080.imp@bsdimp.com> To: rrs@freebsd.org From: "M. Warner Losh" In-Reply-To: <200803131750.m2DHoDj9087965@repoman.freebsd.org> References: <200803131750.m2DHoDj9087965@repoman.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: perforce@freebsd.org Subject: Re: PERFORCE change 137628 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 03:13:45 -0000 In message: <200803131750.m2DHoDj9087965@repoman.freebsd.org> "Randall R. Stewart" writes: : http://perforce.freebsd.org/chv.cgi?CH=137628 : : Change 137628 by rrs@rrs-mips2-jnpr on 2008/03/13 17:49:36 : : Get opt_global.h in so we can pick up SOFTFLOAT This change is a nop. opt_global.h is included by all files automatically. Warner : Affected files ... : : .. //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#16 edit : : Differences ... : : ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#16 (text+ko) ==== : : @@ -42,6 +42,7 @@ : __FBSDID("$FreeBSD$"); : : #include "opt_ddb.h" : +#include "opt_global.h" : : #define NO_REG_DEFS 1 /* Prevent asm.h from including regdef.h */ : #include : From owner-p4-projects@FreeBSD.ORG Sun Mar 16 03:52:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CB021065673; Sun, 16 Mar 2008 03:52:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D03BB106564A for ; Sun, 16 Mar 2008 03:52:53 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CEF958FC16 for ; Sun, 16 Mar 2008 03:52:53 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G3qrdZ017252 for ; Sun, 16 Mar 2008 03:52:53 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G3qr9X017250 for perforce@freebsd.org; Sun, 16 Mar 2008 03:52:53 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 03:52:53 GMT Message-Id: <200803160352.m2G3qr9X017250@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 137823 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 03:52:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=137823 Change 137823 by sam@sam_ebb on 2008/03/16 03:52:37 must call iv_reset before checking ENETRESET so the default method can return it and force the legacy path Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#44 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#44 (text+ko) ==== @@ -3311,14 +3311,14 @@ * reload of the hardware state but not a complete re-init; * in that case we use the iv_reset callback. If a device * does not fillin iv_reset then it defaults to one that - * calls the init method--which may be suboptimal. + * returns ENETRESET--which may be suboptimal. */ + if (error == ERESTART) + error = IFNET_IS_UP_RUNNING(ifp) ? vap->iv_reset(vap, cmd) : 0; if (error == ENETRESET) { if (IFNET_IS_UP_RUNNING(ifp)) ieee80211_init(vap); error = 0; - } else if (error == ERESTART) { - error = IFNET_IS_UP_RUNNING(ifp) ? vap->iv_reset(vap, cmd) : 0; } return error; } From owner-p4-projects@FreeBSD.ORG Sun Mar 16 06:20:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31D8D1065672; Sun, 16 Mar 2008 06:20:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDFA51065670 for ; Sun, 16 Mar 2008 06:20:41 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C4C448FC12 for ; Sun, 16 Mar 2008 06:20:41 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2G6Kfp9034690 for ; Sun, 16 Mar 2008 06:20:41 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2G6KcPj034688 for perforce@freebsd.org; Sun, 16 Mar 2008 06:20:38 GMT (envelope-from imp@freebsd.org) Date: Sun, 16 Mar 2008 06:20:38 GMT Message-Id: <200803160620.m2G6KcPj034688@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 137825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 06:20:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=137825 Change 137825 by imp@imp_lighthouse on 2008/03/16 06:20:15 First cut at customization for the SLUG: a kernel config file. Affected files ... .. //depot/projects/arm/src/sys/arm/conf/SLUG#1 add .. //depot/projects/arm/src/sys/arm/conf/SLUG.hints#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 16 16:15:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A21A21065677; Sun, 16 Mar 2008 16:15:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 617AA1065675 for ; Sun, 16 Mar 2008 16:15:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 533998FC1D for ; Sun, 16 Mar 2008 16:15:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GGF8Wf088362 for ; Sun, 16 Mar 2008 16:15:08 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GGF89o088360 for perforce@freebsd.org; Sun, 16 Mar 2008 16:15:08 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 16:15:08 GMT Message-Id: <200803161615.m2GGF89o088360@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 137838 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 16:15:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=137838 Change 137838 by sam@sam_ebb on 2008/03/16 16:14:30 honor protection in the raw xmit path Affected files ... .. //depot/projects/vap/sys/dev/usb/if_ural.c#15 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_ural.c#15 (text+ko) ==== @@ -1403,7 +1403,20 @@ m_freem(m0); return EINVAL; } - /* XXX honor protection */ + flags = 0; + if ((params->ibp_flags & IEEE80211_BPF_NOACK) == 0) + flags |= RAL_TX_ACK; + if (params->ibp_flags & (IEEE80211_BPF_RTS|IEEE80211_BPF_CTS)) { + error = ural_sendprot(sc, m0, ni, + params->ibp_flags & IEEE80211_BPF_RTS ? + IEEE80211_PROT_RTSCTS : IEEE80211_PROT_CTSONLY, + rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RAL_TX_IFS_SIFS; + } if (bpf_peers_present(ifp->if_bpf)) { struct ural_tx_radiotap_header *tap = &sc->sc_txtap; @@ -1420,10 +1433,6 @@ data->m = m0; data->ni = ni; - flags = 0; - if ((params->ibp_flags & IEEE80211_BPF_NOACK) == 0) - flags |= RAL_TX_ACK; - m_copydata(m0, 0, m0->m_pkthdr.len, data->buf + RAL_TX_DESC_SIZE); /* XXX need to setup descriptor ourself */ ural_setup_tx_desc(sc, desc, flags, m0->m_pkthdr.len, rate); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 16:28:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 841251065672; Sun, 16 Mar 2008 16:28:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 294A3106564A for ; Sun, 16 Mar 2008 16:28:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 338EC8FC1D for ; Sun, 16 Mar 2008 16:28:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GGSLml088921 for ; Sun, 16 Mar 2008 16:28:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GGSL3e088919 for perforce@freebsd.org; Sun, 16 Mar 2008 16:28:21 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 16:28:21 GMT Message-Id: <200803161628.m2GGSL3e088919@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 137840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 16:28:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=137840 Change 137840 by sam@sam_ebb on 2008/03/16 16:28:21 o bump tx list count o add protection Note: untested until I can locate my awol rum card Affected files ... .. //depot/projects/vap/sys/dev/usb/if_rum.c#11 edit .. //depot/projects/vap/sys/dev/usb/if_rumvar.h#7 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_rum.c#11 (text+ko) ==== @@ -632,7 +632,7 @@ struct rum_tx_data *data; int i, error; - sc->tx_queued = 0; + sc->tx_queued = sc->tx_cur = 0; for (i = 0; i < RUM_TX_LIST_COUNT; i++) { data = &sc->tx_data[i]; @@ -1126,6 +1126,71 @@ #define RUM_TX_TIMEOUT 5000 static int +rum_sendprot(struct rum_softc *sc, + const struct mbuf *m, struct ieee80211_node *ni, int prot, int rate) +{ + struct ieee80211com *ic = ni->ni_ic; + const struct ieee80211_frame *wh; + struct rum_tx_desc *desc; + struct rum_tx_data *data; + struct mbuf *mprot; + int protrate, ackrate, pktlen, flags; + uint16_t dur; + usbd_status error; + + KASSERT(prot == IEEE80211_PROT_RTSCTS || prot == IEEE80211_PROT_CTSONLY, + ("protection %d", prot)); + + wh = mtod(m, const struct ieee80211_frame *); + pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; + + /* XXX use phy support */ + protrate = 2; + ackrate = rum_ack_rate(ic, rate); + + dur = rum_txtime(pktlen, rate, ic->ic_flags) + + rum_txtime(RUM_ACK_SIZE, ackrate, ic->ic_flags) + + 2 * sc->sifs; + flags = RT2573_TX_MORE_FRAG; + if (prot == IEEE80211_PROT_RTSCTS) { + dur += rum_txtime(RUM_CTS_SIZE, + rum_ack_rate(ic, protrate), ic->ic_flags) + sc->sifs; + flags |= RT2573_TX_NEED_ACK; + mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); + } else { + mprot = ieee80211_alloc_cts(ic, ni->ni_vap->iv_myaddr, dur); + } + if (mprot == NULL) { + /* XXX stat + msg */ + return ENOBUFS; + } + data = &sc->tx_data[sc->tx_cur]; + desc = (struct rum_tx_desc *)data->buf; + + data->m = mprot; + data->ni = ieee80211_ref_node(ni); + m_copydata(mprot, 0, mprot->m_pkthdr.len, data->buf + RT2573_TX_DESC_SIZE); + rum_setup_tx_desc(sc, desc, flags, 0, mprot->m_pkthdr.len, protrate); + + usbd_setup_xfer(data->xfer, sc->sc_tx_pipeh, data, data->buf, + /* NB: no roundup necessary */ + RT2573_TX_DESC_SIZE + mprot->m_pkthdr.len, + USBD_FORCE_SHORT_XFER | USBD_NO_COPY, RUM_TX_TIMEOUT, rum_txeof); + + error = usbd_transfer(data->xfer); + if (error != USBD_NORMAL_COMPLETION && error != USBD_IN_PROGRESS) { + data->m = NULL; + data->ni = NULL; + return error; + } + + sc->tx_queued++; + sc->tx_cur = (sc->tx_cur + 1) % RUM_TX_LIST_COUNT; + + return 0; +} + +static int rum_tx_mgt(struct rum_softc *sc, struct mbuf *m0, struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; @@ -1212,6 +1277,7 @@ } sc->tx_queued++; + sc->tx_cur = (sc->tx_cur + 1) % RUM_TX_LIST_COUNT; return 0; } @@ -1233,15 +1299,26 @@ data = &sc->tx_data[0]; desc = (struct rum_tx_desc *)data->buf; - flags = 0; rate = params->ibp_rate0 & IEEE80211_RATE_VAL; /* XXX validate */ if (rate == 0) { m_freem(m0); return EINVAL; } + flags = 0; if ((params->ibp_flags & IEEE80211_BPF_NOACK) == 0) flags |= RT2573_TX_NEED_ACK; + if (params->ibp_flags & (IEEE80211_BPF_RTS|IEEE80211_BPF_CTS)) { + error = rum_sendprot(sc, m0, ni, + params->ibp_flags & IEEE80211_BPF_RTS ? + IEEE80211_PROT_RTSCTS : IEEE80211_PROT_CTSONLY, + rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RT2573_TX_LONG_RETRY | RT2573_TX_IFS_SIFS; + } if (bpf_peers_present(ifp->if_bpf)) { struct rum_tx_radiotap_header *tap = &sc->sc_txtap; @@ -1284,6 +1361,7 @@ return error; sc->tx_queued++; + sc->tx_cur = (sc->tx_cur + 1) % RUM_TX_LIST_COUNT; return 0; } @@ -1316,8 +1394,6 @@ rate = ni->ni_txrate; } - rate &= IEEE80211_RATE_VAL; - if (wh->i_fc[1] & IEEE80211_FC1_WEP) { k = ieee80211_crypto_encap(ni, m0); if (k == NULL) { @@ -1329,6 +1405,23 @@ wh = mtod(m0, struct ieee80211_frame *); } + if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { + int prot = IEEE80211_PROT_NONE; + if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) + prot = IEEE80211_PROT_RTSCTS; + else if ((ic->ic_flags & IEEE80211_F_USEPROT) && + RUM_RATE_IS_OFDM(rate)) + prot = ic->ic_protmode; + if (prot != IEEE80211_PROT_NONE) { + error = rum_sendprot(sc, m0, ni, prot, rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RT2573_TX_LONG_RETRY | RT2573_TX_IFS_SIFS; + } + } + data = &sc->tx_data[0]; desc = (struct rum_tx_desc *)data->buf; @@ -1384,6 +1477,7 @@ } sc->tx_queued++; + sc->tx_cur = (sc->tx_cur + 1) % RUM_TX_LIST_COUNT; return 0; } @@ -1399,7 +1493,7 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m); if (m == NULL) break; - if (sc->tx_queued >= RUM_TX_LIST_COUNT) { + if (sc->tx_queued >= RUM_TX_LIST_COUNT-1) { IFQ_DRV_PREPEND(&ifp->if_snd, m); ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; @@ -2277,7 +2371,7 @@ ieee80211_free_node(ni); return ENETDOWN; } - if (sc->tx_queued >= RUM_TX_LIST_COUNT) { + if (sc->tx_queued >= RUM_TX_LIST_COUNT-1) { ifp->if_drv_flags |= IFF_DRV_OACTIVE; m_freem(m); ieee80211_free_node(ni); ==== //depot/projects/vap/sys/dev/usb/if_rumvar.h#7 (text+ko) ==== @@ -18,7 +18,7 @@ */ #define RUM_RX_LIST_COUNT 1 -#define RUM_TX_LIST_COUNT 1 +#define RUM_TX_LIST_COUNT 8 struct rum_rx_radiotap_header { struct ieee80211_radiotap_header wr_ihdr; @@ -118,6 +118,7 @@ struct rum_rx_data rx_data[RUM_RX_LIST_COUNT]; struct rum_tx_data tx_data[RUM_TX_LIST_COUNT]; int tx_queued; + int tx_cur; struct mtx sc_mtx; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 17:13:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F9A11065673; Sun, 16 Mar 2008 17:13:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1DE09106566B for ; Sun, 16 Mar 2008 17:13:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 222748FC21 for ; Sun, 16 Mar 2008 17:13:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GHD7iR000957 for ; Sun, 16 Mar 2008 17:13:07 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GHD7Vq000955 for perforce@freebsd.org; Sun, 16 Mar 2008 17:13:07 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 17:13:07 GMT Message-Id: <200803161713.m2GHD7Vq000955@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 137842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 17:13:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=137842 Change 137842 by sam@sam_ebb on 2008/03/16 17:12:39 o add ieee80211_rate2plcp to convert an 802.11 rate to a PLCP signal value o add ieee80211_ctl_rate to return the rate to send a ctl frame given a tx rate; this is same as the ack rate but duplicated for clarity Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_phy.c#4 edit .. //depot/projects/vap/sys/net80211/ieee80211_phy.h#4 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_phy.c#4 (text+ko) ==== @@ -339,6 +339,31 @@ } /* + * Covert 802.11 rate to PLCP signal. + */ +uint8_t +ieee80211_rate2plcp(int rate) +{ + switch (rate) { + /* CCK rates (returned values are device-dependent) */ + case 2: return 0x0; + case 4: return 0x1; + case 11: return 0x2; + case 22: return 0x3; + + /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ + case 12: return 0xb; + case 18: return 0xf; + case 24: return 0xa; + case 36: return 0xe; + case 48: return 0x9; + case 72: return 0xd; + case 96: return 0x8; + case 108: return 0xc; + } + return 0xff; /* XXX unsupported/unknown rate */ +} +/* * Compute the time to transmit a frame of length frameLen bytes * using the specified rate, phy, and short preamble setting. * SIFS is included. ==== //depot/projects/vap/sys/net80211/ieee80211_phy.h#4 (text+ko) ==== @@ -88,6 +88,14 @@ return rt->info[cix].dot11Rate; } +static __inline__ uint8_t +ieee80211_ctl_rate(const struct ieee80211_rate_table *rt, uint8_t rate) +{ + uint8_t cix = rt->info[rt->rateCodeToIndex[rate]].ctlRateIndex; + KASSERT(cix != (uint8_t)-1, ("rate %d has no info", rate)); + return rt->info[cix].dot11Rate; +} + static __inline__ enum ieee80211_phytype ieee80211_rate2phytype(const struct ieee80211_rate_table *rt, uint8_t rate) { @@ -130,8 +138,12 @@ uint16_t ieee80211_compute_duration(const struct ieee80211_rate_table *, uint32_t frameLen, uint16_t rate, int isShortPreamble); /* - * Covert PLCP signal/rate field to 802.11 rate code (.5Mbits/s) + * Convert PLCP signal/rate field to 802.11 rate code (.5Mbits/s) */ uint8_t ieee80211_plcp2rate(uint8_t, int); +/* + * Convert 802.11 rate code to PLCP signal. + */ +uint8_t ieee80211_rate2plcp(int); #endif /* _KERNEL */ #endif /* !_NET80211_IEEE80211_PHY_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Mar 16 17:17:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 650BF106566C; Sun, 16 Mar 2008 17:17:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 235EC1065670 for ; Sun, 16 Mar 2008 17:17:12 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2714A8FC18 for ; Sun, 16 Mar 2008 17:17:12 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GHHBKi001498 for ; Sun, 16 Mar 2008 17:17:11 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GHHBkj001496 for perforce@freebsd.org; Sun, 16 Mar 2008 17:17:11 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 17:17:11 GMT Message-Id: <200803161717.m2GHHBkj001496@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 137843 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 17:17:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=137843 Change 137843 by sam@sam_ebb on 2008/03/16 17:16:39 switch to public phy support Affected files ... .. //depot/projects/vap/sys/dev/usb/if_ural.c#16 edit .. //depot/projects/vap/sys/dev/usb/if_uralvar.h#10 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_ural.c#16 (text+ko) ==== @@ -51,6 +51,7 @@ #include #include +#include #include #include @@ -128,14 +129,10 @@ static void ural_scantask(void *); static int ural_newstate(struct ieee80211vap *, enum ieee80211_state, int); -static int ural_rxrate(struct ural_rx_desc *); static void ural_txeof(usbd_xfer_handle, usbd_private_handle, usbd_status); static void ural_rxeof(usbd_xfer_handle, usbd_private_handle, usbd_status); -static int ural_ack_rate(struct ieee80211com *, int); -static uint16_t ural_txtime(int, int, uint32_t); -static uint8_t ural_plcp_signal(int); static void ural_setup_tx_desc(struct ural_softc *, struct ural_tx_desc *, uint32_t, int, int); static int ural_tx_bcn(struct ural_softc *, struct mbuf *, @@ -513,6 +510,8 @@ ic->ic_vap_create = ural_vap_create; ic->ic_vap_delete = ural_vap_delete; + sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); + bpfattach(ifp, DLT_IEEE802_11_RADIO, sizeof (struct ieee80211_frame) + sizeof(sc->sc_txtap)); @@ -863,47 +862,8 @@ } } -/* quickly determine if a given rate is CCK or OFDM */ -#define RAL_RATE_IS_OFDM(rate) ((rate) >= 12 && (rate) != 22) - -#define RAL_ACK_SIZE 14 /* 10 + 4(FCS) */ -#define RAL_CTS_SIZE 14 /* 10 + 4(FCS) */ - -#define RAL_SIFS 10 /* us */ - #define RAL_RXTX_TURNAROUND 5 /* us */ -/* - * This function is only used by the Rx radiotap code. - */ -static int -ural_rxrate(struct ural_rx_desc *desc) -{ - if (le32toh(desc->flags) & RAL_RX_OFDM) { - /* reverse function of ural_plcp_signal */ - switch (desc->rate) { - case 0xb: return 12; - case 0xf: return 18; - case 0xa: return 24; - case 0xe: return 36; - case 0x9: return 48; - case 0xd: return 72; - case 0x8: return 96; - case 0xc: return 108; - } - } else { - if (desc->rate == 10) - return 2; - if (desc->rate == 20) - return 4; - if (desc->rate == 55) - return 11; - if (desc->rate == 110) - return 22; - } - return 2; /* should not get there */ -} - static void ural_txeof(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status) { @@ -1006,7 +966,8 @@ struct ural_rx_radiotap_header *tap = &sc->sc_rxtap; tap->wr_flags = IEEE80211_RADIOTAP_F_FCS; - tap->wr_rate = ural_rxrate(desc); + tap->wr_rate = ieee80211_plcp2rate(desc->rate, + le32toh(desc->flags) & RAL_RX_OFDM); tap->wr_chan_freq = htole16(ic->ic_curchan->ic_freq); tap->wr_chan_flags = htole16(ic->ic_curchan->ic_flags); tap->wr_antenna = sc->rx_ant; @@ -1034,90 +995,6 @@ usbd_transfer(xfer); } -/* - * Return the expected ack rate for a frame transmitted at rate `rate'. - * XXX: this should depend on the destination node basic rate set. - */ -static int -ural_ack_rate(struct ieee80211com *ic, int rate) -{ - switch (rate) { - /* CCK rates */ - case 2: - return 2; - case 4: - case 11: - case 22: - return (ic->ic_curmode == IEEE80211_MODE_11B) ? 4 : rate; - - /* OFDM rates */ - case 12: - case 18: - return 12; - case 24: - case 36: - return 24; - case 48: - case 72: - case 96: - case 108: - return 48; - } - - /* default to 1Mbps */ - return 2; -} - -/* - * Compute the duration (in us) needed to transmit `len' bytes at rate `rate'. - * The function automatically determines the operating mode depending on the - * given rate. `flags' indicates whether short preamble is in use or not. - */ -static uint16_t -ural_txtime(int len, int rate, uint32_t flags) -{ - uint16_t txtime; - - if (RAL_RATE_IS_OFDM(rate)) { - /* IEEE Std 802.11a-1999, pp. 37 */ - txtime = (8 + 4 * len + 3 + rate - 1) / rate; - txtime = 16 + 4 + 4 * txtime + 6; - } else { - /* IEEE Std 802.11b-1999, pp. 28 */ - txtime = (16 * len + rate - 1) / rate; - if (rate != 2 && (flags & IEEE80211_F_SHPREAMBLE)) - txtime += 72 + 24; - else - txtime += 144 + 48; - } - return txtime; -} - -static uint8_t -ural_plcp_signal(int rate) -{ - switch (rate) { - /* CCK rates (returned values are device-dependent) */ - case 2: return 0x0; - case 4: return 0x1; - case 11: return 0x2; - case 22: return 0x3; - - /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ - case 12: return 0xb; - case 18: return 0xf; - case 24: return 0xa; - case 36: return 0xe; - case 48: return 0x9; - case 72: return 0xd; - case 96: return 0x8; - case 108: return 0xc; - - /* unsupported rates (should not get there) */ - default: return 0xff; - } -} - static void ural_setup_tx_desc(struct ural_softc *sc, struct ural_tx_desc *desc, uint32_t flags, int len, int rate) @@ -1134,11 +1011,11 @@ desc->wme |= htole16(RAL_IVOFFSET(sizeof (struct ieee80211_frame))); /* setup PLCP fields */ - desc->plcp_signal = ural_plcp_signal(rate); + desc->plcp_signal = ieee80211_rate2plcp(rate); desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (RAL_RATE_IS_OFDM(rate)) { + if (ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RAL_TX_OFDM); plcp_length = len & 0xfff; @@ -1258,7 +1135,8 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RAL_TX_ACK; - dur = ural_txtime(RAL_ACK_SIZE, tp->mgmtrate, ic->ic_flags) + RAL_SIFS; + dur = ieee80211_ack_duration(sc->sc_rates, tp->mgmtrate, + ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); /* tell hardware to add timestamp for probe responses */ @@ -1324,7 +1202,7 @@ struct ural_tx_desc *desc; struct ural_tx_data *data; struct mbuf *mprot; - int protrate, ackrate, pktlen, flags; + int protrate, ackrate, pktlen, flags, isshort; uint16_t dur; usbd_status error; @@ -1334,17 +1212,16 @@ wh = mtod(m, const struct ieee80211_frame *); pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; - /* XXX use phy support */ - protrate = 2; - ackrate = ural_ack_rate(ic, rate); + protrate = ieee80211_ctl_rate(sc->sc_rates, rate); + ackrate = ieee80211_ack_rate(sc->sc_rates, rate); - dur = ural_txtime(pktlen, rate, ic->ic_flags) + - ural_txtime(RAL_ACK_SIZE, ackrate, ic->ic_flags) + - 2 * RAL_SIFS; + isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + + ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags = RAL_TX_RETRY(7); if (prot == IEEE80211_PROT_RTSCTS) { - dur += ural_txtime(RAL_CTS_SIZE, - ural_ack_rate(ic, protrate), ic->ic_flags) + RAL_SIFS; + /* NB: CTS is the same size as an ACK */ + dur += ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags |= RAL_TX_ACK; mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); } else { @@ -1509,7 +1386,7 @@ if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) prot = IEEE80211_PROT_RTSCTS; else if ((ic->ic_flags & IEEE80211_F_USEPROT) && - RAL_RATE_IS_OFDM(rate)) + ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) prot = ic->ic_protmode; if (prot != IEEE80211_PROT_NONE) { error = ural_sendprot(sc, m0, ni, prot, rate); @@ -1531,8 +1408,8 @@ flags |= RAL_TX_ACK; flags |= RAL_TX_RETRY(7); - dur = ural_txtime(RAL_ACK_SIZE, ural_ack_rate(ic, rate), - ic->ic_flags) + RAL_SIFS; + dur = ieee80211_ack_duration(sc->sc_rates, rate, + ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -1909,6 +1786,8 @@ /* do it in a process context */ sc->sc_scan_action = URAL_SET_CHANNEL; usb_add_task(sc->sc_udev, &sc->sc_scantask, USB_TASKQ_DRIVER); + + sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); } static void ==== //depot/projects/vap/sys/dev/usb/if_uralvar.h#10 (text+ko) ==== @@ -98,6 +98,8 @@ usbd_device_handle sc_udev; usbd_interface_handle sc_iface; + const struct ieee80211_rate_table *sc_rates; + int sc_rx_no; int sc_tx_no; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 17:39:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D6671065678; Sun, 16 Mar 2008 17:39:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0C001065674 for ; Sun, 16 Mar 2008 17:39:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C95B58FC25 for ; Sun, 16 Mar 2008 17:39:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GHdZgC003455 for ; Sun, 16 Mar 2008 17:39:35 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GHdZhA003453 for perforce@freebsd.org; Sun, 16 Mar 2008 17:39:35 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 17:39:35 GMT Message-Id: <200803161739.m2GHdZhA003453@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 137845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 17:39:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=137845 Change 137845 by sam@sam_ebb on 2008/03/16 17:39:06 simplify ieee80211_plcp2rate; it's not use doesn't warrant the extra code to validate the plcp parameter Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_phy.c#5 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_phy.c#5 (text+ko) ==== @@ -300,27 +300,19 @@ } /* - * Covert PLCP signal/rate field to 802.11 rate (.5Mbits/s) + * Convert PLCP signal/rate field to 802.11 rate (.5Mbits/s) + * + * Note we do no parameter checking; this routine is mainly + * used to derive an 802.11 rate for constructing radiotap + * header data for rx frames. + * + * XXX might be a candidate for inline */ uint8_t ieee80211_plcp2rate(uint8_t plcp, int ofdm) { - if (!ofdm) { - switch (plcp) { - /* IEEE Std 802.11b-1999 page 15, subclause 18.2.3.3 */ - case 0x0a: - case 0x14: - case 0x37: - case 0x6e: - /* IEEE Std 802.11g-2003 page 19, subclause 19.3.2.1 */ - case 0xdc: - return plcp / 5; - } - } else { -#define _OFDM_PLCP2RATE_MAX 16 - - /* IEEE Std 802.11a-1999 page 14, subclause 17.3.4.1 */ - static const uint8_t ofdm_plcp2rate[_OFDM_PLCP2RATE_MAX] = { + if (ofdm) { + static const uint8_t ofdm_plcp2rate[16] = { [0xb] = 12, [0xf] = 18, [0xa] = 24, @@ -330,12 +322,17 @@ [0x8] = 96, [0xc] = 108 }; - if (plcp < _OFDM_PLCP2RATE_MAX) - return ofdm_plcp2rate[plcp]; - -#undef _OFDM_PLCP2RATE_MAX + return ofdm_plcp2rate[plcp & 0xf]; + } else { + static const uint8_t cck_plcp2rate[16] = { + [0xa] = 2, /* 0x0a */ + [0x4] = 4, /* 0x14 */ + [0x7] = 11, /* 0x37 */ + [0xe] = 22, /* 0x6e */ + [0xc] = 44, /* 0xdc , actually PBCC */ + }; + return cck_plcp2rate[plcp & 0xf]; } - return 0; } /* From owner-p4-projects@FreeBSD.ORG Sun Mar 16 17:39:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AB74106566C; Sun, 16 Mar 2008 17:39:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3D511065676 for ; Sun, 16 Mar 2008 17:39:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC8228FC26 for ; Sun, 16 Mar 2008 17:39:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GHdZm4003460 for ; Sun, 16 Mar 2008 17:39:35 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GHdZiq003458 for perforce@freebsd.org; Sun, 16 Mar 2008 17:39:35 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 17:39:35 GMT Message-Id: <200803161739.m2GHdZiq003458@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 137846 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 17:39:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=137846 Change 137846 by sam@sam_ebb on 2008/03/16 17:39:21 switch to public phy routines Affected files ... .. //depot/projects/vap/sys/dev/usb/if_zyd.c#13 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_zyd.c#13 (text+ko) ==== @@ -47,6 +47,7 @@ #include #include +#include #include #include @@ -209,7 +210,6 @@ static int zyd_set_rxfilter(struct zyd_softc *); static void zyd_set_chan(struct zyd_softc *, struct ieee80211_channel *); static int zyd_set_beacon_interval(struct zyd_softc *, int); -static uint8_t zyd_plcp_signal(int); static void zyd_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); static void zyd_rx_data(struct zyd_softc *, const uint8_t *, uint16_t); static void zyd_rxeof(usbd_xfer_handle, usbd_private_handle, usbd_status); @@ -1840,31 +1840,6 @@ return 0; } -static uint8_t -zyd_plcp_signal(int rate) -{ - switch (rate) { - /* CCK rates (returned values are device-dependent) */ - case 2: return 0x0; - case 4: return 0x1; - case 11: return 0x2; - case 22: return 0x3; - - /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ - case 12: return 0xb; - case 18: return 0xf; - case 24: return 0xa; - case 36: return 0xe; - case 48: return 0x9; - case 72: return 0xd; - case 96: return 0x8; - case 108: return 0xc; - - /* unsupported rates (should not get there) */ - default: return 0xff; - } -} - static void zyd_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status) { @@ -1947,20 +1922,6 @@ } } -static __inline uint8_t -zyd_plcp2ieee(int signal, int isofdm) -{ - if (isofdm) { - static const uint8_t ofdmrates[16] = - { 0, 0, 0, 0, 0, 0, 0, 96, 48, 24, 12, 108, 72, 36, 18 }; - return ofdmrates[signal & 0xf]; - } else { - static const uint8_t cckrates[16] = - { 0, 0, 0, 0, 4, 0, 0, 11, 0, 0, 2, 0, 0, 0, 22, 0 }; - return cckrates[signal & 0xf]; - } -} - static void zyd_rx_data(struct zyd_softc *sc, const uint8_t *buf, uint16_t len) { @@ -2018,8 +1979,8 @@ /* XXX toss, no way to express errors */ if (stat->flags & ZYD_RX_DECRYPTERR) tap->wr_flags |= IEEE80211_RADIOTAP_F_BADFCS; - tap->wr_rate = - zyd_plcp2ieee(plcp->signal, stat->flags & ZYD_RX_OFDM); + tap->wr_rate = ieee80211_plcp2rate(plcp->signal, + stat->flags & ZYD_RX_OFDM); tap->wr_antsignal = stat->rssi + -95; tap->wr_antnoise = -95; /* XXX */ @@ -2156,7 +2117,7 @@ (IEEE80211_FC0_TYPE_CTL | IEEE80211_FC0_SUBTYPE_PS_POLL)) desc->flags |= ZYD_TX_FLAG_TYPE(ZYD_TX_TYPE_PS_POLL); - desc->phy = zyd_plcp_signal(rate); + desc->phy = ieee80211_rate2plcp(rate); if (ZYD_RATE_IS_OFDM(rate)) { desc->phy |= ZYD_TX_PHY_OFDM; if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) @@ -2327,7 +2288,7 @@ (IEEE80211_FC0_TYPE_CTL | IEEE80211_FC0_SUBTYPE_PS_POLL)) desc->flags |= ZYD_TX_FLAG_TYPE(ZYD_TX_TYPE_PS_POLL); - desc->phy = zyd_plcp_signal(rate); + desc->phy = ieee80211_rate2plcp(rate); if (ZYD_RATE_IS_OFDM(rate)) { desc->phy |= ZYD_TX_PHY_OFDM; if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) From owner-p4-projects@FreeBSD.ORG Sun Mar 16 17:56:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BED91065689; Sun, 16 Mar 2008 17:56:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDE7C1065680 for ; Sun, 16 Mar 2008 17:56:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B704E8FC35 for ; Sun, 16 Mar 2008 17:56:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GHutjO004113 for ; Sun, 16 Mar 2008 17:56:55 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GHutZY004111 for perforce@freebsd.org; Sun, 16 Mar 2008 17:56:55 GMT (envelope-from sam@freebsd.org) Date: Sun, 16 Mar 2008 17:56:55 GMT Message-Id: <200803161756.m2GHutZY004111@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 137849 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 17:56:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=137849 Change 137849 by sam@sam_ebb on 2008/03/16 17:56:51 blindly convert to use common phy support routines Affected files ... .. //depot/projects/vap/sys/dev/usb/if_rum.c#12 edit .. //depot/projects/vap/sys/dev/usb/if_rumvar.h#8 edit Differences ... ==== //depot/projects/vap/sys/dev/usb/if_rum.c#12 (text+ko) ==== @@ -51,6 +51,7 @@ #include #include +#include #include #include @@ -143,10 +144,6 @@ usbd_status); static void rum_rxeof(usbd_xfer_handle, usbd_private_handle, usbd_status); -static int rum_rxrate(struct rum_rx_desc *); -static int rum_ack_rate(struct ieee80211com *, int); -static uint16_t rum_txtime(int, int, uint32_t); -static uint8_t rum_plcp_signal(int); static void rum_setup_tx_desc(struct rum_softc *, struct rum_tx_desc *, uint32_t, uint16_t, int, int); @@ -524,6 +521,8 @@ ic->ic_vap_create = rum_vap_create; ic->ic_vap_delete = rum_vap_delete; + sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); + bpfattach(ifp, DLT_IEEE802_11_RADIO, sizeof (struct ieee80211_frame) + sizeof(sc->sc_txtap)); @@ -831,12 +830,6 @@ } } -/* quickly determine if a given rate is CCK or OFDM */ -#define RUM_RATE_IS_OFDM(rate) ((rate) >= 12 && (rate) != 22) - -#define RUM_ACK_SIZE 14 /* 10 + 4(FCS) */ -#define RUM_CTS_SIZE 14 /* 10 + 4(FCS) */ - static void rum_txeof(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status) { @@ -939,7 +932,8 @@ struct rum_rx_radiotap_header *tap = &sc->sc_rxtap; tap->wr_flags = IEEE80211_RADIOTAP_F_FCS; - tap->wr_rate = rum_rxrate(desc); + tap->wr_rate = ieee80211_plcp2rate(desc->rate, + le32toh(desc->flags) & RT2573_RX_OFDM); tap->wr_chan_freq = htole16(ic->ic_curchan->ic_freq); tap->wr_chan_flags = htole16(ic->ic_curchan->ic_flags); tap->wr_antenna = sc->rx_ant; @@ -966,120 +960,6 @@ usbd_transfer(xfer); } -/* - * This function is only used by the Rx radiotap code. - */ -static int -rum_rxrate(struct rum_rx_desc *desc) -{ - if (le32toh(desc->flags) & RT2573_RX_OFDM) { - /* reverse function of rum_plcp_signal */ - switch (desc->rate) { - case 0xb: return 12; - case 0xf: return 18; - case 0xa: return 24; - case 0xe: return 36; - case 0x9: return 48; - case 0xd: return 72; - case 0x8: return 96; - case 0xc: return 108; - } - } else { - if (desc->rate == 10) - return 2; - if (desc->rate == 20) - return 4; - if (desc->rate == 55) - return 11; - if (desc->rate == 110) - return 22; - } - return 2; /* should not get there */ -} - -/* - * Return the expected ack rate for a frame transmitted at rate `rate'. - */ -static int -rum_ack_rate(struct ieee80211com *ic, int rate) -{ - switch (rate) { - /* CCK rates */ - case 2: - return 2; - case 4: - case 11: - case 22: - return (ic->ic_curmode == IEEE80211_MODE_11B) ? 4 : rate; - - /* OFDM rates */ - case 12: - case 18: - return 12; - case 24: - case 36: - return 24; - case 48: - case 72: - case 96: - case 108: - return 48; - } - - /* default to 1Mbps */ - return 2; -} - -/* - * Compute the duration (in us) needed to transmit `len' bytes at rate `rate'. - * The function automatically determines the operating mode depending on the - * given rate. `flags' indicates whether short preamble is in use or not. - */ -static uint16_t -rum_txtime(int len, int rate, uint32_t flags) -{ - uint16_t txtime; - - if (RUM_RATE_IS_OFDM(rate)) { - /* IEEE Std 802.11a-1999, pp. 37 */ - txtime = (8 + 4 * len + 3 + rate - 1) / rate; - txtime = 16 + 4 + 4 * txtime + 6; - } else { - /* IEEE Std 802.11b-1999, pp. 28 */ - txtime = (16 * len + rate - 1) / rate; - if (rate != 2 && (flags & IEEE80211_F_SHPREAMBLE)) - txtime += 72 + 24; - else - txtime += 144 + 48; - } - return txtime; -} - -static uint8_t -rum_plcp_signal(int rate) -{ - switch (rate) { - /* CCK rates (returned values are device-dependent) */ - case 2: return 0x0; - case 4: return 0x1; - case 11: return 0x2; - case 22: return 0x3; - - /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ - case 12: return 0xb; - case 18: return 0xf; - case 24: return 0xa; - case 36: return 0xe; - case 48: return 0x9; - case 72: return 0xd; - case 96: return 0x8; - case 108: return 0xc; - - /* unsupported rates (should not get there) */ - default: return 0xff; - } -} - static void rum_setup_tx_desc(struct rum_softc *sc, struct rum_tx_desc *desc, uint32_t flags, uint16_t xflags, int len, int rate) @@ -1098,11 +978,11 @@ RT2573_LOGCWMIN(4) | RT2573_LOGCWMAX(10)); /* setup PLCP fields */ - desc->plcp_signal = rum_plcp_signal(rate); + desc->plcp_signal = ieee80211_rate2plcp(rate); desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (RUM_RATE_IS_OFDM(rate)) { + if (ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RT2573_TX_OFDM); plcp_length = len & 0xfff; @@ -1134,7 +1014,7 @@ struct rum_tx_desc *desc; struct rum_tx_data *data; struct mbuf *mprot; - int protrate, ackrate, pktlen, flags; + int protrate, ackrate, pktlen, flags, isshort; uint16_t dur; usbd_status error; @@ -1144,17 +1024,16 @@ wh = mtod(m, const struct ieee80211_frame *); pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; - /* XXX use phy support */ - protrate = 2; - ackrate = rum_ack_rate(ic, rate); + protrate = ieee80211_ctl_rate(sc->sc_rates, rate); + ackrate = ieee80211_ack_rate(sc->sc_rates, rate); - dur = rum_txtime(pktlen, rate, ic->ic_flags) + - rum_txtime(RUM_ACK_SIZE, ackrate, ic->ic_flags) + - 2 * sc->sifs; + isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + + ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags = RT2573_TX_MORE_FRAG; if (prot == IEEE80211_PROT_RTSCTS) { - dur += rum_txtime(RUM_CTS_SIZE, - rum_ack_rate(ic, protrate), ic->ic_flags) + sc->sifs; + /* NB: CTS is the same size as an ACK */ + dur += ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags |= RT2573_TX_NEED_ACK; mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); } else { @@ -1169,7 +1048,8 @@ data->m = mprot; data->ni = ieee80211_ref_node(ni); - m_copydata(mprot, 0, mprot->m_pkthdr.len, data->buf + RT2573_TX_DESC_SIZE); + m_copydata(mprot, 0, mprot->m_pkthdr.len, + data->buf + RT2573_TX_DESC_SIZE); rum_setup_tx_desc(sc, desc, flags, 0, mprot->m_pkthdr.len, protrate); usbd_setup_xfer(data->xfer, sc->sc_tx_pipeh, data, data->buf, @@ -1226,8 +1106,8 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2573_TX_NEED_ACK; - dur = rum_txtime(RUM_ACK_SIZE, rum_ack_rate(ic, tp->mgmtrate), - ic->ic_flags) + sc->sifs; + dur = ieee80211_ack_duration(sc->sc_rates, tp->mgmtrate, + ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); /* tell hardware to add timestamp for probe responses */ @@ -1410,7 +1290,7 @@ if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) prot = IEEE80211_PROT_RTSCTS; else if ((ic->ic_flags & IEEE80211_F_USEPROT) && - RUM_RATE_IS_OFDM(rate)) + ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) prot = ic->ic_protmode; if (prot != IEEE80211_PROT_NONE) { error = rum_sendprot(sc, m0, ni, prot, rate); @@ -1432,8 +1312,8 @@ flags |= RT2573_TX_NEED_ACK; flags |= RT2573_TX_MORE_FRAG; - dur = rum_txtime(RUM_ACK_SIZE, rum_ack_rate(ic, rate), - ic->ic_flags) + sc->sifs; + dur = ieee80211_ack_duration(sc->sc_rates, rate, + ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -1839,9 +1719,6 @@ else tmp |= RT2573_PA_PE_5GHZ; rum_write(sc, RT2573_PHY_CSR0, tmp); - - /* 802.11a uses a 16 microseconds short interframe space */ - sc->sifs = IEEE80211_IS_CHAN_5GHZ(c) ? 16 : 10; } static void @@ -2521,6 +2398,8 @@ /* do it in a process context */ sc->sc_scan_action = RUM_SET_CHANNEL; usb_add_task(sc->sc_udev, &sc->sc_scantask, USB_TASKQ_DRIVER); + + sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); } static void ==== //depot/projects/vap/sys/dev/usb/if_rumvar.h#8 (text+ko) ==== @@ -89,6 +89,7 @@ struct rum_softc { struct ieee80211com sc_ic; /* NB: must be first */ struct ifnet *sc_ifp; + const struct ieee80211_rate_table *sc_rates; device_t sc_dev; usbd_device_handle sc_udev; @@ -143,7 +144,6 @@ int ext_5ghz_lna; int rssi_2ghz_corr; int rssi_5ghz_corr; - int sifs; uint8_t bbp17; struct rum_rx_radiotap_header sc_rxtap; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 20:48:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A7401065674; Sun, 16 Mar 2008 20:48:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4618F106566C for ; Sun, 16 Mar 2008 20:48:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 15FFD8FC25 for ; Sun, 16 Mar 2008 20:48:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GKmvgT046481 for ; Sun, 16 Mar 2008 20:48:57 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GKmvx0046479 for perforce@freebsd.org; Sun, 16 Mar 2008 20:48:57 GMT (envelope-from marcel@freebsd.org) Date: Sun, 16 Mar 2008 20:48:57 GMT Message-Id: <200803162048.m2GKmvx0046479@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 137860 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 20:48:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=137860 Change 137860 by marcel@marcel_xcllnt on 2008/03/16 20:48:13 IFC @137859 Affected files ... .. //depot/projects/bdb/ObsoleteFiles.inc#3 integrate .. //depot/projects/bdb/bin/Makefile#2 integrate .. //depot/projects/bdb/bin/uuidgen/Makefile#2 integrate .. //depot/projects/bdb/lib/libarchive/Makefile#2 integrate .. //depot/projects/bdb/lib/libarchive/archive.h.in#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/bdb/lib/libarchive/archive_entry.c#3 integrate .. //depot/projects/bdb/lib/libarchive/archive_entry.h#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_read_private.h#3 integrate .. //depot/projects/bdb/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_read_support_format_tar.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_string.h#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_string_sprintf.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_util.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_disk.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_private.h#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_ar.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_cpio.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_cpio_newc.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_pax.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_shar.c#2 integrate .. //depot/projects/bdb/lib/libarchive/archive_write_set_format_ustar.c#2 integrate .. //depot/projects/bdb/lib/libarchive/config_freebsd.h#2 integrate .. //depot/projects/bdb/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/bdb/lib/libarchive/test/Makefile#3 integrate .. //depot/projects/bdb/lib/libarchive/test/test_archive_api_feature.c#2 integrate .. //depot/projects/bdb/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/bdb/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/bdb/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/bdb/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/bdb/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/bdb/lib/libc/gen/scandir.c#2 integrate .. //depot/projects/bdb/lib/libc/gen/sem_timedwait.3#2 integrate .. //depot/projects/bdb/lib/libc/gen/sem_wait.3#3 integrate .. //depot/projects/bdb/lib/libc/sys/kldunload.2#3 integrate .. //depot/projects/bdb/lib/libpmc/pmc.3#2 integrate .. //depot/projects/bdb/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/bdb/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate .. //depot/projects/bdb/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/bdb/sbin/geom/class/multipath/gmultipath.8#3 integrate .. //depot/projects/bdb/share/examples/cvsup/cvs-supfile#2 integrate .. //depot/projects/bdb/share/man/man9/Makefile#2 integrate .. //depot/projects/bdb/share/man/man9/rwlock.9#2 integrate .. //depot/projects/bdb/share/man/man9/stack.9#2 integrate .. //depot/projects/bdb/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/bdb/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/bdb/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/bdb/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/bdb/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/bdb/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/bdb/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/bdb/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/bdb/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/bdb/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/bdb/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/bdb/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/bdb/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/bdb/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/bdb/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/bdb/sys/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/bdb/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/bdb/sys/arm/arm/intr.c#2 integrate .. //depot/projects/bdb/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/bdb/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/bdb/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/bdb/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/bdb/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/bdb/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/bdb/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/bdb/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/bdb/sys/dev/aac/aac.c#2 integrate .. //depot/projects/bdb/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/bdb/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/bdb/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/bdb/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/bdb/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/bdb/sys/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/bdb/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/bdb/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/bdb/sys/gdb/gdb_cons.c#2 integrate .. //depot/projects/bdb/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/bdb/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/bdb/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/k6_mem.c#3 integrate .. //depot/projects/bdb/sys/i386/i386/legacy.c#3 integrate .. //depot/projects/bdb/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/machdep.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/bdb/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/bdb/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/bdb/sys/i386/include/nexusvar.h#1 branch .. //depot/projects/bdb/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/bdb/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/bdb/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/bdb/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/bdb/sys/i386/linux/linux_sysvec.c#3 integrate .. //depot/projects/bdb/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/bdb/sys/i386/svr4/svr4_machdep.c#2 integrate .. //depot/projects/bdb/sys/i386/xbox/xbox.c#2 integrate .. //depot/projects/bdb/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/bdb/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/bdb/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/bdb/sys/ia64/ia64/sscdisk.c#2 integrate .. //depot/projects/bdb/sys/ia64/isa/isa_dma.c#2 integrate .. //depot/projects/bdb/sys/kern/init_main.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_alq.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_clock.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_event.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_idle.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_intr.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_linker.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_module.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_poll.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_resource.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_switch.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_synch.c#3 integrate .. //depot/projects/bdb/sys/kern/kern_tc.c#2 integrate .. //depot/projects/bdb/sys/kern/link_elf.c#2 integrate .. //depot/projects/bdb/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/bdb/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/bdb/sys/kern/sched_ule.c#3 integrate .. //depot/projects/bdb/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/bdb/sys/kern/subr_eventhandler.c#2 integrate .. //depot/projects/bdb/sys/kern/subr_log.c#2 integrate .. //depot/projects/bdb/sys/kern/subr_prof.c#2 integrate .. //depot/projects/bdb/sys/kern/subr_smp.c#3 integrate .. //depot/projects/bdb/sys/kern/subr_witness.c#3 integrate .. //depot/projects/bdb/sys/kern/tty_cons.c#2 integrate .. //depot/projects/bdb/sys/kern/tty_pts.c#2 integrate .. //depot/projects/bdb/sys/kern/tty_pty.c#2 integrate .. //depot/projects/bdb/sys/kern/tty_subr.c#2 integrate .. //depot/projects/bdb/sys/kern/tty_tty.c#2 integrate .. //depot/projects/bdb/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/bdb/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_acl.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/bdb/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/bdb/sys/net/bpf.c#2 integrate .. //depot/projects/bdb/sys/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/bdb/sys/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/bdb/sys/net/if.c#3 integrate .. //depot/projects/bdb/sys/net/if_lagg.c#2 integrate .. //depot/projects/bdb/sys/net/netisr.c#2 integrate .. //depot/projects/bdb/sys/net/rtsock.c#2 integrate .. //depot/projects/bdb/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/bdb/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/bdb/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/bdb/sys/netatm/uni/uni_load.c#2 integrate .. //depot/projects/bdb/sys/netinet/ip_ipsec.c#2 integrate .. //depot/projects/bdb/sys/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/bdb/sys/netinet6/ip6_ipsec.h#2 integrate .. //depot/projects/bdb/sys/netinet6/ip6_output.c#2 integrate .. //depot/projects/bdb/sys/netipsec/ipsec.c#2 integrate .. //depot/projects/bdb/sys/netipsec/ipsec_output.c#2 integrate .. //depot/projects/bdb/sys/netipsec/key.c#2 integrate .. //depot/projects/bdb/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/bdb/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/bdb/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/bdb/sys/powerpc/aim/machdep.c#3 integrate .. //depot/projects/bdb/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/bdb/sys/powerpc/booke/vm_machdep.c#2 integrate .. //depot/projects/bdb/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/bdb/sys/security/audit/audit.c#2 integrate .. //depot/projects/bdb/sys/sparc64/sparc64/intr_machdep.c#2 integrate .. //depot/projects/bdb/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/bdb/sys/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/bdb/sys/sys/bus_dma.h#2 integrate .. //depot/projects/bdb/sys/sys/eventhandler.h#2 integrate .. //depot/projects/bdb/sys/sys/interrupt.h#2 integrate .. //depot/projects/bdb/sys/sys/kernel.h#2 integrate .. //depot/projects/bdb/sys/sys/module.h#2 integrate .. //depot/projects/bdb/sys/sys/rwlock.h#2 integrate .. //depot/projects/bdb/sys/sys/taskqueue.h#2 integrate .. //depot/projects/bdb/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/bdb/sys/vm/vm_fault.c#3 integrate .. //depot/projects/bdb/sys/vm/vm_glue.c#3 integrate .. //depot/projects/bdb/sys/vm/vm_init.c#2 integrate .. //depot/projects/bdb/sys/vm/vm_mmap.c#2 integrate .. //depot/projects/bdb/sys/vm/vm_pageout.c#2 integrate .. //depot/projects/bdb/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/bdb/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/bdb/usr.bin/Makefile#2 integrate .. //depot/projects/bdb/usr.bin/split/split.1#2 integrate .. //depot/projects/bdb/usr.bin/split/split.c#2 integrate .. //depot/projects/bdb/usr.bin/tar/bsdtar.1#2 integrate .. //depot/projects/bdb/usr.bin/tar/bsdtar.c#2 integrate .. //depot/projects/bdb/usr.bin/tar/bsdtar.h#2 integrate .. //depot/projects/bdb/usr.bin/tar/config_freebsd.h#2 integrate .. //depot/projects/bdb/usr.bin/tar/read.c#2 integrate .. //depot/projects/bdb/usr.bin/tar/write.c#2 integrate .. //depot/projects/bdb/usr.bin/uuidgen/Makefile#2 delete .. //depot/projects/bdb/usr.bin/uuidgen/uuidgen.1#2 delete .. //depot/projects/bdb/usr.bin/uuidgen/uuidgen.c#2 delete .. //depot/projects/bdb/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#3 integrate .. //depot/projects/bdb/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/bdb/usr.sbin/mixer/mixer.8#2 integrate .. //depot/projects/bdb/usr.sbin/mixer/mixer.c#2 integrate Differences ... ==== //depot/projects/bdb/ObsoleteFiles.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/bdb/bin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/bdb/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/bdb/lib/libarchive/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.80 2008/01/23 05:48:07 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -81,6 +81,7 @@ archive_write_open_filename.c \ archive_write_open_memory.c \ archive_write_set_compression_bzip2.c \ + archive_write_set_compression_compress.c \ archive_write_set_compression_gzip.c \ archive_write_set_compression_none.c \ archive_write_set_compression_program.c \ @@ -120,6 +121,8 @@ MLINKS+= archive_entry.3 archive_entry_copy_gname.3 MLINKS+= archive_entry.3 archive_entry_copy_gname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_hardlink_w.3 +MLINKS+= archive_entry.3 archive_entry_copy_link.3 +MLINKS+= archive_entry.3 archive_entry_copy_link_w.3 MLINKS+= archive_entry.3 archive_entry_copy_pathname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_stat.3 MLINKS+= archive_entry.3 archive_entry_copy_symlink_w.3 ==== //depot/projects/bdb/lib/libarchive/archive.h.in#2 (text+ko) ==== @@ -22,18 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.47 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.49 2008/03/14 22:19:50 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED #define ARCHIVE_H_INCLUDED -/* - * This header file corresponds to: - * Library version @ARCHIVE_VERSION@ - * Shared library version @SHLIB_MAJOR@ - */ - #include /* Linux requires this for off_t */ @ARCHIVE_H_INCLUDE_INTTYPES_H@ #include /* For FILE * */ @@ -51,58 +45,59 @@ #endif /* - * Each of the version identifiers comes as a macro and a function. + * The version number is provided as both a macro and a function. * The macro identifies the installed header; the function identifies * the library version (which may not be the same if you're using a * dynamically-linked version of the library). */ /* - * Textual name/version of the library, useful for version displays. - */ -#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" -const char * archive_version(void); - -/* - * The "version stamp" is a single integer that makes it easy to check - * the exact version: for version a.b.c, the version stamp is - * printf("%d%03d%03d",a,b,c). For example, version 2.12.108 has - * version stamp 2012108. + * The version number is expressed as a single integer that makes it + * easy to compare versions at build time: for version a.b.c, the + * version number is printf("%d%03d%03d",a,b,c). For example, if you + * know your application requires version 2.12.108 or later, you can + * assert that ARCHIVE_VERSION >= 2012108. * - * This was introduced with libarchive 1.9.0 in the libarchive 1.x family - * and libarchive 2.2.4 in the libarchive 2.x family. The following - * may be useful if you really want to do feature detection for earlier - * libarchive versions (which defined API_VERSION and API_FEATURE): + * This single-number format was introduced with libarchive 1.9.0 in + * the libarchive 1.x family and libarchive 2.2.4 in the libarchive + * 2.x family. The following may be useful if you really want to do + * feature detection for earlier libarchive versions (which defined + * ARCHIVE_API_VERSION and ARCHIVE_API_FEATURE instead): * - * #ifndef ARCHIVE_VERSION_STAMP - * #define ARCHIVE_VERSION_STAMP \ + * #ifndef ARCHIVE_VERSION_NUMBER + * #define ARCHIVE_VERSION_NUMBER \ * (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000) * #endif */ -#define ARCHIVE_VERSION_STAMP @LIBARCHIVE_VERSION@ -int archive_version_stamp(void); +#define ARCHIVE_VERSION_NUMBER @LIBARCHIVE_VERSION@ +int archive_version_number(void); /* - * Major version number: If ARCHIVE_API_VERSION != - * archive_api_version(), then the library you were linked with is - * using an incompatible API to the one you were compiled with. This - * is almost certainly a fatal problem. - * This is deprecated and will be removed; use ARCHIVE_VERSION_STAMP - * instead. + * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_STAMP / 1000000) -int archive_api_version(void); +const char * archive_version_string(void); +#if ARCHIVE_VERSION_NUMBER < 3000000 /* - * Minor version number. This is deprecated and will be removed. - * Use ARCHIVE_VERSION_STAMP to adapt to libarchive API variations. + * Deprecated; these are older names that will be removed in favor of + * the simpler definitions above. */ -#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_STAMP / 1000) % 1000) +#define ARCHIVE_VERSION_STAMP ARCHIVE_VERSION_NUMBER +int archive_version_stamp(void); +#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" +const char * archive_version(void); +#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_NUMBER / 1000000) +int archive_api_version(void); +#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_NUMBER / 1000) % 1000) int archive_api_feature(void); +#endif - +#if ARCHIVE_VERSION_NUMBER < 3000000 +/* This should never have been here in the first place. */ +/* Legacy of old tar assumptions, will be removed in libarchive 3.0. */ #define ARCHIVE_BYTES_PER_RECORD 512 #define ARCHIVE_DEFAULT_BYTES_PER_BLOCK 10240 +#endif /* Declare our basic types. */ struct archive; @@ -119,6 +114,7 @@ #define ARCHIVE_WARN (-20) /* Partial success. */ /* For example, if write_header "fails", then you can't push data. */ #define ARCHIVE_FAILED (-25) /* Current operation cannot complete. */ +/* But if write_header is "fatal," then this archive is dead and useless. */ #define ARCHIVE_FATAL (-30) /* No more operations are possible. */ /* @@ -146,7 +142,7 @@ typedef ssize_t archive_read_callback(struct archive *, void *_client_data, const void **_buffer); /* Skips at most request bytes from archive and returns the skipped amount */ -#if ARCHIVE_API_VERSION < 2 +#if ARCHIVE_VERSION_NUMBER < 2000000 typedef ssize_t archive_skip_callback(struct archive *, void *_client_data, size_t request); #else @@ -370,7 +366,7 @@ int archive_read_close(struct archive *); /* Release all resources and destroy the object. */ /* Note that archive_read_finish will call archive_read_close for you. */ -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_read_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -407,6 +403,7 @@ int archive_write_set_skip_file(struct archive *, dev_t, ino_t); int archive_write_set_compression_bzip2(struct archive *); +int archive_write_set_compression_compress(struct archive *); int archive_write_set_compression_gzip(struct archive *); int archive_write_set_compression_none(struct archive *); int archive_write_set_compression_program(struct archive *, @@ -445,7 +442,7 @@ */ int archive_write_header(struct archive *, struct archive_entry *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 ssize_t archive_write_data(struct archive *, const void *, size_t); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -455,7 +452,7 @@ ssize_t archive_write_data_block(struct archive *, const void *, size_t, off_t); int archive_write_finish_entry(struct archive *); int archive_write_close(struct archive *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_write_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ ==== //depot/projects/bdb/lib/libarchive/archive_entry.3#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.16 2008/03/10 14:44:40 jkoshy Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.17 2008/03/14 23:00:53 kientzle Exp $ .\" .Dd December 15, 2003 .Dt archive_entry 3 @@ -45,6 +45,8 @@ .Nm archive_entry_copy_gname_w , .Nm archive_entry_copy_hardlink , .Nm archive_entry_copy_hardlink_w , +.Nm archive_entry_copy_link , +.Nm archive_entry_copy_link_w , .Nm archive_entry_copy_pathname_w , .Nm archive_entry_copy_stat , .Nm archive_entry_copy_symlink , ==== //depot/projects/bdb/lib/libarchive/archive_entry.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.47 2008/03/12 04:47:37 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.51 2008/03/14 23:19:46 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -207,6 +207,8 @@ static const wchar_t * aes_get_wcs(struct aes *aes) { + int r; + if (aes->aes_wcs == NULL && aes->aes_mbs == NULL) return NULL; if (aes->aes_wcs == NULL && aes->aes_mbs != NULL) { @@ -221,8 +223,13 @@ aes->aes_wcs = aes->aes_wcs_alloc; if (aes->aes_wcs == NULL) __archive_errx(1, "No memory for aes_get_wcs()"); - mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); + r = mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); aes->aes_wcs_alloc[wcs_length] = 0; + if (r == -1) { + /* Conversion failed, don't lie to our clients. */ + free(aes->aes_wcs_alloc); + aes->aes_wcs = aes->aes_wcs_alloc = NULL; + } } return (aes->aes_wcs); } @@ -307,6 +314,8 @@ struct archive_entry * archive_entry_clear(struct archive_entry *entry) { + if (entry == NULL) + return (NULL); aes_clean(&entry->ae_fflags_text); aes_clean(&entry->ae_gname); aes_clean(&entry->ae_hardlink); @@ -752,7 +761,29 @@ aes_set_mbs(&entry->ae_hardlink, target); } +/* Set symlink if symlink is already set, else set hardlink. */ void +archive_entry_copy_link(struct archive_entry *entry, const char *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_mbs(&entry->ae_symlink, target); + else + aes_copy_mbs(&entry->ae_hardlink, target); +} + +/* Set symlink if symlink is already set, else set hardlink. */ +void +archive_entry_copy_link_w(struct archive_entry *entry, const wchar_t *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_wcs(&entry->ae_symlink, target); + else + aes_copy_wcs(&entry->ae_hardlink, target); +} + +void archive_entry_set_mode(struct archive_entry *entry, mode_t m) { entry->stat_valid = 0; @@ -1148,7 +1179,7 @@ archive_entry_acl_text_w(struct archive_entry *entry, int flags) { int count; - int length; + size_t length; const wchar_t *wname; const wchar_t *prefix; wchar_t separator; ==== //depot/projects/bdb/lib/libarchive/archive_entry.h#2 (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/lib/libarchive/archive_entry.h,v 1.24 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_entry.h,v 1.26 2008/03/14 23:00:53 kientzle Exp $ */ #ifndef ARCHIVE_ENTRY_H_INCLUDED @@ -57,7 +57,25 @@ struct archive_entry; /* - * File-type constants. These are returned from archive_entry_filetype(). + * File-type constants. These are returned from archive_entry_filetype() + * and passed to archive_entry_set_filetype(). + * + * These values match S_XXX defines on every platform I've checked, + * including Windows, AIX, Linux, Solaris, and BSD. They're + * (re)defined here because platforms generally don't define the ones + * they don't support. For example, Windows doesn't define S_IFLNK or + * S_IFBLK. Instead of having a mass of conditional logic and system + * checks to define any S_XXX values that aren't supported locally, + * I've just defined a new set of such constants so that + * libarchive-based applications can manipulate and identify archive + * entries properly even if the hosting platform can't store them on + * disk. + * + * These values are also used directly within some portable formats, + * such as cpio. If you find a platform that varies from these, the + * correct solution is to leave these alone and translate from these + * portable values to platform-native values when entries are read from + * or written to disk. */ #define AE_IFMT 0170000 #define AE_IFREG 0100000 @@ -91,7 +109,8 @@ dev_t archive_entry_devminor(struct archive_entry *); mode_t archive_entry_filetype(struct archive_entry *); void archive_entry_fflags(struct archive_entry *, - unsigned long *set, unsigned long *clear); + unsigned long * /* set */, + unsigned long * /* clear */); const char *archive_entry_fflags_text(struct archive_entry *); gid_t archive_entry_gid(struct archive_entry *); const char *archive_entry_gname(struct archive_entry *); @@ -130,7 +149,7 @@ void archive_entry_set_devminor(struct archive_entry *, dev_t); void archive_entry_set_filetype(struct archive_entry *, unsigned int); void archive_entry_set_fflags(struct archive_entry *, - unsigned long set, unsigned long clear); + unsigned long /* set */, unsigned long /* clear */); /* Returns pointer to start of first invalid token, or NULL if none. */ /* Note that all recognized tokens are processed, regardless. */ const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *, @@ -144,6 +163,8 @@ void archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *); void archive_entry_set_ino(struct archive_entry *, unsigned long); void archive_entry_set_link(struct archive_entry *, const char *); +void archive_entry_copy_link(struct archive_entry *, const char *); +void archive_entry_copy_link_w(struct archive_entry *, const wchar_t *); void archive_entry_set_mode(struct archive_entry *, mode_t); void archive_entry_set_mtime(struct archive_entry *, time_t, long); void archive_entry_set_nlink(struct archive_entry *, unsigned int); @@ -182,6 +203,13 @@ * = there are many different ACL text formats * = would like to be able to read/convert archives containing ACLs * on platforms that lack ACL libraries + * + * This last point, in particular, forces me to implement a reasonably + * complete set of ACL support routines. + * + * TODO: Extend this to support NFSv4/NTFS permissions. That should + * allow full ACL support on Mac OS, in particular, which uses + * POSIX.1e-style interfaces to manipulate NFSv4/NTFS permissions. */ /* @@ -216,21 +244,24 @@ */ void archive_entry_acl_clear(struct archive_entry *); void archive_entry_acl_add_entry(struct archive_entry *, - int type, int permset, int tag, int qual, const char *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const char * /* name */); void archive_entry_acl_add_entry_w(struct archive_entry *, - int type, int permset, int tag, int qual, const wchar_t *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const wchar_t * /* name */); /* * To retrieve the ACL, first "reset", then repeatedly ask for the * "next" entry. The want_type parameter allows you to request only * access entries or only default entries. */ -int archive_entry_acl_reset(struct archive_entry *, int want_type); -int archive_entry_acl_next(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, const char **name); -int archive_entry_acl_next_w(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, - const wchar_t **name); +int archive_entry_acl_reset(struct archive_entry *, int /* want_type */); +int archive_entry_acl_next(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const char ** /* name */); +int archive_entry_acl_next_w(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const wchar_t ** /* name */); /* * Construct a text-format ACL. The flags argument is a bitmask that @@ -245,10 +276,11 @@ */ #define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024 #define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048 -const wchar_t *archive_entry_acl_text_w(struct archive_entry *, int flags); +const wchar_t *archive_entry_acl_text_w(struct archive_entry *, + int /* flags */); /* Return a count of entries matching 'want_type' */ -int archive_entry_acl_count(struct archive_entry *, int want_type); +int archive_entry_acl_count(struct archive_entry *, int /* want_type */); /* * Private ACL parser. This is private because it handles some @@ -259,9 +291,12 @@ * this interface are likely to be surprised when it changes. * * You were warned! + * + * TODO: Move this declaration out of the public header and into + * a private header. Warnings above are silly. */ int __archive_entry_acl_parse_w(struct archive_entry *, - const wchar_t *, int type); + const wchar_t *, int /* type */); /* * extended attributes @@ -269,7 +304,8 @@ void archive_entry_xattr_clear(struct archive_entry *); void archive_entry_xattr_add_entry(struct archive_entry *, - const char *name, const void *value, size_t size); + const char * /* name */, const void * /* value */, + size_t /* size */); /* * To retrieve the xattr list, first "reset", then repeatedly ask for the @@ -279,7 +315,7 @@ int archive_entry_xattr_count(struct archive_entry *); int archive_entry_xattr_reset(struct archive_entry *); int archive_entry_xattr_next(struct archive_entry *, - const char **name, const void **value, size_t *); + const char ** /* name */, const void ** /* value */, size_t *); /* * Utility to detect hardlinks. ==== //depot/projects/bdb/lib/libarchive/archive_read_private.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/lib/libarchive/archive_read_private.h,v 1.5 2008/03/12 04:58:32 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_read_private.h,v 1.6 2008/03/15 11:09:16 kientzle Exp $ */ #ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED @@ -93,17 +93,10 @@ /* * Format detection is mostly the same as compression - * detection, with two significant differences: The bidders + * detection, with one significant difference: The bidders * use the read_ahead calls above to examine the stream rather * than having the supervisor hand them a block of data to - * examine, and the auction is repeated for every header. - * Winning bidders should set the archive_format and - * archive_format_name appropriately. Bid routines should - * check archive_format and decline to bid if the format of - * the last header was incompatible. - * - * Again, write support is considerably simpler because there's - * no need for an auction. + * examine. */ struct archive_format_descriptor { ==== //depot/projects/bdb/lib/libarchive/archive_read_support_format_mtree.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_mtree.c,v 1.2 2008/02/19 06:07:10 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_mtree.c,v 1.4 2008/03/15 11:02:47 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -76,12 +76,18 @@ struct mtree_entry *this_entry; struct archive_string current_dir; struct archive_string contents_name; + + off_t cur_size, cur_offset; }; static int cleanup(struct archive_read *); static int mtree_bid(struct archive_read *); +static int parse_file(struct archive_read *, struct archive_entry *, + struct mtree *, struct mtree_entry *); static void parse_escapes(char *, struct mtree_entry *); -static int parse_setting(struct archive_read *, struct mtree *, +static int parse_line(struct archive_read *, struct archive_entry *, + struct mtree *, struct mtree_entry *); +static int parse_keyword(struct archive_read *, struct mtree *, struct archive_entry *, char *, char *); static int read_data(struct archive_read *a, const void **buff, size_t *size, off_t *offset); @@ -252,14 +258,16 @@ } } +/* + * Read in the entire mtree file into memory on the first request. + * Then use the next unused file to satisfy each header request. + */ static int read_header(struct archive_read *a, struct archive_entry *entry) { - struct stat st; struct mtree *mtree; - struct mtree_entry *mentry, *mentry2; - char *p, *q; - int r = ARCHIVE_OK, r1; + char *p; + int r; mtree = (struct mtree *)(a->format->data); @@ -278,16 +286,10 @@ a->archive.archive_format_name = mtree->archive_format_name; for (;;) { - mentry = mtree->this_entry; - if (mentry == NULL) { - mtree->this_entry = NULL; + if (mtree->this_entry == NULL) return (ARCHIVE_EOF); - } - mtree->this_entry = mentry->next; - if (mentry->used) - continue; - mentry->used = 1; - if (strcmp(mentry->name, "..") == 0) { + if (strcmp(mtree->this_entry->name, "..") == 0) { + mtree->this_entry->used = 1; if (archive_strlen(&mtree->current_dir) > 0) { /* Roll back current path. */ p = mtree->current_dir.s @@ -299,117 +301,165 @@ mtree->current_dir.length = p - mtree->current_dir.s + 1; } - continue; + } + if (!mtree->this_entry->used) { + r = parse_file(a, entry, mtree, mtree->this_entry); + return (r); } + mtree->this_entry = mtree->this_entry->next; + } +} + +/* + * A single file can have multiple lines contribute specifications. + * Parse as many lines as necessary, then pull additional information + * from a backing file on disk as necessary. + */ +static int +parse_file(struct archive_read *a, struct archive_entry *entry, + struct mtree *mtree, struct mtree_entry *mentry) +{ + struct stat st; + struct mtree_entry *mp; + int r = ARCHIVE_OK, r1; - mtree->filetype = AE_IFREG; + mentry->used = 1; - /* Parse options. */ - p = mentry->option_start; - while (p < mentry->option_end) { - q = p + strlen(p); - r1 = parse_setting(a, mtree, entry, p, q); - if (r1 != ARCHIVE_OK) - r = r1; - p = q + 1; - } + /* Initialize reasonable defaults. */ + mtree->filetype = AE_IFREG; + archive_entry_set_size(entry, 0); - if (mentry->full) { - archive_entry_copy_pathname(entry, mentry->name); - /* - * "Full" entries are allowed to have multiple - * lines and those lines aren't required to be - * adjacent. We don't support multiple lines - * for "relative" entries nor do we make any - * attempt to merge data from separate - * "relative" and "full" entries. (Merging - * "relative" and "full" entries would require - * dealing with pathname canonicalization, - * which is a very tricky subject.) - */ - mentry2 = mentry->next; - while (mentry2 != NULL) { - if (mentry2->full - && !mentry2->used - && strcmp(mentry->name, mentry2->name) == 0) { - /* - * Add those options as well; - * later lines override - * earlier ones. - */ - p = mentry2->option_start; - while (p < mentry2->option_end) { - q = p + strlen(p); - r1 = parse_setting(a, mtree, entry, p, q); - if (r1 != ARCHIVE_OK) - r = r1; - p = q + 1; - } - mentry2->used = 1; - } - mentry2 = mentry2->next; - } - } else { - /* - * Relative entries require us to construct - * the full path and possibly update the - * current directory. - */ - size_t n = archive_strlen(&mtree->current_dir); - if (n > 0) - archive_strcat(&mtree->current_dir, "/"); - archive_strcat(&mtree->current_dir, mentry->name); - archive_entry_copy_pathname(entry, mtree->current_dir.s); - if (archive_entry_filetype(entry) != AE_IFDIR) - mtree->current_dir.length = n; - } + /* Parse options from this line. */ + r = parse_line(a, entry, mtree, mentry); + if (mentry->full) { + archive_entry_copy_pathname(entry, mentry->name); /* - * Try to open and stat the file to get the real size. - * It would be nice to avoid this here so that getting - * a listing of an mtree wouldn't require opening - * every referenced contents file. But then we - * wouldn't know the actual contents size, so I don't - * see a really viable way around this. (Also, we may - * want to someday pull other unspecified info from - * the contents file on disk.) + * "Full" entries are allowed to have multiple lines + * and those lines aren't required to be adjacent. We + * don't support multiple lines for "relative" entries + * nor do we make any attempt to merge data from + * separate "relative" and "full" entries. (Merging + * "relative" and "full" entries would require dealing + * with pathname canonicalization, which is a very + * tricky subject.) */ - if (archive_strlen(&mtree->contents_name) > 0) { - mtree->fd = open(mtree->contents_name.s, - O_RDONLY | O_BINARY); - if (mtree->fd < 0) { - archive_set_error(&a->archive, errno, - "Can't open content=\"%s\"", - mtree->contents_name.s); - r = ARCHIVE_WARN; + for (mp = mentry->next; mp != NULL; mp = mp->next) { + if (mp->full && !mp->used + && strcmp(mentry->name, mp->name) == 0) { + /* Later lines override earlier ones. */ + mp->used = 1; + r1 = parse_line(a, entry, mtree, mp); + if (r1 < r) + r = r1; } - } else { - /* If the specified path opens, use it. */ - mtree->fd = open(mtree->current_dir.s, - O_RDONLY | O_BINARY); - /* But don't fail if it's not there. */ } - + } else { /* - * If there is a contents file on disk, use that size; - * otherwise leave it as-is (it might have been set from - * the mtree size= keyword). + * Relative entries require us to construct + * the full path and possibly update the + * current directory. */ - if (mtree->fd >= 0) { - fstat(mtree->fd, &st); + size_t n = archive_strlen(&mtree->current_dir); + if (n > 0) + archive_strcat(&mtree->current_dir, "/"); + archive_strcat(&mtree->current_dir, mentry->name); + archive_entry_copy_pathname(entry, mtree->current_dir.s); + if (archive_entry_filetype(entry) != AE_IFDIR) + mtree->current_dir.length = n; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 16 20:54:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52FD51065678; Sun, 16 Mar 2008 20:54:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9C88106566C for ; Sun, 16 Mar 2008 20:54:03 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D43468FC17 for ; Sun, 16 Mar 2008 20:54:03 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GKs3VS061210 for ; Sun, 16 Mar 2008 20:54:03 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GKs3JU061208 for perforce@freebsd.org; Sun, 16 Mar 2008 20:54:03 GMT (envelope-from marcel@freebsd.org) Date: Sun, 16 Mar 2008 20:54:03 GMT Message-Id: <200803162054.m2GKs3JU061208@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 137861 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 20:54:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=137861 Change 137861 by marcel@marcel_xcllnt on 2008/03/16 20:53:50 IFC @137859 Affected files ... .. //depot/projects/powerpc/ObsoleteFiles.inc#17 integrate .. //depot/projects/powerpc/bin/Makefile#2 integrate .. //depot/projects/powerpc/bin/uuidgen/Makefile#2 integrate .. //depot/projects/powerpc/lib/libarchive/Makefile#12 integrate .. //depot/projects/powerpc/lib/libarchive/archive.h.in#11 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry.3#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry.c#10 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry.h#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_private.h#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_mtree.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_tar.c#13 integrate .. //depot/projects/powerpc/lib/libarchive/archive_string.h#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_string_sprintf.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_util.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_disk.c#10 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_private.h#3 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_ar.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_cpio.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_pax.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_shar.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_ustar.c#9 integrate .. //depot/projects/powerpc/lib/libarchive/config_freebsd.h#6 integrate .. //depot/projects/powerpc/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/powerpc/lib/libarchive/test/Makefile#10 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_archive_api_feature.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_entry.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/powerpc/lib/libc/gen/scandir.c#3 integrate .. //depot/projects/powerpc/lib/libc/gen/sem_timedwait.3#2 integrate .. //depot/projects/powerpc/lib/libc/gen/sem_wait.3#3 integrate .. //depot/projects/powerpc/lib/libc/sys/kldunload.2#3 integrate .. //depot/projects/powerpc/lib/libpmc/pmc.3#6 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_create.c#4 integrate .. //depot/projects/powerpc/release/doc/en_US.ISO8859-1/relnotes/article.sgml#16 integrate .. //depot/projects/powerpc/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/powerpc/sbin/geom/class/multipath/gmultipath.8#4 integrate .. //depot/projects/powerpc/share/examples/cvsup/cvs-supfile#5 integrate .. //depot/projects/powerpc/share/man/man9/Makefile#13 integrate .. //depot/projects/powerpc/share/man/man9/rwlock.9#4 integrate .. //depot/projects/powerpc/share/man/man9/stack.9#2 integrate .. //depot/projects/powerpc/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/powerpc/sys/amd64/acpica/madt.c#5 integrate .. //depot/projects/powerpc/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/powerpc/sys/amd64/amd64/legacy.c#5 integrate .. //depot/projects/powerpc/sys/amd64/amd64/local_apic.c#7 integrate .. //depot/projects/powerpc/sys/amd64/amd64/machdep.c#13 integrate .. //depot/projects/powerpc/sys/amd64/amd64/mptable.c#4 integrate .. //depot/projects/powerpc/sys/amd64/amd64/nexus.c#7 integrate .. //depot/projects/powerpc/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/powerpc/sys/amd64/include/intr_machdep.h#6 integrate .. //depot/projects/powerpc/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/powerpc/sys/amd64/isa/atpic.c#4 integrate .. //depot/projects/powerpc/sys/amd64/linux32/linux32_proto.h#6 integrate .. //depot/projects/powerpc/sys/amd64/linux32/linux32_syscall.h#6 integrate .. //depot/projects/powerpc/sys/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/powerpc/sys/amd64/linux32/linux32_sysvec.c#8 integrate .. //depot/projects/powerpc/sys/amd64/linux32/syscalls.master#6 integrate .. //depot/projects/powerpc/sys/arm/arm/intr.c#6 integrate .. //depot/projects/powerpc/sys/arm/arm/machdep.c#5 integrate .. //depot/projects/powerpc/sys/arm/arm/vm_machdep.c#8 integrate .. //depot/projects/powerpc/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/powerpc/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_misc.c#14 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/powerpc/sys/dev/aac/aac.c#11 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpi.c#14 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpivar.h#10 integrate .. //depot/projects/powerpc/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/powerpc/sys/dev/ofw/ofw_console.c#6 integrate .. //depot/projects/powerpc/sys/dev/syscons/sysmouse.c#5 integrate .. //depot/projects/powerpc/sys/dev/tdfx/tdfx_pci.c#5 integrate .. //depot/projects/powerpc/sys/dev/usb/usb_quirks.c#8 integrate .. //depot/projects/powerpc/sys/dev/usb/usbdevs#19 integrate .. //depot/projects/powerpc/sys/gdb/gdb_cons.c#2 integrate .. //depot/projects/powerpc/sys/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/powerpc/sys/i386/acpica/acpi_wakeup.c#5 integrate .. //depot/projects/powerpc/sys/i386/acpica/madt.c#6 integrate .. //depot/projects/powerpc/sys/i386/i386/intr_machdep.c#8 integrate .. //depot/projects/powerpc/sys/i386/i386/k6_mem.c#5 integrate .. //depot/projects/powerpc/sys/i386/i386/legacy.c#5 integrate .. //depot/projects/powerpc/sys/i386/i386/local_apic.c#7 integrate .. //depot/projects/powerpc/sys/i386/i386/machdep.c#17 integrate .. //depot/projects/powerpc/sys/i386/i386/mp_machdep.c#15 integrate .. //depot/projects/powerpc/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/powerpc/sys/i386/i386/nexus.c#9 integrate .. //depot/projects/powerpc/sys/i386/i386/vm_machdep.c#12 integrate .. //depot/projects/powerpc/sys/i386/include/intr_machdep.h#6 integrate .. //depot/projects/powerpc/sys/i386/include/nexusvar.h#4 branch .. //depot/projects/powerpc/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/powerpc/sys/i386/linux/linux_proto.h#9 integrate .. //depot/projects/powerpc/sys/i386/linux/linux_syscall.h#9 integrate .. //depot/projects/powerpc/sys/i386/linux/linux_sysent.c#9 integrate .. //depot/projects/powerpc/sys/i386/linux/linux_sysvec.c#8 integrate .. //depot/projects/powerpc/sys/i386/linux/syscalls.master#9 integrate .. //depot/projects/powerpc/sys/i386/svr4/svr4_machdep.c#5 integrate .. //depot/projects/powerpc/sys/i386/xbox/xbox.c#2 integrate .. //depot/projects/powerpc/sys/ia64/ia64/interrupt.c#10 integrate .. //depot/projects/powerpc/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/powerpc/sys/ia64/ia64/nexus.c#6 integrate .. //depot/projects/powerpc/sys/ia64/ia64/sscdisk.c#5 integrate .. //depot/projects/powerpc/sys/ia64/isa/isa_dma.c#5 integrate .. //depot/projects/powerpc/sys/kern/init_main.c#15 integrate .. //depot/projects/powerpc/sys/kern/kern_alq.c#6 integrate .. //depot/projects/powerpc/sys/kern/kern_clock.c#14 integrate .. //depot/projects/powerpc/sys/kern/kern_descrip.c#18 integrate .. //depot/projects/powerpc/sys/kern/kern_event.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_idle.c#8 integrate .. //depot/projects/powerpc/sys/kern/kern_intr.c#14 integrate .. //depot/projects/powerpc/sys/kern/kern_linker.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_malloc.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_mbuf.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_module.c#8 integrate .. //depot/projects/powerpc/sys/kern/kern_ntptime.c#8 integrate .. //depot/projects/powerpc/sys/kern/kern_poll.c#5 integrate .. //depot/projects/powerpc/sys/kern/kern_resource.c#15 integrate .. //depot/projects/powerpc/sys/kern/kern_shutdown.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_switch.c#12 integrate .. //depot/projects/powerpc/sys/kern/kern_synch.c#15 integrate .. //depot/projects/powerpc/sys/kern/kern_tc.c#7 integrate .. //depot/projects/powerpc/sys/kern/link_elf.c#9 integrate .. //depot/projects/powerpc/sys/kern/link_elf_obj.c#5 integrate .. //depot/projects/powerpc/sys/kern/sched_4bsd.c#14 integrate .. //depot/projects/powerpc/sys/kern/sched_ule.c#16 integrate .. //depot/projects/powerpc/sys/kern/subr_autoconf.c#5 integrate .. //depot/projects/powerpc/sys/kern/subr_eventhandler.c#5 integrate .. //depot/projects/powerpc/sys/kern/subr_log.c#5 integrate .. //depot/projects/powerpc/sys/kern/subr_prof.c#8 integrate .. //depot/projects/powerpc/sys/kern/subr_smp.c#11 integrate .. //depot/projects/powerpc/sys/kern/subr_witness.c#19 integrate .. //depot/projects/powerpc/sys/kern/tty_cons.c#7 integrate .. //depot/projects/powerpc/sys/kern/tty_pts.c#4 integrate .. //depot/projects/powerpc/sys/kern/tty_pty.c#10 integrate .. //depot/projects/powerpc/sys/kern/tty_subr.c#4 integrate .. //depot/projects/powerpc/sys/kern/tty_tty.c#6 integrate .. //depot/projects/powerpc/sys/kern/uipc_domain.c#6 integrate .. //depot/projects/powerpc/sys/kern/uipc_socket.c#13 integrate .. //depot/projects/powerpc/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/powerpc/sys/kern/vfs_bio.c#17 integrate .. //depot/projects/powerpc/sys/kern/vfs_cache.c#13 integrate .. //depot/projects/powerpc/sys/kern/vfs_hash.c#3 integrate .. //depot/projects/powerpc/sys/kern/vfs_lookup.c#13 integrate .. //depot/projects/powerpc/sys/kern/vfs_subr.c#18 integrate .. //depot/projects/powerpc/sys/net/bpf.c#12 integrate .. //depot/projects/powerpc/sys/net/ieee8023ad_lacp.c#7 integrate .. //depot/projects/powerpc/sys/net/ieee8023ad_lacp.h#6 integrate .. //depot/projects/powerpc/sys/net/if.c#13 integrate .. //depot/projects/powerpc/sys/net/if_lagg.c#10 integrate .. //depot/projects/powerpc/sys/net/netisr.c#3 integrate .. //depot/projects/powerpc/sys/net/rtsock.c#7 integrate .. //depot/projects/powerpc/sys/netatm/ipatm/ipatm_load.c#4 integrate .. //depot/projects/powerpc/sys/netatm/sigpvc/sigpvc_if.c#4 integrate .. //depot/projects/powerpc/sys/netatm/spans/spans_if.c#4 integrate .. //depot/projects/powerpc/sys/netatm/uni/uni_load.c#4 integrate .. //depot/projects/powerpc/sys/netinet/ip_ipsec.c#6 integrate .. //depot/projects/powerpc/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/powerpc/sys/netinet6/ip6_ipsec.h#4 integrate .. //depot/projects/powerpc/sys/netinet6/ip6_output.c#10 integrate .. //depot/projects/powerpc/sys/netipsec/ipsec.c#9 integrate .. //depot/projects/powerpc/sys/netipsec/ipsec_output.c#6 integrate .. //depot/projects/powerpc/sys/netipsec/key.c#5 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_diskless.c#3 integrate .. //depot/projects/powerpc/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/powerpc/sys/pc98/pc98/machdep.c#13 integrate .. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#8 integrate .. //depot/projects/powerpc/sys/powerpc/booke/machdep.c#4 integrate .. //depot/projects/powerpc/sys/powerpc/booke/vm_machdep.c#3 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/intr_machdep.c#10 integrate .. //depot/projects/powerpc/sys/security/audit/audit.c#11 integrate .. //depot/projects/powerpc/sys/sparc64/sparc64/intr_machdep.c#9 integrate .. //depot/projects/powerpc/sys/sparc64/sparc64/vm_machdep.c#8 integrate .. //depot/projects/powerpc/sys/sun4v/sun4v/intr_machdep.c#5 integrate .. //depot/projects/powerpc/sys/sys/bus_dma.h#2 integrate .. //depot/projects/powerpc/sys/sys/eventhandler.h#8 integrate .. //depot/projects/powerpc/sys/sys/interrupt.h#9 integrate .. //depot/projects/powerpc/sys/sys/kernel.h#9 integrate .. //depot/projects/powerpc/sys/sys/module.h#6 integrate .. //depot/projects/powerpc/sys/sys/rwlock.h#7 integrate .. //depot/projects/powerpc/sys/sys/taskqueue.h#4 integrate .. //depot/projects/powerpc/sys/ufs/ffs/ffs_softdep.c#14 integrate .. //depot/projects/powerpc/sys/vm/vm_fault.c#14 integrate .. //depot/projects/powerpc/sys/vm/vm_glue.c#11 integrate .. //depot/projects/powerpc/sys/vm/vm_init.c#4 integrate .. //depot/projects/powerpc/sys/vm/vm_mmap.c#11 integrate .. //depot/projects/powerpc/sys/vm/vm_pageout.c#12 integrate .. //depot/projects/powerpc/sys/vm/vm_zeroidle.c#11 integrate .. //depot/projects/powerpc/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/powerpc/usr.bin/Makefile#9 integrate .. //depot/projects/powerpc/usr.bin/split/split.1#2 integrate .. //depot/projects/powerpc/usr.bin/split/split.c#2 integrate .. //depot/projects/powerpc/usr.bin/tar/bsdtar.1#6 integrate .. //depot/projects/powerpc/usr.bin/tar/bsdtar.c#9 integrate .. //depot/projects/powerpc/usr.bin/tar/bsdtar.h#6 integrate .. //depot/projects/powerpc/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/powerpc/usr.bin/tar/read.c#10 integrate .. //depot/projects/powerpc/usr.bin/tar/write.c#10 integrate .. //depot/projects/powerpc/usr.bin/uuidgen/Makefile#3 delete .. //depot/projects/powerpc/usr.bin/uuidgen/uuidgen.1#2 delete .. //depot/projects/powerpc/usr.bin/uuidgen/uuidgen.c#2 delete .. //depot/projects/powerpc/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#3 integrate .. //depot/projects/powerpc/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/powerpc/usr.sbin/mixer/mixer.8#3 integrate .. //depot/projects/powerpc/usr.sbin/mixer/mixer.c#2 integrate Differences ... ==== //depot/projects/powerpc/ObsoleteFiles.inc#17 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/powerpc/bin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/powerpc/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/powerpc/lib/libarchive/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.80 2008/01/23 05:48:07 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -81,6 +81,7 @@ archive_write_open_filename.c \ archive_write_open_memory.c \ archive_write_set_compression_bzip2.c \ + archive_write_set_compression_compress.c \ archive_write_set_compression_gzip.c \ archive_write_set_compression_none.c \ archive_write_set_compression_program.c \ @@ -120,6 +121,8 @@ MLINKS+= archive_entry.3 archive_entry_copy_gname.3 MLINKS+= archive_entry.3 archive_entry_copy_gname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_hardlink_w.3 +MLINKS+= archive_entry.3 archive_entry_copy_link.3 +MLINKS+= archive_entry.3 archive_entry_copy_link_w.3 MLINKS+= archive_entry.3 archive_entry_copy_pathname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_stat.3 MLINKS+= archive_entry.3 archive_entry_copy_symlink_w.3 ==== //depot/projects/powerpc/lib/libarchive/archive.h.in#11 (text+ko) ==== @@ -22,18 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.47 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.49 2008/03/14 22:19:50 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED #define ARCHIVE_H_INCLUDED -/* - * This header file corresponds to: - * Library version @ARCHIVE_VERSION@ - * Shared library version @SHLIB_MAJOR@ - */ - #include /* Linux requires this for off_t */ @ARCHIVE_H_INCLUDE_INTTYPES_H@ #include /* For FILE * */ @@ -51,58 +45,59 @@ #endif /* - * Each of the version identifiers comes as a macro and a function. + * The version number is provided as both a macro and a function. * The macro identifies the installed header; the function identifies * the library version (which may not be the same if you're using a * dynamically-linked version of the library). */ /* - * Textual name/version of the library, useful for version displays. - */ -#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" -const char * archive_version(void); - -/* - * The "version stamp" is a single integer that makes it easy to check - * the exact version: for version a.b.c, the version stamp is - * printf("%d%03d%03d",a,b,c). For example, version 2.12.108 has - * version stamp 2012108. + * The version number is expressed as a single integer that makes it + * easy to compare versions at build time: for version a.b.c, the + * version number is printf("%d%03d%03d",a,b,c). For example, if you + * know your application requires version 2.12.108 or later, you can + * assert that ARCHIVE_VERSION >= 2012108. * - * This was introduced with libarchive 1.9.0 in the libarchive 1.x family - * and libarchive 2.2.4 in the libarchive 2.x family. The following - * may be useful if you really want to do feature detection for earlier - * libarchive versions (which defined API_VERSION and API_FEATURE): + * This single-number format was introduced with libarchive 1.9.0 in + * the libarchive 1.x family and libarchive 2.2.4 in the libarchive + * 2.x family. The following may be useful if you really want to do + * feature detection for earlier libarchive versions (which defined + * ARCHIVE_API_VERSION and ARCHIVE_API_FEATURE instead): * - * #ifndef ARCHIVE_VERSION_STAMP - * #define ARCHIVE_VERSION_STAMP \ + * #ifndef ARCHIVE_VERSION_NUMBER + * #define ARCHIVE_VERSION_NUMBER \ * (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000) * #endif */ -#define ARCHIVE_VERSION_STAMP @LIBARCHIVE_VERSION@ -int archive_version_stamp(void); +#define ARCHIVE_VERSION_NUMBER @LIBARCHIVE_VERSION@ +int archive_version_number(void); /* - * Major version number: If ARCHIVE_API_VERSION != - * archive_api_version(), then the library you were linked with is - * using an incompatible API to the one you were compiled with. This - * is almost certainly a fatal problem. - * This is deprecated and will be removed; use ARCHIVE_VERSION_STAMP - * instead. + * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_STAMP / 1000000) -int archive_api_version(void); +const char * archive_version_string(void); +#if ARCHIVE_VERSION_NUMBER < 3000000 /* - * Minor version number. This is deprecated and will be removed. - * Use ARCHIVE_VERSION_STAMP to adapt to libarchive API variations. + * Deprecated; these are older names that will be removed in favor of + * the simpler definitions above. */ -#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_STAMP / 1000) % 1000) +#define ARCHIVE_VERSION_STAMP ARCHIVE_VERSION_NUMBER +int archive_version_stamp(void); +#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" +const char * archive_version(void); +#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_NUMBER / 1000000) +int archive_api_version(void); +#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_NUMBER / 1000) % 1000) int archive_api_feature(void); +#endif - +#if ARCHIVE_VERSION_NUMBER < 3000000 +/* This should never have been here in the first place. */ +/* Legacy of old tar assumptions, will be removed in libarchive 3.0. */ #define ARCHIVE_BYTES_PER_RECORD 512 #define ARCHIVE_DEFAULT_BYTES_PER_BLOCK 10240 +#endif /* Declare our basic types. */ struct archive; @@ -119,6 +114,7 @@ #define ARCHIVE_WARN (-20) /* Partial success. */ /* For example, if write_header "fails", then you can't push data. */ #define ARCHIVE_FAILED (-25) /* Current operation cannot complete. */ +/* But if write_header is "fatal," then this archive is dead and useless. */ #define ARCHIVE_FATAL (-30) /* No more operations are possible. */ /* @@ -146,7 +142,7 @@ typedef ssize_t archive_read_callback(struct archive *, void *_client_data, const void **_buffer); /* Skips at most request bytes from archive and returns the skipped amount */ -#if ARCHIVE_API_VERSION < 2 +#if ARCHIVE_VERSION_NUMBER < 2000000 typedef ssize_t archive_skip_callback(struct archive *, void *_client_data, size_t request); #else @@ -370,7 +366,7 @@ int archive_read_close(struct archive *); /* Release all resources and destroy the object. */ /* Note that archive_read_finish will call archive_read_close for you. */ -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_read_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -407,6 +403,7 @@ int archive_write_set_skip_file(struct archive *, dev_t, ino_t); int archive_write_set_compression_bzip2(struct archive *); +int archive_write_set_compression_compress(struct archive *); int archive_write_set_compression_gzip(struct archive *); int archive_write_set_compression_none(struct archive *); int archive_write_set_compression_program(struct archive *, @@ -445,7 +442,7 @@ */ int archive_write_header(struct archive *, struct archive_entry *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 ssize_t archive_write_data(struct archive *, const void *, size_t); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -455,7 +452,7 @@ ssize_t archive_write_data_block(struct archive *, const void *, size_t, off_t); int archive_write_finish_entry(struct archive *); int archive_write_close(struct archive *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_write_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ ==== //depot/projects/powerpc/lib/libarchive/archive_entry.3#7 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.16 2008/03/10 14:44:40 jkoshy Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.17 2008/03/14 23:00:53 kientzle Exp $ .\" .Dd December 15, 2003 .Dt archive_entry 3 @@ -45,6 +45,8 @@ .Nm archive_entry_copy_gname_w , .Nm archive_entry_copy_hardlink , .Nm archive_entry_copy_hardlink_w , +.Nm archive_entry_copy_link , +.Nm archive_entry_copy_link_w , .Nm archive_entry_copy_pathname_w , .Nm archive_entry_copy_stat , .Nm archive_entry_copy_symlink , ==== //depot/projects/powerpc/lib/libarchive/archive_entry.c#10 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.47 2008/03/12 04:47:37 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.51 2008/03/14 23:19:46 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -207,6 +207,8 @@ static const wchar_t * aes_get_wcs(struct aes *aes) { + int r; + if (aes->aes_wcs == NULL && aes->aes_mbs == NULL) return NULL; if (aes->aes_wcs == NULL && aes->aes_mbs != NULL) { @@ -221,8 +223,13 @@ aes->aes_wcs = aes->aes_wcs_alloc; if (aes->aes_wcs == NULL) __archive_errx(1, "No memory for aes_get_wcs()"); - mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); + r = mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); aes->aes_wcs_alloc[wcs_length] = 0; + if (r == -1) { + /* Conversion failed, don't lie to our clients. */ + free(aes->aes_wcs_alloc); + aes->aes_wcs = aes->aes_wcs_alloc = NULL; + } } return (aes->aes_wcs); } @@ -307,6 +314,8 @@ struct archive_entry * archive_entry_clear(struct archive_entry *entry) { + if (entry == NULL) + return (NULL); aes_clean(&entry->ae_fflags_text); aes_clean(&entry->ae_gname); aes_clean(&entry->ae_hardlink); @@ -752,7 +761,29 @@ aes_set_mbs(&entry->ae_hardlink, target); } +/* Set symlink if symlink is already set, else set hardlink. */ void +archive_entry_copy_link(struct archive_entry *entry, const char *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_mbs(&entry->ae_symlink, target); + else + aes_copy_mbs(&entry->ae_hardlink, target); +} + +/* Set symlink if symlink is already set, else set hardlink. */ +void +archive_entry_copy_link_w(struct archive_entry *entry, const wchar_t *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_wcs(&entry->ae_symlink, target); + else + aes_copy_wcs(&entry->ae_hardlink, target); +} + +void archive_entry_set_mode(struct archive_entry *entry, mode_t m) { entry->stat_valid = 0; @@ -1148,7 +1179,7 @@ archive_entry_acl_text_w(struct archive_entry *entry, int flags) { int count; - int length; + size_t length; const wchar_t *wname; const wchar_t *prefix; wchar_t separator; ==== //depot/projects/powerpc/lib/libarchive/archive_entry.h#7 (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/lib/libarchive/archive_entry.h,v 1.24 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_entry.h,v 1.26 2008/03/14 23:00:53 kientzle Exp $ */ #ifndef ARCHIVE_ENTRY_H_INCLUDED @@ -57,7 +57,25 @@ struct archive_entry; /* - * File-type constants. These are returned from archive_entry_filetype(). + * File-type constants. These are returned from archive_entry_filetype() + * and passed to archive_entry_set_filetype(). + * + * These values match S_XXX defines on every platform I've checked, + * including Windows, AIX, Linux, Solaris, and BSD. They're + * (re)defined here because platforms generally don't define the ones + * they don't support. For example, Windows doesn't define S_IFLNK or + * S_IFBLK. Instead of having a mass of conditional logic and system + * checks to define any S_XXX values that aren't supported locally, + * I've just defined a new set of such constants so that + * libarchive-based applications can manipulate and identify archive + * entries properly even if the hosting platform can't store them on + * disk. + * + * These values are also used directly within some portable formats, + * such as cpio. If you find a platform that varies from these, the + * correct solution is to leave these alone and translate from these + * portable values to platform-native values when entries are read from + * or written to disk. */ #define AE_IFMT 0170000 #define AE_IFREG 0100000 @@ -91,7 +109,8 @@ dev_t archive_entry_devminor(struct archive_entry *); mode_t archive_entry_filetype(struct archive_entry *); void archive_entry_fflags(struct archive_entry *, - unsigned long *set, unsigned long *clear); + unsigned long * /* set */, + unsigned long * /* clear */); const char *archive_entry_fflags_text(struct archive_entry *); gid_t archive_entry_gid(struct archive_entry *); const char *archive_entry_gname(struct archive_entry *); @@ -130,7 +149,7 @@ void archive_entry_set_devminor(struct archive_entry *, dev_t); void archive_entry_set_filetype(struct archive_entry *, unsigned int); void archive_entry_set_fflags(struct archive_entry *, - unsigned long set, unsigned long clear); + unsigned long /* set */, unsigned long /* clear */); /* Returns pointer to start of first invalid token, or NULL if none. */ /* Note that all recognized tokens are processed, regardless. */ const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *, @@ -144,6 +163,8 @@ void archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *); void archive_entry_set_ino(struct archive_entry *, unsigned long); void archive_entry_set_link(struct archive_entry *, const char *); +void archive_entry_copy_link(struct archive_entry *, const char *); +void archive_entry_copy_link_w(struct archive_entry *, const wchar_t *); void archive_entry_set_mode(struct archive_entry *, mode_t); void archive_entry_set_mtime(struct archive_entry *, time_t, long); void archive_entry_set_nlink(struct archive_entry *, unsigned int); @@ -182,6 +203,13 @@ * = there are many different ACL text formats * = would like to be able to read/convert archives containing ACLs * on platforms that lack ACL libraries + * + * This last point, in particular, forces me to implement a reasonably + * complete set of ACL support routines. + * + * TODO: Extend this to support NFSv4/NTFS permissions. That should + * allow full ACL support on Mac OS, in particular, which uses + * POSIX.1e-style interfaces to manipulate NFSv4/NTFS permissions. */ /* @@ -216,21 +244,24 @@ */ void archive_entry_acl_clear(struct archive_entry *); void archive_entry_acl_add_entry(struct archive_entry *, - int type, int permset, int tag, int qual, const char *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const char * /* name */); void archive_entry_acl_add_entry_w(struct archive_entry *, - int type, int permset, int tag, int qual, const wchar_t *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const wchar_t * /* name */); /* * To retrieve the ACL, first "reset", then repeatedly ask for the * "next" entry. The want_type parameter allows you to request only * access entries or only default entries. */ -int archive_entry_acl_reset(struct archive_entry *, int want_type); -int archive_entry_acl_next(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, const char **name); -int archive_entry_acl_next_w(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, - const wchar_t **name); +int archive_entry_acl_reset(struct archive_entry *, int /* want_type */); +int archive_entry_acl_next(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const char ** /* name */); +int archive_entry_acl_next_w(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const wchar_t ** /* name */); /* * Construct a text-format ACL. The flags argument is a bitmask that @@ -245,10 +276,11 @@ */ #define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024 #define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048 -const wchar_t *archive_entry_acl_text_w(struct archive_entry *, int flags); +const wchar_t *archive_entry_acl_text_w(struct archive_entry *, + int /* flags */); /* Return a count of entries matching 'want_type' */ -int archive_entry_acl_count(struct archive_entry *, int want_type); +int archive_entry_acl_count(struct archive_entry *, int /* want_type */); /* * Private ACL parser. This is private because it handles some @@ -259,9 +291,12 @@ * this interface are likely to be surprised when it changes. * * You were warned! + * + * TODO: Move this declaration out of the public header and into + * a private header. Warnings above are silly. */ int __archive_entry_acl_parse_w(struct archive_entry *, - const wchar_t *, int type); + const wchar_t *, int /* type */); /* * extended attributes @@ -269,7 +304,8 @@ void archive_entry_xattr_clear(struct archive_entry *); void archive_entry_xattr_add_entry(struct archive_entry *, - const char *name, const void *value, size_t size); + const char * /* name */, const void * /* value */, + size_t /* size */); /* * To retrieve the xattr list, first "reset", then repeatedly ask for the @@ -279,7 +315,7 @@ int archive_entry_xattr_count(struct archive_entry *); int archive_entry_xattr_reset(struct archive_entry *); int archive_entry_xattr_next(struct archive_entry *, - const char **name, const void **value, size_t *); + const char ** /* name */, const void ** /* value */, size_t *); /* * Utility to detect hardlinks. ==== //depot/projects/powerpc/lib/libarchive/archive_read_private.h#6 (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/lib/libarchive/archive_read_private.h,v 1.5 2008/03/12 04:58:32 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_read_private.h,v 1.6 2008/03/15 11:09:16 kientzle Exp $ */ #ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED @@ -93,17 +93,10 @@ /* * Format detection is mostly the same as compression - * detection, with two significant differences: The bidders + * detection, with one significant difference: The bidders * use the read_ahead calls above to examine the stream rather * than having the supervisor hand them a block of data to - * examine, and the auction is repeated for every header. - * Winning bidders should set the archive_format and - * archive_format_name appropriately. Bid routines should - * check archive_format and decline to bid if the format of - * the last header was incompatible. - * - * Again, write support is considerably simpler because there's - * no need for an auction. + * examine. */ struct archive_format_descriptor { ==== //depot/projects/powerpc/lib/libarchive/archive_read_support_format_mtree.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_mtree.c,v 1.2 2008/02/19 06:07:10 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_mtree.c,v 1.4 2008/03/15 11:02:47 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -76,12 +76,18 @@ struct mtree_entry *this_entry; struct archive_string current_dir; struct archive_string contents_name; + + off_t cur_size, cur_offset; }; static int cleanup(struct archive_read *); static int mtree_bid(struct archive_read *); +static int parse_file(struct archive_read *, struct archive_entry *, + struct mtree *, struct mtree_entry *); static void parse_escapes(char *, struct mtree_entry *); -static int parse_setting(struct archive_read *, struct mtree *, +static int parse_line(struct archive_read *, struct archive_entry *, + struct mtree *, struct mtree_entry *); +static int parse_keyword(struct archive_read *, struct mtree *, struct archive_entry *, char *, char *); static int read_data(struct archive_read *a, const void **buff, size_t *size, off_t *offset); @@ -252,14 +258,16 @@ } } +/* + * Read in the entire mtree file into memory on the first request. + * Then use the next unused file to satisfy each header request. + */ static int read_header(struct archive_read *a, struct archive_entry *entry) { - struct stat st; struct mtree *mtree; - struct mtree_entry *mentry, *mentry2; - char *p, *q; - int r = ARCHIVE_OK, r1; + char *p; + int r; mtree = (struct mtree *)(a->format->data); @@ -278,16 +286,10 @@ a->archive.archive_format_name = mtree->archive_format_name; for (;;) { - mentry = mtree->this_entry; - if (mentry == NULL) { - mtree->this_entry = NULL; + if (mtree->this_entry == NULL) return (ARCHIVE_EOF); - } - mtree->this_entry = mentry->next; - if (mentry->used) - continue; - mentry->used = 1; - if (strcmp(mentry->name, "..") == 0) { + if (strcmp(mtree->this_entry->name, "..") == 0) { + mtree->this_entry->used = 1; if (archive_strlen(&mtree->current_dir) > 0) { /* Roll back current path. */ p = mtree->current_dir.s @@ -299,117 +301,165 @@ mtree->current_dir.length = p - mtree->current_dir.s + 1; } - continue; + } + if (!mtree->this_entry->used) { + r = parse_file(a, entry, mtree, mtree->this_entry); + return (r); } + mtree->this_entry = mtree->this_entry->next; + } +} + +/* + * A single file can have multiple lines contribute specifications. + * Parse as many lines as necessary, then pull additional information + * from a backing file on disk as necessary. + */ +static int +parse_file(struct archive_read *a, struct archive_entry *entry, + struct mtree *mtree, struct mtree_entry *mentry) +{ + struct stat st; + struct mtree_entry *mp; + int r = ARCHIVE_OK, r1; - mtree->filetype = AE_IFREG; + mentry->used = 1; - /* Parse options. */ - p = mentry->option_start; - while (p < mentry->option_end) { - q = p + strlen(p); - r1 = parse_setting(a, mtree, entry, p, q); - if (r1 != ARCHIVE_OK) - r = r1; - p = q + 1; - } + /* Initialize reasonable defaults. */ + mtree->filetype = AE_IFREG; + archive_entry_set_size(entry, 0); - if (mentry->full) { - archive_entry_copy_pathname(entry, mentry->name); - /* - * "Full" entries are allowed to have multiple - * lines and those lines aren't required to be - * adjacent. We don't support multiple lines - * for "relative" entries nor do we make any - * attempt to merge data from separate - * "relative" and "full" entries. (Merging - * "relative" and "full" entries would require - * dealing with pathname canonicalization, - * which is a very tricky subject.) - */ - mentry2 = mentry->next; - while (mentry2 != NULL) { - if (mentry2->full - && !mentry2->used - && strcmp(mentry->name, mentry2->name) == 0) { - /* - * Add those options as well; - * later lines override - * earlier ones. - */ - p = mentry2->option_start; - while (p < mentry2->option_end) { - q = p + strlen(p); - r1 = parse_setting(a, mtree, entry, p, q); - if (r1 != ARCHIVE_OK) - r = r1; - p = q + 1; - } - mentry2->used = 1; - } - mentry2 = mentry2->next; - } - } else { - /* - * Relative entries require us to construct - * the full path and possibly update the - * current directory. - */ - size_t n = archive_strlen(&mtree->current_dir); - if (n > 0) - archive_strcat(&mtree->current_dir, "/"); - archive_strcat(&mtree->current_dir, mentry->name); - archive_entry_copy_pathname(entry, mtree->current_dir.s); - if (archive_entry_filetype(entry) != AE_IFDIR) - mtree->current_dir.length = n; - } + /* Parse options from this line. */ + r = parse_line(a, entry, mtree, mentry); + if (mentry->full) { + archive_entry_copy_pathname(entry, mentry->name); /* - * Try to open and stat the file to get the real size. - * It would be nice to avoid this here so that getting - * a listing of an mtree wouldn't require opening - * every referenced contents file. But then we - * wouldn't know the actual contents size, so I don't - * see a really viable way around this. (Also, we may - * want to someday pull other unspecified info from - * the contents file on disk.) + * "Full" entries are allowed to have multiple lines + * and those lines aren't required to be adjacent. We + * don't support multiple lines for "relative" entries + * nor do we make any attempt to merge data from + * separate "relative" and "full" entries. (Merging + * "relative" and "full" entries would require dealing + * with pathname canonicalization, which is a very + * tricky subject.) */ - if (archive_strlen(&mtree->contents_name) > 0) { - mtree->fd = open(mtree->contents_name.s, - O_RDONLY | O_BINARY); - if (mtree->fd < 0) { - archive_set_error(&a->archive, errno, - "Can't open content=\"%s\"", - mtree->contents_name.s); - r = ARCHIVE_WARN; + for (mp = mentry->next; mp != NULL; mp = mp->next) { + if (mp->full && !mp->used + && strcmp(mentry->name, mp->name) == 0) { + /* Later lines override earlier ones. */ + mp->used = 1; + r1 = parse_line(a, entry, mtree, mp); + if (r1 < r) + r = r1; } - } else { - /* If the specified path opens, use it. */ - mtree->fd = open(mtree->current_dir.s, - O_RDONLY | O_BINARY); - /* But don't fail if it's not there. */ } - + } else { /* - * If there is a contents file on disk, use that size; - * otherwise leave it as-is (it might have been set from - * the mtree size= keyword). + * Relative entries require us to construct + * the full path and possibly update the + * current directory. */ - if (mtree->fd >= 0) { - fstat(mtree->fd, &st); + size_t n = archive_strlen(&mtree->current_dir); + if (n > 0) + archive_strcat(&mtree->current_dir, "/"); + archive_strcat(&mtree->current_dir, mentry->name); + archive_entry_copy_pathname(entry, mtree->current_dir.s); + if (archive_entry_filetype(entry) != AE_IFDIR) + mtree->current_dir.length = n; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:07:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9ED51065672; Sun, 16 Mar 2008 21:07:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 782A8106564A for ; Sun, 16 Mar 2008 21:07:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 638878FC17 for ; Sun, 16 Mar 2008 21:07:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GL7Hc7063066 for ; Sun, 16 Mar 2008 21:07:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GL7Hug063064 for perforce@freebsd.org; Sun, 16 Mar 2008 21:07:17 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:07:17 GMT Message-Id: <200803162107.m2GL7Hug063064@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137862 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:07:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=137862 Change 137862 by jb@jb_freebsd8 on 2008/03/16 21:07:13 Regenned files after last IFC. Affected files ... .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#24 edit .. //depot/projects/dtrace/src/sys/kern/syscalls.c#23 edit .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#19 edit .. //depot/projects/dtrace/src/sys/sys/syscall.h#21 edit .. //depot/projects/dtrace/src/sys/sys/syscall.mk#21 edit .. //depot/projects/dtrace/src/sys/sys/sysproto.h#21 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/init_sysent.c#24 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.234 2008/03/02 07:41:10 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp */ ==== //depot/projects/dtrace/src/sys/kern/syscalls.c#23 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.218 2008/03/02 07:41:10 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp */ ==== //depot/projects/dtrace/src/sys/kern/systrace_args.c#19 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.18 2008/03/02 07:41:10 jeff Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -2940,3 +2940,4816 @@ break; }; } +static void +systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) +{ + const char *p = NULL; + switch (sysnum) { + /* nosys */ + case 0: + break; + /* sys_exit */ + case 1: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* fork */ + case 2: + break; + /* read */ + case 3: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "void *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* write */ + case 4: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const void *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* open */ + case 5: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* close */ + case 6: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* wait4 */ + case 7: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "struct rusage *"; + break; + default: + break; + }; + break; + /* link */ + case 9: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + default: + break; + }; + break; + /* unlink */ + case 10: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* chdir */ + case 12: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* fchdir */ + case 13: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* mknod */ + case 14: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* chmod */ + case 15: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* chown */ + case 16: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* obreak */ + case 17: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* getpid */ + case 20: + break; + /* mount */ + case 21: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "caddr_t"; + break; + default: + break; + }; + break; + /* unmount */ + case 22: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* setuid */ + case 23: + switch(ndx) { + case 0: + p = "uid_t"; + break; + default: + break; + }; + break; + /* getuid */ + case 24: + break; + /* geteuid */ + case 25: + break; + /* ptrace */ + case 26: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "pid_t"; + break; + case 2: + p = "caddr_t"; + break; + case 3: + p = "int"; + break; + default: + break; + }; + break; + /* recvmsg */ + case 27: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct msghdr *"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* sendmsg */ + case 28: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct msghdr *"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* recvfrom */ + case 29: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "caddr_t"; + break; + case 2: + p = "size_t"; + break; + case 3: + p = "int"; + break; + case 4: + p = "struct sockaddr *__restrict"; + break; + case 5: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* accept */ + case 30: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* getpeername */ + case 31: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* getsockname */ + case 32: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* access */ + case 33: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* chflags */ + case 34: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* fchflags */ + case 35: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* sync */ + case 36: + break; + /* kill */ + case 37: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* getppid */ + case 39: + break; + /* dup */ + case 41: + switch(ndx) { + case 0: + p = "u_int"; + break; + default: + break; + }; + break; + /* pipe */ + case 42: + break; + /* getegid */ + case 43: + break; + /* profil */ + case 44: + switch(ndx) { + case 0: + p = "caddr_t"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "size_t"; + break; + case 3: + p = "u_int"; + break; + default: + break; + }; + break; + /* ktrace */ + case 45: + switch(ndx) { + case 0: + p = "const char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + case 3: + p = "int"; + break; + default: + break; + }; + break; + /* getgid */ + case 47: + break; + /* getlogin */ + case 49: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "u_int"; + break; + default: + break; + }; + break; + /* setlogin */ + case 50: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* acct */ + case 51: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* sigaltstack */ + case 53: + switch(ndx) { + case 0: + p = "stack_t *"; + break; + case 1: + p = "stack_t *"; + break; + default: + break; + }; + break; + /* ioctl */ + case 54: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_long"; + break; + case 2: + p = "caddr_t"; + break; + default: + break; + }; + break; + /* reboot */ + case 55: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* revoke */ + case 56: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* symlink */ + case 57: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + default: + break; + }; + break; + /* readlink */ + case 58: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* execve */ + case 59: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char **"; + break; + case 2: + p = "char **"; + break; + default: + break; + }; + break; + /* umask */ + case 60: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* chroot */ + case 61: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* msync */ + case 65: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* vfork */ + case 66: + break; + /* sbrk */ + case 69: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* sstk */ + case 70: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* ovadvise */ + case 72: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* munmap */ + case 73: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + default: + break; + }; + break; + /* mprotect */ + case 74: + switch(ndx) { + case 0: + p = "const void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* madvise */ + case 75: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* mincore */ + case 78: + switch(ndx) { + case 0: + p = "const void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "char *"; + break; + default: + break; + }; + break; + /* getgroups */ + case 79: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "gid_t *"; + break; + default: + break; + }; + break; + /* setgroups */ + case 80: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "gid_t *"; + break; + default: + break; + }; + break; + /* getpgrp */ + case 81: + break; + /* setpgid */ + case 82: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* setitimer */ + case 83: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "struct itimerval *"; + break; + case 2: + p = "struct itimerval *"; + break; + default: + break; + }; + break; + /* swapon */ + case 85: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* getitimer */ + case 86: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "struct itimerval *"; + break; + default: + break; + }; + break; + /* getdtablesize */ + case 89: + break; + /* dup2 */ + case 90: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "u_int"; + break; + default: + break; + }; + break; + /* fcntl */ + case 92: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "long"; + break; + default: + break; + }; + break; + /* select */ + case 93: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "fd_set *"; + break; + case 2: + p = "fd_set *"; + break; + case 3: + p = "fd_set *"; + break; + case 4: + p = "struct timeval *"; + break; + default: + break; + }; + break; + /* fsync */ + case 95: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* setpriority */ + case 96: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* socket */ + case 97: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* connect */ + case 98: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "caddr_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* getpriority */ + case 100: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:09:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F6211065670; Sun, 16 Mar 2008 21:09:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FAEB106564A for ; Sun, 16 Mar 2008 21:09:22 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D59A98FC16 for ; Sun, 16 Mar 2008 21:09:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GL9Les063104 for ; Sun, 16 Mar 2008 21:09:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GL9LiQ063102 for perforce@freebsd.org; Sun, 16 Mar 2008 21:09:21 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:09:21 GMT Message-Id: <200803162109.m2GL9LiQ063102@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137863 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:09:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=137863 Change 137863 by jb@jb_freebsd8 on 2008/03/16 21:08:40 Fix a mismerge. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 (text+ko) ==== @@ -1113,7 +1113,7 @@ int ltype = 0; if (cnp->cn_flags & ISDOTDOT) { - ltype = VOP_ISLOCKED(dvp, td); + ltype = VOP_ISLOCKED(dvp); VOP_UNLOCK(dvp, 0); } error = vn_lock(*vpp, cnp->cn_lkflags); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:13:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EF5B1065679; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4EA311065671 for ; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 38E818FC1F for ; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GLDQW5063265 for ; Sun, 16 Mar 2008 21:13:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GLDQTQ063263 for perforce@freebsd.org; Sun, 16 Mar 2008 21:13:26 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:13:26 GMT Message-Id: <200803162113.m2GLDQTQ063263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137864 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:13:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=137864 Change 137864 by jb@jb_freebsd8 on 2008/03/16 21:12:39 Add a reset mechanism to the double trap handler to cater for those occasions when fbt enables a probe on something that ends up being called unexpectedly from the probe context. We need to reset the probe points so that the double trap is handled properly and we end up back in ddb. In fbt itself, do not instrument functions with names starting with two underscores. There are one or two of these that can cause a double fault when instrumented with fbt, so the simple solution is to avoid doing that. rwatson: this is the "bewm" problem you saw. :-) Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/fbt/fbt.c#9 edit .. //depot/projects/dtrace/src/sys/i386/i386/trap.c#28 edit .. //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/fbt/fbt.c#9 (text+ko) ==== @@ -59,6 +59,7 @@ #include #include +#include MALLOC_DEFINE(M_FBT, "fbt", "Function Boundary Tracing"); @@ -147,6 +148,20 @@ static int fbt_probetab_mask; static int fbt_verbose = 0; +static void +fbt_doubletrap(void) +{ + fbt_probe_t *fbt; + int i; + + for (i = 0; i < fbt_probetab_size; i++) { + fbt = fbt_probetab[i]; + + for (; fbt != NULL; fbt = fbt->fbtp_next) + *fbt->fbtp_patchpoint = fbt->fbtp_savedval; + } +} + static int fbt_invop(uintptr_t addr, uintptr_t *stack, uintptr_t rval) { @@ -228,6 +243,9 @@ return (0); } + if (name[0] == '_' && name[1] == '_') + return (0); + size = symval->size; instr = (u_int8_t *) symval->value; @@ -1321,6 +1339,7 @@ fbt_probetab = malloc(fbt_probetab_size * sizeof (fbt_probe_t *), M_FBT, M_WAITOK | M_ZERO); + dtrace_doubletrap_func = fbt_doubletrap; dtrace_invop_add(fbt_invop); if (dtrace_register("fbt", &fbt_attr, DTRACE_PRIV_USER, @@ -1337,6 +1356,8 @@ /* De-register the invalid opcode handler. */ dtrace_invop_remove(fbt_invop); + dtrace_doubletrap_func = NULL; + /* De-register this DTrace provider. */ if ((error = dtrace_unregister(fbt_id)) != 0) return (error); ==== //depot/projects/dtrace/src/sys/i386/i386/trap.c#28 (text+ko) ==== @@ -113,6 +113,8 @@ */ dtrace_trap_func_t dtrace_trap_func; +dtrace_doubletrap_func_t dtrace_doubletrap_func; + /* * This is a hook which is initialised by the systrace module * when it is loaded. This keeps the DTrace syscall provider @@ -952,6 +954,10 @@ void dblfault_handler() { +#ifdef KDTRACE_HOOKS + if (dtrace_doubletrap_func != NULL) + (*dtrace_doubletrap_func)(); +#endif printf("\nFatal double fault:\n"); printf("eip = 0x%x\n", PCPU_GET(common_tss.tss_eip)); printf("esp = 0x%x\n", PCPU_GET(common_tss.tss_esp)); ==== //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#14 (text+ko) ==== @@ -62,9 +62,11 @@ /* Used by the machine dependent trap() code. */ typedef int (*dtrace_invop_func_t)(uintptr_t, uintptr_t *, uintptr_t); +typedef void (*dtrace_doubletrap_func_t)(void); -/* Global variable in trap.c */ +/* Global variables in trap.c */ extern dtrace_invop_func_t dtrace_invop_func; +extern dtrace_doubletrap_func_t dtrace_doubletrap_func; /* Virtual time hook function type. */ typedef void (*dtrace_vtime_switch_func_t)(struct thread *); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:13:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC14D106566B; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6FB1A1065672 for ; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6A18FC20 for ; Sun, 16 Mar 2008 21:13:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GLDQHk063270 for ; Sun, 16 Mar 2008 21:13:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GLDQbo063268 for perforce@freebsd.org; Sun, 16 Mar 2008 21:13:26 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:13:26 GMT Message-Id: <200803162113.m2GLDQbo063268@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137865 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:13:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=137865 Change 137865 by jb@jb_freebsd8 on 2008/03/16 21:13:07 Remove some obsolete code. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#21 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#21 (text+ko) ==== @@ -37,18 +37,6 @@ if (state == NULL) return (EINVAL); -#if defined(__i386__) - /* - * Check if any probe recursions have occurred. These are more - * likely to cause a crash, but let's try to report them if we - * can. - */ - if (dtrace_in_probe_addr != 0) { - printf("dtrace_in_probe_addr 0x%lx\n", (u_long) dtrace_in_probe_addr); - dtrace_in_probe_addr = 0; - } -#endif - if (state->dts_anon) { ASSERT(dtrace_anon.dta_state == NULL); state = state->dts_anon; From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:16:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02D4E10656C3; Sun, 16 Mar 2008 21:16:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B66E310656C0 for ; Sun, 16 Mar 2008 21:16:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A1FE88FC1B for ; Sun, 16 Mar 2008 21:16:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GLGTFT063352 for ; Sun, 16 Mar 2008 21:16:29 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GLGTtn063350 for perforce@freebsd.org; Sun, 16 Mar 2008 21:16:29 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:16:29 GMT Message-Id: <200803162116.m2GLGTtn063350@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137866 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:16:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=137866 Change 137866 by jb@jb_freebsd8 on 2008/03/16 21:15:35 Handle double traps on amd64 the same was as on i386 so that the double trap details are printed correctly and we end up in ddb rather than just rebooting. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#23 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#23 (text+ko) ==== @@ -105,6 +105,8 @@ */ dtrace_trap_func_t dtrace_trap_func; +dtrace_doubletrap_func_t dtrace_doubletrap_func; + /* * This is a hook which is initialised by the systrace module * when it is loaded. This keeps the DTrace syscall provider @@ -771,6 +773,10 @@ void dblfault_handler(struct trapframe *frame) { +#ifdef KDTRACE_HOOKS + if (dtrace_doubletrap_func != NULL) + (*dtrace_doubletrap_func)(); +#endif printf("\nFatal double fault\n"); printf("rip = 0x%lx\n", frame->tf_rip); printf("rsp = 0x%lx\n", frame->tf_rsp); From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:54:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CFB41065674; Sun, 16 Mar 2008 21:54:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19261106567B for ; Sun, 16 Mar 2008 21:54:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 010C28FC16 for ; Sun, 16 Mar 2008 21:54:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GLsJTv069285 for ; Sun, 16 Mar 2008 21:54:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GLsItV069283 for perforce@freebsd.org; Sun, 16 Mar 2008 21:54:18 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:54:18 GMT Message-Id: <200803162154.m2GLsItV069283@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:54:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=137875 Change 137875 by jb@jb_freebsd8 on 2008/03/16 21:53:26 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#65 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#41 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/linux-emulation/article.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/linux-users/Makefile#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/linux-users/article.sgml#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#59 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#33 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/lippe.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#33 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#32 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/rdivacky.key#1 branch .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#26 integrate .. //depot/projects/dtrace/ports/CHANGES#11 integrate .. //depot/projects/dtrace/ports/LEGAL#36 integrate .. //depot/projects/dtrace/ports/MOVED#69 integrate .. //depot/projects/dtrace/ports/Mk/bsd.commands.mk#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.database.mk#9 integrate .. //depot/projects/dtrace/ports/Mk/bsd.destdir.mk#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.efl.mk#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#15 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.subdir.mk#5 integrate .. //depot/projects/dtrace/ports/Mk/bsd.python.mk#15 integrate .. //depot/projects/dtrace/ports/Mk/bsd.qt.mk#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sdl.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#24 integrate .. //depot/projects/dtrace/ports/Mk/bsd.xorg.mk#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildscript#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeindex#6 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/releasemachine#3 integrate .. //depot/projects/dtrace/ports/UIDs#22 integrate .. //depot/projects/dtrace/ports/UPDATING#56 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#39 integrate .. //depot/projects/dtrace/src/UPDATING#27 integrate .. //depot/projects/dtrace/src/bin/Makefile#4 integrate .. //depot/projects/dtrace/src/bin/chflags/chflags.1#5 integrate .. //depot/projects/dtrace/src/bin/chflags/chflags.c#4 integrate .. //depot/projects/dtrace/src/bin/cp/cp.1#8 integrate .. //depot/projects/dtrace/src/bin/cp/cp.c#10 integrate .. //depot/projects/dtrace/src/bin/cp/utils.c#7 integrate .. //depot/projects/dtrace/src/bin/ps/ps.1#6 integrate .. //depot/projects/dtrace/src/bin/realpath/realpath.1#4 integrate .. //depot/projects/dtrace/src/bin/realpath/realpath.c#4 integrate .. //depot/projects/dtrace/src/bin/uuidgen/Makefile#1 branch .. //depot/projects/dtrace/src/bin/uuidgen/uuidgen.1#1 branch .. //depot/projects/dtrace/src/bin/uuidgen/uuidgen.c#1 branch .. //depot/projects/dtrace/src/contrib/tcsh/sh.lex.c#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountlate#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/root#6 integrate .. //depot/projects/dtrace/src/lib/Makefile#20 integrate .. //depot/projects/dtrace/src/lib/libalias/libalias/Makefile#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/Makefile#12 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive.h.in#11 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_entry.3#6 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_entry.c#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_entry.h#7 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read.3#8 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read.c#11 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_private.h#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_ar.c#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_mtree.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_tar.c#14 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_string.h#7 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_string_sprintf.c#6 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_util.3#6 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_util.c#8 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write.3#8 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write.c#11 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_disk.3#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_disk.c#6 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_private.h#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_ar.c#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_cpio.c#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_pax.c#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_ustar.c#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/config_freebsd.h#5 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/dtrace/src/lib/libarchive/test/Makefile#5 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/main.c#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test.h#4 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_archive_api_feature.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_gtar.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_tar_hardlink.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_zip.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_entry.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/dtrace/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_ar.c#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/dtrace/src/lib/libarchive/test/test_write_format_ar.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#13 integrate .. //depot/projects/dtrace/src/lib/libc/gen/scandir.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/gen/sem_timedwait.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/sem_wait.3#4 integrate .. //depot/projects/dtrace/src/lib/libc/sys/Makefile.inc#7 integrate .. //depot/projects/dtrace/src/lib/libc/sys/Symbol.map#7 integrate .. //depot/projects/dtrace/src/lib/libc/sys/fcntl.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/kldunload.2#4 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_proc.c#11 integrate .. //depot/projects/dtrace/src/lib/libpmc/libpmc.c#6 integrate .. //depot/projects/dtrace/src/lib/libpmc/pmc.3#8 integrate .. //depot/projects/dtrace/src/lib/libpmc/pmc_capabilities.3#2 integrate .. //depot/projects/dtrace/src/lib/libsdp/sdp.h#5 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_create.c#9 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sem.c#9 integrate .. //depot/projects/dtrace/src/lib/libthread_db/Makefile#6 integrate .. //depot/projects/dtrace/src/lib/libutil/humanize_number.c#4 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#18 integrate .. //depot/projects/dtrace/src/release/doc/share/misc/dev.archlist.txt#17 integrate .. //depot/projects/dtrace/src/sbin/atacontrol/atacontrol.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/multipath/gmultipath.8#3 integrate .. //depot/projects/dtrace/src/sbin/mount/mount.8#10 integrate .. //depot/projects/dtrace/src/share/examples/cvsup/cvs-supfile#5 integrate .. //depot/projects/dtrace/src/share/man/man4/uart.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/vr.4#5 integrate .. //depot/projects/dtrace/src/share/man/man9/DEVICE_PROBE.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#28 integrate .. //depot/projects/dtrace/src/share/man/man9/rwlock.9#9 integrate .. //depot/projects/dtrace/src/share/man/man9/stack.9#6 integrate .. //depot/projects/dtrace/src/share/misc/committers-ports.dot#5 integrate .. //depot/projects/dtrace/src/share/zoneinfo/leapseconds#7 integrate .. //depot/projects/dtrace/src/share/zoneinfo/southamerica#10 integrate .. //depot/projects/dtrace/src/sys/amd64/acpica/acpi_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/acpica/madt.c#7 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/intr_machdep.c#12 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/legacy.c#6 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/local_apic.c#14 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/machdep.c#25 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/mem.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/mp_machdep.c#12 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/mptable.c#5 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/nexus.c#10 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#24 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/vm_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/DEFAULTS#12 integrate .. //depot/projects/dtrace/src/sys/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/dtrace/src/sys/amd64/include/intr_machdep.h#8 integrate .. //depot/projects/dtrace/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/dtrace/src/sys/amd64/include/specialreg.h#11 integrate .. //depot/projects/dtrace/src/sys/amd64/isa/atpic.c#7 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_proto.h#15 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_syscall.h#15 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysent.c#15 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysvec.c#11 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/syscalls.master#14 integrate .. //depot/projects/dtrace/src/sys/arm/arm/busdma_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/arm/arm/intr.c#6 integrate .. //depot/projects/dtrace/src/sys/arm/arm/machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/dtrace/src/sys/arm/arm/trap.c#11 integrate .. //depot/projects/dtrace/src/sys/arm/arm/vm_machdep.c#13 integrate .. //depot/projects/dtrace/src/sys/arm/conf/AVILA#6 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/common/dev_net.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/btx/btx/btx.S#8 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/uboot/metadata.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/common/main.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/Makefile#3 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/api_public.h#3 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/console.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/libuboot.h#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/net.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/time.c#2 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#21 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#21 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#21 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#21 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#21 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#21 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_sysvec.c#5 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#41 integrate .. //depot/projects/dtrace/src/sys/conf/files#74 integrate .. //depot/projects/dtrace/src/sys/conf/options#42 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_cpu.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpivar.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#25 integrate .. //depot/projects/dtrace/src/sys/dev/cpufreq/ichss.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gem.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/hwpmc/pmc_events.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/msk/if_msk.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#15 integrate .. //depot/projects/dtrace/src/sys/dev/ofw/ofw_console.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/syscons/sysmouse.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/tdfx/tdfx_pci.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_dev_ns8250.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ehci_pci.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ums.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usb_quirks.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#25 integrate .. //depot/projects/dtrace/src/sys/dev/vr/if_vr.c#1 branch .. //depot/projects/dtrace/src/sys/dev/vr/if_vrreg.h#1 branch .. //depot/projects/dtrace/src/sys/dev/wpi/if_wpi.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/wpi/if_wpireg.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/wpi/if_wpivar.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/fifofs/fifo_vnops.c#10 integrate .. //depot/projects/dtrace/src/sys/fs/procfs/procfs_ctl.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/procfs/procfs_dbregs.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/procfs/procfs_status.c#7 integrate .. //depot/projects/dtrace/src/sys/gdb/gdb_cons.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/acpica/acpi_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/acpica/acpi_wakeup.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/acpica/madt.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/conf/DEFAULTS#12 integrate .. //depot/projects/dtrace/src/sys/i386/cpufreq/est.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/i386/i686_mem.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/i386/intr_machdep.c#10 integrate .. //depot/projects/dtrace/src/sys/i386/i386/k6_mem.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/i386/legacy.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/i386/local_apic.c#16 integrate .. //depot/projects/dtrace/src/sys/i386/i386/machdep.c#26 integrate .. //depot/projects/dtrace/src/sys/i386/i386/mp_machdep.c#13 integrate .. //depot/projects/dtrace/src/sys/i386/i386/mptable.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/i386/nexus.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/i386/sys_machdep.c#8 integrate .. //depot/projects/dtrace/src/sys/i386/i386/trap.c#29 integrate .. //depot/projects/dtrace/src/sys/i386/i386/vm_machdep.c#8 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/imgact_coff.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/include/intr_machdep.h#8 integrate .. //depot/projects/dtrace/src/sys/i386/include/nexusvar.h#1 branch .. //depot/projects/dtrace/src/sys/i386/include/specialreg.h#9 integrate .. //depot/projects/dtrace/src/sys/i386/isa/atpic.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_proto.h#17 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_syscall.h#16 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_sysent.c#16 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_sysvec.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#16 integrate .. //depot/projects/dtrace/src/sys/i386/svr4/svr4_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/xbox/xbox.c#5 integrate .. //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#12 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/interrupt.c#7 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/nexus.c#7 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/sscdisk.c#4 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/trap.c#12 integrate .. //depot/projects/dtrace/src/sys/ia64/include/ucontext.h#4 integrate .. //depot/projects/dtrace/src/sys/ia64/isa/isa_dma.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/imgact_elf.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/init_main.c#26 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#25 integrate .. //depot/projects/dtrace/src/sys/kern/kern_alq.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/kern_clock.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/kern_condvar.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#23 integrate .. //depot/projects/dtrace/src/sys/kern/kern_event.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#26 integrate .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#29 integrate .. //depot/projects/dtrace/src/sys/kern/kern_idle.c#11 integrate .. //depot/projects/dtrace/src/sys/kern/kern_intr.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/kern_kse.c#12 delete .. //depot/projects/dtrace/src/sys/kern/kern_linker.c#31 integrate .. //depot/projects/dtrace/src/sys/kern/kern_malloc.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/kern_mbuf.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/kern_module.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/kern_ntptime.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/kern_poll.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/kern_proc.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/kern_resource.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/kern_shutdown.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/kern_switch.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sx.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_synch.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/kern_tc.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_timeout.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/link_elf.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/link_elf_obj.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/p1003_1b.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#33 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#29 integrate .. //depot/projects/dtrace/src/sys/kern/subr_autoconf.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/subr_bus.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/subr_eventhandler.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/subr_log.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/subr_prof.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/subr_smp.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/subr_trap.c#11 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/sys_process.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#20 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/tty_cons.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pts.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pty.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/tty_subr.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/tty_tty.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_domain.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_acl.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_cache.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_hash.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_lookup.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#32 integrate .. //depot/projects/dtrace/src/sys/modules/vr/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/net/bpf.c#17 integrate .. //depot/projects/dtrace/src/sys/net/bpf_filter.c#6 integrate .. //depot/projects/dtrace/src/sys/net/ieee8023ad_lacp.c#4 integrate .. //depot/projects/dtrace/src/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/dtrace/src/sys/net/if.c#13 integrate .. //depot/projects/dtrace/src/sys/net/if_lagg.c#8 integrate .. //depot/projects/dtrace/src/sys/net/netisr.c#6 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#9 integrate .. //depot/projects/dtrace/src/sys/netatm/ipatm/ipatm_load.c#4 integrate .. //depot/projects/dtrace/src/sys/netatm/sigpvc/sigpvc_if.c#4 integrate .. //depot/projects/dtrace/src/sys/netatm/spans/spans_if.c#4 integrate .. //depot/projects/dtrace/src/sys/netatm/uni/uni_load.c#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/netgraph.h#9 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_base.c#15 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_l2tp.c#7 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_socket.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_ipsec.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias.h#6 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_old.c#5 delete .. //depot/projects/dtrace/src/sys/netinet/tcp_output.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_ipsec.c#3 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_ipsec.h#3 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_output.c#12 integrate .. //depot/projects/dtrace/src/sys/netipsec/ipsec.c#11 integrate .. //depot/projects/dtrace/src/sys/netipsec/ipsec_output.c#6 integrate .. //depot/projects/dtrace/src/sys/netipsec/key.c#7 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_conn.h#5 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_diskless.c#6 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/DEFAULTS#10 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/GENERIC#15 integrate .. //depot/projects/dtrace/src/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/dtrace/src/sys/pc98/pc98/machdep.c#21 integrate .. //depot/projects/dtrace/src/sys/pci/if_vr.c#8 delete .. //depot/projects/dtrace/src/sys/pci/if_vrreg.h#7 delete .. //depot/projects/dtrace/src/sys/powerpc/aim/machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/trap.c#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/vm_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/booke/trap.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/booke/vm_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/DEFAULTS#9 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/bootinfo.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/ocpbus.h#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/ocpbus.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/intr_machdep.c#10 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit.c#15 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_worker.c#11 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#10 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#18 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/tlb.h#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/cache.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/cheetah.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/intr_machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/iommu.c#5 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/mp_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/pmap.c#16 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/spitfire.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/tlb.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/trap.c#10 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/vm_machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/intr_machdep.c#8 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/mp_machdep.c#12 integrate .. //depot/projects/dtrace/src/sys/sys/bus.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/bus_dma.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/condvar.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/cpuset.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/disklabel.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/eventhandler.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/fcntl.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/interrupt.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/kernel.h#19 integrate .. //depot/projects/dtrace/src/sys/sys/kse.h#4 delete .. //depot/projects/dtrace/src/sys/sys/module.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#43 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#37 integrate .. //depot/projects/dtrace/src/sys/sys/rwlock.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/sched.h#13 integrate .. //depot/projects/dtrace/src/sys/sys/sleepqueue.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#22 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#22 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#22 integrate .. //depot/projects/dtrace/src/sys/sys/systm.h#18 integrate .. //depot/projects/dtrace/src/sys/sys/taskqueue.h#4 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_softdep.c#16 integrate .. //depot/projects/dtrace/src/sys/vm/vm_fault.c#14 integrate .. //depot/projects/dtrace/src/sys/vm/vm_glue.c#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_init.c#5 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.c#15 integrate .. //depot/projects/dtrace/src/sys/vm/vm_meter.c#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_mmap.c#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageout.c#10 integrate .. //depot/projects/dtrace/src/sys/vm/vm_zeroidle.c#11 integrate .. //depot/projects/dtrace/src/tools/build/mk/OptionalObsoleteFiles.inc#12 integrate .. //depot/projects/dtrace/src/tools/regression/file/dup/dup.c#2 integrate .. //depot/projects/dtrace/src/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/dtrace/src/usr.bin/Makefile#15 integrate .. //depot/projects/dtrace/src/usr.bin/ar/ar.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/ar/ar.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/ar/ar.h#2 integrate .. //depot/projects/dtrace/src/usr.bin/ar/write.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpuset/cpuset.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/gzip.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/kdump.c#13 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/kdump_subr.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/mksubr#9 integrate .. //depot/projects/dtrace/src/usr.bin/make/globals.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/make/hash_tables.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/make/main.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/make/make.1#9 integrate .. //depot/projects/dtrace/src/usr.bin/make/parse.c#6 integrate .. //depot/projects/dtrace/src/usr.bin/ministat/ministat.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/split/split.1#6 integrate .. //depot/projects/dtrace/src/usr.bin/split/split.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.1#9 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.h#7 integrate .. //depot/projects/dtrace/src/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/dtrace/src/usr.bin/tar/read.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/write.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/uuidgen/Makefile#5 delete .. //depot/projects/dtrace/src/usr.bin/uuidgen/uuidgen.1#4 delete .. //depot/projects/dtrace/src/usr.bin/uuidgen/uuidgen.c#4 delete .. //depot/projects/dtrace/src/usr.sbin/Makefile#22 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/gn.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/nap.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/panu.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/profile.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/profile.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/fifolog/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/Makefile.inc#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_create/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_create/fifolog.1#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_create/fifolog_create.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_reader/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_reader/fifolog_reader.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_writer/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/fifolog_writer/fifolog_writer.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/flint.lnt#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_create.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_int.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_reader.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_write.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_write_poll.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/getdate.y#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/libfifolog.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/libfifolog_int.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/miniobj.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/mixer/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.sbin/mixer/mixer.8#5 integrate .. //depot/projects/dtrace/src/usr.sbin/mixer/mixer.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ppp/command.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/ppp/ipcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ppp/main.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ppp/nat_cmd.c#4 integrate .. //depot/projects/dtrace/www/en/developers.sgml#31 integrate .. //depot/projects/dtrace/www/en/docs/books.sgml#13 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#26 integrate .. //depot/projects/dtrace/www/en/features.sgml#8 integrate .. //depot/projects/dtrace/www/en/internal/about.sgml#6 integrate .. //depot/projects/dtrace/www/en/internal/internal.sgml#5 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#9 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xsl#3 integrate .. //depot/projects/dtrace/www/en/search/web.atoz#5 integrate .. //depot/projects/dtrace/www/en/snapshots/index.sgml#20 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#42 integrate .. //depot/projects/dtrace/www/share/sgml/usergroups.xml#18 integrate .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/errata.html#2 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.55 2008/03/05 12:57:31 gabor Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.56 2008/03/11 11:35:43 gabor Exp $ SUBDIR = SUBDIR+= 5-roadmap @@ -30,6 +30,7 @@ SUBDIR+= laptop SUBDIR+= linux-comparison SUBDIR+= linux-emulation +SUBDIR+= linux-users SUBDIR+= mailing-list-faq SUBDIR+= mh SUBDIR+= multi-os ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#65 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + Traps - Zhe trap handlers are introduced in + The trap handlers are introduced in arch/i386/kernel/traps.c and most of these handlers live in arch/i386/kernel/entry.S, where handling of the traps happens. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#12 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -547,6 +547,11 @@ *There are multiple versions of the package. + !The installed package exists in the + index but for some reason, pkg_version was + unable to compare the version number of the installed package + with the corresponding entry in the index. + ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -770,7 +770,7 @@ VMWare on MacOS - FMWare Fusion for &mac; is a + VMWare Fusion for &mac; is a commercial software product available for &intel; based &apple; &mac; computers running &macos; 10.4.9 or higher. FreeBSD is a fully supported guest operating system. Once ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#59 (text+ko) ==== @@ -1,7 +1,7 @@ 800022 + + + 8.0-CURRENT after adding F_DUP2FD command + to &man.fcntl.2;. + 800025 + ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#33 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.443 2008/03/08 03:29:24 lippe Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.444 2008/03/13 17:10:48 rdivacky Exp $ --> aaron@FreeBSD.org"> @@ -840,6 +840,8 @@ raj@FreeBSD.org"> +rdivacky@FreeBSD.org"> + rees@FreeBSD.org"> reg@FreeBSD.org"> ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#33 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -254,6 +254,11 @@ &pgpkey.vd; + + &a.rdivacky; + &pgpkey.rdivacky; + + &a.danfe; &pgpkey.danfe; @@ -334,6 +339,11 @@ &pgpkey.lioux; + + &a.lippe; + &pgpkey.lippe; + + &a.fanf; &pgpkey.fanf; ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#32 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -148,6 +148,7 @@ + @@ -215,6 +216,7 @@ + ==== //depot/projects/dtrace/doc/share/sgml/man-refs.ent#26 (text+ko) ==== @@ -20,7 +20,7 @@ lexicographical order by the entity (i.e., the dots used in place of special characters should not be expanded when comparing). - $FreeBSD: doc/share/sgml/man-refs.ent,v 1.451 2008/02/27 10:32:41 gabor Exp $ + $FreeBSD: doc/share/sgml/man-refs.ent,v 1.452 2008/03/15 06:55:16 bmah Exp $ --> @@ -118,6 +118,7 @@ + ==== //depot/projects/dtrace/ports/CHANGES#11 (text+ko) ==== @@ -10,6 +10,14 @@ All ports committers are allowed to commit to this file. +20080312: +AUTHOR: pav@FreeBSD.org + + * USE_XPM no longer implies USE_XLIB. + + * USE_LDCONFIG can now be used to Linux binary ports that install shared + libraries instead of INSTALLS_SHLIB. + 20070908: AUTHOR: gabor@FreeBSD.org, linimon@FreeBSD.org @@ -1417,4 +1425,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.79 2007/09/20 09:29:24 danfe Exp $ +$FreeBSD: ports/CHANGES,v 1.80 2008/03/11 23:51:24 pav Exp $ ==== //depot/projects/dtrace/ports/LEGAL#36 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.571 2008/02/29 19:56:35 danfe Exp $ +# $FreeBSD: ports/LEGAL,v 1.572 2008/03/13 15:24:57 pav Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -23,6 +23,10 @@ Dist Port Why ------------------------------------------------------------------------------ +ventrilo_srv-* audio/ventrilo-server May not be redistributed. + Crypto; export-controlled. + For personal use only. + Must accept license to download. 112887-04.tar editors/staroffice60 Must be bought and downloaded directly from Sun via WWW interface ==== //depot/projects/dtrace/ports/MOVED#69 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1553 2008/03/07 21:56:23 flz Exp $ +# $FreeBSD: ports/MOVED,v 1.1558 2008/03/14 22:40:20 miwi Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3429,3 +3429,8 @@ x11/XFree86-4-documents||2008-03-07|XFree86-4 is no longer supported on FreeBSD x11/XFree86-4-libraries||2008-03-07|XFree86-4 is no longer supported on FreeBSD x11/XFree86-4-manuals||2008-03-07|XFree86-4 is no longer supported on FreeBSD +x11/ecore|devel/ecore|2008-03-12|Change category +www/scout||2008-03-12|Has expired: Abandonware, website disappeared. +security/nmapfe|security/zenmap|2008-03-14|Project renamed +x11/hs-x11-extras-ghc||2008-03-14|Has expired: Use x11/hs-x11-ghc instead +www/mod_dosevasise20||2008-03-14|Has expired: Use www/mod_evasive20 instead ==== //depot/projects/dtrace/ports/Mk/bsd.commands.mk#2 (text+ko) ==== @@ -5,7 +5,7 @@ # # Created by: Gabor Kovesdan # -# $FreeBSD: ports/Mk/bsd.commands.mk,v 1.1 2007/08/04 11:37:23 gabor Exp $ +# $FreeBSD: ports/Mk/bsd.commands.mk,v 1.2 2008/03/11 23:31:29 pav Exp $ # # DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET # A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL @@ -83,6 +83,7 @@ TRUE?= true # Shell builtin UMOUNT?= /sbin/umount UNAME?= /usr/bin/uname +UNMAKESELF_CMD?= ${LOCALBASE}/bin/unmakeself UNZIP_CMD?= ${LOCALBASE}/bin/unzip WHICH?= /usr/bin/which XARGS?= /usr/bin/xargs ==== //depot/projects/dtrace/ports/Mk/bsd.database.mk#9 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.database.mk,v 1.22 2007/10/15 15:32:19 girgen Exp $ +# $FreeBSD: ports/Mk/bsd.database.mk,v 1.23 2008/03/11 23:34:09 pav Exp $ # .if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include) @@ -37,10 +37,10 @@ # If no version is given (by the maintainer via the port or # by the user via defined variable), try to find the # currently installed version. Fall back to default if -# necessary (PostgreSQL-8.1 = 81). +# necessary (PostgreSQL-8.2 = 82). # DEFAULT_PGSQL_VER # - PostgreSQL default version. Can be overridden within a port. -# Default: 81. +# Default: 82. # WANT_PGSQL_VER # - Maintainer can set an arbitrary version of PostgreSQL by # using it. @@ -147,7 +147,7 @@ .endif # USE_MYSQL .if defined(USE_PGSQL) -DEFAULT_PGSQL_VER?= 81 +DEFAULT_PGSQL_VER?= 82 PGSQL73_LIBVER= 3 PGSQL74_LIBVER= 3 PGSQL80_LIBVER= 4 @@ -311,7 +311,7 @@ _CHK_PLUS:= ${VER:S/+//} # INVALID_BDB_VER is specified as VER+ . if ${_CHK_PLUS} != "${VER}" -. if ${_BDB_VER} == "${_CHK_PLUS} +. if ${_BDB_VER} == "${_CHK_PLUS}" _BDB_IGNORE= yes . else . for VER_P in ${_DB_${_CHK_PLUS}P} ==== //depot/projects/dtrace/ports/Mk/bsd.destdir.mk#2 (text+ko) ==== @@ -5,7 +5,7 @@ # # Created by: Gabor Kovesdan # -# $FreeBSD: ports/Mk/bsd.destdir.mk,v 1.1 2007/08/04 11:37:23 gabor Exp $ +# $FreeBSD: ports/Mk/bsd.destdir.mk,v 1.2 2008/03/11 23:37:32 pav Exp $ # # Please make sure all changes to this file are passed through the maintainer. @@ -76,7 +76,7 @@ .endif DESTDIR_ENV_LIST?= -DESTDIR_ENV= CHROOTED=yes +DESTDIR_ENV= CHROOTED=yes PATH=${PATH} TERM=${TERM} .for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} DESTDIR_ENV+= ${_var}="${${_var}}" .endfor ==== //depot/projects/dtrace/ports/Mk/bsd.efl.mk#2 (text+ko) ==== @@ -1,10 +1,10 @@ # # $MBSDlabs: portmk/bsd.efl.mk,v 1.17 2006/10/02 14:57:48 stas Exp $ -# $FreeBSD: ports/Mk/bsd.efl.mk,v 1.1 2007/03/24 14:02:06 pav Exp $ +# $FreeBSD: ports/Mk/bsd.efl.mk,v 1.2 2008/03/11 21:13:22 stas Exp $ # # bsd.efl.mk - Support for Enlightenment Foundation Libraries (EFL) # -# Author: Stanislav Sedov +# Author: Stanislav Sedov # Inspired by bsd.sdl.mk by Edwin Groothuis # # You can specify EFL-related library dependency using "USE_EFL=" statement, @@ -34,13 +34,13 @@ # Feel free to send any comments and suggestion to maintainer. # -EFL_Include_MAINTAINER= ssedov@mbsd.msk.ru +EFL_Include_MAINTAINER= stas@FreeBSD.org # # Define all supported libraries # -_USE_EFL_ALL= ecore edb edje eet embryo emotion engrave enhance epeg \ - epsilon etk etox evas evfs ewl exml imlib2 +_USE_EFL_ALL= ecore edb edje eet efreet embryo emotion engrave enhance epeg \ + epsilon etk etox evas evfs ewl exml imlib2 edbus # For each library supported we define the following variables: # _%%LIB%%_CATEGORY - category the port belongs to @@ -52,19 +52,29 @@ # _%%LIB%%_SLIB - name of the shared library # -_ecore_CATEGORY= x11 -_ecore_DEPENDS= evas +_ecore_CATEGORY= devel +_ecore_PORTNAME= ecore-main _ecore_PREFIX= ${LOCALBASE} -_ecore_VERSION= 1 +_ecore_VERSION= 9 _edb_CATEGORY= databases _edb_PREFIX= ${LOCALBASE} _edb_VERSION= 1 +_edbus_CATEGORY= devel +_edbus_PORTNAME= e_dbus +_edbus_PREFIX= ${LOCALBASE} +_edbus_VERSION= 1 + _eet_CATEGORY= devel _eet_PREFIX= ${LOCALBASE} _eet_VERSION= 9 +_efreet_CATEGORY= x11 +_efreet_DEPENDS= ecore +_efreet_PREFIX= ${LOCALBASE} +_efreet_VERSION= 0 + _edje_CATEGORY= graphics _edje_DEPENDS= embryo eet imlib2 evas ecore _edje_PREFIX= ${LOCALBASE} @@ -77,7 +87,7 @@ _emotion_CATEGORY= multimedia _emotion_DEPENDS= ecore edje eet embryo evas _emotion_PREFIX= ${LOCALBASE} -_emotion_VERSION= 0 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 16 21:56:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABE3F1065672; Sun, 16 Mar 2008 21:56:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6AAAD106566C for ; Sun, 16 Mar 2008 21:56:22 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 53D228FC1A for ; Sun, 16 Mar 2008 21:56:22 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2GLuMo2069378 for ; Sun, 16 Mar 2008 21:56:22 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2GLuM29069376 for perforce@freebsd.org; Sun, 16 Mar 2008 21:56:22 GMT (envelope-from jb@freebsd.org) Date: Sun, 16 Mar 2008 21:56:22 GMT Message-Id: <200803162156.m2GLuM29069376@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137876 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Mar 2008 21:56:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=137876 Change 137876 by jb@jb_freebsd8 on 2008/03/16 21:55:36 Regen after IFC. Affected files ... .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#26 edit .. //depot/projects/dtrace/src/sys/kern/syscalls.c#25 edit .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#21 edit .. //depot/projects/dtrace/src/sys/sys/syscall.h#23 edit .. //depot/projects/dtrace/src/sys/sys/syscall.mk#23 edit .. //depot/projects/dtrace/src/sys/sys/sysproto.h#23 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/init_sysent.c#26 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.235 2008/03/12 10:11:59 jeff Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.239 2008/03/12 10:11:59 jeff Exp */ #include "opt_compat.h" ==== //depot/projects/dtrace/src/sys/kern/syscalls.c#25 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.219 2008/03/12 10:11:59 jeff Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.239 2008/03/12 10:11:59 jeff Exp */ const char *syscallnames[] = { ==== //depot/projects/dtrace/src/sys/kern/systrace_args.c#21 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.19 2008/03/12 10:11:59 jeff Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -6222,58 +6222,6 @@ break; }; break; - /* kse_exit */ - case 379: - break; - /* kse_wakeup */ - case 380: - switch(ndx) { - case 0: - p = "struct kse_mailbox *"; - break; - default: - break; - }; - break; - /* kse_create */ - case 381: - switch(ndx) { - case 0: - p = "struct kse_mailbox *"; - break; - case 1: - p = "int"; - break; - default: - break; - }; - break; - /* kse_thr_interrupt */ - case 382: - switch(ndx) { - case 0: - p = "struct kse_thr_mailbox *"; - break; - case 1: - p = "int"; - break; - case 2: - p = "long"; - break; - default: - break; - }; - break; - /* kse_release */ - case 383: - switch(ndx) { - case 0: - p = "struct timespec *"; - break; - default: - break; - }; - break; /* __mac_get_proc */ case 384: switch(ndx) { @@ -6995,19 +6943,6 @@ break; }; break; - /* kse_switchin */ - case 440: - switch(ndx) { - case 0: - p = "struct kse_thr_mailbox *"; - break; - case 1: - p = "int"; - break; - default: - break; - }; - break; /* ksem_timedwait */ case 441: switch(ndx) { ==== //depot/projects/dtrace/src/sys/sys/syscall.h#23 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.216 2008/03/12 10:12:01 jeff Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.239 2008/03/12 10:11:59 jeff Exp */ #define SYS_syscall 0 ==== //depot/projects/dtrace/src/sys/sys/syscall.mk#23 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.171 2008/03/12 10:12:01 jeff Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp +# $FreeBSD$ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.239 2008/03/12 10:11:59 jeff Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/dtrace/src/sys/sys/sysproto.h#23 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.220 2008/03/12 10:12:01 jeff Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.239 2008/03/12 10:11:59 jeff Exp */ #ifndef _SYS_SYSPROTO_H_ From owner-p4-projects@FreeBSD.ORG Mon Mar 17 00:48:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E0F9E106567A; Mon, 17 Mar 2008 00:48:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 835611065677 for ; Mon, 17 Mar 2008 00:48:54 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C2C98FC17 for ; Mon, 17 Mar 2008 00:48:54 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2H0msUO092014 for ; Mon, 17 Mar 2008 00:48:54 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2H0msks092012 for perforce@freebsd.org; Mon, 17 Mar 2008 00:48:54 GMT (envelope-from marcel@freebsd.org) Date: Mon, 17 Mar 2008 00:48:54 GMT Message-Id: <200803170048.m2H0msks092012@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 137889 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 00:48:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=137889 Change 137889 by marcel@marcel_xcllnt on 2008/03/17 00:48:28 IFC @137888 Affected files ... .. //depot/projects/powerpc/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/powerpc/share/man/man9/atomic.9#2 integrate .. //depot/projects/powerpc/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/powerpc/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/powerpc/sys/i386/include/atomic.h#6 integrate .. //depot/projects/powerpc/sys/ia64/include/atomic.h#6 integrate .. //depot/projects/powerpc/sys/kern/kern_resource.c#16 integrate .. //depot/projects/powerpc/sys/netgraph/ng_base.c#16 integrate .. //depot/projects/powerpc/sys/netgraph/ng_l2tp.c#6 integrate .. //depot/projects/powerpc/sys/powerpc/include/atomic.h#6 integrate .. //depot/projects/powerpc/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/powerpc/sys/sparc64/include/atomic.h#5 integrate .. //depot/projects/powerpc/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/powerpc/sys/sys/resourcevar.h#7 integrate .. //depot/projects/powerpc/usr.sbin/adduser/adduser.8#4 integrate .. //depot/projects/powerpc/usr.sbin/fifolog/lib/miniobj.h#2 integrate Differences ... ==== //depot/projects/powerpc/share/man/man4/man4.i386/ar.4#2 (text+ko) ==== @@ -25,17 +25,16 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/ar.4,v 1.28 2005/01/21 08:36:38 ru Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/ar.4,v 1.29 2008/03/16 22:26:17 brueffer Exp $ .\" -.Dd November 19, 1995 +.Dd March 16, 2008 .Dt AR 4 i386 .Os .Sh NAME .Nm ar .Nd synchronous Digi/Arnet device driver .Sh SYNOPSIS -.Cd "device ar0 at isa? port 0x300 irq 10 iomem 0xd0000" -.Cd "device ar1 at isa? port 0x310 irq 11 iomem 0xd0000" +.Cd "device ar" .Pp .Cd "device sppp" .Sh DESCRIPTION @@ -83,14 +82,6 @@ The node will have the same name as the device with ``sync_'' prepended, e.g., .Dv sync_ar0 . -.Sh FILES -.Bl -tag -width /sys/i386/isa/ic/hd64570.h -compact -.It Pa /sys/i386/isa/ic/hd64570.h -.It Pa /sys/i386/isa/if_arregs.h -.It Pa /sys/i386/isa/if_ar.c -.It Pa /sys/i386/isa/if_ar.h -.It Pa /sys/pci/if_ar_p.c -.El .Sh DIAGNOSTICS .Bl -diag .It "ar%d: Warning illegal interrupt %d." ==== //depot/projects/powerpc/share/man/man4/man4.i386/pnp.4#2 (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/share/man/man4/man4.i386/pnp.4,v 1.17 2005/07/15 17:35:26 hrs Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/pnp.4,v 1.18 2008/03/16 22:51:30 brueffer Exp $ .\" .Dd September 20, 2001 .Dt PNP 4 i386 @@ -80,6 +80,7 @@ .Fx 2.2.5 . It has been substantially updated in subsequent versions. .Sh AUTHORS +.An -nosplit PnP support was originally written for .Fx 2.2.5 ==== //depot/projects/powerpc/share/man/man9/atomic.9#2 (text+ko) ==== @@ -21,7 +21,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/share/man/man9/atomic.9,v 1.13 2005/11/18 10:52:24 ru Exp $ +.\" $FreeBSD: src/share/man/man9/atomic.9,v 1.14 2008/03/16 21:20:50 pjd Exp $ .\" .Dd September 27, 2005 .Os @@ -211,7 +211,8 @@ The .Fn atomic_fetchadd functions are only implemented for the types -.Dq Li int +.Dq Li int , +.Dq Li long and .Dq Li 32 and do not have any variants with memory barriers at this time. ==== //depot/projects/powerpc/sys/amd64/include/atomic.h#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/sys/amd64/include/atomic.h,v 1.44 2006/12/29 15:29:49 bde Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.45 2008/03/16 21:20:48 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -74,6 +74,7 @@ int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src); int atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src); u_int atomic_fetchadd_int(volatile u_int *p, u_int v); +u_long atomic_fetchadd_long(volatile u_long *p, u_long v); #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \ @@ -174,6 +175,25 @@ return (v); } +/* + * Atomically add the value of v to the long integer pointed to by p and return + * the previous value of *p. + */ +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + + __asm __volatile( + " " MPLOCKED " " + " xaddq %0, %1 ; " + "# atomic_fetchadd_long" + : "+r" (v), /* 0 (result) */ + "=m" (*p) /* 1 */ + : "m" (*p)); /* 2 */ + + return (v); +} + #if defined(_KERNEL) && !defined(SMP) /* ==== //depot/projects/powerpc/sys/i386/cpufreq/p4tcc.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/cpufreq/p4tcc.c,v 1.12 2005/10/23 19:38:06 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/cpufreq/p4tcc.c,v 1.13 2008/03/17 00:36:16 phk Exp $"); #include #include @@ -164,7 +164,7 @@ */ sc->auto_mode = TRUE; - switch (cpu_id & 0xf) { + switch (cpu_id & 0xff) { case 0x22: case 0x24: case 0x25: ==== //depot/projects/powerpc/sys/i386/include/atomic.h#6 (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/i386/include/atomic.h,v 1.47 2006/12/29 15:48:18 bde Exp $ + * $FreeBSD: src/sys/i386/include/atomic.h,v 1.48 2008/03/16 21:20:49 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -278,6 +278,13 @@ (u_int)src)); } +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + + return (atomic_fetchadd_int((volatile u_int *)p, (u_int)v)); +} + /* Read the current value and store a zero in the destination. */ #ifdef __GNUCLIKE_ASM ==== //depot/projects/powerpc/sys/ia64/include/atomic.h#6 (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/ia64/include/atomic.h,v 1.12 2007/11/27 06:34:15 jasone Exp $ + * $FreeBSD: src/sys/ia64/include/atomic.h,v 1.13 2008/03/16 21:20:49 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -371,4 +371,15 @@ #define atomic_fetchadd_int atomic_fetchadd_32 +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + u_long value; + + do { + value = *p; + } while (!atomic_cmpset_64(p, value, value + v)); + return (value); +} + #endif /* ! _MACHINE_ATOMIC_H_ */ ==== //depot/projects/powerpc/sys/kern/kern_resource.c#16 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.185 2008/03/16 18:26:59 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.187 2008/03/16 21:32:20 pjd Exp $"); #include "opt_compat.h" @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -67,7 +68,7 @@ static MALLOC_DEFINE(M_PLIMIT, "plimit", "plimit structures"); static MALLOC_DEFINE(M_UIDINFO, "uidinfo", "uidinfo structures"); #define UIHASH(uid) (&uihashtbl[(uid) & uihash]) -static struct mtx uihashtbl_mtx; +static struct rwlock uihashtbl_lock; static LIST_HEAD(uihashhead, uidinfo) *uihashtbl; static u_long uihash; /* size of hash table - 1 */ @@ -263,7 +264,7 @@ n = PRIO_MAX; if (n < PRIO_MIN) n = PRIO_MIN; - if (n < p->p_nice && priv_check(td, PRIV_SCHED_SETPRIORITY) != 0) + if (n < p->p_nice && priv_check(td, PRIV_SCHED_SETPRIORITY) != 0) return (EACCES); PROC_SLOCK(p); sched_nice(p, n); @@ -331,7 +332,7 @@ * due to a CPU-bound normal process). Fix me! XXX */ #if 0 - if (RTP_PRIO_IS_REALTIME(rtp.type)) { + if (RTP_PRIO_IS_REALTIME(rtp.type)) { #else if (rtp.type != RTP_PRIO_NORMAL) { #endif @@ -402,7 +403,7 @@ /* * Return OUR priority if no pid specified, * or if one is, report the highest priority - * in the process. There isn't much more you can do as + * in the process. There isn't much more you can do as * there is only room to return a single priority. * Note: specifying our own pid is not the same * as leaving it zero. @@ -889,13 +890,13 @@ if (su < ruxp->rux_su) su = ruxp->rux_su; } else if (tu + 3 > ruxp->rux_tu || 101 * tu > 100 * ruxp->rux_tu) { - /* + /* * When we calibrate the cputicker, it is not uncommon to * see the presumably fixed frequency increase slightly over * time as a result of thermal stabilization and NTP * discipline (of the reference clock). We therefore ignore * a bit of backwards slop because we expect to catch up - * shortly. We use a 3 microsecond limit to catch low + * shortly. We use a 3 microsecond limit to catch low * counts and a 1% limit for high counts. */ uu = ruxp->rux_uu; @@ -1171,12 +1172,12 @@ { uihashtbl = hashinit(maxproc / 16, M_UIDINFO, &uihash); - mtx_init(&uihashtbl_mtx, "uidinfo hash", NULL, MTX_DEF); + rw_init(&uihashtbl_lock, "uidinfo hash"); } /* * Look up a uidinfo struct for the parameter uid. - * uihashtbl_mtx must be locked. + * uihashtbl_lock must be locked. */ static struct uidinfo * uilookup(uid) @@ -1185,7 +1186,7 @@ struct uihashhead *uipp; struct uidinfo *uip; - mtx_assert(&uihashtbl_mtx, MA_OWNED); + rw_assert(&uihashtbl_lock, RA_LOCKED); uipp = UIHASH(uid); LIST_FOREACH(uip, uipp, ui_hash) if (uip->ui_uid == uid) @@ -1205,12 +1206,12 @@ { struct uidinfo *old_uip, *uip; - mtx_lock(&uihashtbl_mtx); + rw_rlock(&uihashtbl_lock); uip = uilookup(uid); if (uip == NULL) { - mtx_unlock(&uihashtbl_mtx); + rw_runlock(&uihashtbl_lock); uip = malloc(sizeof(*uip), M_UIDINFO, M_WAITOK | M_ZERO); - mtx_lock(&uihashtbl_mtx); + rw_wlock(&uihashtbl_lock); /* * There's a chance someone created our uidinfo while we * were in malloc and not holding the lock, so we have to @@ -1221,13 +1222,14 @@ free(uip, M_UIDINFO); uip = old_uip; } else { - uip->ui_mtxp = mtx_pool_alloc(mtxpool_sleep); + refcount_init(&uip->ui_ref, 0); uip->ui_uid = uid; LIST_INSERT_HEAD(UIHASH(uid), uip, ui_hash); } + uihold(uip); } uihold(uip); - mtx_unlock(&uihashtbl_mtx); + rw_unlock(&uihashtbl_lock); return (uip); } @@ -1239,9 +1241,7 @@ struct uidinfo *uip; { - UIDINFO_LOCK(uip); - uip->ui_ref++; - UIDINFO_UNLOCK(uip); + refcount_acquire(&uip->ui_ref); } /*- @@ -1263,43 +1263,32 @@ uifree(uip) struct uidinfo *uip; { + int old; /* Prepare for optimal case. */ - UIDINFO_LOCK(uip); - - if (--uip->ui_ref != 0) { - UIDINFO_UNLOCK(uip); + old = uip->ui_ref; + if (old > 1 && atomic_cmpset_int(&uip->ui_ref, old, old - 1)) return; - } /* Prepare for suboptimal case. */ - uip->ui_ref++; - UIDINFO_UNLOCK(uip); - mtx_lock(&uihashtbl_mtx); - UIDINFO_LOCK(uip); - - /* - * We must subtract one from the count again because we backed out - * our initial subtraction before dropping the lock. - * Since another thread may have added a reference after we dropped the - * initial lock we have to test for zero again. - */ - if (--uip->ui_ref == 0) { + rw_wlock(&uihashtbl_lock); + if (refcount_release(&uip->ui_ref)) { LIST_REMOVE(uip, ui_hash); - mtx_unlock(&uihashtbl_mtx); + rw_wunlock(&uihashtbl_lock); if (uip->ui_sbsize != 0) - printf("freeing uidinfo: uid = %d, sbsize = %jd\n", - uip->ui_uid, (intmax_t)uip->ui_sbsize); + printf("freeing uidinfo: uid = %d, sbsize = %ld\n", + uip->ui_uid, uip->ui_sbsize); if (uip->ui_proccnt != 0) printf("freeing uidinfo: uid = %d, proccnt = %ld\n", uip->ui_uid, uip->ui_proccnt); - UIDINFO_UNLOCK(uip); FREE(uip, M_UIDINFO); return; } - - mtx_unlock(&uihashtbl_mtx); - UIDINFO_UNLOCK(uip); + /* + * Someone added a reference between atomic_cmpset_int() and + * rw_wlock(&uihashtbl_lock). + */ + rw_wunlock(&uihashtbl_lock); } /* @@ -1310,19 +1299,20 @@ chgproccnt(uip, diff, max) struct uidinfo *uip; int diff; - int max; + rlim_t max; { - UIDINFO_LOCK(uip); /* Don't allow them to exceed max, but allow subtraction. */ - if (diff > 0 && uip->ui_proccnt + diff > max && max != 0) { - UIDINFO_UNLOCK(uip); - return (0); + if (diff > 0 && max != 0) { + if (atomic_fetchadd_long(&uip->ui_proccnt, (long)diff) + diff > max) { + atomic_subtract_long(&uip->ui_proccnt, (long)diff); + return (0); + } + } else { + atomic_add_long(&uip->ui_proccnt, (long)diff); + if (uip->ui_proccnt < 0) + printf("negative proccnt for uid = %d\n", uip->ui_uid); } - uip->ui_proccnt += diff; - if (uip->ui_proccnt < 0) - printf("negative proccnt for uid = %d\n", uip->ui_uid); - UIDINFO_UNLOCK(uip); return (1); } @@ -1336,19 +1326,19 @@ u_int to; rlim_t max; { - rlim_t new; + int diff; - UIDINFO_LOCK(uip); - new = uip->ui_sbsize + to - *hiwat; - /* Don't allow them to exceed max, but allow subtraction. */ - if (to > *hiwat && new > max) { - UIDINFO_UNLOCK(uip); - return (0); + diff = to - *hiwat; + if (diff > 0) { + if (atomic_fetchadd_long(&uip->ui_sbsize, (long)diff) + diff > max) { + atomic_subtract_long(&uip->ui_sbsize, (long)diff); + return (0); + } + } else { + atomic_add_long(&uip->ui_sbsize, (long)diff); + if (uip->ui_sbsize < 0) + printf("negative sbsize for uid = %d\n", uip->ui_uid); } - uip->ui_sbsize = new; - UIDINFO_UNLOCK(uip); *hiwat = to; - if (new < 0) - printf("negative sbsize for uid = %d\n", uip->ui_uid); return (1); } ==== //depot/projects/powerpc/sys/netgraph/ng_base.c#16 (text+ko) ==== @@ -38,7 +38,7 @@ * Authors: Julian Elischer * Archie Cobbs * - * $FreeBSD: src/sys/netgraph/ng_base.c,v 1.150 2008/03/11 21:58:48 mav Exp $ + * $FreeBSD: src/sys/netgraph/ng_base.c,v 1.151 2008/03/16 23:12:17 mav Exp $ * $Whistle: ng_base.c,v 1.39 1999/01/28 23:54:53 julian Exp $ */ @@ -3577,7 +3577,6 @@ */ if ((hook == NULL) || NG_HOOK_NOT_VALID(hook) - || (NG_HOOK_PEER(hook) == NULL) || NG_HOOK_NOT_VALID(NG_HOOK_PEER(hook)) || NG_NODE_NOT_VALID(NG_PEER_NODE(hook))) { NG_FREE_ITEM(item); ==== //depot/projects/powerpc/sys/netgraph/ng_l2tp.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ * * Author: Archie Cobbs * - * $FreeBSD: src/sys/netgraph/ng_l2tp.c,v 1.24 2008/03/09 11:17:00 mav Exp $ + * $FreeBSD: src/sys/netgraph/ng_l2tp.c,v 1.25 2008/03/16 21:33:12 mav Exp $ */ /* @@ -100,6 +100,20 @@ /* Compare sequence numbers using circular math */ #define L2TP_SEQ_DIFF(x, y) ((int)((int16_t)(x) - (int16_t)(y))) +#define SESSHASHSIZE 0x0020 +#define SESSHASH(x) (((x) ^ ((x) >> 8)) & (SESSHASHSIZE - 1)) + +/* Hook private data (data session hooks only) */ +struct ng_l2tp_hook_private { + struct ng_l2tp_sess_config conf; /* hook/session config */ + struct ng_l2tp_session_stats stats; /* per sessions statistics */ + hook_p hook; /* hook reference */ + u_int16_t ns; /* data ns sequence number */ + u_int16_t nr; /* data nr sequence number */ + LIST_ENTRY(ng_l2tp_hook_private) sessions; +}; +typedef struct ng_l2tp_hook_private *hookpriv_p; + /* * Sequence number state * @@ -141,18 +155,10 @@ struct ng_l2tp_stats stats; /* node statistics */ struct l2tp_seq seq; /* ctrl sequence number state */ ng_ID_t ftarget; /* failure message target */ + LIST_HEAD(, ng_l2tp_hook_private) sesshash[SESSHASHSIZE]; }; typedef struct ng_l2tp_private *priv_p; -/* Hook private data (data session hooks only) */ -struct ng_l2tp_hook_private { - struct ng_l2tp_sess_config conf; /* hook/session config */ - struct ng_l2tp_session_stats stats; /* per sessions statistics */ - u_int16_t ns; /* data ns sequence number */ - u_int16_t nr; /* data nr sequence number */ -}; -typedef struct ng_l2tp_hook_private *hookpriv_p; - /* Netgraph node methods */ static ng_constructor_t ng_l2tp_constructor; static ng_rcvmsg_t ng_l2tp_rcvmsg; @@ -179,7 +185,7 @@ static void ng_l2tp_seq_rack_timeout(node_p node, hook_p hook, void *arg1, int arg2); -static ng_fn_eachhook ng_l2tp_find_session; +static hookpriv_p ng_l2tp_find_session(priv_p privp, u_int16_t sid); static ng_fn_eachhook ng_l2tp_reset_session; #ifdef INVARIANTS @@ -355,6 +361,7 @@ ng_l2tp_constructor(node_p node) { priv_p priv; + int i; /* Allocate private structure */ MALLOC(priv, priv_p, sizeof(*priv), M_NETGRAPH_L2TP, M_NOWAIT | M_ZERO); @@ -371,6 +378,9 @@ /* Initialize sequence number state */ ng_l2tp_seq_init(priv); + for (i = 0; i < SESSHASHSIZE; i++) + LIST_INIT(&priv->sesshash[i]); + /* Done */ return (0); } @@ -398,6 +408,7 @@ static const char hexdig[16] = "0123456789abcdef"; u_int16_t session_id; hookpriv_p hpriv; + uint16_t hash; const char *hex; int i; int j; @@ -424,7 +435,10 @@ hpriv->conf.session_id = htons(session_id); hpriv->conf.control_dseq = L2TP_CONTROL_DSEQ; hpriv->conf.enable_dseq = L2TP_ENABLE_DSEQ; + hpriv->hook = hook; NG_HOOK_SET_PRIVATE(hook, hpriv); + hash = SESSHASH(hpriv->conf.session_id); + LIST_INSERT_HEAD(&priv->sesshash[hash], hpriv, sessions); } /* Done */ @@ -502,7 +516,6 @@ struct ng_l2tp_sess_config *const conf = (struct ng_l2tp_sess_config *)msg->data; hookpriv_p hpriv; - hook_p hook; /* Check for invalid or illegal config. */ if (msg->header.arglen != sizeof(*conf)) { @@ -515,13 +528,11 @@ conf->peer_id = htons(conf->peer_id); /* Find matching hook */ - NG_NODE_FOREACH_HOOK(node, ng_l2tp_find_session, - (void *)(uintptr_t)conf->session_id, hook); - if (hook == NULL) { + hpriv = ng_l2tp_find_session(priv, conf->session_id); + if (hpriv == NULL) { error = ENOENT; break; } - hpriv = NG_HOOK_PRIVATE(hook); /* Update hook's config */ hpriv->conf = *conf; @@ -532,7 +543,6 @@ struct ng_l2tp_sess_config *conf; u_int16_t session_id; hookpriv_p hpriv; - hook_p hook; /* Get session ID */ if (msg->header.arglen != sizeof(session_id)) { @@ -543,13 +553,11 @@ session_id = htons(session_id); /* Find matching hook */ - NG_NODE_FOREACH_HOOK(node, ng_l2tp_find_session, - (void *)(uintptr_t)session_id, hook); - if (hook == NULL) { + hpriv = ng_l2tp_find_session(priv, session_id); + if (hpriv == NULL) { error = ENOENT; break; } - hpriv = NG_HOOK_PRIVATE(hook); /* Send response */ NG_MKRESPONSE(resp, msg, sizeof(hpriv->conf), M_NOWAIT); @@ -589,7 +597,6 @@ { uint16_t session_id; hookpriv_p hpriv; - hook_p hook; /* Get session ID. */ if (msg->header.arglen != sizeof(session_id)) { @@ -600,13 +607,11 @@ session_id = htons(session_id); /* Find matching hook. */ - NG_NODE_FOREACH_HOOK(node, ng_l2tp_find_session, - (void *)(uintptr_t)session_id, hook); - if (hook == NULL) { + hpriv = ng_l2tp_find_session(priv, session_id); + if (hpriv == NULL) { error = ENOENT; break; } - hpriv = NG_HOOK_PRIVATE(hook); if (msg->header.cmd != NGM_L2TP_CLR_SESSION_STATS) { NG_MKRESPONSE(resp, msg, @@ -700,7 +705,9 @@ else if (hook == priv->lower) priv->lower = NULL; else { - FREE(NG_HOOK_PRIVATE(hook), M_NETGRAPH_L2TP); + const hookpriv_p hpriv = NG_HOOK_PRIVATE(hook); + LIST_REMOVE(hpriv, sessions); + FREE(hpriv, M_NETGRAPH_L2TP); NG_HOOK_SET_PRIVATE(hook, NULL); } @@ -715,17 +722,20 @@ *************************************************************************/ /* - * Find the hook with a given session ID. + * Find the hook with a given session ID (in network order). */ -static int -ng_l2tp_find_session(hook_p hook, void *arg) +static hookpriv_p +ng_l2tp_find_session(priv_p privp, u_int16_t sid) { - const hookpriv_p hpriv = NG_HOOK_PRIVATE(hook); - const u_int16_t sid = (u_int16_t)(uintptr_t)arg; + uint16_t hash = SESSHASH(sid); + hookpriv_p hpriv = NULL; + + LIST_FOREACH(hpriv, &privp->sesshash[hash], sessions) { + if (hpriv->conf.session_id == sid) + break; + } - if (hpriv == NULL || hpriv->conf.session_id != sid) - return (-1); - return (0); + return (hpriv); } /* @@ -861,15 +871,14 @@ /* Check session ID (for data packets only) */ if ((hdr & L2TP_HDR_CTRL) == 0) { - NG_NODE_FOREACH_HOOK(node, ng_l2tp_find_session, - (void *)(uintptr_t)ids[1], hook); - if (hook == NULL) { + hpriv = ng_l2tp_find_session(priv, ids[1]); + if (hpriv == NULL) { priv->stats.recvUnknownSID++; NG_FREE_ITEM(item); NG_FREE_M(m); ERROUT(ENOTCONN); } - hpriv = NG_HOOK_PRIVATE(hook); + hook = hpriv->hook; } /* Get Ns, Nr fields if present */ ==== //depot/projects/powerpc/sys/powerpc/include/atomic.h#6 (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/powerpc/include/atomic.h,v 1.18 2007/11/27 06:34:15 jasone Exp $ + * $FreeBSD: src/sys/powerpc/include/atomic.h,v 1.19 2008/03/16 21:20:49 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -502,5 +502,7 @@ } #define atomic_fetchadd_int atomic_fetchadd_32 +#define atomic_fetchadd_long(p, v) \ + (u_long)atomic_fetchadd_32((volatile u_int *)(p), (u_int)(v)) #endif /* ! _MACHINE_ATOMIC_H_ */ ==== //depot/projects/powerpc/sys/powerpc/include/gdb_machdep.h#2 (text+ko) ==== @@ -23,26 +23,38 @@ * (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/powerpc/include/gdb_machdep.h,v 1.1 2006/08/24 21:52:11 marcel Exp $ + * $FreeBSD: src/sys/powerpc/include/gdb_machdep.h,v 1.2 2008/03/17 00:46:52 marcel Exp $ */ #ifndef _MACHINE_GDB_MACHDEP_H_ #define _MACHINE_GDB_MACHDEP_H_ -#define GDB_NREGS 153 +#define PPC_GDB_NREGS4 (32 + 7 + 2) +#define PPC_GDB_NREGS8 32 +#define PPC_GDB_NREGS16 32 + +#define GDB_NREGS (PPC_GDB_NREGS4 + PPC_GDB_NREGS8 + PPC_GDB_NREGS16) #define GDB_REG_PC 64 -#define GDB_BUFSZ (GDB_NREGS*4) +#define GDB_BUFSZ (PPC_GDB_NREGS4 * 8 + \ + PPC_GDB_NREGS8 * 16 + \ + PPC_GDB_NREGS16 * 32) static __inline size_t gdb_cpu_regsz(int regnum) { - return (sizeof(int)); + + if (regnum >= 32 && regnum <= 63) + return (8); + if (regnum >= 71 && regnum <= 102) + return (16); + return (4); } static __inline int gdb_cpu_query(void) { + return (0); } ==== //depot/projects/powerpc/sys/powerpc/powerpc/gdb_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/gdb_machdep.c,v 1.2 2008/03/03 22:00:46 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/gdb_machdep.c,v 1.3 2008/03/17 00:46:52 marcel Exp $"); #include #include @@ -53,48 +53,20 @@ *regsz = gdb_cpu_regsz(regnum); if (kdb_thread == curthread) { - switch (regnum) { - case 0: return (&kdb_frame->fixreg[0]); - case 2: return (&kdb_frame->fixreg[2]); - case 3: return (&kdb_frame->fixreg[3]); - case 4: return (&kdb_frame->fixreg[4]); - case 5: return (&kdb_frame->fixreg[5]); - case 6: return (&kdb_frame->fixreg[6]); - case 7: return (&kdb_frame->fixreg[7]); - case 8: return (&kdb_frame->fixreg[8]); - case 9: return (&kdb_frame->fixreg[9]); - case 10: return (&kdb_frame->fixreg[10]); - case 11: return (&kdb_frame->fixreg[11]); - case 12: return (&kdb_frame->fixreg[12]); - case 13: return (&kdb_frame->fixreg[13]); - case 64: return (&kdb_frame->srr0); - case 67: return (&kdb_frame->lr); - - } + if (regnum == 0 || (regnum >= 2 && regnum <= 31)) + return (kdb_frame->fixreg + regnum); + if (regnum == 64) + return (&kdb_frame->srr0); + if (regnum == 67) + return (&kdb_frame->lr); } - switch (regnum) { - case 1: return (&kdb_thrctx->pcb_sp); - case 14: return (&kdb_thrctx->pcb_context[0]); - case 15: return (&kdb_thrctx->pcb_context[1]); - case 16: return (&kdb_thrctx->pcb_context[2]); - case 17: return (&kdb_thrctx->pcb_context[3]); - case 18: return (&kdb_thrctx->pcb_context[4]); - case 19: return (&kdb_thrctx->pcb_context[5]); - case 20: return (&kdb_thrctx->pcb_context[6]); - case 21: return (&kdb_thrctx->pcb_context[7]); - case 22: return (&kdb_thrctx->pcb_context[8]); - case 23: return (&kdb_thrctx->pcb_context[9]); - case 24: return (&kdb_thrctx->pcb_context[10]); - case 25: return (&kdb_thrctx->pcb_context[11]); - case 26: return (&kdb_thrctx->pcb_context[12]); - case 27: return (&kdb_thrctx->pcb_context[13]); - case 28: return (&kdb_thrctx->pcb_context[14]); - case 29: return (&kdb_thrctx->pcb_context[15]); - case 30: return (&kdb_thrctx->pcb_context[16]); - case 31: return (&kdb_thrctx->pcb_context[17]); - case 64: return (&kdb_thrctx->pcb_lr); - } + if (regnum == 1) + return (&kdb_thrctx->pcb_sp); + if (regnum >= 14 && regnum <= 31) + return (kdb_thrctx->pcb_context + (regnum - 14)); + if (regnum == 64) + return (&kdb_thrctx->pcb_lr); return (NULL); } ==== //depot/projects/powerpc/sys/sparc64/include/atomic.h#5 (text+ko) ==== @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/i386/include/atomic.h,v 1.20 2001/02/11 - * $FreeBSD: src/sys/sparc64/include/atomic.h,v 1.10 2005/09/27 17:39:11 jhb Exp $ + * $FreeBSD: src/sys/sparc64/include/atomic.h,v 1.11 2008/03/16 21:20:49 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -279,6 +279,8 @@ #define atomic_fetchadd_int atomic_add_int #define atomic_fetchadd_32 atomic_add_32 +#define atomic_fetchadd_long(p, v) \ + (u_long)atomic_add_int((volatile u_int *)(p), (u_int)(v)) #undef ATOMIC_GEN #undef atomic_cas ==== //depot/projects/powerpc/sys/sun4v/include/atomic.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/i386/include/atomic.h,v 1.20 2001/02/11 - * $FreeBSD: src/sys/sun4v/include/atomic.h,v 1.1 2006/10/05 06:14:25 kmacy Exp $ + * $FreeBSD: src/sys/sun4v/include/atomic.h,v 1.2 2008/03/16 21:20:49 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -279,6 +279,8 @@ #define atomic_fetchadd_int atomic_add_int #define atomic_fetchadd_32 atomic_add_32 +#define atomic_fetchadd_long(p, v) \ + (u_long)atomic_add_int((volatile u_int *)(p), (u_int)(v)) #undef ATOMIC_GEN #undef atomic_cas ==== //depot/projects/powerpc/sys/sys/resourcevar.h#7 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)resourcevar.h 8.4 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/sys/resourcevar.h,v 1.52 2007/06/09 21:48:44 attilio Exp $ + * $FreeBSD: src/sys/sys/resourcevar.h,v 1.53 2008/03/16 21:29:02 pjd Exp $ */ #ifndef _SYS_RESOURCEVAR_H_ @@ -84,21 +84,17 @@ * * Locking guide: * (a) Constant from inception - * (b) Locked by ui_mtxp + * (b) Lockless, updated using atomics * (c) Locked by global uihashtbl_mtx */ struct uidinfo { LIST_ENTRY(uidinfo) ui_hash; /* (c) hash chain of uidinfos */ - rlim_t ui_sbsize; /* (b) socket buffer space consumed */ + long ui_sbsize; /* (b) socket buffer space consumed */ long ui_proccnt; /* (b) number of processes */ uid_t ui_uid; /* (a) uid */ u_int ui_ref; /* (b) reference count */ - struct mtx *ui_mtxp; /* protect all counts/limits */ }; -#define UIDINFO_LOCK(ui) mtx_lock((ui)->ui_mtxp) -#define UIDINFO_UNLOCK(ui) mtx_unlock((ui)->ui_mtxp) - struct proc; struct rusage_ext; struct thread; @@ -107,7 +103,7 @@ void addupc_task(struct thread *td, uintfptr_t pc, u_int ticks); void calccru(struct proc *p, struct timeval *up, struct timeval *sp); void calcru(struct proc *p, struct timeval *up, struct timeval *sp); -int chgproccnt(struct uidinfo *uip, int diff, int maxval); +int chgproccnt(struct uidinfo *uip, int diff, rlim_t maxval); int chgsbsize(struct uidinfo *uip, u_int *hiwat, u_int to, rlim_t maxval); int fuswintr(void *base); ==== //depot/projects/powerpc/usr.sbin/adduser/adduser.8#4 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.61 2008/01/27 10:15:36 mtm Exp $ +.\" $FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.62 2008/03/16 21:36:05 brueffer Exp $ .\" -.Dd June 7, 2006 +.Dd March 16, 2008 .Dt ADDUSER 8 .Os .Sh NAME @@ -396,7 +396,7 @@ empty, its contents will be used as a password. This field will be ignored if the -.Fl p +.Fl w option is used with a .Cm no or ==== //depot/projects/powerpc/usr.sbin/fifolog/lib/miniobj.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/fifolog/lib/miniobj.h,v 1.1 2008/03/09 19:14:36 phk Exp $ + * $FreeBSD: src/usr.sbin/fifolog/lib/miniobj.h,v 1.2 2008/03/16 23:00:43 phk Exp $ */ #define ALLOC_OBJ(to, type_magic) \ @@ -55,12 +55,12 @@ (to) = (from); \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 17 04:30:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30B661065672; Mon, 17 Mar 2008 04:30:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF797106566B for ; Mon, 17 Mar 2008 04:30:50 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DF92A8FC16 for ; Mon, 17 Mar 2008 04:30:50 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2H4Uodo008983 for ; Mon, 17 Mar 2008 04:30:50 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2H4UoUg008981 for perforce@freebsd.org; Mon, 17 Mar 2008 04:30:50 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 04:30:50 GMT Message-Id: <200803170430.m2H4UoUg008981@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 137892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 04:30:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=137892 Change 137892 by sam@sam_ebb on 2008/03/17 04:29:52 o implement protection o use common phy routines Note: untested Affected files ... .. //depot/projects/vap/sys/dev/ral/rt2560.c#19 edit .. //depot/projects/vap/sys/dev/ral/rt2560var.h#11 edit Differences ... ==== //depot/projects/vap/sys/dev/ral/rt2560.c#19 (text) ==== @@ -120,11 +120,9 @@ static void rt2560_beacon_update(struct ieee80211vap *, int item); static void rt2560_beacon_expire(struct rt2560_softc *); static void rt2560_wakeup_expire(struct rt2560_softc *); -static uint8_t rt2560_rxrate(struct rt2560_rx_desc *); static void rt2560_scan_start(struct ieee80211com *); static void rt2560_scan_end(struct ieee80211com *); static void rt2560_set_channel(struct ieee80211com *); -static uint8_t rt2560_plcp_signal(int); static void rt2560_setup_tx_desc(struct rt2560_softc *, struct rt2560_tx_desc *, uint32_t, int, int, int, bus_addr_t); @@ -132,8 +130,6 @@ struct ieee80211_node *); static int rt2560_tx_mgt(struct rt2560_softc *, struct mbuf *, struct ieee80211_node *); -static struct mbuf *rt2560_get_rts(struct rt2560_softc *, - struct ieee80211_frame *, uint16_t); static int rt2560_tx_data(struct rt2560_softc *, struct mbuf *, struct ieee80211_node *); static void rt2560_start(struct ifnet *); @@ -1272,7 +1268,8 @@ tap->wr_tsf = htole64(((uint64_t)tsf_hi << 32) | tsf_lo); tap->wr_flags = 0; - tap->wr_rate = rt2560_rxrate(desc); + tap->wr_rate = ieee80211_plcp2rate(desc->rate, + le32toh(desc->flags) & RT2560_RX_OFDM); tap->wr_antenna = sc->rx_ant; tap->wr_antsignal = RT2560_RSSI(sc, desc->rssi); @@ -1466,62 +1463,6 @@ #define RT2560_TXRX_TURNAROUND 10 /* us */ -/* - * This function is only used by the Rx radiotap code. - */ -static uint8_t -rt2560_rxrate(struct rt2560_rx_desc *desc) -{ - if (le32toh(desc->flags) & RT2560_RX_OFDM) { - /* reverse function of rt2560_plcp_signal */ - switch (desc->rate) { - case 0xb: return 12; - case 0xf: return 18; - case 0xa: return 24; - case 0xe: return 36; - case 0x9: return 48; - case 0xd: return 72; - case 0x8: return 96; - case 0xc: return 108; - } - } else { - if (desc->rate == 10) - return 2; - if (desc->rate == 20) - return 4; - if (desc->rate == 55) - return 11; - if (desc->rate == 110) - return 22; - } - return 2; /* should not get there */ -} - -static uint8_t -rt2560_plcp_signal(int rate) -{ - switch (rate) { - /* CCK rates (returned values are device-dependent) */ - case 2: return 0x0; - case 4: return 0x1; - case 11: return 0x2; - case 22: return 0x3; - - /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ - case 12: return 0xb; - case 18: return 0xf; - case 24: return 0xa; - case 36: return 0xe; - case 48: return 0x9; - case 72: return 0xd; - case 96: return 0x8; - case 108: return 0xc; - - /* unsupported rates (should not get there) */ - default: return 0xff; - } -} - static void rt2560_setup_tx_desc(struct rt2560_softc *sc, struct rt2560_tx_desc *desc, uint32_t flags, int len, int rate, int encrypt, bus_addr_t physaddr) @@ -1540,11 +1481,11 @@ RT2560_LOGCWMAX(8)); /* setup PLCP fields */ - desc->plcp_signal = rt2560_plcp_signal(rate); + desc->plcp_signal = ieee80211_rate2plcp(rate); desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (ieee80211_rate2phytype(sc->sc_currates, rate) == IEEE80211_T_OFDM) { + if (ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RT2560_TX_OFDM); plcp_length = len & 0xfff; @@ -1689,7 +1630,7 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2560_TX_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, + dur = ieee80211_ack_duration(sc->sc_rates, rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); @@ -1720,6 +1661,75 @@ } static int +rt2560_sendprot(struct rt2560_softc *sc, + const struct mbuf *m, struct ieee80211_node *ni, int prot, int rate) +{ + struct ieee80211com *ic = ni->ni_ic; + const struct ieee80211_frame *wh; + struct rt2560_tx_desc *desc; + struct rt2560_tx_data *data; + struct mbuf *mprot; + int protrate, ackrate, pktlen, flags, isshort, error; + uint16_t dur; + bus_dma_segment_t segs[RT2560_MAX_SCATTER]; + int nsegs; + + KASSERT(prot == IEEE80211_PROT_RTSCTS || prot == IEEE80211_PROT_CTSONLY, + ("protection %d", prot)); + + wh = mtod(m, const struct ieee80211_frame *); + pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; + + protrate = ieee80211_ctl_rate(sc->sc_rates, rate); + ackrate = ieee80211_ack_rate(sc->sc_rates, rate); + + isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + + ieee80211_ack_duration(sc->sc_rates, rate, isshort); + flags = RT2560_TX_MORE_FRAG; + if (prot == IEEE80211_PROT_RTSCTS) { + /* NB: CTS is the same size as an ACK */ + dur += ieee80211_ack_duration(sc->sc_rates, rate, isshort); + flags |= RT2560_TX_ACK; + mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); + } else { + mprot = ieee80211_alloc_cts(ic, ni->ni_vap->iv_myaddr, dur); + } + if (mprot == NULL) { + /* XXX stat + msg */ + return ENOBUFS; + } + + desc = &sc->txq.desc[sc->txq.cur_encrypt]; + data = &sc->txq.data[sc->txq.cur_encrypt]; + + error = bus_dmamap_load_mbuf_sg(sc->txq.data_dmat, data->map, + mprot, segs, &nsegs, 0); + if (error != 0) { + device_printf(sc->sc_dev, + "could not map mbuf (error %d)\n", error); + m_freem(mprot); + return error; + } + + data->m = mprot; + data->ni = ieee80211_ref_node(ni); + /* ctl frames are not taken into account for rssadapt */ + data->rix = IEEE80211_FIXED_RATE_NONE; + + rt2560_setup_tx_desc(sc, desc, flags, mprot->m_pkthdr.len, protrate, 1, + segs->ds_addr); + + bus_dmamap_sync(sc->txq.data_dmat, data->map, + BUS_DMASYNC_PREWRITE); + + sc->txq.queued++; + sc->txq.cur_encrypt = (sc->txq.cur_encrypt + 1) % RT2560_TX_RING_COUNT; + + return 0; +} + +static int rt2560_tx_raw(struct rt2560_softc *sc, struct mbuf *m0, struct ieee80211_node *ni, const struct ieee80211_bpf_params *params) { @@ -1742,6 +1752,21 @@ return EINVAL; } + flags = 0; + if ((params->ibp_flags & IEEE80211_BPF_NOACK) == 0) + flags |= RT2560_TX_ACK; + if (params->ibp_flags & (IEEE80211_BPF_RTS|IEEE80211_BPF_CTS)) { + error = rt2560_sendprot(sc, m0, ni, + params->ibp_flags & IEEE80211_BPF_RTS ? + IEEE80211_PROT_RTSCTS : IEEE80211_PROT_CTSONLY, + rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RT2560_TX_LONG_RETRY | RT2560_TX_IFS_SIFS; + } + error = bus_dmamap_load_mbuf_sg(sc->prioq.data_dmat, data->map, m0, segs, &nsegs, 0); if (error != 0) { @@ -1766,10 +1791,6 @@ data->m = m0; data->ni = ni; - flags = 0; - if ((params->ibp_flags & IEEE80211_BPF_NOACK) == 0) - flags |= RT2560_TX_ACK; - /* XXX need to setup descriptor ourself */ rt2560_setup_tx_desc(sc, desc, flags, m0->m_pkthdr.len, rate, (params->ibp_flags & IEEE80211_BPF_CRYPTO) != 0, @@ -1790,37 +1811,6 @@ return 0; } -/* - * Build a RTS control frame. - */ -static struct mbuf * -rt2560_get_rts(struct rt2560_softc *sc, struct ieee80211_frame *wh, - uint16_t dur) -{ - struct ieee80211_frame_rts *rts; - struct mbuf *m; - - MGETHDR(m, M_DONTWAIT, MT_DATA); - if (m == NULL) { - sc->sc_ic.ic_stats.is_tx_nobuf++; - device_printf(sc->sc_dev, "could not allocate RTS frame\n"); - return NULL; - } - - rts = mtod(m, struct ieee80211_frame_rts *); - - rts->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_CTL | - IEEE80211_FC0_SUBTYPE_RTS; - rts->i_fc[1] = IEEE80211_FC1_DIR_NODS; - *(uint16_t *)rts->i_dur = htole16(dur); - IEEE80211_ADDR_COPY(rts->i_ra, wh->i_addr1); - IEEE80211_ADDR_COPY(rts->i_ta, wh->i_addr2); - - m->m_pkthdr.len = m->m_len = sizeof (struct ieee80211_frame_rts); - - return m; -} - static int rt2560_tx_data(struct rt2560_softc *sc, struct mbuf *m0, struct ieee80211_node *ni) @@ -1837,7 +1827,7 @@ struct mbuf *mnew; bus_dma_segment_t segs[RT2560_MAX_SCATTER]; uint16_t dur; - uint32_t flags = 0; + uint32_t flags; int nsegs, rate, error; wh = mtod(m0, struct ieee80211_frame *); @@ -1871,68 +1861,22 @@ wh = mtod(m0, struct ieee80211_frame *); } - /* - * IEEE Std 802.11-1999, pp 82: "A STA shall use an RTS/CTS exchange - * for directed frames only when the length of the MPDU is greater - * than the length threshold indicated by [...]" ic_rtsthreshold. - */ - if (!IEEE80211_IS_MULTICAST(wh->i_addr1) && - m0->m_pkthdr.len > vap->iv_rtsthreshold) { - struct mbuf *m; - uint16_t dur; - int rtsrate; - - rtsrate = ieee80211_ack_rate(sc->sc_currates, rate); - dur = ieee80211_compute_duration(sc->sc_currates, - m0->m_pkthdr.len + IEEE80211_CRC_LEN, - rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); - /* NB: assumes ACK and CTS are the same size */ - dur += ieee80211_ack_duration(sc->sc_currates, - rtsrate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); - dur += ieee80211_ack_duration(sc->sc_currates, - rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); - - m = rt2560_get_rts(sc, wh, dur); - - desc = &sc->txq.desc[sc->txq.cur_encrypt]; - data = &sc->txq.data[sc->txq.cur_encrypt]; - - error = bus_dmamap_load_mbuf_sg(sc->txq.data_dmat, data->map, - m, segs, &nsegs, 0); - if (error != 0) { - device_printf(sc->sc_dev, - "could not map mbuf (error %d)\n", error); - m_freem(m); - m_freem(m0); - return error; + flags = 0; + if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { + int prot = IEEE80211_PROT_NONE; + if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) + prot = IEEE80211_PROT_RTSCTS; + else if ((ic->ic_flags & IEEE80211_F_USEPROT) && + ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) + prot = ic->ic_protmode; + if (prot != IEEE80211_PROT_NONE) { + error = rt2560_sendprot(sc, m0, ni, prot, rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RT2560_TX_LONG_RETRY | RT2560_TX_IFS_SIFS; } - - /* avoid multiple free() of the same node for each fragment */ - ieee80211_ref_node(ni); - - data->m = m; - data->ni = ni; - - /* RTS frames are not taken into account for rssadapt */ - data->rix = IEEE80211_FIXED_RATE_NONE; - - rt2560_setup_tx_desc(sc, desc, RT2560_TX_ACK | - RT2560_TX_MORE_FRAG, m->m_pkthdr.len, rtsrate, 1, - segs->ds_addr); - - bus_dmamap_sync(sc->txq.data_dmat, data->map, - BUS_DMASYNC_PREWRITE); - - sc->txq.queued++; - sc->txq.cur_encrypt = - (sc->txq.cur_encrypt + 1) % RT2560_TX_RING_COUNT; - - /* - * IEEE Std 802.11-1999: when an RTS/CTS exchange is used, the - * asynchronous data frame shall be transmitted after the CTS - * frame and a SIFS period. - */ - flags |= RT2560_TX_LONG_RETRY | RT2560_TX_IFS_SIFS; } data = &sc->txq.data[sc->txq.cur_encrypt]; @@ -1993,7 +1937,7 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2560_TX_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, + dur = ieee80211_ack_duration(sc->sc_rates, rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -2025,12 +1969,6 @@ RAL_LOCK(sc); - /* prevent management frames from being sent if we're not ready */ - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - RAL_UNLOCK(sc); - return; - } - for (;;) { IFQ_DRV_DEQUEUE(&ifp->if_snd, m); if (m == NULL) @@ -2207,7 +2145,7 @@ chan = ieee80211_chan2ieee(ic, c); KASSERT(chan != 0 && chan != IEEE80211_CHAN_ANY, ("chan 0x%x", chan)); - sc->sc_currates = ieee80211_get_ratetable(c); + sc->sc_rates = ieee80211_get_ratetable(c); if (IEEE80211_IS_CHAN_2GHZ(c)) power = min(sc->txpow[chan - 1], 31); ==== //depot/projects/vap/sys/dev/ral/rt2560var.h#11 (text) ==== @@ -125,7 +125,7 @@ int sc_invalid; int sc_debug; - const struct ieee80211_rate_table *sc_currates; + const struct ieee80211_rate_table *sc_rates; /* * The same in both up to here * ------------------------------------------------ From owner-p4-projects@FreeBSD.ORG Mon Mar 17 07:05:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA3E91065675; Mon, 17 Mar 2008 07:05:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9DF81065672 for ; Mon, 17 Mar 2008 07:05:38 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 964298FC12 for ; Mon, 17 Mar 2008 07:05:38 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2H75cY1029617 for ; Mon, 17 Mar 2008 07:05:38 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2H75cw4029615 for perforce@freebsd.org; Mon, 17 Mar 2008 07:05:38 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Mon, 17 Mar 2008 07:05:38 GMT Message-Id: <200803170705.m2H75cw4029615@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 137895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 07:05:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=137895 Change 137895 by zhouzhouyi@zhouzhouyi_mactest on 2008/03/17 07:05:15 Correct some memory leak problems of MAC_TEST log mechanism Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#21 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#21 (text+ko) ==== @@ -116,6 +116,7 @@ SYSCTL_NODE(_security_mac_test, OID_AUTO, counter, CTLFLAG_RW, 0, "TrustedBSD mac_test counters controls"); + #define LOG_DECL \ char *buffer; \ char *currentchar; \ @@ -835,9 +836,11 @@ * didn't have label storage allocated for them. Handle this * gracefully. */ - if (label == NULL) + if (label == NULL) { + if (!badmem) + free(buffer, M_MAC_TEST_LOG); return; - + } LABEL_DESTROY(label, MAGIC_MBUF); COUNTER_INC(mbuf_destroy_label); } @@ -2785,8 +2788,10 @@ LOG_DECL if (attrnamespace == EXTATTR_NAMESPACE_SYSTEM && !strcmp(name, "mac_test") - && uio->uio_iov->iov_len && !strncmp(uio->uio_iov->iov_base, "mac_test", 8)) - LABEL_INIT(vplabel, MAGIC_MACTESTLOG); + && uio->uio_iov->iov_len && !strncmp(uio->uio_iov->iov_base, "mac_test", 8)){ + LABEL_INIT(vplabel, MAGIC_MACTESTLOG); + COUNTER_INC(vnode_check_setextattr); + } else { LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); @@ -2892,8 +2897,10 @@ { LOG_DECL - if (vplabel != NULL && SLOT(vplabel) == MAGIC_MACTESTLOG) - ; + if (vplabel != NULL && SLOT(vplabel) == MAGIC_MACTESTLOG){ + if (!badmem) + free(buffer, M_MAC_TEST_LOG); + } else { LABEL_CHECK(active_cred->cr_label, MAGIC_CRED); if (file_cred != NULL) From owner-p4-projects@FreeBSD.ORG Mon Mar 17 16:09:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF27B106567A; Mon, 17 Mar 2008 16:09:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE43F1065673 for ; Mon, 17 Mar 2008 16:09:19 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9D8898FC4A for ; Mon, 17 Mar 2008 16:09:19 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HG9Jp0001391 for ; Mon, 17 Mar 2008 16:09:19 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HG9J14001389 for perforce@freebsd.org; Mon, 17 Mar 2008 16:09:19 GMT (envelope-from swise@FreeBSD.org) Date: Mon, 17 Mar 2008 16:09:19 GMT Message-Id: <200803171609.m2HG9J14001389@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 137922 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 16:09:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=137922 Change 137922 by swise@swise:vic10:iwarp on 2008/03/17 16:09:03 blocking support for krping rlat. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#13 edit .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.h#6 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#13 (text+ko) ==== @@ -80,6 +80,7 @@ {"rlat", OPT_NOPARAM, 'L'}, {"bw", OPT_NOPARAM, 'B'}, {"tx-depth", OPT_INT, 't'}, + {"poll", OPT_NOPARAM, 'P'}, {NULL, 0, 0} }; @@ -841,8 +842,13 @@ cb->rdma_sq_wr.sg_list->length = cb->size; microtime(&start_tv); + if (!cb->poll) { + cb->state = RDMA_READ_ADV; + ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); + } while (scnt < iters) { + cb->state = RDMA_READ_ADV; ret = ib_post_send(cb->qp, &cb->rdma_sq_wr, &bad_wr); if (ret) { printf(PFX @@ -852,7 +858,16 @@ } do { - ne = ib_poll_cq(cb->cq, 1, &wc); + if (!cb->poll) { + krping_wait(cb, RDMA_READ_COMPLETE); + if (cb->state == RDMA_READ_COMPLETE) { + ne = 1; + ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); + } else { + ne = -1; + } + } else + ne = ib_poll_cq(cb->cq, 1, &wc); if (cb->state == ERROR) { printf(PFX "state == ERROR...bailing scnt %d\n", scnt); @@ -864,7 +879,7 @@ printf(PFX "poll CQ failed %d\n", ne); return; } - if (wc.status != IB_WC_SUCCESS) { + if (cb->poll && wc.status != IB_WC_SUCCESS) { printf(PFX "Completion wth error at %s:\n", cb->server ? "server" : "client"); printf(PFX "Failed status %d: wr_id %d\n", @@ -1740,6 +1755,10 @@ cb->port = htons(optint); DEBUG_LOG(PFX "port %d\n", (int)optint); break; + case 'P': + cb->poll = 1; + DEBUG_LOG("server\n"); + break; case 's': cb->server = 1; DEBUG_LOG(PFX "server\n"); ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.h#6 (text+ko) ==== @@ -106,6 +106,7 @@ int wlat; /* run write latency test */ int bw; /* run write bw test */ int duplex; /* run write bw full duplex test */ + int poll; /* poll vs block in rlat */ int txdepth; }; From owner-p4-projects@FreeBSD.ORG Mon Mar 17 16:35:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 217801065670; Mon, 17 Mar 2008 16:35:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D54BF106566B for ; Mon, 17 Mar 2008 16:35:46 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C570F8FC2F for ; Mon, 17 Mar 2008 16:35:46 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HGZkrA009066 for ; Mon, 17 Mar 2008 16:35:46 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HGZkVh009064 for perforce@freebsd.org; Mon, 17 Mar 2008 16:35:46 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 16:35:46 GMT Message-Id: <200803171635.m2HGZkVh009064@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 137923 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 16:35:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=137923 Change 137923 by sam@sam_ebb on 2008/03/17 16:35:19 unbreak adhoc mode when joining an existing ibss; must program the bssid register as otherwise it's left w/ our mac address and we don't get unicast frames Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#45 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#45 (text+ko) ==== @@ -5490,7 +5490,7 @@ struct ath_vap *avp = ATH_VAP(vap); struct ath_hal *ah = sc->sc_ah; struct ieee80211_node *ni = NULL; - int i, error; + int i, error, stamode; u_int32_t rfilt; static const HAL_LED_STATE leds[] = { HAL_LED_INIT, /* IEEE80211_S_INIT */ @@ -5524,7 +5524,9 @@ ni = vap->iv_bss; rfilt = ath_calcrxfilter(sc); - if (vap->iv_opmode == IEEE80211_M_STA && nstate == IEEE80211_S_RUN) { + stamode = (vap->iv_opmode == IEEE80211_M_STA || + vap->iv_opmode == IEEE80211_M_IBSS); + if (stamode && nstate == IEEE80211_S_RUN) { sc->sc_curaid = ni->ni_associd; IEEE80211_ADDR_COPY(sc->sc_curbssid, ni->ni_bssid); ath_hal_setassocid(ah, sc->sc_curbssid, sc->sc_curaid); From owner-p4-projects@FreeBSD.ORG Mon Mar 17 16:52:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B7F41065672; Mon, 17 Mar 2008 16:52:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09AED1065671 for ; Mon, 17 Mar 2008 16:52:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE5F48FC14 for ; Mon, 17 Mar 2008 16:52:03 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HGq3bW019138 for ; Mon, 17 Mar 2008 16:52:03 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HGq3xa019136 for perforce@freebsd.org; Mon, 17 Mar 2008 16:52:03 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 16:52:03 GMT Message-Id: <200803171652.m2HGq3xa019136@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 137925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 16:52:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=137925 Change 137925 by sam@sam_ebb on 2008/03/17 16:51:16 enable beacon rx when on 11g channels so we can detect overlapping bss Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#46 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#46 (text+ko) ==== @@ -2463,9 +2463,12 @@ * node table entries for peers, * - when scanning * - when doing s/w beacon miss (e.g. for ap+sta) + * - when operatin in ap mode in 11g to detect overlapping bss that + * require protection * o accept control frames: * - when in monitor mode * XXX BAR frames for 11n + * XXX HT protection for 11n */ static u_int32_t ath_calcrxfilter(struct ath_softc *sc) @@ -2493,6 +2496,14 @@ sc->sc_opmode == HAL_M_IBSS || sc->sc_swbmiss || sc->sc_scanning) rfilt |= HAL_RX_FILTER_BEACON; + /* + * NB: We don't recalculate the rx filter when + * ic_protmode changes; otherwise we could do + * this only when ic_protmode != NONE. + */ + if (ic->ic_opmode == IEEE80211_M_HOSTAP && + IEEE80211_IS_CHAN_ANYG(ic->ic_curchan)) + rfilt |= HAL_RX_FILTER_BEACON; if (ic->ic_opmode == IEEE80211_M_MONITOR) rfilt |= HAL_RX_FILTER_CONTROL; return rfilt; From owner-p4-projects@FreeBSD.ORG Mon Mar 17 18:24:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1DF61065674; Mon, 17 Mar 2008 18:24:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FEF3106566B for ; Mon, 17 Mar 2008 18:24:40 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 375548FC25 for ; Mon, 17 Mar 2008 18:24:40 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HIOeLL052027 for ; Mon, 17 Mar 2008 18:24:40 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HIOegO052025 for perforce@freebsd.org; Mon, 17 Mar 2008 18:24:40 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 18:24:40 GMT Message-Id: <200803171824.m2HIOegO052025@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 137932 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 18:24:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=137932 Change 137932 by sam@sam_ebb on 2008/03/17 18:24:22 Fix multiple issues with country ie handling: o remove bogus band count from ieee80211_country_ie struct definition; it was added as a bandaid but quietly caused regdomain's that didn't fit to have their country ie truncated (with some interesting ramifications for certain vendor drivers) o add IEEE80211_COUNTRY_MAX_BANDS and IEEE80211_COUNTRY_MAX_SIZE definitions to codify country ie bounds o calculate the country ie once and cache the result in the com for all vaps to use; we invalidate the cached value on channel change and regdomain setting (could optimize channel change but not worthwhile) o move core regdomain setting code out of the ioctl area and into the regdomain code Note this grows the max size of the probe response and beacon frames allocated as we allocate based on the max size of the country ie. Not clear it's worth optimizing as there are already enough ie's that these frames don't fit in an inline mbuf. Reported by: Chris Zimmermann Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211.h#8 edit .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#45 edit .. //depot/projects/vap/sys/net80211/ieee80211_output.c#40 edit .. //depot/projects/vap/sys/net80211/ieee80211_regdomain.c#10 edit .. //depot/projects/vap/sys/net80211/ieee80211_regdomain.h#6 edit .. //depot/projects/vap/sys/net80211/ieee80211_var.h#33 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211.h#8 (text+ko) ==== @@ -696,9 +696,13 @@ uint8_t schan; /* starting channel */ uint8_t nchan; /* number channels */ uint8_t maxtxpwr; /* tx power cap */ - } __packed band[10]; /* sub bands */ + } __packed band[1]; /* sub bands (NB: var size) */ } __packed; +#define IEEE80211_COUNTRY_MAX_BANDS 84 /* max possible bands */ +#define IEEE80211_COUNTRY_MAX_SIZE \ + (sizeof(struct ieee80211_country_ie) + 3*(IEEE80211_COUNTRY_MAX_BANDS-1)) + /* * 802.11h Channel Switch Announcement (CSA). */ ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#45 (text+ko) ==== @@ -1944,27 +1944,12 @@ return setcurchan(vap, c); } -static int -allvapsdown(struct ieee80211com *ic) -{ - struct ieee80211vap *vap; - - IEEE80211_LOCK_ASSERT(ic); - TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) - if (vap->iv_state != IEEE80211_S_INIT) - return 0; - return 1; -} - static __noinline int ieee80211_ioctl_setregdomain(struct ieee80211vap *vap, const struct ieee80211req *ireq) { - struct ieee80211com *ic = vap->iv_ic; struct ieee80211_regdomain_req *reg; - struct ieee80211_channel *c; - int desfreq = 0, desflags = 0; /* XXX silence gcc complaint */ - int error, i; + int error; if (ireq->i_len != sizeof(struct ieee80211_regdomain_req)) return EINVAL; @@ -1973,93 +1958,11 @@ if (reg == NULL) return ENOMEM; error = copyin(ireq->i_data, reg, sizeof(*reg)); - if (error != 0) - goto bad; - if (reg->rd.location != 'I' && reg->rd.location != 'O' && - reg->rd.location != ' ') - goto invalid; - if (reg->rd.isocc[0] == '\0' || reg->rd.isocc[1] == '\0') - goto invalid; - if (reg->chaninfo.ic_nchans >= IEEE80211_CHAN_MAX) - goto invalid; - /* - * Calculate freq<->IEEE mapping and default max tx power - * for channels not setup. The driver can override these - * setting to reflect device properties/requirements. - */ - for (i = 0; i < reg->chaninfo.ic_nchans; i++) { - c = ®->chaninfo.ic_chans[i]; - if (c->ic_freq == 0 || c->ic_flags == 0) - goto invalid; - if (c->ic_maxregpower == 0) - goto invalid; - if (c->ic_ieee == 0) - c->ic_ieee = ieee80211_mhz2ieee(c->ic_freq,c->ic_flags); - if (IEEE80211_IS_CHAN_HT40(c) && c->ic_extieee == 0) - c->ic_extieee = ieee80211_mhz2ieee(c->ic_freq + - (IEEE80211_IS_CHAN_HT40U(c) ? 20 : -20), - c->ic_flags); - if (c->ic_maxpower == 0) - c->ic_maxpower = 2*c->ic_maxregpower; - } - IEEE80211_LOCK(ic); - error = ic->ic_setregdomain(ic, ®->rd, - reg->chaninfo.ic_nchans, reg->chaninfo.ic_chans); - if (error != 0) { - IEEE80211_UNLOCK(ic); - goto bad; - } - /* XXX bandaid; a running vap will likely crash */ - if (!allvapsdown(ic)) { - error = EBUSY; - IEEE80211_UNLOCK(ic); - goto bad; - } - /* - * Commit: copy in new channel table and reset media state. - * On return the state machines will be clocked so all vaps - * will reset their state. - * - * XXX ic_bsschan is marked undefined, must have vap's in - * INIT state or we blow up forcing stations off - */ - /* - * Save any desired channel for restore below. Note this - * needs to be done for all vaps but for now we only do - * the one where the ioctl is issued. - */ - if (vap->iv_des_chan != IEEE80211_CHAN_ANYC) { - desfreq = vap->iv_des_chan->ic_freq; - desflags = vap->iv_des_chan->ic_flags; - } - /* regdomain parameters */ - memcpy(&ic->ic_regdomain, ®->rd, sizeof(reg->rd)); - /* channel table */ - memcpy(ic->ic_channels, reg->chaninfo.ic_chans, - reg->chaninfo.ic_nchans * sizeof(struct ieee80211_channel)); - ic->ic_nchans = reg->chaninfo.ic_nchans; - memset(&ic->ic_channels[ic->ic_nchans], 0, - (IEEE80211_CHAN_MAX - ic->ic_nchans) * - sizeof(struct ieee80211_channel)); - ieee80211_media_init(ic, ic->ic_media.ifm_change, - ic->ic_media.ifm_status); + if (error == 0) + error = ieee80211_setregdomain(vap, reg); + FREE(reg, M_TEMP); - ieee80211_scan_flush(vap); - ieee80211_dfs_reset(ic); - if (vap->iv_des_chan != IEEE80211_CHAN_ANYC) { - /* NB: may be NULL if not present in new channel list */ - vap->iv_des_chan = ieee80211_find_channel(ic, desfreq, desflags); - } - IEEE80211_UNLOCK(ic); - - error = ENETRESET; - /* fall thru... */ -bad: - FREE(reg, M_TEMP); - return error; -invalid: - error = EINVAL; - goto bad; + return (error == 0 ? ENETRESET : error); } static int ==== //depot/projects/vap/sys/net80211/ieee80211_output.c#40 (text+ko) ==== @@ -1579,6 +1579,30 @@ } /* + * Add an 11h country information element to a frame. + */ +static uint8_t * +ieee80211_add_countryie(uint8_t *frm, struct ieee80211com *ic) +{ + + if (ic->ic_countryie == NULL || + ic->ic_countryie_chan != ic->ic_bsschan) { + /* + * Handle lazy construction of ie. This is done on + * first use and after a channel change that requires + * re-calculation. + */ + if (ic->ic_countryie != NULL) + free(ic->ic_countryie, M_80211_NODE_IE); + ic->ic_countryie = ieee80211_alloc_countryie(ic); + if (ic->ic_countryie == NULL) + return frm; + ic->ic_countryie_chan = ic->ic_bsschan; + } + return add_appie(frm, ic->ic_countryie); +} + +/* * Send a probe request frame with the specified ssid * and any optional information element data. */ @@ -2083,7 +2107,7 @@ + 2 + IEEE80211_NWID_LEN + 2 + IEEE80211_RATE_SIZE + 7 /* max(7,3) */ - + sizeof(struct ieee80211_country_ie) + + IEEE80211_COUNTRY_MAX_SIZE + sizeof(struct ieee80211_ie_wpa) + 3 + sizeof(struct ieee80211_csa_ie) @@ -2519,7 +2543,7 @@ + 2 + 1 /* DS parameters */ + 2 + 6 /* CF parameters */ + 2 + 4 + vap->iv_tim_len /* DTIM/IBSSPARMS */ - + sizeof(struct ieee80211_country_ie) /* country */ + + IEEE80211_COUNTRY_MAX_SIZE /* country */ + 2 + 1 /* power control */ + sizeof(struct ieee80211_csa_ie) /* CSA */ + 2 + 1 /* ERP */ ==== //depot/projects/vap/sys/net80211/ieee80211_regdomain.c#10 (text+ko) ==== @@ -68,6 +68,10 @@ void ieee80211_regdomain_detach(struct ieee80211com *ic) { + if (ic->ic_countryie != NULL) { + free(ic->ic_countryie, M_80211_NODE_IE); + ic->ic_countryie = NULL; + } } void @@ -189,10 +193,10 @@ } /* - * Add Country Information IE. + * Allocate and construct a Country Information IE. */ -uint8_t * -ieee80211_add_countryie(uint8_t *frm, struct ieee80211com *ic) +struct ieee80211_appie * +ieee80211_alloc_countryie(struct ieee80211com *ic) { #define CHAN_UNINTERESTING \ (IEEE80211_CHAN_TURBO | IEEE80211_CHAN_STURBO | \ @@ -212,11 +216,21 @@ CHAN_UNINTERESTING | IEEE80211_CHAN_2GHZ, /* MODE_11NA */ CHAN_UNINTERESTING | IEEE80211_CHAN_5GHZ, /* MODE_11NG */ }; - struct ieee80211_country_ie *ie = (struct ieee80211_country_ie *)frm; const struct ieee80211_regdomain *rd = &ic->ic_regdomain; - uint8_t nextchan, chans[IEEE80211_CHAN_BYTES]; + uint8_t nextchan, chans[IEEE80211_CHAN_BYTES], *frm; + struct ieee80211_appie *aie; + struct ieee80211_country_ie *ie; int i, skip, nruns; + aie = malloc(IEEE80211_COUNTRY_MAX_SIZE, M_80211_NODE_IE, + M_NOWAIT | M_ZERO); + if (aie == NULL) { + if_printf(ic->ic_ifp, + "%s: unable to allocate memory for country ie\n", __func__); + /* XXX stat */ + return NULL; + } + ie = (struct ieee80211_country_ie *) aie->ie_data; ie->ie = IEEE80211_ELEMID_COUNTRY; if (rd->isocc[0] == '\0') { if_printf(ic->ic_ifp, "no ISO country string for cc %d; " @@ -252,8 +266,11 @@ setbit(chans, c->ic_ieee); if (c->ic_ieee != nextchan || c->ic_maxregpower != frm[-1]) { /* new run */ - if (nruns == 10) { /* XXX max runs */ - /* XXX add msg but can't now 'cuz we're called too often */ + if (nruns == IEEE80211_COUNTRY_MAX_BANDS) { + if_printf(ic->ic_ifp, "%s: country ie too big, " + "runs > max %d, truncating\n", + __func__, IEEE80211_COUNTRY_MAX_BANDS); + /* XXX stat? fail? */ break; } frm[0] = c->ic_ieee; /* starting channel # */ @@ -272,6 +289,115 @@ ie->len++; *frm++ = 0; } - return frm; + aie->ie_len = frm - aie->ie_data; + + return aie; #undef CHAN_UNINTERESTING } + +static int +allvapsdown(struct ieee80211com *ic) +{ + struct ieee80211vap *vap; + + IEEE80211_LOCK_ASSERT(ic); + TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) + if (vap->iv_state != IEEE80211_S_INIT) + return 0; + return 1; +} + +int +ieee80211_setregdomain(struct ieee80211vap *vap, + struct ieee80211_regdomain_req *reg) +{ + struct ieee80211com *ic = vap->iv_ic; + struct ieee80211_channel *c; + int desfreq = 0, desflags = 0; /* XXX silence gcc complaint */ + int error, i; + + if (reg->rd.location != 'I' && reg->rd.location != 'O' && + reg->rd.location != ' ') + return EINVAL; + if (reg->rd.isocc[0] == '\0' || reg->rd.isocc[1] == '\0') + return EINVAL; + if (reg->chaninfo.ic_nchans >= IEEE80211_CHAN_MAX) + return EINVAL; + /* + * Calculate freq<->IEEE mapping and default max tx power + * for channels not setup. The driver can override these + * setting to reflect device properties/requirements. + */ + for (i = 0; i < reg->chaninfo.ic_nchans; i++) { + c = ®->chaninfo.ic_chans[i]; + if (c->ic_freq == 0 || c->ic_flags == 0) + return EINVAL; + if (c->ic_maxregpower == 0) + return EINVAL; + if (c->ic_ieee == 0) + c->ic_ieee = ieee80211_mhz2ieee(c->ic_freq,c->ic_flags); + if (IEEE80211_IS_CHAN_HT40(c) && c->ic_extieee == 0) + c->ic_extieee = ieee80211_mhz2ieee(c->ic_freq + + (IEEE80211_IS_CHAN_HT40U(c) ? 20 : -20), + c->ic_flags); + if (c->ic_maxpower == 0) + c->ic_maxpower = 2*c->ic_maxregpower; + } + IEEE80211_LOCK(ic); + error = ic->ic_setregdomain(ic, ®->rd, + reg->chaninfo.ic_nchans, reg->chaninfo.ic_chans); + if (error != 0) { + IEEE80211_UNLOCK(ic); + return error; + } + /* XXX bandaid; a running vap will likely crash */ + if (!allvapsdown(ic)) { + IEEE80211_UNLOCK(ic); + return EBUSY; + } + /* + * Commit: copy in new channel table and reset media state. + * On return the state machines will be clocked so all vaps + * will reset their state. + * + * XXX ic_bsschan is marked undefined, must have vap's in + * INIT state or we blow up forcing stations off + */ + /* + * Save any desired channel for restore below. Note this + * needs to be done for all vaps but for now we only do + * the one where the ioctl is issued. + */ + if (vap->iv_des_chan != IEEE80211_CHAN_ANYC) { + desfreq = vap->iv_des_chan->ic_freq; + desflags = vap->iv_des_chan->ic_flags; + } + /* regdomain parameters */ + memcpy(&ic->ic_regdomain, ®->rd, sizeof(reg->rd)); + /* channel table */ + memcpy(ic->ic_channels, reg->chaninfo.ic_chans, + reg->chaninfo.ic_nchans * sizeof(struct ieee80211_channel)); + ic->ic_nchans = reg->chaninfo.ic_nchans; + memset(&ic->ic_channels[ic->ic_nchans], 0, + (IEEE80211_CHAN_MAX - ic->ic_nchans) * + sizeof(struct ieee80211_channel)); + ieee80211_media_init(ic, ic->ic_media.ifm_change, + ic->ic_media.ifm_status); + + /* + * Invalidate channel-related state. + */ + if (ic->ic_countryie != NULL) { + free(ic->ic_countryie, M_80211_NODE_IE); + ic->ic_countryie = NULL; + } + ieee80211_scan_flush(vap); + ieee80211_dfs_reset(ic); + if (vap->iv_des_chan != IEEE80211_CHAN_ANYC) { + /* NB: may be NULL if not present in new channel list */ + vap->iv_des_chan = ieee80211_find_channel(ic, desfreq, desflags); + } + IEEE80211_UNLOCK(ic); + + return 0; +} ==== //depot/projects/vap/sys/net80211/ieee80211_regdomain.h#6 (text+ko) ==== @@ -240,6 +240,10 @@ int ieee80211_init_channels(struct ieee80211com *, const struct ieee80211_regdomain *, const uint8_t bands[]); void ieee80211_sort_channels(struct ieee80211_channel chans[], int nchans); -uint8_t *ieee80211_add_countryie(uint8_t *, struct ieee80211com *); +struct ieee80211_appie; +struct ieee80211_appie *ieee80211_alloc_countryie(struct ieee80211com *); +struct ieee80211_regdomain_req; +int ieee80211_setregdomain(struct ieee80211vap *, + struct ieee80211_regdomain_req *); #endif /* defined(__KERNEL__) || defined(_KERNEL) */ #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */ ==== //depot/projects/vap/sys/net80211/ieee80211_var.h#33 (text+ko) ==== @@ -100,6 +100,11 @@ struct ieee80211vap; typedef void (*ieee80211vap_attach)(struct ieee80211vap *); +struct ieee80211_appie { + uint16_t ie_len; /* size of ie_data */ + uint8_t ie_data[]; /* user-specified IE's */ +}; + struct ieee80211com { struct ifnet *ic_ifp; /* associated device */ ieee80211_com_lock_t ic_comlock; /* state update lock */ @@ -158,6 +163,8 @@ struct ieee80211_channel *ic_bsschan; /* bss channel */ struct ieee80211_channel *ic_prevchan; /* previous channel */ struct ieee80211_regdomain ic_regdomain;/* regulatory data */ + struct ieee80211_appie *ic_countryie; /* calculated country ie */ + struct ieee80211_channel *ic_countryie_chan; /* 802.11h/DFS state */ struct ieee80211_channel *ic_csa_newchan;/* channel for doing CSA */ @@ -268,11 +275,6 @@ struct ieee80211_aclator; -struct ieee80211_appie { - uint16_t ie_len; /* size of ie_data */ - uint8_t ie_data[]; /* user-specified IE's */ -}; - struct ieee80211vap { struct ifmedia iv_media; /* interface media config */ struct ifnet *iv_ifp; /* associated device */ From owner-p4-projects@FreeBSD.ORG Mon Mar 17 18:57:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F0D31065873; Mon, 17 Mar 2008 18:57:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8C671065740 for ; Mon, 17 Mar 2008 18:57:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB2B08FC4A for ; Mon, 17 Mar 2008 18:57:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HIvEJg082809 for ; Mon, 17 Mar 2008 18:57:14 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HIvEFl082807 for perforce@freebsd.org; Mon, 17 Mar 2008 18:57:14 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 18:57:14 GMT Message-Id: <200803171857.m2HIvEFl082807@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 137936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 18:57:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=137936 Change 137936 by sam@sam_ebb on 2008/03/17 18:56:44 Defer state change on disassociate to avoid unnecessarily dropping the lease; we set a timer on disassociate and if we re-associate to the same ap then we just continue using the current lease; otherwise we reboot the state machine as before. May need to tweak the timer and/or fix other edge cases in the dhcp state machine but I think link state change events should handle other reasons to clock the state machine. Affected files ... .. //depot/projects/vap/sbin/dhclient/dhclient.c#4 edit Differences ... ==== //depot/projects/vap/sbin/dhclient/dhclient.c#4 (text+ko) ==== @@ -176,8 +176,30 @@ return (NULL); } + struct iaddr defaddr = { 4 }; +uint8_t curbssid[6]; + +static void +disassoc(void *arg) +{ + struct interface_info *ifi = arg; + /* + * Clear existing state. + */ + if (ifi->client->active != NULL) { + script_init("EXPIRE", NULL); + script_write_params("old_", + ifi->client->active); + if (ifi->client->alias) + script_write_params("alias_", + ifi->client->alias); + script_go(); + } + ifi->client->state = S_INIT; +} + /* ARGSUSED */ void routehandler(struct protocol *p) @@ -187,6 +209,7 @@ struct if_msghdr *ifm; struct ifa_msghdr *ifam; struct if_announcemsghdr *ifan; + struct ieee80211_join_event *jev; struct client_lease *l; time_t t = time(NULL); struct sockaddr *sa; @@ -255,24 +278,28 @@ switch (ifan->ifan_what) { case RTM_IEEE80211_ASSOC: case RTM_IEEE80211_REASSOC: + cancel_timeout(disassoc, ifi); + jev = (struct ieee80211_join_event *) &ifan[1]; + if (memcmp(curbssid, jev->iev_addr, 6)) + disassoc(ifi); state_reboot(ifi); + memcpy(curbssid, jev->iev_addr, 6); break; case RTM_IEEE80211_DISASSOC: /* - * Clear existing state; transition to the init - * state and then wait for either a link down - * notification or an associate event. + * Defer state change in case we are re-associating + * to the same ap after a deauth (e.g. due to being + * idle). We'll get an associate event and if we + * roamed we'll handle it (see above). Otherwise we'll + * eventually clear state. The only question is how + * long to wait before doing this. Give it 45 seconds + * as this should be plenty to scan multiple bands + * and complete a WPA handshake. If this event is a + * precursor to our being marked down or the interface + * going away that'll be handled by the link state + * change. */ - if (ifi->client->active != NULL) { - script_init("EXPIRE", NULL); - script_write_params("old_", - ifi->client->active); - if (ifi->client->alias) - script_write_params("alias_", - ifi->client->alias); - script_go(); - } - ifi->client->state = S_INIT; + add_timeout(t+45, disassoc, ifi); break; } break; From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:08:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B56E51065671; Mon, 17 Mar 2008 19:08:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72B85106564A for ; Mon, 17 Mar 2008 19:08:26 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 652048FC27 for ; Mon, 17 Mar 2008 19:08:26 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJ8Q0I094652 for ; Mon, 17 Mar 2008 19:08:26 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJ8QDL094650 for perforce@freebsd.org; Mon, 17 Mar 2008 19:08:26 GMT (envelope-from swise@FreeBSD.org) Date: Mon, 17 Mar 2008 19:08:26 GMT Message-Id: <200803171908.m2HJ8QDL094650@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 137938 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:08:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=137938 Change 137938 by swise@swise:vic10:iwarp on 2008/03/17 19:08:13 build break Affected files ... .. //depot/projects/iwarp/sys/amd64/include/intr_machdep.h#3 edit Differences ... ==== //depot/projects/iwarp/sys/amd64/include/intr_machdep.h#3 (text+ko) ==== @@ -138,9 +138,6 @@ int intr_add_handler(const char *name, int vector, driver_filter_t filter, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep); -#ifdef SMP -int intr_bind(u_int vector, u_char cpu); -#endif int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:21:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15C9F1065672; Mon, 17 Mar 2008 19:21:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5AFC106567E for ; Mon, 17 Mar 2008 19:21:42 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B6F298FC25 for ; Mon, 17 Mar 2008 19:21:42 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJLgZS011197 for ; Mon, 17 Mar 2008 19:21:42 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJLga9011174 for perforce@freebsd.org; Mon, 17 Mar 2008 19:21:42 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 17 Mar 2008 19:21:42 GMT Message-Id: <200803171921.m2HJLga9011174@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 137940 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:21:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=137940 Change 137940 by pgj@disznohal on 2008/03/17 19:20:48 Add initial Hungarian translation of Chapter 25: PPP and SLIP. Affected files ... .. //depot/projects/docproj_hu/books/handbook/ppp-and-slip/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/ppp-and-slip/chapter.sgml#3 (text+ko) ==== @@ -4,22 +4,27 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.177 2008/02/03 23:12:02 ceri Exp $ --> + + Jim Mock - Restructured, reorganized, and updated by - + Újjászervezte, újrarendezte + és frissítette: - PPP and SLIP + A PPP és a SLIP - Synopsis + Áttekintés + PPP @@ -27,141 +32,174 @@ SLIP - FreeBSD has a number of ways to link one computer to - another. To establish a network or Internet connection through a - dial-up modem, or to allow others to do so through you, requires - the use of PPP or SLIP. This chapter describes setting up - these modem-based communication services in detail. + A &os; számos módon képes + összekötni két + számítógépet. Ha + betárcsázós modemmel akarunk + hálózati vagy internetes kapcsolatot + felépíteni, esetleg azt szeretnénk, hogy + mások képesek legyenek minket ilyen módon + elérni, akkor ahhoz PPP-t ill. SLIP-et kell + használnunk. Ebben a fejezetben a modemes + kommunikáció beállításait + mutatjuk be részletesebben. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - How to set up user PPP. + hogyan állítsunk be + felhasználói PPP-t - How to set up kernel PPP. + hogyan állítsunk be rendszerszintû + PPP-t - How to set up PPPoE (PPP over - Ethernet). + hogyan állítsunk be egy + PPPoE (PPP over Ethernet, vagyis PPP + Ethernet felett) kapcsolatot - How to set up PPPoA (PPP over - ATM). + hogyan állítsunk be egy + PPPoA (PPP over ATM, vagyis PPP ATM + felett) kapcsolatot - How to configure and set up a SLIP client and - server. + hogyan állítsunk be SLIP klienst és + szervert PPP - user PPP - + felhasználói PPP + PPP - kernel PPP - + rendszer PPP + PPP - over Ethernet + Ethernet felett - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Be familiar with basic network terminology. + az alapvetõ hálózati + technológiák ismerete - Understand the basics and purpose of a dialup connection - and PPP and/or SLIP. + a betárcsázós kapcsolatok, a PPP + és/vagy SLIP alapjainak és céljainak + megértése - You may be wondering what the main difference is between user - PPP and kernel PPP. The answer is simple: user PPP processes the - inbound and outbound data in userland rather than in the kernel. - This is expensive in terms of copying the data between the kernel - and userland, but allows a far more feature-rich PPP implementation. - User PPP uses the tun device to communicate - with the outside world whereas kernel PPP uses the - ppp device. + Talán érdekli a kedves olvasót, hogy mi + az alapvetõ különbség a + felhasználói és a rendszerszintû PPP + között. A válasz egyszerû: a + felhasználói PPP a beérkezõ és + kimenõ adatokat nem a rendszermagban, hanem a + felhasználói szinten dolgozza fel. Ez + költséges abból a szempontból, hogy + emiatt adatokat kell másolgatni a rendszer és a + felhasználói szint között, azonban egy + sokkal többet tudó PPP implementációnak + ad ezzel utat. A felhasználói PPP a + tun eszközön keresztül + kommunikál a külvilággal, miközben a + rendszermagban található PPP mindezt a + ppp eszközzel + valósítja meg. - Throughout in this chapter, user PPP will simply be - referred to as ppp unless a distinction needs to be made between it - and any other PPP software such as pppd. - Unless otherwise stated, all of the commands explained in this - chapter should be executed as root. + A fejezetben a felhasználói PPP-t + egyszerûen csak ppp néven + fogjuk hivatkozni, hacsak nem lesz szükséges + különbséget tennünk közte és + más PPP szoftverek, mint mondjuk a + pppd között. Ha + mást nem mondunk, akkor a fejezetben ismertetett + összes parancsot root + felhasználóként kell kiadni. + - - Tom - Rhodes - Updated and enhanced by - + + Tom + Rhodes + Frissítette és feljavította: + + - - Brian - Somers - Originally contributed by - + + Brian + Somers + Eredetileg készítette: + Nik Clayton - With input from - - + A bemenetet szolgáltatta: + + Dirk - Frömberg - - - Peter - Childs - + Frömberg + + + Peter + Childs + - Using User PPP + A felhasználói PPP alkalmazása - User PPP + A felhasználói PPP - Assumptions + Elõfeltételek - This document assumes you have the following: + A leírás feltételezi, hogy + rendelkezünk a következõkkel: - ISP + internet szolgáltató - PPP + PPP kapcsolat + - An account with an Internet Service Provider (ISP) which - you connect to using PPP. + olyan internet elõfizetés, ahol PPP-n + keresztül csatlakozunk - You have a modem or - other device connected to your system and configured - correctly which allows you to connect to your ISP. + egy modem vagy más olyan + rendszerünkhöz csatlakozó eszköz, amin + keresztül el tudjuk érni az internet + szolgáltatónkat - The dial-up number(s) of your ISP. + az internet elõfizetés + betárcsázáshoz szükséges + telefonszáma(i) @@ -174,108 +212,161 @@ UNIX - login name + bejelentkezési név - password + jelszó + - Your login name and password. (Either a - regular &unix; style login and password pair, or a PAP or CHAP - login and password pair.) + A bejelentkezési nevünk és + jelszavunk. (Vagy a megszokott &unix;-os + felhasználói név és + jelszó páros, vagy egy PAP esetleg CHAP + bejelentkezési név és + jelszó.) - nameserver + névszerver + - The IP address of one or more name servers. - Normally, you will be given two IP addresses by your ISP to - use for this. If they have not given you at least one, then - you can use the enable dns command in - ppp.conf and - ppp will set the name servers for - you. This feature depends on your ISPs PPP implementation - supporting DNS negotiation. + Egy vagy több névszerver IP-címe. + Ehhez az internet szolgáltatók + általában két IP-címet adnak + meg. Ha egyet sem kaptunk, akkor a + ppp.conf állományban + erre a célra használhatjuk a enable + dns parancsot, és ekkor a + ppp majd automatikusan be fogja + állítani nekünk a + névszervereket. Ezt a lehetõséget az + befolyásolja, hogy az internet + szolgáltató oldalán + mûködõ PPP implementáció + támogatja-e a névfeloldás + egyeztetését (DNS negotiation). - The following information may be supplied by your ISP, but - is not completely necessary: + A következõ információkat is + megkaphatjuk az internet elõfizetésünkhöz, + de nem feltétlenül szükségesek: - The IP address of your ISP's gateway. The gateway is - the machine to which you will connect and will be set up as - your default route. If you do not have - this information, we can make one up and your ISP's PPP - server will tell us the correct value when we connect. + Az internet szolgáltató + átjárójának IP-címe. Az + átjáró az a gép, amin + keresztül a gépünk csatlakozik és + számára az lesz az + alapértelmezett + átjáró. Ha nem + rendelkezünk ezzel az információval, + akkor csak állítsunk be valamit, és + majd a csatlakozáskor a szolgáltató + PPP szervere felülírja a megfelelõ + beállításokkal. - This IP number is referred to as - HISADDR by - ppp. + Erre a címre a ppp + HISADDR néven hivatkozik. - The netmask you should use. If your ISP has not - provided you with one, you can safely use 255.255.255.255. + A használandó hálózati + maszk. Amennyiben a szolgáltató ezt nem adta + meg, nyugodtan használjuk erre a 255.255.255.255 + értéket. - static IP address + statikus IP-cím + - If your ISP provides you with a static IP address and - hostname, you can enter it. Otherwise, we simply let the - peer assign whatever IP address it sees fit. + Ha a szolgáltatónk statikus + IP-címet és rögzített + hálózati nevet is biztosít nekünk, + ezt is megadhatjuk. Minden más esetben + egyszerûen csak hagyjuk, hogy a rendszer + automatikusan válasszon nekünk egyet. - If you do not have any of the required information, contact - your ISP. + Ha a szükséges információknak + nem vagyunk birtokában, akkor vegyük fel a + kapcsolatot az internet szolgáltatókkal. - Throughout this section, many of the examples showing - the contents of configuration files are numbered by line. - These numbers serve to aid in the presentation and - discussion only and are not meant to be placed in the actual - file. Proper indentation with tab and space characters is - also important. + Ebben a szakaszban a példákban + szereplõ konfigurációs + állományok sorait számozva + láthatjuk. Ezek a sorszámok a bemutatás + és a tárgyalás + megkönnyítése érdekében + szerepelnek, és nem az eredeti + állományok részei. Mindezek mellett a + tabulátorok és szóközök + megfelelõ használata is fontos. - Automatic <application>PPP</application> Configuration + A <application>PPP</application> automatikus + beállítása + + + PPP + beállítása + - PPPconfiguration - Both ppp and pppd - (the kernel level implementation of PPP) use the configuration - files located in the /etc/ppp directory. - Examples for user ppp can be found in - /usr/share/examples/ppp/. + A ppp és a + pppd (a PPP rendszerszintû + megvalósítása) egyaránt az + /etc/ppp könyvtárban + található konfigurációs + állományokat használja. A + felhasználói PPP-hez ezen kívül + még a /usr/share/examples/ppp/ + könyvtárban vannak példák. - Configuring ppp requires that you edit a - number of files, depending on your requirements. What you put - in them depends to some extent on whether your ISP allocates IP - addresses statically (i.e., you get given one IP address, and - always use that one) or dynamically (i.e., your IP address - changes each time you connect to your ISP). + A ppp parancs + beállítása az igényeinktõl + függõen számos állomány + módosítását igényelheti. A + tartalmukat nagyban befolyásolja, hogy a + szolgáltatónk részérõl a + címeket kiosztása statikus (vagyis egy adott + címet kapunk és folyamatosan azt + használjuk) esetleg dinamikus (vagyis az + IP-címünk minden egyes + kapcsolódáskor más és + más). - PPP and Static IP Addresses + PPP statikus IP-címmel + + + PPP + statikus IP-címmel + - PPPwith static IP addresses - You will need to edit the - /etc/ppp/ppp.conf configuration file. It - should look similar to the example below. + Ebben az esetben az + /etc/ppp/ppp.conf + konfigurációs állományt kell + átszerkesztenünk. Tartalma az alábbi + példához hasonlítható. - Lines that end in a : start in - the first column (beginning of the line)— all other - lines should be indented as shown using spaces or - tabs. + A : karakterrel + végzõdõ sorok mindig az elsõ oszlopban + kezdõdnek (tehát a sor elején), + míg az összes többi sort + tabulátorok vagy szóközök + használatával bentebb kell raknunk. 1 default: @@ -288,10 +379,10 @@ 8 set timeout 180 9 enable dns 10 -11 provider: +11 szolgaltato: 12 set phone "(123) 456 7890" -13 set authname foo -14 set authkey bar +13 set authname ize +14 set authkey mize 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 @@ -299,418 +390,607 @@ - Line 1: + 1. sor: - Identifies the default entry. Commands in this - entry are executed automatically when ppp is run. + Ez azonosítja be az alapértelmezett + bejegyzést. Az itt szereplõ parancsok a ppp + minden egyes futásakor magukból + végrehajtódnak. - Line 2: + 2. sor: - Enables logging parameters. When the configuration - is working satisfactorily, this line should be reduced - to saying + Beállítja a naplózás + paramétereit. Amikor a + beállításaink már + kifogástalanul mûködnek, akkor ezt a + sort érdemes átírni a + következõre: - set log phase tun + set log phase tun - in order to avoid excessive log file sizes. + amivel jelentõs mértékben + vissza tudjuk fogni a naplózás + mértékét. - Line 3: + 3. sor: - Tells PPP how to identify itself to the peer. - PPP identifies itself to the peer if it has any trouble - negotiating and setting up the link, providing information - that the peers administrator may find useful when - investigating such problems. + Ezzel mondjuk a PPP-nek, hogy a többiek + felé miként azonosítsa + magát. A PPP akkor azonosítja + magát a társak felé, ha valamilyen + gondja akad az egyeztetésekkel és a + kapcsolat beállításával. + Az így továbbított + információk a másik oldal + rendszergazdái számára + nyújthatnak segítséget az ilyen + jellegû problémák + felderítésében. - Line 4: + 4. sor: - Identifies the device to which the modem is - connected. COM1 is - /dev/cuaa0 and - COM2 is + Itt adjuk meg az eszközt, amire a modem + csatlakozik. A COM1 neve + /dev/cuaa0, a + COM2 neve pedig /dev/cuaa1. - Line 5: + 5. sor: - Sets the speed you want to connect at. If 115200 - does not work (it should with any reasonably new modem), - try 38400 instead. + A csatlakozás sebességét + adjuk meg. Ha a 115200 érték itt nem + mûködne (ami egyébként minden + újabb gyártmányú modem + esetében elfogadható), akkor helyette + használjuk a 38400-as + beállítást. - Line 6 & 7: + 6. és 7. sorok: + + + PPP + felhasználói PPP + - PPPuser PPP - The dial string. User PPP uses an expect-send - syntax similar to the &man.chat.8; program. Refer to - the manual page for information on the features of this - language. + A híváshoz használt + karakterlánc. A felhasználói PPP a + &man.chat.8; programhoz hasonló + küldök-várok + típusú szerkesztést alkalmaz. A + nyelv lehetõségeirõl a man + oldalán olvashatunk + részletesebben. - Note that this command continues onto the next line - for readability. Any command in - ppp.conf may do this if the last - character on the line is a ``\'' character. + Vegyük észre, hogy az + olvashatóság kedvéért a + parancs a következõ sorban folytatódik. + A ppp.conf + állományban bármelyik parancs, + ahol a \ karakterrel zárjuk a + sort, az ugyanígy folytatható a + következõben. - Line 8: + 8. sor: - Sets the idle timeout for the link. 180 seconds - is the default, so this line is purely cosmetic. + A kapcsolathoz tartozó + üresjárati idõt állítja + be. Ennek értéke alapból 180 + másodperc, így ez a sor pusztán + csak az érthetõséget + szolgálja. - Line 9: + 9. sor: - Tells PPP to ask the peer to confirm the local - resolver settings. If you run a local name server, this - line should be commented out or removed. + Arra utasítja a PPP-t, hogy a + többiektõl kérdezze le a helyi + névfeloldó + beállításait. Ha saját + névszervert futtatunk, akkor ezt a sort + tegyük megjegyzésbe vagy + töröljük ki. - Line 10: + 10. sor: - A blank line for readability. Blank lines are ignored - by PPP. + Ez az üres sor az + átláthatóság + kedvéért került bele. A PPP az + összes üres sort figyelmen kívül + hagyja. - Line 11: + 11. sor: - Identifies an entry for a provider called - provider. This could be changed - to the name of your ISP so - that later you can use the - to start the connection. + Itt kezdõdik a szolgaltato + nevû szolgáltatóhoz tartozó + bejegyzés. Ezt késõbb akár ki + is cserélhetjük az internet + szolgáltatónk nevére, így + a + beállítással tudjuk majd + beindítani a kapcsolatot. - Line 12: + 12. sor: - Sets the phone number for this provider. Multiple - phone numbers may be specified using the colon - (:) or pipe character - (|)as a separator. The difference - between the two separators is described in &man.ppp.8;. - To summarize, if you want to rotate through the numbers, - use a colon. If you want to always attempt to dial the - first number first and only use the other numbers if the - first number fails, use the pipe character. Always - quote the entire set of phone numbers as shown. - - You must enclose the phone number in quotation marks - (") if there is any intention on using - spaces in the phone number. This can cause a simple, yet - subtle error. + Beállítjuk a + szolgáltatóhoz tartozó + telefonszámot. A kettõspont + (:) vagy a csõvezeték + (|) karakterekkel + elválasztva több telefonszámot is + meg tudunk adni. A &man.ppp.8; oldalon olvashatunk a + két elválasztó közti + különbségekrõl. Röviden + ezeket úgy foglalhatnánk össze, + hogy ha váltogatni akarunk a számok + között, akkor használjuk a + kettõspontot. Ha mindig az elsõként + megadott számot akarjuk hívni és + a többit csak akkor, ha ez nem mûködik, + akkor a csõvezeték karakterre lesz + szükségünk. Ahogy a példa is + mutatja, az összes telefonszámot + tegyük mindig idézõjelek + közé. + + Ha a telefonszámban egyébként + is szerepelnek szóközök, akkor is + idézõjelek (") + közé kell tennünk. Ennek + elhagyásával egy egyszerû, + ámde kényes hibát + ejtünk. - Line 13 & 14: + 13. és 14. sor: - Identifies the user name and password. When - connecting using a &unix; style login prompt, these - values are referred to by the set - login command using the \U and \P - variables. When connecting using PAP or CHAP, these - values are used at authentication time. + A felhasználói nevet és + jelszót tartalmazza. Amikor egy &unix; + fajtájú bejelentkezést kapunk, + akkor ezekre az értékekre a set + login parancsban \U és \P + változókkal tudunk hivatkozni. Ha PAP + vagy CHAP használatával + jelentkezünk be, akkor ezek az + értékek a hitelesítéskor + kerülnek felhasználásra. - Line 15: + 15. sor: PAP CHAP - If you are using PAP or CHAP, there will be no login - at this point, and this line should be commented out or - removed. See PAP and CHAP - authentication for further details. + + Ha a PAP vagy CHAP protokollok valamelyikét + használjuk, akkor nem lesz + szükségünk a login + változóra, ezért ezt + megjegyzésbe is tehetjük, vagy akár + ki is törölhetjük. A PAP és CHAP + hitelesítésrõl + szóló részben olvashatjuk ennek + további részleteit. - The login string is of the same chat-like syntax as - the dial string. In this example, the string works for - a service whose login session looks like this: + A bejelentkezéshez használt + karakterlánc hasonlít a + behíváshoz használt, + chat-szerû felépítéssel + rendelkezõ karakterlánchoz. A + példában látható + karakterlánc egy olyan + szolgáltatáshoz illeszkedik, ahol a + bejelentkezés valahogy így néz + ki: - J. Random Provider -login: foo -password: bar + Csodálatos Véletlen Szolgáltató +login: ize +password: mize protocol: ppp - You will need to alter this script to suit your - own needs. When you write this script for the first - time, you should ensure that you have enabled - chat logging so you can determine if - the conversation is going as expected. + Ezt a szkriptet alakítsuk a saját + igényeinkhez. Ha elõször + próbálkozunk ilyen szkript + írásával, akkor lehetõleg + kapcsoljuk be a rendszerek között + lezajló + beszélgetés + naplózását, hogy ellenõrizni + tudjuk minden a megfelelõen módon + történik-e. - Line 16: + 16. sor: + + idõkorlát - timeout - Sets the default idle timeout (in seconds) for the - connection. Here, the connection will be closed - automatically after 300 seconds of inactivity. If you - never want to timeout, set this value to zero or use - the command line switch. + Beállítjuk a kapcsolathoz + tartozó alapértelmezett + idõkorlátot (másodpercben). Itt a + kapcsolat automatikusan lezárul 300 + másodperc tétlenséget + követõen. Ha nem akarunk ilyen + korlátot szabni, akkor ezt az + értéket állítsuk + nullára vagy használjuk a + paranccsori + kapcsolót. - Line 17: - ISP + 17. sor: + internet + szolgáltató + - Sets the interface addresses. The string - x.x.x.x should be - replaced by the IP address that your provider has - allocated to you. The string - y.y.y.y should be - replaced by the IP address that your ISP indicated - for their gateway (the machine to which you - connect). If your ISP has not given you a gateway - address, use 10.0.0.2/0. If you need to - use a guessed address, make sure that - you create an entry in - /etc/ppp/ppp.linkup as per the - instructions for PPP and Dynamic IP - addresses. If this line is omitted, - ppp cannot run in - mode. + A felülethez tartozó címeket + állítja be. A + x.x.x.x helyére a + szolgáltató által kiosztott + IP-címet kell beírnunk. A + y.y.y.y helyett pedig a + szolgáltató + átjárója kerül be + (lényegében az a gép, amihez + csatlakozunk). Amennyiben az internet + szolgáltatónk nem adott meg semmilyen + átjárót, erre a célra a + 10.0.0.2/0 + címet is használhatjuk. Amikor + ki kell találnunk ezeket a + címeket, akkor ne felejtsünk el + létrehozni hozzájuk egy + bejegyzést a + /etc/ppp/ppp.linkup + állományban a PPP dinamikus + IP-címmel szakaszban szereplõek + szerint. Ha nem adjuk meg ezt a sort, akkor a + ppp parancs nem képes + módban + mûködni. - Line 18: + 18. sor: - Adds a default route to your ISP's gateway. The - special word HISADDR is replaced with - the gateway address specified on line 17. It is - important that this line appears after line 17, - otherwise HISADDR will not yet be - initialized. + A szolgáltató + átjárójához felvesz egy + alapértelmezett útvonalat. A + HISADDR kulcsszót a 17. + sorban megadott átjáró + címével helyettesítjük. + Ezért fontos, hogy ez a 17. sor után + szerepeljen, különben a + HISADDR nem lesz képes + inicializálódni. - If you do not wish to run ppp in , - this line should be moved to the - ppp.linkup file. + Ha a ppp-t nem akarjuk + módban futtatni, akkor ezt a sor a + ppp.linkup állományba + is átrakhatjuk. - It is not necessary to add an entry to - ppp.linkup when you have a static IP - address and are running ppp in mode as your - routing table entries are already correct before you connect. - You may however wish to create an entry to invoke programs after - connection. This is explained later with the sendmail - example. + Ha statikus IP-címmel rendelkezünk és + a ppp módban fut, akkor a + ppp.linkup állományba + egészen addig nem kell semmit sem írnunk, + amíg a csatlakozás elõtt az + útválasztási >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:22:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F40E10656DA; Mon, 17 Mar 2008 19:22:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEB9910656CF for ; Mon, 17 Mar 2008 19:22:43 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E125F8FC20 for ; Mon, 17 Mar 2008 19:22:43 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJMhcV011662 for ; Mon, 17 Mar 2008 19:22:43 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJMhrO011656 for perforce@freebsd.org; Mon, 17 Mar 2008 19:22:43 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 17 Mar 2008 19:22:43 GMT Message-Id: <200803171922.m2HJMhrO011656@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 137941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:22:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=137941 Change 137941 by pgj@disznohal on 2008/03/17 19:22:26 IFC before translation Affected files ... .. //depot/projects/docproj_hu/books/handbook/serialcomms/chapter.sgml#2 integrate Differences ... ==== //depot/projects/docproj_hu/books/handbook/serialcomms/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2655,7 +2655,7 @@ - Enable the options comconsole_speed + Enable the comconsole_speed option in your /boot/loader.conf file. From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:35:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B31A1065679; Mon, 17 Mar 2008 19:35:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A12C1065677 for ; Mon, 17 Mar 2008 19:35:57 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C9718FC13 for ; Mon, 17 Mar 2008 19:35:57 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJZvfX028831 for ; Mon, 17 Mar 2008 19:35:57 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJZvl3028829 for perforce@freebsd.org; Mon, 17 Mar 2008 19:35:57 GMT (envelope-from rrs@cisco.com) Date: Mon, 17 Mar 2008 19:35:57 GMT Message-Id: <200803171935.m2HJZvl3028829@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 137942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:35:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=137942 Change 137942 by rrs@rrs-mips2-jnpr on 2008/03/17 19:35:54 Any relocation symbol lookup if its 0. It looks like this is the way the compiler indicates you need to look in another shared library. When we hit these as we relocate a object we will do the symbol lookups and setup the relocation table with the right value. Affected files ... .. //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#3 (text+ko) ==== @@ -92,12 +92,11 @@ i = (got[1] & 0x80000000) ? 2 : 1; /* Relocate the local GOT entries */ got += i; - - for (; i < local_gotno; i++) - *got++ += relocbase; + for (; i < local_gotno; i++) { + *got++ += relocbase; + } sym = symtab + gotsym; - /* Now do the global GOT entries */ for (i = gotsym; i < symtabno; i++) { *got = sym->st_value + relocbase; @@ -177,15 +176,19 @@ /* Relocate the local GOT entries */ got += i; - for (; i < obj->local_gotno; i++) - *got++ += (Elf_Addr)obj->relocbase; + dbg("got:%p for %d entries adding %x", + got, obj->local_gotno, (uint32_t)obj->relocbase); + for (; i < obj->local_gotno; i++) { + *got += (Elf_Addr)obj->relocbase; + got++; + } sym = obj->symtab + obj->gotsym; + + dbg("got:%p for %d entries", + got, obj->symtabno); /* Now do the global GOT entries */ for (i = obj->gotsym; i < obj->symtabno; i++) { - dbg(" doing got %d sym %p (%s, %x)", i - obj->gotsym, sym, - sym->st_name + obj->strtab, *got); - if (ELF_ST_TYPE(sym->st_info) == STT_FUNC && sym->st_value != 0 && sym->st_shndx == SHN_UNDEF) { /* @@ -204,24 +207,38 @@ * calls are bound immediately. - mycroft, 2003/09/24 */ *got = sym->st_value + (Elf_Addr)obj->relocbase; + if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { + dbg("Warning2, i:%d maps to relocbase address:%x", + i, (uint32_t)obj->relocbase); + } + } else if (sym->st_info == ELF_ST_INFO(STB_GLOBAL, STT_SECTION)) { /* Symbols with index SHN_ABS are not relocated. */ - if (sym->st_shndx != SHN_ABS) + if (sym->st_shndx != SHN_ABS) { *got = sym->st_value + (Elf_Addr)obj->relocbase; + if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { + dbg("Warning3, i:%d maps to relocbase address:%x", + i, (uint32_t)obj->relocbase); + } + } } else { /* TODO: add cache here */ def = find_symdef(i, obj, &defobj, false, NULL); - if (def == NULL) + if (def == NULL) { + dbg("Warning4, cant find symbole %d", i); return -1; + } *got = def->st_value + (Elf_Addr)defobj->relocbase; + if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { + dbg("Warning4, i:%d maps to relocbase address:%x", + i, (uint32_t)obj->relocbase); + } + } - - dbg(" --> now %x", *got); ++sym; ++got; } - got = obj->pltgot; rellim = (const Elf_Rel *)((caddr_t)obj->rel + obj->relsize); for (rel = obj->rel; rel < rellim; rel++) { @@ -231,7 +248,6 @@ where = obj->relocbase + rel->r_offset; symnum = ELF_R_SYM(rel->r_info); - switch (ELF_R_TYPE(rel->r_info)) { case R_TYPE(NONE): break; @@ -240,8 +256,28 @@ /* 32-bit PC-relative reference */ def = obj->symtab + symnum; tmp = load_ptr(where); - tmp += (Elf_Addr)obj->relocbase; + if (tmp == 0) { + def = find_symdef(symnum, obj, &defobj, false, NULL); + if (def == NULL) { + dbg("Warning5, cant find symbole %d:%s", (int)symnum, + obj->strtab + obj->symtab[symnum].st_name); + } else { + tmp = def->st_value + (Elf_Addr)defobj->relocbase; + dbg("Correctiong symnum:%d:%s to addr:%x", (int)symnum, + obj->strtab + obj->symtab[symnum].st_name, + (u_int32_t)tmp + ); + } + } else { + tmp += (Elf_Addr)obj->relocbase; + } store_ptr(where, tmp); + if (tmp == (Elf_Addr)obj->relocbase) { + dbg("rel sym %p falls on relocbase symidx:%x symbol:%s", rel, + (uint32_t)ELF_R_SYM(rel->r_info), + obj->strtab + obj->symtab[symnum].st_name + ); + } break; default: @@ -269,6 +305,9 @@ const Elf_Rel *rellim; const Elf_Rel *rel; + dbg("reloc_plt obj:%p pltrel:%p sz:%d", obj, obj->pltrel, (int)obj->pltrelsize); + dbg("gottable %p num syms:%d", obj->pltgot, obj->symtabno ); + dbg("*****************************************************"); rellim = (const Elf_Rel *)((char *)obj->pltrel + obj->pltrelsize); for (rel = obj->pltrel; rel < rellim; rel++) { @@ -276,7 +315,7 @@ where = (Elf_Addr *)(obj->relocbase + rel->r_offset); *where += (Elf_Addr )obj->relocbase; } - + return (0); } From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:44:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3787910656CF; Mon, 17 Mar 2008 19:44:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E997E10656CD for ; Mon, 17 Mar 2008 19:44:05 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB1948FC1C for ; Mon, 17 Mar 2008 19:44:05 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJi51N035958 for ; Mon, 17 Mar 2008 19:44:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJi59H035954 for perforce@freebsd.org; Mon, 17 Mar 2008 19:44:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 17 Mar 2008 19:44:05 GMT Message-Id: <200803171944.m2HJi59H035954@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 137943 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:44:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=137943 Change 137943 by rwatson@rwatson_fledge on 2008/03/17 19:43:17 Minor wording tweak. Affected files ... .. //depot/projects/zcopybpf/src/share/man/man4/bpf.4#10 edit Differences ... ==== //depot/projects/zcopybpf/src/share/man/man4/bpf.4#10 (text+ko) ==== @@ -122,8 +122,8 @@ .Nm devices operate in the .Dv BPF_BUFMODE_BUFFER -mode, in which packet data is copied explicitly from the kernel to user -memory using the +mode, in which packet data is copied explicitly from kernel to user memory +using the .Xr read 2 system call. The user process will declare a fixed buffer size that will be used both for From owner-p4-projects@FreeBSD.ORG Mon Mar 17 19:45:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 633341065705; Mon, 17 Mar 2008 19:45:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FE491065703 for ; Mon, 17 Mar 2008 19:45:07 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 12D908FC12 for ; Mon, 17 Mar 2008 19:45:07 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HJj6bR036490 for ; Mon, 17 Mar 2008 19:45:06 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HJj6bs036488 for perforce@freebsd.org; Mon, 17 Mar 2008 19:45:06 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 19:45:06 GMT Message-Id: <200803171945.m2HJj6bs036488@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 137944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 19:45:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=137944 Change 137944 by sam@sam_ebb on 2008/03/17 19:44:58 er, this is what I really meant; only kick the state machine if we roam Affected files ... .. //depot/projects/vap/sbin/dhclient/dhclient.c#5 edit Differences ... ==== //depot/projects/vap/sbin/dhclient/dhclient.c#5 (text+ko) ==== @@ -280,9 +280,10 @@ case RTM_IEEE80211_REASSOC: cancel_timeout(disassoc, ifi); jev = (struct ieee80211_join_event *) &ifan[1]; - if (memcmp(curbssid, jev->iev_addr, 6)) + if (memcmp(curbssid, jev->iev_addr, 6)) { disassoc(ifi); - state_reboot(ifi); + state_reboot(ifi); + } memcpy(curbssid, jev->iev_addr, 6); break; case RTM_IEEE80211_DISASSOC: From owner-p4-projects@FreeBSD.ORG Mon Mar 17 21:43:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D44BB1065680; Mon, 17 Mar 2008 21:43:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 909F11065673 for ; Mon, 17 Mar 2008 21:43:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7929C8FC13 for ; Mon, 17 Mar 2008 21:43:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HLh8Mm008331 for ; Mon, 17 Mar 2008 21:43:08 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HLh8vL008329 for perforce@freebsd.org; Mon, 17 Mar 2008 21:43:08 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 21:43:08 GMT Message-Id: <200803172143.m2HLh8vL008329@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 137953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 21:43:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=137953 Change 137953 by sam@sam_ebb on 2008/03/17 21:42:55 wack some sense into this code before we throw it away Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_rssadapt.c#4 edit .. //depot/projects/vap/sys/net80211/ieee80211_rssadapt.h#2 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_rssadapt.c#4 (text+ko) ==== @@ -71,93 +71,80 @@ (parm##_denom - parm##_old) * (new)) / \ parm##_denom) +static void rssadapt_sysctlattach(struct ieee80211_rssadapt *rs, + struct sysctl_ctx_list *ctx, struct sysctl_oid *tree); + /* number of references from net80211 layer */ static int nrefs = 0; void -ieee80211_rssadapt_init(struct ieee80211_rssadapt *rs, struct ieee80211vap *vap) +ieee80211_rssadapt_setinterval(struct ieee80211_rssadapt *rs, int msecs) { + int t; + + if (msecs < 100) + msecs = 100; + t = msecs_to_ticks(msecs); + rs->interval = (t < 1) ? 1 : t; } void -ieee80211_rssadapt_node_init(struct ieee80211_rssadapt *rs, - struct ieee80211_rssadapt_node *ra, struct ieee80211_node *ni) +ieee80211_rssadapt_init(struct ieee80211_rssadapt *rs, struct ieee80211vap *vap, int interval) { - ra->ra_ni = ni; + rs->vap = vap; + ieee80211_rssadapt_setinterval(rs, interval); + + rssadapt_sysctlattach(rs, vap->iv_sysctl, vap->iv_oid); } -int -ieee80211_rssadapt_choose(struct ieee80211_rssadapt_node *ra, - const struct ieee80211_rateset *rs, u_int len) +void +ieee80211_rssadapt_cleanup(struct ieee80211_rssadapt *rs) { - u_int16_t (*thrs)[IEEE80211_RATE_SIZE]; - int i, rateidx = 0, thridx, top, rssi; - - for (i = 0, top = IEEE80211_RSSADAPT_BKT0; - i < IEEE80211_RSSADAPT_BKTS; - i++, top <<= IEEE80211_RSSADAPT_BKTPOWER) { - thridx = i; - if (len <= top) - break; - } - thrs = &ra->ra_rate_thresh[thridx]; - - rssi = ra->ra_ni->ni_ic->ic_node_getrssi(ra->ra_ni); - i = rs->rs_nrates; - while (--i >= 0) { - rateidx = i; - if ((*thrs)[i] < (rssi << 8)) - break; - } - return rateidx; } -void -ieee80211_rssadapt_updatestats(struct ieee80211_rssadapt_node *ra) +static void +rssadapt_updatestats(struct ieee80211_rssadapt_node *ra) { long interval; - ra->ra_pktrate = - (ra->ra_pktrate + 10 * (ra->ra_nfail + ra->ra_nok)) / 2; + ra->ra_pktrate = (ra->ra_pktrate + 10*(ra->ra_nfail + ra->ra_nok))/2; ra->ra_nfail = ra->ra_nok = 0; - /* a node is eligible for its rate to be raised every 1/10 to 10 + /* + * A node is eligible for its rate to be raised every 1/10 to 10 * seconds, more eligible in proportion to recent packet rates. */ - interval = MAX(100000, 10000000 / MAX(1, 10 * ra->ra_pktrate)); - ra->ra_raise_interval.tv_sec = interval / (1000 * 1000); - ra->ra_raise_interval.tv_usec = interval % (1000 * 1000); + interval = MAX(10*1000, 10*1000 / MAX(1, 10 * ra->ra_pktrate)); + ra->ra_raise_interval = msecs_to_ticks(interval); } -#if 0 void -ral_rssadapt_input(struct ieee80211_node *ni, - struct ral_rssadapt *ra, int rssi) +ieee80211_rssadapt_node_init(struct ieee80211_rssadapt *rsa, + struct ieee80211_rssadapt_node *ra, struct ieee80211_node *ni) { - ra->ra_avg_rssi = interpolate(master_expavgctl.rc_avgrssi, - ra->ra_avg_rssi, (rssi << 8)); + const struct ieee80211_rateset *rs = &ni->ni_rates; + + ra->ra_rs = rsa; + ra->ra_rates = *rs; + rssadapt_updatestats(ra); + + /* pick initial rate */ + for (ra->ra_rix = rs->rs_nrates - 1; + ra->ra_rix > 0 && (rs->rs_rates[ra->ra_rix] & IEEE80211_RATE_VAL) > 72; + ra->ra_rix--) + ; + ni->ni_txrate = rs->rs_rates[ra->ra_rix] & IEEE80211_RATE_VAL; + ra->ra_ticks = ticks; + + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "RSSADAPT initial rate %d", ni->ni_txrate); } -#endif -/* - * Adapt the data rate to suit the conditions. When a transmitted - * packet is dropped after RAL_RSSADAPT_RETRY_LIMIT retransmissions, - * raise the RSS threshold for transmitting packets of similar length at - * the same data rate. - */ -static __inline__ void -rssadapt_lower_rate(struct ieee80211_rssadapt_node *ra, - int pktlen, int rix, int rssi) +static __inline int +bucket(int pktlen) { - const struct ieee80211_rateset *rs = &ra->ra_ni->ni_rates; - u_int16_t last_thr; - u_int i, thridx, top; - - ra->ra_nfail++; + int i, top, thridx; - if (rix >= rs->rs_nrates) - return; - for (i = 0, top = IEEE80211_RSSADAPT_BKT0; i < IEEE80211_RSSADAPT_BKTS; i++, top <<= IEEE80211_RSSADAPT_BKTPOWER) { @@ -165,65 +152,119 @@ if (pktlen <= top) break; } + return thridx; +} + +int +ieee80211_rssadapt_choose(struct ieee80211_node *ni, + struct ieee80211_rssadapt_node *ra, u_int pktlen) +{ + const struct ieee80211_rateset *rs = &ra->ra_rates; + uint16_t (*thrs)[IEEE80211_RATE_SIZE]; + int rix, rssi; + + if ((ticks - ra->ra_ticks) > ra->ra_rs->interval) { + rssadapt_updatestats(ra); + ra->ra_ticks = ticks; + } - last_thr = ra->ra_rate_thresh[thridx][rix]; - ra->ra_rate_thresh[thridx][rix] = - interpolate(master_expavgctl.rc_thresh, last_thr, (rssi << 8)); + thrs = &ra->ra_rate_thresh[bucket(pktlen)]; + + /* XXX this is average rssi, should be using last value */ + rssi = ni->ni_ic->ic_node_getrssi(ni); + for (rix = rs->rs_nrates-1; rix >= 0; rix--) + if ((*thrs)[rix] < (rssi << 8)) + break; + if (rix != ra->ra_rix) { + /* update public rate */ + ni->ni_txrate = ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL; + ra->ra_rix = rix; - IEEE80211_DPRINTF(ra->ra_ni->ni_vap, IEEE80211_MSG_RATECTL, - "RSSADAPT lower threshold for rix %d (last_thr=%d new thr=%d rssi=%d)\n", - rix, last_thr, ra->ra_rate_thresh[thridx][rix], rssi); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "RSSADAPT new rate %d (pktlen %d rssi %d)", + ni->ni_txrate, pktlen, rssi); + } + return rix; } -static __inline__ void -rssadapt_raise_rate(struct ieee80211_rssadapt_node *ra, - int pktlen, int rix, int rssi) +/* + * Adapt the data rate to suit the conditions. When a transmitted + * packet is dropped after RAL_RSSADAPT_RETRY_LIMIT retransmissions, + * raise the RSS threshold for transmitting packets of similar length at + * the same data rate. + */ +void +ieee80211_rssadapt_lower_rate(struct ieee80211_rssadapt_node *ra, + int pktlen, int rssi) { - u_int16_t (*thrs)[IEEE80211_RATE_SIZE], newthr, oldthr; - const struct ieee80211_rateset *rs = &ra->ra_ni->ni_rates; - int i, rate, top; + uint16_t last_thr; + uint16_t (*thrs)[IEEE80211_RATE_SIZE]; + u_int rix; + + thrs = &ra->ra_rate_thresh[bucket(pktlen)]; - ra->ra_nok++; + rix = ra->ra_rix; + last_thr = (*thrs)[rix]; + (*thrs)[rix] = interpolate(master_expavgctl.rc_thresh, + last_thr, (rssi << 8)); - if (!ratecheck(&ra->ra_last_raise, &ra->ra_raise_interval)) - return; + IEEE80211_DPRINTF(ra->ra_rs->vap, IEEE80211_MSG_RATECTL, + "RSSADAPT lower threshold for rate %d (last_thr %d new thr %d rssi %d)\n", + ra->ra_rates.rs_rates[rix + 1] & IEEE80211_RATE_VAL, + last_thr, (*thrs)[rix], rssi); +} - for (i = 0, top = IEEE80211_RSSADAPT_BKT0; - i < IEEE80211_RSSADAPT_BKTS; - i++, top <<= IEEE80211_RSSADAPT_BKTPOWER) { - thrs = &ra->ra_rate_thresh[i]; - if (pktlen <= top) - break; - } +void +ieee80211_rssadapt_raise_rate(struct ieee80211_rssadapt_node *ra, + int pktlen, int rssi) +{ + uint16_t (*thrs)[IEEE80211_RATE_SIZE]; + uint16_t newthr, oldthr; + int rix; - if (rix + 1 < rs->rs_nrates && - (*thrs)[rix + 1] > (*thrs)[rix]) { - rate = rs->rs_rates[rix + 1] & IEEE80211_RATE_VAL; + thrs = &ra->ra_rate_thresh[bucket(pktlen)]; + rix = ra->ra_rix; + if ((*thrs)[rix + 1] > (*thrs)[rix]) { oldthr = (*thrs)[rix + 1]; if ((*thrs)[rix] == 0) newthr = (rssi << 8); else newthr = (*thrs)[rix]; - (*thrs)[rix + 1] = - interpolate(master_expavgctl.rc_decay, oldthr, newthr); + (*thrs)[rix + 1] = interpolate(master_expavgctl.rc_decay, + oldthr, newthr); + + IEEE80211_DPRINTF(ra->ra_rs->vap, IEEE80211_MSG_RATECTL, + "RSSADAPT raise threshold for rate %d (oldthr %d newthr %d rssi %d)\n", + ra->ra_rates.rs_rates[rix + 1] & IEEE80211_RATE_VAL, + oldthr, newthr, rssi); - IEEE80211_DPRINTF(ra->ra_ni->ni_vap, IEEE80211_MSG_RATECTL, - "RSSADAPT raise threshold for rix %d (oldthr=%d newthr=%d rssi=%d)\n", - rix+1, oldthr, newthr, rssi); + ra->ra_last_raise = ticks; } } -void -ieee80211_rssadapt_tx_complete(struct ieee80211_rssadapt_node *ra, - int success, int pktlen, int rate, int rssi) +static int +rssadapt_sysctl_interval(SYSCTL_HANDLER_ARGS) +{ + struct ieee80211_rssadapt *rs = arg1; + int msecs = ticks_to_msecs(rs->interval); + int error; + + error = sysctl_handle_int(oidp, &msecs, 0, req); + if (error || !req->newptr) + return error; + ieee80211_rssadapt_setinterval(rs, msecs); + return 0; +} + +static void +rssadapt_sysctlattach(struct ieee80211_rssadapt *rs, + struct sysctl_ctx_list *ctx, struct sysctl_oid *tree) { - if (ra->ra_ni != NULL) { /* setup when associated */ - if (success) - rssadapt_raise_rate(ra, pktlen, rate, rssi); - else - rssadapt_lower_rate(ra, pktlen, rate, rssi); - } + + SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "rssadapt_rate_interval", CTLTYPE_INT | CTLFLAG_RW, rs, + 0, rssadapt_sysctl_interval, "I", "rssadapt operation interval (ms)"); } /* ==== //depot/projects/vap/sys/net80211/ieee80211_rssadapt.h#2 (text+ko) ==== @@ -43,33 +43,59 @@ #define IEEE80211_RSSADAPT_BKTPOWER 3 /* 2**_BKTPOWER */ struct ieee80211_rssadapt { - /* nothing right now */ + struct ieee80211vap *vap; + int interval; /* update interval (ticks) */ }; struct ieee80211_rssadapt_node { - struct ieee80211_node *ra_ni; /* backpointer */ + struct ieee80211_rssadapt *ra_rs; /* backpointer */ + struct ieee80211_rateset ra_rates; /* negotiated rates */ + int ra_rix; /* current rate index */ + int ra_ticks; /* time of last update */ + int ra_last_raise; /* time of last rate raise */ + int ra_raise_interval; /* rate raise time threshold */ /* Tx failures in this update interval */ - u_int32_t ra_nfail; + uint32_t ra_nfail; /* Tx successes in this update interval */ - u_int32_t ra_nok; + uint32_t ra_nok; /* exponential average packets/second */ - u_int32_t ra_pktrate; + uint32_t ra_pktrate; /* RSSI threshold for each Tx rate */ - u_int16_t ra_rate_thresh[IEEE80211_RSSADAPT_BKTS] + uint16_t ra_rate_thresh[IEEE80211_RSSADAPT_BKTS] [IEEE80211_RATE_SIZE]; - struct timeval ra_last_raise; - struct timeval ra_raise_interval; }; void ieee80211_rssadapt_init(struct ieee80211_rssadapt *, - struct ieee80211vap *); + struct ieee80211vap *, int); +void ieee80211_rssadapt_cleanup(struct ieee80211_rssadapt *); +void ieee80211_rssadapt_setinterval(struct ieee80211_rssadapt *, int); void ieee80211_rssadapt_node_init(struct ieee80211_rssadapt *, struct ieee80211_rssadapt_node *, struct ieee80211_node *); -int ieee80211_rssadapt_choose(struct ieee80211_rssadapt_node *, - const struct ieee80211_rateset *, u_int); -void ieee80211_rssadapt_tx_complete(struct ieee80211_rssadapt_node *, - int success, int pktlen, int rate, int rssi); -/* XXX periodic stat updater; should be done in tx_complete callback */ -void ieee80211_rssadapt_updatestats(struct ieee80211_rssadapt_node *); +int ieee80211_rssadapt_choose(struct ieee80211_node *, + struct ieee80211_rssadapt_node *, u_int); + +/* NB: these are public only for the inline below */ +void ieee80211_rssadapt_raise_rate(struct ieee80211_rssadapt_node *, + int pktlen, int rssi); +void ieee80211_rssadapt_lower_rate(struct ieee80211_rssadapt_node *, + int pktlen, int rssi); + +#define IEEE80211_RSSADAPT_SUCCESS 1 +#define IEEE80211_RSSADAPT_FAILURE 0 + +static __inline void +ieee80211_rssadapt_tx_complete(struct ieee80211_rssadapt_node *ra, + int success, int pktlen, int rssi) +{ + if (success) { + ra->ra_nok++; + if ((ra->ra_rix + 1) < ra->ra_rates.rs_nrates && + (ticks - ra->ra_last_raise) >= ra->ra_raise_interval) + ieee80211_rssadapt_raise_rate(ra, pktlen, rssi); + } else { + ra->ra_nfail++; + ieee80211_rssadapt_lower_rate(ra, pktlen, rssi); + } +} #endif /* _NET80211_IEEE80211_RSSADAPT_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Mar 17 21:44:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33ED81065673; Mon, 17 Mar 2008 21:44:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCC72106567B for ; Mon, 17 Mar 2008 21:44:09 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B5E808FC38 for ; Mon, 17 Mar 2008 21:44:09 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HLi9Xi008421 for ; Mon, 17 Mar 2008 21:44:09 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HLi9NA008419 for perforce@freebsd.org; Mon, 17 Mar 2008 21:44:09 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 21:44:09 GMT Message-Id: <200803172144.m2HLi9NA008419@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 137954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 21:44:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=137954 Change 137954 by sam@sam_ebb on 2008/03/17 21:43:34 track rssadapt change Affected files ... .. //depot/projects/vap/sys/dev/ral/rt2560.c#20 edit .. //depot/projects/vap/sys/dev/ral/rt2560var.h#12 edit Differences ... ==== //depot/projects/vap/sys/dev/ral/rt2560.c#20 (text) ==== @@ -106,8 +106,6 @@ struct rt2560_rx_ring *); static struct ieee80211_node *rt2560_node_alloc( struct ieee80211_node_table *); -static void rt2560_iter_func(void *, struct ieee80211_node *); -static void rt2560_update_rssadapt(void *); static void rt2560_newassoc(struct ieee80211_node *, int); static int rt2560_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -429,8 +427,7 @@ vap->iv_newstate = rt2560_newstate; vap->iv_update_beacon = rt2560_beacon_update; - callout_init(&rvp->rssadapt_ch, CALLOUT_MPSAFE); - ieee80211_rssadapt_init(&rvp->rssadapt, vap); + ieee80211_rssadapt_init(&rvp->rssadapt, vap, 100 /*ms*/); /* complete setup */ ieee80211_vap_attach(vap, ieee80211_media_change, ieee80211_media_status); @@ -444,7 +441,7 @@ { struct rt2560_vap *rvp = RT2560_VAP(vap); - callout_stop(&rvp->rssadapt_ch); + ieee80211_rssadapt_cleanup(&rvp->rssadapt); ieee80211_vap_detach(vap); free(rvp, M_80211_VAP); } @@ -775,37 +772,6 @@ return (rn != NULL) ? &rn->ni : NULL; } -/* - * This function is called for each node present in the node station table. - */ -static void -rt2560_iter_func(void *arg, struct ieee80211_node *ni) -{ - struct ieee80211vap *vap = arg; - - if (ni->ni_vap == vap) - ieee80211_rssadapt_updatestats(&RT2560_NODE(ni)->rssadapt); -} - -/* - * This function is called periodically (every 100ms) in RUN state to update - * the rate adaptation statistics. - */ -static void -rt2560_update_rssadapt(void *arg) -{ - struct ieee80211vap *vap = arg; - struct rt2560_vap *rvp = RT2560_VAP(vap); - - if (vap->iv_opmode != IEEE80211_M_STA) { - struct ieee80211com *ic = vap->iv_ic; - ieee80211_iterate_nodes(&ic->ic_sta, rt2560_iter_func, arg); - } else - rt2560_iter_func(arg, vap->iv_bss); - - callout_reset(&rvp->rssadapt_ch, hz / 10, rt2560_update_rssadapt, vap); -} - static void rt2560_newassoc(struct ieee80211_node *ni, int isnew) { @@ -824,8 +790,6 @@ int error; if (nstate == IEEE80211_S_INIT && vap->iv_state == IEEE80211_S_RUN) { - callout_stop(&rvp->rssadapt_ch); - /* abort TSF synchronization */ RAL_WRITE(sc, RT2560_CSR14, 0); @@ -837,7 +801,6 @@ if (error == 0 && nstate == IEEE80211_S_RUN) { struct ieee80211_node *ni = vap->iv_bss; - const struct ieee80211_txparam *tp; struct mbuf *m; if (vap->iv_opmode != IEEE80211_M_MONITOR) { @@ -867,11 +830,6 @@ /* fake a join to init the tx rate */ rt2560_newassoc(ni, 1); } - tp = &vap->iv_txparms[ieee80211_chan2mode(ni->ni_chan)]; - if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE) - callout_reset(&rvp->rssadapt_ch, hz / 10, - rt2560_update_rssadapt, vap); - rt2560_enable_tsf_sync(sc); } } @@ -1018,8 +976,9 @@ case RT2560_TX_SUCCESS: DPRINTFN(sc, 10, "%s\n", "data frame sent successfully"); if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, 1, - m->m_pkthdr.len, data->rix, data->rssi); + ieee80211_rssadapt_tx_complete(&rn->rssadapt, + IEEE80211_RSSADAPT_SUCCESS, + m->m_pkthdr.len, data->rssi); } ifp->if_opackets++; break; @@ -1034,8 +993,9 @@ DPRINTFN(sc, 9, "%s\n", "sending data frame failed (too much retries)"); if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, 0, - m->m_pkthdr.len, data->rix, data->rssi); + ieee80211_rssadapt_tx_complete(&rn->rssadapt, + IEEE80211_RSSADAPT_FAILURE, + m->m_pkthdr.len, data->rssi); } ifp->if_oerrors++; break; @@ -1820,7 +1780,6 @@ struct ifnet *ifp = sc->sc_ifp; struct rt2560_tx_desc *desc; struct rt2560_tx_data *data; - struct rt2560_node *rn; struct ieee80211_frame *wh; const struct ieee80211_txparam *tp; struct ieee80211_key *k; @@ -1840,15 +1799,10 @@ } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { - struct ieee80211_rateset *rs; - - rs = &ni->ni_rates; - rn = RT2560_NODE(ni); - ni->ni_txrate = ieee80211_rssadapt_choose(&rn->rssadapt, rs, + (void) ieee80211_rssadapt_choose(ni, &RT2560_NODE(ni)->rssadapt, m0->m_pkthdr.len); - rate = rs->rs_rates[ni->ni_txrate]; + rate = ni->ni_txrate; } - rate &= IEEE80211_RATE_VAL; if (wh->i_fc[1] & IEEE80211_FC1_WEP) { k = ieee80211_crypto_encap(ni, m0); ==== //depot/projects/vap/sys/dev/ral/rt2560var.h#12 (text) ==== @@ -103,7 +103,6 @@ struct ieee80211vap ral_vap; struct ieee80211_beacon_offsets ral_bo; struct ieee80211_rssadapt rssadapt; - struct callout rssadapt_ch; int (*ral_newstate)(struct ieee80211vap *, enum ieee80211_state, int); From owner-p4-projects@FreeBSD.ORG Mon Mar 17 21:44:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FA4410657A1; Mon, 17 Mar 2008 21:44:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE27F106567C for ; Mon, 17 Mar 2008 21:44:09 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C6EA98FC3E for ; Mon, 17 Mar 2008 21:44:09 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HLi92e008426 for ; Mon, 17 Mar 2008 21:44:09 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HLi9RM008424 for perforce@freebsd.org; Mon, 17 Mar 2008 21:44:09 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 21:44:09 GMT Message-Id: <200803172144.m2HLi9RM008424@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 137955 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 21:44:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=137955 Change 137955 by sam@sam_ebb on 2008/03/17 21:44:03 o track rssadapt changes o add protection o use common phy support Affected files ... .. //depot/projects/vap/sys/dev/ral/rt2661.c#17 edit .. //depot/projects/vap/sys/dev/ral/rt2661var.h#9 edit Differences ... ==== //depot/projects/vap/sys/dev/ral/rt2661.c#17 (text) ==== @@ -53,6 +53,7 @@ #include #include +#include #include #include #include @@ -113,18 +114,12 @@ static void rt2661_mcu_beacon_expire(struct rt2661_softc *); static void rt2661_mcu_wakeup(struct rt2661_softc *); static void rt2661_mcu_cmd_intr(struct rt2661_softc *); -static int rt2661_ack_rate(struct ieee80211com *, int); static void rt2661_scan_start(struct ieee80211com *); static void rt2661_scan_end(struct ieee80211com *); static void rt2661_set_channel(struct ieee80211com *); -static uint16_t rt2661_txtime(int, int, uint32_t); -static uint8_t rt2661_rxrate(struct rt2661_rx_desc *); -static uint8_t rt2661_plcp_signal(int); static void rt2661_setup_tx_desc(struct rt2661_softc *, struct rt2661_tx_desc *, uint32_t, uint16_t, int, int, const bus_dma_segment_t *, int, int); -static struct mbuf * rt2661_get_rts(struct rt2661_softc *, - struct ieee80211_frame *, uint16_t); static int rt2661_tx_data(struct rt2661_softc *, struct mbuf *, struct ieee80211_node *, int); static int rt2661_tx_mgt(struct rt2661_softc *, struct mbuf *, @@ -319,6 +314,8 @@ ic->ic_vap_create = rt2661_vap_create; ic->ic_vap_delete = rt2661_vap_delete; + sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); + bpfattach(ifp, DLT_IEEE802_11_RADIO, sizeof (struct ieee80211_frame) + sizeof (sc->sc_txtap)); @@ -430,8 +427,7 @@ vap->iv_update_beacon = rt2661_beacon_update; #endif - callout_init(&rvp->rssadapt_ch, CALLOUT_MPSAFE); - ieee80211_rssadapt_init(&rvp->rssadapt, vap); + ieee80211_rssadapt_init(&rvp->rssadapt, vap, 100 /*ms*/); /* complete setup */ ieee80211_vap_attach(vap, ieee80211_media_change, ieee80211_media_status); @@ -445,7 +441,7 @@ { struct rt2661_vap *rvp = RT2661_VAP(vap); - callout_stop(&rvp->rssadapt_ch); + ieee80211_rssadapt_cleanup(&rvp->rssadapt); ieee80211_vap_detach(vap); free(rvp, M_80211_VAP); } @@ -785,38 +781,7 @@ return (rn != NULL) ? &rn->ni : NULL; } -/* - * This function is called for each node present in the node station table. - */ static void -rt2661_iter_func(void *arg, struct ieee80211_node *ni) -{ - struct ieee80211vap *vap = arg; - - if (ni->ni_vap == vap) - ieee80211_rssadapt_updatestats(&RT2661_NODE(ni)->rssadapt); -} - -/* - * This function is called periodically (every 100ms) in RUN state to update - * the rate adaptation statistics. - */ -static void -rt2661_update_rssadapt(void *arg) -{ - struct ieee80211vap *vap = arg; - struct rt2661_vap *rvp = RT2661_VAP(vap); - - if (vap->iv_opmode != IEEE80211_M_STA) { - struct ieee80211com *ic = vap->iv_ic; - ieee80211_iterate_nodes(&ic->ic_sta, rt2661_iter_func, arg); - } else - rt2661_iter_func(arg, vap->iv_bss); - - callout_reset(&rvp->rssadapt_ch, hz / 10, rt2661_update_rssadapt, vap); -} - -static void rt2661_newassoc(struct ieee80211_node *ni, int isnew) { struct ieee80211vap *vap = ni->ni_vap; @@ -836,8 +801,6 @@ if (nstate == IEEE80211_S_INIT && vap->iv_state == IEEE80211_S_RUN) { uint32_t tmp; - callout_stop(&rvp->rssadapt_ch); - /* abort TSF synchronization */ tmp = RAL_READ(sc, RT2661_TXRX_CSR9); RAL_WRITE(sc, RT2661_TXRX_CSR9, tmp & ~0x00ffffff); @@ -847,7 +810,6 @@ if (error == 0 && nstate == IEEE80211_S_RUN) { struct ieee80211_node *ni = vap->iv_bss; - const struct ieee80211_txparam *tp; if (vap->iv_opmode != IEEE80211_M_MONITOR) { rt2661_enable_mrr(sc); @@ -867,11 +829,6 @@ /* fake a join to init the tx rate */ rt2661_newassoc(ni, 1); } - tp = &vap->iv_txparms[ieee80211_chan2mode(ni->ni_chan)]; - if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE) - callout_reset(&rvp->rssadapt_ch, hz / 10, - rt2661_update_rssadapt, vap); - rt2661_enable_tsf_sync(sc); } } @@ -970,7 +927,7 @@ if (ni == NULL) continue; - rn = (struct rt2661_node *)ni; + rn = RT2661_NODE(ni); switch (RT2661_TX_RESULT(val)) { case RT2661_TX_SUCCESS: @@ -980,8 +937,9 @@ "%d retries\n", retrycnt); if (retrycnt == 0 && data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, 1, - m->m_pkthdr.len, data->rix, data->rssi); + ieee80211_rssadapt_tx_complete(&rn->rssadapt, + IEEE80211_RSSADAPT_SUCCESS, + m->m_pkthdr.len, data->rssi); } ifp->if_opackets++; break; @@ -990,8 +948,9 @@ DPRINTFN(sc, 9, "%s\n", "sending data frame failed (too much retries)"); if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, 0, - m->m_pkthdr.len, data->rix, data->rssi); + ieee80211_rssadapt_tx_complete(&rn->rssadapt, + IEEE80211_RSSADAPT_FAILURE, + m->m_pkthdr.len, data->rssi); } ifp->if_oerrors++; break; @@ -1157,7 +1116,8 @@ tap->wr_tsf = htole64(((uint64_t)tsf_hi << 32) | tsf_lo); tap->wr_flags = 0; - tap->wr_rate = rt2661_rxrate(desc); + tap->wr_rate = ieee80211_plcp2rate(desc->rate, + le32toh(desc->flags) & RT2661_RX_OFDM); tap->wr_antsignal = rssi < 0 ? 0 : rssi; bpf_mtap2(ifp->if_bpf, tap, sc->sc_rxtap_len, m); @@ -1284,131 +1244,6 @@ RAL_UNLOCK(sc); } -/* quickly determine if a given rate is CCK or OFDM */ -#define RAL_RATE_IS_OFDM(rate) ((rate) >= 12 && (rate) != 22) - -#define RAL_ACK_SIZE 14 /* 10 + 4(FCS) */ -#define RAL_CTS_SIZE 14 /* 10 + 4(FCS) */ - -#define RAL_SIFS 10 /* us */ - -/* - * This function is only used by the Rx radiotap code. It returns the rate at - * which a given frame was received. - */ -static uint8_t -rt2661_rxrate(struct rt2661_rx_desc *desc) -{ - if (le32toh(desc->flags) & RT2661_RX_OFDM) { - /* reverse function of rt2661_plcp_signal */ - switch (desc->rate & 0xf) { - case 0xb: return 12; - case 0xf: return 18; - case 0xa: return 24; - case 0xe: return 36; - case 0x9: return 48; - case 0xd: return 72; - case 0x8: return 96; - case 0xc: return 108; - } - } else { - if (desc->rate == 10) - return 2; - if (desc->rate == 20) - return 4; - if (desc->rate == 55) - return 11; - if (desc->rate == 110) - return 22; - } - return 2; /* should not get there */ -} - -/* - * Return the expected ack rate for a frame transmitted at rate `rate'. - * XXX: this should depend on the destination node basic rate set. - */ -static int -rt2661_ack_rate(struct ieee80211com *ic, int rate) -{ - switch (rate) { - /* CCK rates */ - case 2: - return 2; - case 4: - case 11: - case 22: - return (ic->ic_curmode == IEEE80211_MODE_11B) ? 4 : rate; - - /* OFDM rates */ - case 12: - case 18: - return 12; - case 24: - case 36: - return 24; - case 48: - case 72: - case 96: - case 108: - return 48; - } - - /* default to 1Mbps */ - return 2; -} - -/* - * Compute the duration (in us) needed to transmit `len' bytes at rate `rate'. - * The function automatically determines the operating mode depending on the - * given rate. `flags' indicates whether short preamble is in use or not. - */ -static uint16_t -rt2661_txtime(int len, int rate, uint32_t flags) -{ - uint16_t txtime; - - if (RAL_RATE_IS_OFDM(rate)) { - /* IEEE Std 802.11a-1999, pp. 37 */ - txtime = (8 + 4 * len + 3 + rate - 1) / rate; - txtime = 16 + 4 + 4 * txtime + 6; - } else { - /* IEEE Std 802.11b-1999, pp. 28 */ - txtime = (16 * len + rate - 1) / rate; - if (rate != 2 && (flags & IEEE80211_F_SHPREAMBLE)) - txtime += 72 + 24; - else - txtime += 144 + 48; - } - - return txtime; -} - -static uint8_t -rt2661_plcp_signal(int rate) -{ - switch (rate) { - /* CCK rates (returned values are device-dependent) */ - case 2: return 0x0; - case 4: return 0x1; - case 11: return 0x2; - case 22: return 0x3; - - /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ - case 12: return 0xb; - case 18: return 0xf; - case 24: return 0xa; - case 36: return 0xe; - case 48: return 0x9; - case 72: return 0xd; - case 96: return 0x8; - case 108: return 0xc; - - /* unsupported rates (should not get there) */ - default: return 0xff; - } -} - static void rt2661_setup_tx_desc(struct rt2661_softc *sc, struct rt2661_tx_desc *desc, uint32_t flags, uint16_t xflags, int len, int rate, @@ -1439,11 +1274,11 @@ desc->qid = ac; /* setup PLCP fields */ - desc->plcp_signal = rt2661_plcp_signal(rate); + desc->plcp_signal = ieee80211_rate2plcp(rate); desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (RAL_RATE_IS_OFDM(rate)) { + if (ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RT2661_TX_OFDM); plcp_length = len & 0xfff; @@ -1529,8 +1364,8 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2661_TX_NEED_ACK; - dur = rt2661_txtime(RAL_ACK_SIZE, rate, ic->ic_flags) + - RAL_SIFS; + dur = ieee80211_ack_duration(sc->sc_rates, + rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); /* tell hardware to add timestamp in probe responses */ @@ -1558,35 +1393,74 @@ return 0; } -/* - * Build a RTS control frame. - */ -static struct mbuf * -rt2661_get_rts(struct rt2661_softc *sc, struct ieee80211_frame *wh, - uint16_t dur) +static int +rt2661_sendprot(struct rt2661_softc *sc, int ac, + const struct mbuf *m, struct ieee80211_node *ni, int prot, int rate) { - struct ieee80211_frame_rts *rts; - struct mbuf *m; + struct ieee80211com *ic = ni->ni_ic; + struct rt2661_tx_ring *txq = &sc->txq[ac]; + const struct ieee80211_frame *wh; + struct rt2661_tx_desc *desc; + struct rt2661_tx_data *data; + struct mbuf *mprot; + int protrate, ackrate, pktlen, flags, isshort, error; + uint16_t dur; + bus_dma_segment_t segs[RT2661_MAX_SCATTER]; + int nsegs; + + KASSERT(prot == IEEE80211_PROT_RTSCTS || prot == IEEE80211_PROT_CTSONLY, + ("protection %d", prot)); + + wh = mtod(m, const struct ieee80211_frame *); + pktlen = m->m_pkthdr.len + IEEE80211_CRC_LEN; + + protrate = ieee80211_ctl_rate(sc->sc_rates, rate); + ackrate = ieee80211_ack_rate(sc->sc_rates, rate); + + isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + + ieee80211_ack_duration(sc->sc_rates, rate, isshort); + flags = RT2661_TX_MORE_FRAG; + if (prot == IEEE80211_PROT_RTSCTS) { + /* NB: CTS is the same size as an ACK */ + dur += ieee80211_ack_duration(sc->sc_rates, rate, isshort); + flags |= RT2661_TX_NEED_ACK; + mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur); + } else { + mprot = ieee80211_alloc_cts(ic, ni->ni_vap->iv_myaddr, dur); + } + if (mprot == NULL) { + /* XXX stat + msg */ + return ENOBUFS; + } + + data = &txq->data[txq->cur]; + desc = &txq->desc[txq->cur]; - MGETHDR(m, M_DONTWAIT, MT_DATA); - if (m == NULL) { - sc->sc_ic.ic_stats.is_tx_nobuf++; - device_printf(sc->sc_dev, "could not allocate RTS frame\n"); - return NULL; + error = bus_dmamap_load_mbuf_sg(txq->data_dmat, data->map, mprot, segs, + &nsegs, 0); + if (error != 0) { + device_printf(sc->sc_dev, + "could not map mbuf (error %d)\n", error); + m_freem(mprot); + return error; } - rts = mtod(m, struct ieee80211_frame_rts *); + data->m = mprot; + data->ni = ieee80211_ref_node(ni); + /* ctl frames are not taken into account for rssadapt */ + data->rix = IEEE80211_FIXED_RATE_NONE; + + rt2661_setup_tx_desc(sc, desc, flags, 0, mprot->m_pkthdr.len, + protrate, segs, 1, ac); - rts->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_CTL | - IEEE80211_FC0_SUBTYPE_RTS; - rts->i_fc[1] = IEEE80211_FC1_DIR_NODS; - *(uint16_t *)rts->i_dur = htole16(dur); - IEEE80211_ADDR_COPY(rts->i_ra, wh->i_addr1); - IEEE80211_ADDR_COPY(rts->i_ta, wh->i_addr2); + bus_dmamap_sync(txq->data_dmat, data->map, BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(txq->desc_dmat, txq->desc_map, BUS_DMASYNC_PREWRITE); - m->m_pkthdr.len = m->m_len = sizeof (struct ieee80211_frame_rts); + txq->queued++; + txq->cur = (txq->cur + 1) % RT2661_TX_RING_COUNT; - return m; + return 0; } static int @@ -1599,7 +1473,6 @@ struct ifnet *ifp = sc->sc_ifp; struct rt2661_tx_desc *desc; struct rt2661_tx_data *data; - struct rt2661_node *rn; struct ieee80211_frame *wh; const struct ieee80211_txparam *tp; struct ieee80211_key *k; @@ -1607,7 +1480,7 @@ struct mbuf *mnew; bus_dma_segment_t segs[RT2661_MAX_SCATTER]; uint16_t dur; - uint32_t flags = 0; + uint32_t flags; int error, nsegs, rate, noack = 0; wh = mtod(m0, struct ieee80211_frame *); @@ -1620,13 +1493,9 @@ } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { - struct ieee80211_rateset *rs; - - rs = &ni->ni_rates; - rn = (struct rt2661_node *)ni; - ni->ni_txrate = ieee80211_rssadapt_choose(&rn->rssadapt, rs, + (void) ieee80211_rssadapt_choose(ni, &RT2661_NODE(ni)->rssadapt, m0->m_pkthdr.len); - rate = rs->rs_rates[ni->ni_txrate]; + rate = ni->ni_txrate; } rate &= IEEE80211_RATE_VAL; @@ -1646,66 +1515,22 @@ wh = mtod(m0, struct ieee80211_frame *); } - /* - * IEEE Std 802.11-1999, pp 82: "A STA shall use an RTS/CTS exchange - * for directed frames only when the length of the MPDU is greater - * than the length threshold indicated by [...]" ic_rtsthreshold. - */ - if (!IEEE80211_IS_MULTICAST(wh->i_addr1) && - m0->m_pkthdr.len > vap->iv_rtsthreshold) { - struct mbuf *m; - uint16_t dur; - int rtsrate, ackrate; - - rtsrate = IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2; - ackrate = rt2661_ack_rate(ic, rate); - - dur = rt2661_txtime(m0->m_pkthdr.len + 4, rate, ic->ic_flags) + - rt2661_txtime(RAL_CTS_SIZE, rtsrate, ic->ic_flags) + - /* XXX: noack (QoS)? */ - rt2661_txtime(RAL_ACK_SIZE, ackrate, ic->ic_flags) + - 3 * RAL_SIFS; - - m = rt2661_get_rts(sc, wh, dur); - - desc = &txq->desc[txq->cur]; - data = &txq->data[txq->cur]; - - error = bus_dmamap_load_mbuf_sg(txq->data_dmat, data->map, m, - segs, &nsegs, 0); - if (error != 0) { - device_printf(sc->sc_dev, - "could not map mbuf (error %d)\n", error); - m_freem(m); - m_freem(m0); - return error; + flags = 0; + if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { + int prot = IEEE80211_PROT_NONE; + if (m0->m_pkthdr.len + IEEE80211_CRC_LEN > vap->iv_rtsthreshold) + prot = IEEE80211_PROT_RTSCTS; + else if ((ic->ic_flags & IEEE80211_F_USEPROT) && + ieee80211_rate2phytype(sc->sc_rates, rate) == IEEE80211_T_OFDM) + prot = ic->ic_protmode; + if (prot != IEEE80211_PROT_NONE) { + error = rt2661_sendprot(sc, ac, m0, ni, prot, rate); + if (error) { + m_freem(m0); + return error; + } + flags |= RT2661_TX_LONG_RETRY | RT2661_TX_IFS; } - - /* avoid multiple free() of the same node for each fragment */ - ieee80211_ref_node(ni); - - data->m = m; - data->ni = ni; - - /* RTS frames are not taken into account for rssadapt */ - data->rix = IEEE80211_FIXED_RATE_NONE; - - rt2661_setup_tx_desc(sc, desc, RT2661_TX_NEED_ACK | - RT2661_TX_MORE_FRAG, 0, m->m_pkthdr.len, rtsrate, segs, - nsegs, ac); - - bus_dmamap_sync(txq->data_dmat, data->map, - BUS_DMASYNC_PREWRITE); - - txq->queued++; - txq->cur = (txq->cur + 1) % RT2661_TX_RING_COUNT; - - /* - * IEEE Std 802.11-1999: when an RTS/CTS exchange is used, the - * asynchronous data frame shall be transmitted after the CTS - * frame and a SIFS period. - */ - flags |= RT2661_TX_LONG_RETRY | RT2661_TX_IFS; } data = &txq->data[txq->cur]; @@ -1767,8 +1592,8 @@ if (!noack && !IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2661_TX_NEED_ACK; - dur = rt2661_txtime(RAL_ACK_SIZE, rt2661_ack_rate(ic, rate), - ic->ic_flags) + RAL_SIFS; + dur = ieee80211_ack_duration(sc->sc_rates, + rate, ic->ic_flags & IEEE80211_F_SHPREAMBLE); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -2170,6 +1995,8 @@ chan = ieee80211_chan2ieee(ic, c); KASSERT(chan != 0 && chan != IEEE80211_CHAN_ANY, ("chan 0x%x", chan)); + sc->sc_rates = ieee80211_get_ratetable(c); + /* select the appropriate RF settings based on what EEPROM says */ rfprog = (sc->rfprog == 0) ? rt2661_rf5225_1 : rt2661_rf5225_2; ==== //depot/projects/vap/sys/dev/ral/rt2661var.h#9 (text) ==== @@ -95,7 +95,6 @@ struct rt2661_vap { struct ieee80211vap ral_vap; struct ieee80211_rssadapt rssadapt; - struct callout rssadapt_ch; int (*ral_newstate)(struct ieee80211vap *, enum ieee80211_state, int); @@ -116,6 +115,8 @@ int sc_tx_timer; int sc_invalid; int sc_debug; + + const struct ieee80211_rate_table *sc_rates; /* * The same in both up to here * ------------------------------------------------ From owner-p4-projects@FreeBSD.ORG Mon Mar 17 21:54:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3979106566C; Mon, 17 Mar 2008 21:54:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6315C106564A for ; Mon, 17 Mar 2008 21:54:20 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4BBEB8FC15 for ; Mon, 17 Mar 2008 21:54:20 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HLsKTX008954 for ; Mon, 17 Mar 2008 21:54:20 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HLsKQ9008952 for perforce@freebsd.org; Mon, 17 Mar 2008 21:54:20 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 21:54:20 GMT Message-Id: <200803172154.m2HLsKQ9008952@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 137956 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 21:54:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=137956 Change 137956 by sam@sam_ebb on 2008/03/17 21:54:02 cleanup debug msgs Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_amrr.c#10 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_amrr.c#10 (text+ko) ==== @@ -107,6 +107,9 @@ ; ni->ni_txrate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL; amn->amn_ticks = ticks; + + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "AMRR initial rate %d", ni->ni_txrate); } static int @@ -124,8 +127,8 @@ amn->amn_recovery = 1; amn->amn_success = 0; rix++; - IEEE80211_DPRINTF(ni->ni_vap, IEEE80211_MSG_RATECTL, - "AMRR increasing rate %d (txcnt=%d retrycnt=%d)\n", + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "AMRR increasing rate %d (txcnt=%d retrycnt=%d)", ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL, amn->amn_txcnt, amn->amn_retrycnt); } else { @@ -145,8 +148,8 @@ amrr->amrr_min_success_threshold; } rix--; - IEEE80211_DPRINTF(ni->ni_vap, IEEE80211_MSG_RATECTL, - "AMRR decreasing rate %d (txcnt=%d retrycnt=%d)\n", + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "AMRR decreasing rate %d (txcnt=%d retrycnt=%d)", ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL, amn->amn_txcnt, amn->amn_retrycnt); } From owner-p4-projects@FreeBSD.ORG Mon Mar 17 22:06:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FC9C106567A; Mon, 17 Mar 2008 22:06:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2445A1065673 for ; Mon, 17 Mar 2008 22:06:33 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AA8B8FC2C for ; Mon, 17 Mar 2008 22:06:33 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2HM6Wc1011082 for ; Mon, 17 Mar 2008 22:06:32 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2HM6WAa011080 for perforce@freebsd.org; Mon, 17 Mar 2008 22:06:32 GMT (envelope-from sam@freebsd.org) Date: Mon, 17 Mar 2008 22:06:32 GMT Message-Id: <200803172206.m2HM6WAa011080@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 137958 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Mar 2008 22:06:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=137958 Change 137958 by sam@sam_ebb on 2008/03/17 22:06:05 replace rssadapt with amrr; it's far more suited for this device (though it's unclear any device is really suited for rssadapt as it's presently implemented) Affected files ... .. //depot/projects/vap/sys/dev/ral/if_ral_pci.c#7 edit .. //depot/projects/vap/sys/dev/ral/rt2560.c#21 edit .. //depot/projects/vap/sys/dev/ral/rt2560reg.h#5 edit .. //depot/projects/vap/sys/dev/ral/rt2560var.h#13 edit .. //depot/projects/vap/sys/dev/ral/rt2661.c#18 edit .. //depot/projects/vap/sys/dev/ral/rt2661var.h#10 edit Differences ... ==== //depot/projects/vap/sys/dev/ral/if_ral_pci.c#7 (text+ko) ==== @@ -50,7 +50,7 @@ #include #include -#include +#include #include #include @@ -61,7 +61,7 @@ MODULE_DEPEND(ral, pci, 1, 1, 1); MODULE_DEPEND(ral, firmware, 1, 1, 1); MODULE_DEPEND(ral, wlan, 1, 1, 1); -MODULE_DEPEND(ral, wlan_rssadapt, 1, 1, 1); +MODULE_DEPEND(ral, wlan_amrr, 1, 1, 1); struct ral_pci_ident { uint16_t vendor; ==== //depot/projects/vap/sys/dev/ral/rt2560.c#21 (text) ==== @@ -55,7 +55,7 @@ #include #include #include -#include +#include #include #include @@ -427,7 +427,10 @@ vap->iv_newstate = rt2560_newstate; vap->iv_update_beacon = rt2560_beacon_update; - ieee80211_rssadapt_init(&rvp->rssadapt, vap, 100 /*ms*/); + ieee80211_amrr_init(&rvp->amrr, vap, + IEEE80211_AMRR_MIN_SUCCESS_THRESHOLD, + IEEE80211_AMRR_MAX_SUCCESS_THRESHOLD, + 500 /* ms */); /* complete setup */ ieee80211_vap_attach(vap, ieee80211_media_change, ieee80211_media_status); @@ -441,7 +444,7 @@ { struct rt2560_vap *rvp = RT2560_VAP(vap); - ieee80211_rssadapt_cleanup(&rvp->rssadapt); + ieee80211_amrr_cleanup(&rvp->amrr); ieee80211_vap_detach(vap); free(rvp, M_80211_VAP); } @@ -777,8 +780,8 @@ { struct ieee80211vap *vap = ni->ni_vap; - ieee80211_rssadapt_node_init(&RT2560_VAP(vap)->rssadapt, - &RT2560_NODE(ni)->rssadapt, ni); + ieee80211_amrr_node_init(&RT2560_VAP(vap)->amrr, + &RT2560_NODE(ni)->amrr, ni); } static int @@ -956,6 +959,8 @@ struct rt2560_tx_data *data; struct rt2560_node *rn; struct mbuf *m; + uint32_t flags; + int retrycnt; bus_dmamap_sync(sc->txq.desc_dmat, sc->txq.desc_map, BUS_DMASYNC_POSTREAD); @@ -964,39 +969,43 @@ desc = &sc->txq.desc[sc->txq.next]; data = &sc->txq.data[sc->txq.next]; - if ((le32toh(desc->flags) & RT2560_TX_BUSY) || - (le32toh(desc->flags) & RT2560_TX_CIPHER_BUSY) || - !(le32toh(desc->flags) & RT2560_TX_VALID)) + flags = le32toh(desc->flags); + if ((flags & RT2560_TX_BUSY) || + (flags & RT2560_TX_CIPHER_BUSY) || + !(flags & RT2560_TX_VALID)) break; rn = (struct rt2560_node *)data->ni; m = data->m; - switch (le32toh(desc->flags) & RT2560_TX_RESULT_MASK) { + switch (flags & RT2560_TX_RESULT_MASK) { case RT2560_TX_SUCCESS: DPRINTFN(sc, 10, "%s\n", "data frame sent successfully"); - if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, - IEEE80211_RSSADAPT_SUCCESS, - m->m_pkthdr.len, data->rssi); - } + if (data->rix != IEEE80211_FIXED_RATE_NONE) + ieee80211_amrr_tx_complete(&rn->amrr, + IEEE80211_AMRR_SUCCESS, 0); ifp->if_opackets++; break; case RT2560_TX_SUCCESS_RETRY: + retrycnt = RT2560_TX_RETRYCNT(flags); + DPRINTFN(sc, 9, "data frame sent after %u retries\n", - (le32toh(desc->flags) >> 5) & 0x7); + retrycnt); + if (data->rix != IEEE80211_FIXED_RATE_NONE) + ieee80211_amrr_tx_complete(&rn->amrr, + IEEE80211_AMRR_SUCCESS, retrycnt); ifp->if_opackets++; break; case RT2560_TX_FAIL_RETRY: - DPRINTFN(sc, 9, "%s\n", - "sending data frame failed (too much retries)"); - if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, - IEEE80211_RSSADAPT_FAILURE, - m->m_pkthdr.len, data->rssi); - } + retrycnt = RT2560_TX_RETRYCNT(flags); + + DPRINTFN(sc, 9, "data frame failed after %d retries\n", + retrycnt); + if (data->rix != IEEE80211_FIXED_RATE_NONE) + ieee80211_amrr_tx_complete(&rn->amrr, + IEEE80211_AMRR_FAILURE, retrycnt); ifp->if_oerrors++; break; @@ -1004,7 +1013,7 @@ case RT2560_TX_FAIL_OTHER: default: device_printf(sc->sc_dev, "sending data frame failed " - "0x%08x\n", le32toh(desc->flags)); + "0x%08x\n", flags); ifp->if_oerrors++; } @@ -1582,7 +1591,7 @@ data->m = m0; data->ni = ni; - /* management frames are not taken into account for rssadapt */ + /* management frames are not taken into account for amrr */ data->rix = IEEE80211_FIXED_RATE_NONE; wh = mtod(m0, struct ieee80211_frame *); @@ -1674,7 +1683,7 @@ data->m = mprot; data->ni = ieee80211_ref_node(ni); - /* ctl frames are not taken into account for rssadapt */ + /* ctl frames are not taken into account for amrr */ data->rix = IEEE80211_FIXED_RATE_NONE; rt2560_setup_tx_desc(sc, desc, flags, mprot->m_pkthdr.len, protrate, 1, @@ -1799,8 +1808,7 @@ } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { - (void) ieee80211_rssadapt_choose(ni, &RT2560_NODE(ni)->rssadapt, - m0->m_pkthdr.len); + (void) ieee80211_amrr_choose(ni, &RT2560_NODE(ni)->amrr); rate = ni->ni_txrate; } ==== //depot/projects/vap/sys/dev/ral/rt2560reg.h#5 (text) ==== @@ -208,6 +208,8 @@ #define RT2560_TX_CIPHER_TKIP (3 << 29) #define RT2560_TX_CIPHER_AES (4 << 29) +#define RT2560_TX_RETRYCNT(v) (((v) >> 5) & 0x7) + uint32_t physaddr; uint16_t wme; #define RT2560_LOGCWMAX(x) (((x) & 0xf) << 12) ==== //depot/projects/vap/sys/dev/ral/rt2560var.h#13 (text) ==== @@ -95,14 +95,14 @@ struct rt2560_node { struct ieee80211_node ni; - struct ieee80211_rssadapt_node rssadapt; + struct ieee80211_amrr_node amrr; }; #define RT2560_NODE(ni) ((struct rt2560_node *)(ni)) struct rt2560_vap { struct ieee80211vap ral_vap; struct ieee80211_beacon_offsets ral_bo; - struct ieee80211_rssadapt rssadapt; + struct ieee80211_amrr amrr; int (*ral_newstate)(struct ieee80211vap *, enum ieee80211_state, int); ==== //depot/projects/vap/sys/dev/ral/rt2661.c#18 (text) ==== @@ -56,7 +56,7 @@ #include #include #include -#include +#include #include #include @@ -427,7 +427,10 @@ vap->iv_update_beacon = rt2661_beacon_update; #endif - ieee80211_rssadapt_init(&rvp->rssadapt, vap, 100 /*ms*/); + ieee80211_amrr_init(&rvp->amrr, vap, + IEEE80211_AMRR_MIN_SUCCESS_THRESHOLD, + IEEE80211_AMRR_MAX_SUCCESS_THRESHOLD, + 500 /* ms */); /* complete setup */ ieee80211_vap_attach(vap, ieee80211_media_change, ieee80211_media_status); @@ -441,7 +444,7 @@ { struct rt2661_vap *rvp = RT2661_VAP(vap); - ieee80211_rssadapt_cleanup(&rvp->rssadapt); + ieee80211_amrr_cleanup(&rvp->amrr); ieee80211_vap_detach(vap); free(rvp, M_80211_VAP); } @@ -786,8 +789,8 @@ { struct ieee80211vap *vap = ni->ni_vap; - ieee80211_rssadapt_node_init(&RT2661_VAP(vap)->rssadapt, - &RT2661_NODE(ni)->rssadapt, ni); + ieee80211_amrr_node_init(&RT2661_VAP(vap)->amrr, + &RT2661_NODE(ni)->amrr, ni); } static int @@ -935,23 +938,20 @@ DPRINTFN(sc, 10, "data frame sent successfully after " "%d retries\n", retrycnt); - if (retrycnt == 0 && - data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, - IEEE80211_RSSADAPT_SUCCESS, - m->m_pkthdr.len, data->rssi); - } + if (data->rix != IEEE80211_FIXED_RATE_NONE) + ieee80211_amrr_tx_complete(&rn->amrr, + IEEE80211_AMRR_SUCCESS, retrycnt); ifp->if_opackets++; break; case RT2661_TX_RETRY_FAIL: + retrycnt = RT2661_TX_RETRYCNT(val); + DPRINTFN(sc, 9, "%s\n", "sending data frame failed (too much retries)"); - if (data->rix != IEEE80211_FIXED_RATE_NONE) { - ieee80211_rssadapt_tx_complete(&rn->rssadapt, - IEEE80211_RSSADAPT_FAILURE, - m->m_pkthdr.len, data->rssi); - } + if (data->rix != IEEE80211_FIXED_RATE_NONE) + ieee80211_amrr_tx_complete(&rn->amrr, + IEEE80211_AMRR_FAILURE, retrycnt); ifp->if_oerrors++; break; @@ -1356,7 +1356,7 @@ data->m = m0; data->ni = ni; - /* management frames are not taken into account for rssadapt */ + /* management frames are not taken into account for amrr */ data->rix = IEEE80211_FIXED_RATE_NONE; wh = mtod(m0, struct ieee80211_frame *); @@ -1448,7 +1448,7 @@ data->m = mprot; data->ni = ieee80211_ref_node(ni); - /* ctl frames are not taken into account for rssadapt */ + /* ctl frames are not taken into account for amrr */ data->rix = IEEE80211_FIXED_RATE_NONE; rt2661_setup_tx_desc(sc, desc, flags, 0, mprot->m_pkthdr.len, @@ -1493,8 +1493,7 @@ } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { - (void) ieee80211_rssadapt_choose(ni, &RT2661_NODE(ni)->rssadapt, - m0->m_pkthdr.len); + (void) ieee80211_amrr_choose(ni, &RT2661_NODE(ni)->amrr); rate = ni->ni_txrate; } rate &= IEEE80211_RATE_VAL; ==== //depot/projects/vap/sys/dev/ral/rt2661var.h#10 (text) ==== @@ -88,13 +88,13 @@ struct rt2661_node { struct ieee80211_node ni; - struct ieee80211_rssadapt_node rssadapt; + struct ieee80211_amrr_node amrr; }; #define RT2661_NODE(ni) ((struct rt2661_node *)(ni)) struct rt2661_vap { struct ieee80211vap ral_vap; - struct ieee80211_rssadapt rssadapt; + struct ieee80211_amrr amrr; int (*ral_newstate)(struct ieee80211vap *, enum ieee80211_state, int); From owner-p4-projects@FreeBSD.ORG Tue Mar 18 01:14:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B228D1065672; Tue, 18 Mar 2008 01:14:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56E4A106566C for ; Tue, 18 Mar 2008 01:14:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 31D9A8FC29 for ; Tue, 18 Mar 2008 01:14:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2I1ErFn071704 for ; Tue, 18 Mar 2008 01:14:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2I1EqpR071702 for perforce@freebsd.org; Tue, 18 Mar 2008 01:14:52 GMT (envelope-from jb@freebsd.org) Date: Tue, 18 Mar 2008 01:14:52 GMT Message-Id: <200803180114.m2I1EqpR071702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 137969 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 01:14:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=137969 Change 137969 by jb@jb_freebsd8 on 2008/03/18 01:14:09 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/Makefile#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#13 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#23 integrate .. //depot/projects/dtrace/ports/MOVED#70 integrate .. //depot/projects/dtrace/src/contrib/cvs/lib/getdate#2 delete .. //depot/projects/dtrace/src/lib/libc/locale/wctype.c#4 integrate .. //depot/projects/dtrace/src/sbin/atacontrol/atacontrol.8#5 integrate .. //depot/projects/dtrace/src/sbin/atacontrol/atacontrol.c#7 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/ar.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/linux.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/pnp.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/scd.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/streams.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/svr4.4#4 integrate .. //depot/projects/dtrace/src/share/man/man9/atomic.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/ieee80211_radiotap.9#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/intr_machdep.c#13 integrate .. //depot/projects/dtrace/src/sys/amd64/include/atomic.h#5 integrate .. //depot/projects/dtrace/src/sys/arm/arm/intr.c#7 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_ses.c#7 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_fcntl.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-all.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-all.h#10 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-disk.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-disk.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zyd.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/cpufreq/est.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/cpufreq/p4tcc.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/i386/intr_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/i386/include/atomic.h#5 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/interrupt.c#8 integrate .. //depot/projects/dtrace/src/sys/ia64/include/atomic.h#6 integrate .. //depot/projects/dtrace/src/sys/kern/kern_conf.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/kern_intr.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/kern_resource.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#16 integrate .. //depot/projects/dtrace/src/sys/net/ieee8023ad_lacp.h#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_base.c#16 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_l2tp.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#18 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw2.c#27 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_irc.c#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/atomic.h#8 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/gdb_machdep.h#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/gdb_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/intr_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/atomic.h#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/intr_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/atomic.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/ata.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/conf.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/interrupt.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/resourcevar.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/ruptime/ruptime.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/adduser/adduser.8#8 integrate .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#10 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xsl#4 integrate .. //depot/projects/dtrace/www/en/projects/summerofcode.xsl#2 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#43 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1452,13 +1452,13 @@ when LPD uses filters. This knowledge could help you anticipate and debug problems you might encounter as you install more and - more filters on each of your printers. + more filters for each of your printers. LPD expects every printer to be able to print plain text by - default. This presents a problem for &postscript; (or other + default. This presents a problem for &postscript; printers (or other language-based printers) which cannot directly print plain text. Section Accommodating @@ -1487,8 +1487,8 @@ section, you should be able to set up your printers such that users can type lpr -t to print troff data, or lpr -d to print &tex; DVI data, or lpr - -v to print raster image data, and so forth. I - recommend reading this section. + -v to print raster image data, and so forth. The + reading of this section is recommended. ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/Makefile#9 (text+ko) ==== @@ -1,9 +1,9 @@ # -# $FreeBSD: doc/zh_CN.GB2312/books/handbook/Makefile,v 1.15 2007/10/23 02:08:21 loader Exp $ +# $FreeBSD: doc/zh_CN.GB2312/books/handbook/Makefile,v 1.16 2008/03/17 20:24:22 loader Exp $ # # Build the FreeBSD Handbook (Simplified Chinese). # -# Original revision: 1.108 +# Original revision: 1.109 # ------------------------------------------------------------------------ # @@ -160,6 +160,18 @@ IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png +IMAGES_EN+= virtualization/vmware-freebsd01.png +IMAGES_EN+= virtualization/vmware-freebsd02.png +IMAGES_EN+= virtualization/vmware-freebsd03.png +IMAGES_EN+= virtualization/vmware-freebsd04.png +IMAGES_EN+= virtualization/vmware-freebsd05.png +IMAGES_EN+= virtualization/vmware-freebsd06.png +IMAGES_EN+= virtualization/vmware-freebsd07.png +IMAGES_EN+= virtualization/vmware-freebsd08.png +IMAGES_EN+= virtualization/vmware-freebsd09.png +IMAGES_EN+= virtualization/vmware-freebsd10.png +IMAGES_EN+= virtualization/vmware-freebsd11.png +IMAGES_EN+= virtualization/vmware-freebsd12.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#16 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original revision: 1.404 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.18 2008/01/16 08:22:58 loader Exp $ + Original revision: 1.406 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.19 2008/03/17 20:24:22 loader Exp $ --> @@ -4661,7 +4661,12 @@ - ´ÓÄúµÄÉÏÒ»¼¶ÌṩÉÌÄÇÀï»ñµÃ IPv6 ÍøÂç¡£ÓëÄúµÄ»¥ÁªÍøÌṩÉÌÌÖÂÛÒÔÇóÖ¸µ¼¡£ + ×ÉѯÄãµÄ»¥ÁªÍø·þÎñÌṩÉÌÊÇ·ñÌṩ IPv6¡£ + + + + SixXS + ÏòÈ«Çò·¶Î§ÌṩͨµÀ¡£ @@ -4997,7 +5002,58 @@ ÕâÑù¾Í¿ÉÒÔʹÓà CARP ¹¦ÄÜÁË£¬ һЩ¾ßÌåµÄ²ÎÊý£¬ ¿ÉÒÔͨ¹ýһϵÁÐ sysctl - OID À´µ÷Õû¡£ É豸¿ÉÒÔͨ¹ý ifconfig ÃüÁîÀ´¼ÓÔØ£º + OID À´µ÷Õû¡£ + + + + + + OID + ÃèÊö + + + + + + net.inet.carp.allow + ½ÓÊܽøÀ´µÄ CARP °ü¡£ + ĬÈÏÆôÓᣠ+ + + + net.inet.carp.preempt + µ±Ö÷»úÖÐÓÐÒ»¸ö CARP ÍøÂç½Ó¿ÚʧȥÏìӦʱ£¬ + Õâ¸öÑ¡ÏֹͣÕą̂Ö÷»úÉÏËùÓÐµÄ CARP + ½Ó¿Ú¡£ ĬÈϽûÓᣠ+ + + + net.inet.carp.log + µ±ÖµÎª 0 ±íʾ½ûÖ¹¼Ç¼ËùÓÐÈÕÖ¾¡£ + ֵΪ 1 ±íʾ¼Ç¼Ëð»µµÄ CARP + °ü¡£ÈκδóÓÚ 1 ±íʾ¼Ç¼ CARP + ÍøÂç½Ó¿ÚµÄ״̬±ä»¯¡£Ä¬ÈÏֵΪ 1¡£ + + + + net.inet.carp.arpbalance + ʹÓà ARP ¾ùºâ±¾µØÍøÂçÁ÷Á¿¡£ + ĬÈϽûÓᣠ+ + + + net.inet.carp.suppress_preempt + ´ËÖ»¶Á OID ÏÔʾÒÖÖÆÇÀÕ¼µÄ״̬¡£ + Èç¹ûÒ»¸ö½Ó¿ÚÉϵÄÁ¬½ÓʧȥÏìÓ¦, ÔòÇÀÕ¼»á±»ÒÖÖÆ¡£ + µ±Õâ¸ö±äÁ¿µÄֵΪ 0 ʱ£¬±íʾÇÀռδ±»ÒÖÖÆ¡£ + ÈκÎÎÊÌⶼ»áʹ OID µÝÔö¡£ + + + + + + CARP É豸¿ÉÒÔͨ¹ý ifconfig + ÃüÁîÀ´´´½¨¡£ &prompt.root; ifconfig carp0 create @@ -5030,7 +5086,7 @@ hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" -ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24" +ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" ÔÚ hostb.example.org ÉÏ£¬ ¶ÔÓ¦µÄ rc.conf ÅäÖÃÔòÊÇ£º @@ -5067,8 +5123,8 @@ ĬÈ쵀 &os; ÄÚºË ¿ÉÄÜ ÆôÓÃÁËÖ÷»ú¼äÇÀÕ¼¡£ Èç¹ûÊÇÕâÑùµÄ»°£¬ provider.example.org ¿ÉÄÜÔÚÕýʽµÄÄÚÈÝ·þÎñÆ÷»Ö¸´Ê±²»ÊÍ·Å - IP µØÖ·¡£ ´Ëʱ£¬ ¹ÜÀíÔ±¿ÉÒÔ - ÌáÐÑ Ò»Ï½ӿڡ£ ¾ßÌå×ö·¨ÊÇÔÚ + IP µØÖ·¡£ ´Ëʱ£¬ ¹ÜÀíÔ±±ØÐëÊÖ¹¤Ç¿ÖÆ IP + »Øµ½Ô­À´ÄÚÈÝ·þÎñÆ÷¡£ ¾ßÌå×ö·¨ÊÇÔÚ provider.example.org ÉÏʹÓÃÏÂÃæµÄÃüÁ &prompt.root; ifconfig carp0 down && ifconfig carp0 up ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#14 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.228 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/config/chapter.sgml,v 1.18 2007/12/31 15:10:15 loader Exp $ + Original Revision: 1.229 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/config/chapter.sgml,v 1.19 2008/03/17 20:24:22 loader Exp $ --> @@ -678,14 +678,22 @@ ºÜ¶àϵͳ·þÎñÒÀÀµÆäËû·þÎñÌṩµÄÏàÓ¦¹¦ÄÜ¡£ÀýÈ磬NIS ºÍÆäËû»ùÓÚ RPC µÄ·þÎñÆô¶¯¿ÉÄÜÔÚ rpcbind ·þÎñÆô¶¯Ö®Ç°Ê§°Ü¡£ Òª½â¾öÕâ¸öÎÊÌ⣬ÒÀÀµ¹ØϵÐÅÏ¢ºÍÆäËûÍ·ÐÅÏ¢µ±×÷×¢Êͱ»°üº¬ÔÚÿ¸öÆô¶¯½Å±¾ÎļþµÄÇ°Ãæ¡£ - ³ÌÐòÔÚϵͳ³õʼ»¯Ê±·ÖÎöÕâЩעÊÍÒÔ¾ö¶¨µ÷ÓÃÆäËûϵͳ·þÎñÀ´Âú×ãÒÀÀµ¹Øϵ¡£ - ÏÂÃæµÄ×Ö¾ä¿ÉÄÜ»á°üº¬ÔÚÿ¸öÆô¶¯½Å±¾ÎļþµÄÇ°Ã棺 + ³ÌÐòÔÚϵͳ³õʼ»¯Ê±·ÖÎöÕâЩעÊÍÒÔ¾ö¶¨µ÷ÓÃÆäËûϵͳ·þÎñÀ´Âú×ãÒÀÀµ¹Øϵ¡£ + + ÏÂÃæµÄ×Ö¾ä±ØÐë±»°üº¬ÔÚËùÓеÄÆô¶¯½Å±¾ÎļþÀ + £¨ËûÃǶ¼ÊÇ &man.rc.subr.8; ÓÃÀ´ enable + Æô¶¯½Å±¾±ØÐèµÄ£©: PROVIDE: Ö¸¶¨´ËÎļþËùÌṩµÄ·þÎñµÄÃû×Ö¡£ + + + ÒÔϵÄ×Ö¾ä¿ÉÒÔ±»°üº¬ÔÚÆô¶¯ÎļþµÄ¶¥²¿¡£ÑϸñÀ´ËµËûÃDz»ÊDZØÐèµÄ£¬ + µ«×÷Ϊ¶ÔÓÚ &man.rcorder.8; ÓÐÒ»¶¨µÄÌáʾ×÷Ó㺠+ REQUIRE: Áгö´Ë·þÎñÆô¶¯Ö®Ç°ËùÐèÒªµÄÆäËû·þÎñ¡£ ´Ë½Å±¾ÌṩµÄ·þÎñ»áÔÚÖ¸¶¨µÄÄÇЩ·þÎñ Ö®ºó @@ -699,8 +707,10 @@ - ͨ¹ýÕâÖÖ·½·¨£¬ÏµÍ³¹ÜÀíÔ±¿ÉÒÔÈÝÒ׵ĿØÖÆϵͳ¶ø²»ÓÃÏñÆäËûһЩ - &unix; ²Ù×÷ϵͳһÑùÒªÓà runlevels À´¿ØÖÆ¡£ + ͨ¹ýÔÚÆô¶¯½Å±¾ÖÐ×ÐϸÉ趨ÕâЩ¹Ø¼ü×Ö£¬ + ϵͳ¹ÜÀíÔ±¿ÉÒÔºÜÓÐÌõÀíµÄ¿ØÖƽű¾µÄÆô¶¯Ë³Ðò£¬ + ½ø¶ø±ÜÃâʹÓÃÏñÆäËû &unix; ²Ù×÷ϵͳÄÇÑù»ìÂÒµÄ + runlevels¡£ ¸ü¶à¹ØÓÚ rc.d ϵͳµÄÐÅÏ¢£¬ ¿ÉÒÔÔÚ &man.rc.8; ºÍ &man.rc.subr.8; Áª»úÊÖ²áÖÐÕÒµ½¡£ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#13 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Documentation Project - Original Revision: 1.273 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml,v 1.16 2008/02/09 13:33:15 loader Exp $ + Original Revision: 1.274 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml,v 1.17 2008/03/17 20:24:23 loader Exp $ --> @@ -450,6 +450,10 @@ *Èí¼þ°üÓкܶà°æ±¾¡£ + !ÒÑ°²×°µÄÈí¼þ°üÔÚË÷ÒýÖдæÓмǼ£¬ + µ«ÊÇÓÉÓÚijЩԭÒò pkg_version + ÎÞ·¨±È½ÏÒÑ°²×°µÄÈí¼þ°üÓëË÷ÒýÖÐÏà¶ÔÓ¦µÄ°æ±¾ºÅ¡£ + ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml#8 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.101 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml,v 1.8 2008/03/03 13:08:46 loader Exp $ + Original Revision: 1.102 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml,v 1.9 2008/03/17 20:24:23 loader Exp $ --> @@ -2999,8 +2999,8 @@ È»ºóÎÒÃǾͿÉÒÔÔÚ¶àÖÖ¹ýÂËÆ÷ÀïʹÓÃÕâ¸ö½Å±¾ÁË¡£ ¼ÓÈëÎÒÃÇÓÐһ̨ Diablo 750-N ÐÐʽ´òÓ¡»úÁªÔÚÍøÂçÉÏ¡£ ´òÓ¡»úÔÚ 5100 ¶Ë¿ÚÉϽÓÊÕÒª´òÓ¡µÄÊý¾Ý¡£ - ´òÓ¡»úµÄÖ÷»úÃûÊÇ - scrivener¡£ ÕâÀïÊÇΪÕâ¸ö´òÓ¡»úдµÄÎı¾¹ýÂËÆ÷£º + ´òÓ¡»úµÄÖ÷»úÃûÊÇ scrivener¡£ + ÕâÀïÊÇΪÕâ¸ö´òÓ¡»úдµÄÎı¾¹ýÂËÆ÷£º #!/bin/sh # ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml#4 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.13 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml,v 1.5 2007/11/20 14:10:30 loader Exp $ + Original Revision: 1.16 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml,v 1.6 2008/03/17 20:24:23 loader Exp $ --> @@ -686,12 +686,178 @@ - ÔËÐÐÓÚ &windows;/&mac;/&linux; µÄ VMware + ÔËÐÐÓÚ MacOS µÄ VMware + + &mac °æ±¾µÄ VMWare Fusion + ÊÇÒ»¸öÉÌÒµÈí¼þ£¬ÔËÐÐÔÚ»ùÓÚ &intel µÄ &apple; &mac ¼ÆËã»úµÄ + &macos; 10.4.9 »ò¸ü°æ±¾µÄ²Ù×÷ϵͳÉÏ¡£FreeBSD + ÊÇÒ»¸öÍêÈ«±»Ö§³ÖµÄ¿Í»§²Ù×÷ϵͳ¡£ ÔÚ &macos; X ÉÏ°²×°ÁË + VMWare Fusion Ö®ºó£¬ + Óû§¾Í¿ÉÒÔ×ÅÊÖÅäÖÃÒ»¸öÐéÄâ»úÆ÷²¢°²×°¿Í»§²Ù×÷ϵͳ¡£ + + + ÔÚ VMWare/&macos; X ÉÏ°²×° FreeBSD + + µÚÒ»²½ÊÇÔËÐÐ VMWare Fusion£¬ ÐéÄâ»úÆ÷¿â½«±»×°ÔØ¡£ + µ¥»÷ "New" ´´½¨ VM£º + + + + + + + + New Virtual Machine Assistant ½«±»ÔËÐÐÀ´°ïÖúÄã´´½¨ VM£¬ + µ¥»÷ Continue ¼ÌÐø£º + + + + + + + + ÔÚ Operatiing System ÏîÑ¡Ôñ + Other£¬Version + Ïî¿ÉÑ¡ FreeBSD »ò + FreeBSD 64-bit¡£ + + + + + + + + Ñ¡Ò»¸öÄãÏëÒªµÄ VM ¾µÏñÃû×ֺʹ洢µÄĿ¼λÖᣠ+ + + + + + + + Ñ¡Ôñ VM ÐéÄâÓ²Å̵ĴóС£º + + + + + + + + Ñ¡Ôñ°²×° VM µÄ·½Ê½£¬ ´ÓÒ»¸ö ISO ¾µÏñ»òÒ»ÕÅ CD °²×°£º + + + + + + + + Ò»µ©Äãµã»÷ÁË Finish£¬ VM ¾Í»áÆô¶¯ÁË£º + + + + + + + + ÒÔÄãͨ³£µÄ·½Ê½°²×° &os; »òÕß²ÎÕÕ + ÖеIJ½Ö裺 + + + + + + + + °²×°Íê³ÉÖ®ºó£¬Äã¾Í¿ÉÒÔÐÞ¸ÄһЩ VM µÄÉ趨£¬±ÈÈçÄÚ´æ´óС£º + + + ÔÚ VM ÔËÐеÄʱºò£¬VM ϵͳӲ¼þµÄÉèÖÃÊÇÎÞ·¨Ð޸ĵġ£ + + + + + + + + + ÅäÖà VM µÄ CPU ÊýÁ¿£º + + + + + + + + CD-ROMÉ豸µÄ״̬¡£Í¨³£µ±Äã²»ÔÚÐèÒª CDROM/ISO µÄʱºò¿ÉÒÔÇжÏËûÃǸú + VM µÄÁ¬½Ó¡£ + + + + + + + + ×îºóÒ»ÏîÐèÒªÐ޸ĵÄÊÇ VM ÓëÍøÂçÁ¬½ÓµÄ·½Ê½¡£ + Èç¹ûÄãÏ£Íû³ýÁËËÞÖ÷ÒÔÍâµÄ»úÆ÷Ò²ÄÜÁ¬½Óµ½ VM£¬ + ÇëÑ¡Ôñ Connect directly to the physical network + (Bridged)¡£Ñ¡Ôñ Share the + host's internet connection (NAT) µÄ»°£¬ + VM ¿ÉÒÔÁ¬½ÓÉÏÍøÂ磬µ«ÊDz»ÄÜ´ÓÍâÃæ·ÃÎÊ¡£ + + + + + + + + ÔÚÄãÐÞ¸ÄÍêÉ趨֮ºó£¬¾Í¿ÉÒÔ´Óа²×°µÄ FreeBSD + ÐéÄâ»úÆ÷Æô¶¯ÁË¡£ + + + ÅäÖÃÔËÐÐÓÚ &macos; X/VMWare É쵀 FreeBSD + + ÔÚ &macos; X É쵀 VMWare + ÉÏ°²×°Íê FreeBSD Ö®ºó£¬ÓÐЩÅäÖõIJ½Öè¿ÉÓÃÀ´ÓÅ»¯ÐéÄâϵͳ¡£ + + + + ÉèÖà boot loader ±äÁ¿ + + ×îÖØÒªµÄ²½ÖèÊǽµµÍ + À´¼õÉÙ VMWare ÉÏ FreeBSD + µÄ CPU ʹÓÃÂÊ¡£ÕâÐèÒªÔÚ /boot/loader.conf + Àï¼ÓÈëÒÔÏÂÕâÐÐÉ趨£º + + kern.hz=100 + + Èç¹ûûÓÐÕâÏîÉ趨£¬VMWare + É쵀 FreeBSD ¿Í»§ OS ¿ÕÏÐʱ½«Õ¼Óà &imac; ÉÏÒ»¸ö CPU + ´óÔ¼ 15% µÄ×ÊÔ´¡£ÔÚÐ޸ĴËÏîÉ趨֮ºó½öΪ 5%¡£ + + + + ´´½¨Ò»¸öеÄÄÚºËÅäÖÃÎļþ + + Äã¿ÉÒÔÈ¥µôËùÓÐµÄ FireWire, USB É豸µÄÇý¶¯³ÌÐò¡£ + VMWare ÌṩÁËÒ»¸ö + &man.em.4; Ö§³ÖµÄÐéÄâÍøÂçÊÊÅäÆ÷£¬ËùÒÔ³ýÁË &man.em.4; + Ö®ÍâµÄÍø¿¨Çý¶¯¶¼¿ÉÒÔ±»ÌÞ³ý¡£ + + + + ÉèÖÃÍøÂç - ±¾½ÚÉÐδ¿ªÊ¼×«Ð´¡£ + ×î»ù±¾µÄÍøÂçÉ趨°üÀ¨¼òµ¥µÄʹÓà DHCP + °ÑÄãµÄÐéÄâ»úÆ÷Á¬½Óµ½ËÞÖ÷ &mac; ÏàͬµÄ±¾µØÍøÂçÉÏ¡£ + ÔÚ /etc/rc.conf ÖмÓÈ룺 + ifconfig_em0="DHCP"¡£ + ¸ü¶àÓйØÍøÂçµÄÉèÖÿÉÒÔ²ÎÔÄ + ¡£ + + + - ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#23 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.895 - $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.32 2008/01/12 14:04:57 loader Exp $ + Original Revision: 1.905 + $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.33 2008/03/17 20:35:53 loader Exp $ --> 0.7.1d 0.7.1.d + 10Alpha3 10.a3 + 3Beta7-pre2 3.b7.p2 + 8:f_17 8f.17 @@ -5586,35 +5589,42 @@ USE_JAVA Ö»Óж¨ÒåËü²ÅÄÜʹÆäËü±äÁ¿ÉúЧ¡£ + JAVA_VERSION Óÿոñ·Ö¿ªµÄÊÊºÏ port ʹÓÃµÄ Java °æ±¾¡£ ¿ÉÑ¡µÄ "+" ¿ÉÒÔÓÃÓÚÖ¸¶¨Ä³¸ö·¶Î§µÄ°æ±¾ (¿ÉÒÔÓ㺠1.1[+] 1.2[+] 1.3[+] 1.4[+])¡£ + JAVA_OS Óÿոñ·Ö¿ªµÄÊÊÓ¦ port µÄ JDK port ²Ù×÷ϵͳÀàÐÍ (¿ÉÒÔÓ㺠native linux)¡£ + JAVA_VENDOR Óÿոñ·Ö¿ªµÄÊÊÓ¦ port µÄ JDK port ¹©Ó¦ÉÌ (¿ÉÒÔÓ㺠freebsd bsdjava sun ibm blackdown)¡£ + JAVA_BUILD ÉèÖÃÕâ¸ö±äÁ¿±íʾËùÑ¡µÄ JDK port Ó¦±»ÁÐÈë port µÄ¹¹½¨ÒÀÀµ¹Øϵ¡£ + JAVA_RUN ÉèÖÃÕâ¸ö±äÁ¿±íʾËùÑ¡µÄ JDK port Ó¦±»ÁÐÈë port µÄÔËÐл·¾³ÒÀÀµ¹Øϵ¡£ + JAVA_EXTRACT ÉèÖÃÕâ¸ö±äÁ¿±íʾËùÑ¡µÄ JDK port Ó¦±»ÁÐÈë port µÄ½âѹËõÖ§³ÖÒÀÀµ¹Øϵ¡£ + USE_JIKES port ÊÇ·ñӦʹÓà @@ -5653,105 +5663,126 @@ JDK port µÄÃû×Ö (ÀýÈç 'java/jdk14')¡£ + JAVA_PORT_VERSION JDK port µÄÍêÕû°æ±¾ (ÀýÈç '1.4.2')¡£ Èç¹ûÄúÖ»ÐèÒª°æ±¾ºÅµÄÇ°Á½Î»£¬ Ôò¿ÉÓà ${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}¡£ + JAVA_PORT_OS ËùÓà JDK port µÄ²Ù×÷ϵͳ (ÀýÈç 'linux')¡£ + JAVA_PORT_VENDOR ËùÓà JDK port µÄ¹©Ó¦ÉÌ (ÀýÈç 'sun')¡£ + JAVA_PORT_OS_DESCRIPTION ËùÓà JDK port ²Ù×÷ϵͳµÄÃèÊö (ÀýÈç 'Linux')¡£ + JAVA_PORT_VENDOR_DESCRIPTION ËùÓà JDK port ¹©Ó¦É̵ÄÃèÊö (ÀýÈç 'FreeBSD Foundation')¡£ + JAVA_HOME JDK µÄ°²×°Ä¿Â¼ (ÀýÈç '/usr/local/jdk1.3.1')¡£ + JAVAC ËùÓà Java ±àÒëÆ÷µÄÍêÕû·¾¶ (ÀýÈç '/usr/local/jdk1.1.8/bin/javac' »ò '/usr/local/bin/jikes')¡£ + JAR ËùÓà jar ¹¤¾ßµÄÍêÕû·¾¶ (ÀýÈç '/usr/local/jdk1.2.2/bin/jar' »ò '/usr/local/bin/fastjar')¡£ + APPLETVIEWER ËùÓà appletviewer ¹¤¾ßµÄÍêÕû·¾¶ (ÀýÈç '/usr/local/linux-jdk1.2.2/bin/appletviewer')¡£ + JAVA ËùÓà java Ö´ÐÐÎļþµÄÍêÕû·¾¶¡£ ÄúӦʹÓÃËüÀ´Ö´ÐÐ Java ³ÌÐò (ÀýÈç '/usr/local/jdk1.3.1/bin/java')¡£ + JAVADOC ËùÓà javadoc ¹¤¾ßµÄÍêÕû·¾¶¡£ + JAVAH ËùÓà javah ³ÌÐòµÄÍêÕû·¾¶¡£ + JAVAP ËùÓà javap ³ÌÐòµÄÍêÕû·¾¶¡£ + JAVA_KEYTOOL ËùÓà keytool ¹¤¾ßµÄÍêÕû·¾¶¡£ Ö»Óе± JDK ÊÇ Java 1.2 »ò¸ü¸ß°æ±¾Ê±²Å¿ÉÓᣠ+ JAVA_N2A ËùÓà native2ascii ¹¤¾ßµÄÍêÕû·¾¶¡£ + JAVA_POLICYTOOL ËùÓà policytool ³ÌÐòµÄÍêÕû·¾¶¡£ Ö»Óе± JDK ÊÇ Java 1.2 »ò¸ü¸ß°æ±¾Ê±²Å¿ÉÓᣠ+ JAVA_SERIALVER ËùÓà serialver ³ÌÐòµÄÍêÕû·¾¶¡£ + RMIC ËùÓà RMI ×®/¼Ü Éú³ÉÆ÷£¬ rmic µÄÍêÕû·¾¶¡£ + RMIREGISTRY ËùÓà RMI ×¢²á±í³ÌÐò£¬ rmiregistry µÄÍêÕû·¾¶¡£ + RMID ËùÓà RMI ·þÎñ³ÌÐò rmid µÄÍêÕû·¾¶¡£ Ö»Óе± JDK ÊÇ Java 1.2 »ò¸ü¸ß°æ±¾Ê±²Å¿ÉÓᣠ+ JAVA_CLASSES ËùÓà JDK ÀàÎļþĿ¼µÄÍêÕû·¾¶¡£ @@ -5760,6 +5791,7 @@ JDK ÔòʹÓà ${JAVA_HOME}/lib/classes.zip¡£ + HAVE_JIKES Ëæ jikes ÊÇ·ñ½«±»Ó¦ÓÃÓÚ port @@ -5792,11 +5824,13 @@ ĬÈÏÖµ£º ${PREFIX}/share/java. + JAVAJARDIR ÓÃÒÔ°²×° JAR ÎļþµÄĿ¼¡£ ĬÈÏÖµ£º ${JAVASHAREDIR}/classes¡£ + JAVALIBDIR ÆäËü port °²×°µÄ JAR ÎļþËùÔÚµÄĿ¼¡£ ĬÈÏÖµ£º @@ -6637,6 +6671,7 @@ x11-toolkits/wxgtk26 + 2.8 @@ -7039,12 +7074,14 @@ µ½ wxWidgets wx-config ½Å±¾µÄ·¾¶ (Ãû×Ö»áËæ°æ±¾²»Í¬¶ø²»Í¬) + WXRC_CMD µ½ wxWidgets wxrc ³ÌÐòµÄ·¾¶ (Ãû×Ö»áËæ°æ±¾²»Í¬¶ø²»Í¬) + WX_VERSION @@ -7600,18 +7637,21 @@ Lua Ä£¿é°üµÄºó׺Ãû + LUA_CMD µ½ Lua ½âÊÍÆ÷µÄ·¾¶ + LUAC_CMD µ½ Lua ±àÒëÆ÷µÄ·¾¶ + TOLUA_CMD @@ -10002,99 +10042,121 @@ ´´½¨ RELENG_5_0 ·ÖÖ§Ö®ºóµÄ 5.0-CURRENT 500100 + <sys/dkstat.h> ±ä³ÉÁËÒ»¸ö¿ÕÎļþ£¬ ²»Ó¦ÔÙ±»ÒýÓà 500101 + ÐÞ¸Ä d_mmap_t ½Ó¿ÚÖ®ºóµÄ 5.0-CURRENT 500102 + taskqueue_swi ÒÔÎÞÈ«¾ÖËøµÄ·½Ê½ÔËÐÐÖ®ºóµÄ 5.0-CURRENT£¬ ͬʱ»¹¼ÓÈëÁËʹÓÃÈ«¾ÖËøµÄ taskqueue_swi_giant 500103 + È¥µôÁË cdevsw_add() ºÍ cdevsw_remove() ³öÏÖ MAJOR_AUTO ·ÖÅä»úÖÆ 500104 + ²ÉÓÃÐ嵀 cdevsw ³õʼ»¯·½·¨Ö®ºóµÄ 5.0-CURRENT 500105 + devstat_add_entry() ±» devstat_new_entry() È¡´ú 500106 + ÐÞ¸Ä devstat ½Ó¿Ú£» Çë²Î¼û sys/sys/param.h 1.149 500107 + ¸Ä±äÁË Token-Ring ½Ó¿Ú 500108 + ¼ÓÈë vm_paddr_t 500109 + ½« &man.realpath.3; ¸ÄΪḬ̈߳²È«Ö®ºóµÄ 5.0-CURRENT 500110 + &man.usbhid.3; Óë NetBSD ͬ²½Ö®ºóµÄ 5.0-CURRENT 500111 + ¼ÓÈëÐ嵀 NSS ʵÏÖ£¬ ÒÔ¼° POSIX.1 getpw*_r, getgr*_r º¯ÊýÖ®ºóµÄ 5.0-CURRENT 500112 + ɾȥ¾Éʽ rc ϵͳ֮ºóµÄ 5.0-CURRENT 500113 + 5.1-RELEASE. 501000 + ´´½¨ RELENG_5_1 ·ÖÖ§Ö®ºóµÄ 5.1-CURRENT 501100 + ¸ÄÕý sigtimedwait(2) ºÍ sigwaitinfo(2) ÓïÒåÖ®ºóµÄ 5.1-CURRENT 501101 + ÔÚ &man.bus.dma.tag.create.9; ÖмÓÈëÁË lockfunc ºÍ lockfuncarg ×Ö¶ÎÖ®ºóµÄ 5.1-CURRENT 501102 + ¼¯³ÉÁË GCC 3.3.1-pre 20030711 Ö®ºóµÄ 5.1-CURRENT 501103 + twe ÖÐ 3ware API ±ä»¯Ö®ºóµÄ 5.1-CURRENT 501104 + ÔÊÐí¶¯Ì¬Á¬½Ó /bin ºÍ /sbin£¬ ÒÔ¼°½«Ä³Ð©¿âÒƶ¯µ½ /lib Ö®ºóµÄ 5.1-CURRENT 501105 + Ôö¼ÓÄں˼¶ Coda 6.x Ö§³ÖÖ®ºóµÄ 5.1-CURRENT 501106 + ½« 16550 UART ³£Á¿´Ó <dev/sio/sioreg.h> Ųµ½ @@ -10102,146 +10164,179 @@ 5.1-CURRENT¡£ ´ËÍ⣬ rtld Ò²´Ó´ËÎÞÌõ¼þÖ§³Ö libmap ¹¦ÄÜ 501107 + ¸üРPFIL_HOOKS API Ö®ºóµÄ 5.1-CURRENT 501108 + Ôö¼Ó kiconv(3) Ö®ºóµÄ 5.1-CURRENT 501109 + ĬÈ쵀 cdevsw open ºÍ close ²Ù×÷±ä»¯Ö®ºóµÄ 5.1-CURRENT 501110 + cdevsw µÄ²¼¾Ö±ä»¯Ö®ºóµÄ 5.1-CURRENT 501111 + Ôö¼Ó kobj ¶à¼Ì³ÐÖ®ºóµÄ 5.1-CURRENT 501112 + ÐÞ¸Ä struct ifnet ÖÐµÄ if_xname Ö®ºóµÄ 5.1-CURRENT 501113 + ½« /bin ºÍ /sbin ¸ÄΪ¶¯Ì¬Á¬½ÓÖ®ºóµÄ 5.1-CURRENT 501114 + 5.2-RELEASE 502000 + 5.2.1-RELEASE 502010 + ´´½¨ RELENG_5_2 ·ÖÖ§Ö®ºóµÄ 5.2-CURRENT 502100 + libc ÖмÓÈëÁË __cxa_atexit/__cxa_finalize >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 08:22:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58F531065671; Tue, 18 Mar 2008 08:22:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16D3D106566B for ; Tue, 18 Mar 2008 08:22:26 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F01F08FC19 for ; Tue, 18 Mar 2008 08:22:25 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2I8MPlA063478 for ; Tue, 18 Mar 2008 08:22:25 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2I8MPql063476 for perforce@freebsd.org; Tue, 18 Mar 2008 08:22:25 GMT (envelope-from peter-gmail@wemm.org) Date: Tue, 18 Mar 2008 08:22:25 GMT Message-Id: <200803180822.m2I8MPql063476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 137985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 08:22:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=137985 Change 137985 by peter@peter_overcee on 2008/03/18 08:21:38 IFC @137982 Affected files ... .. //depot/projects/hammer/ObsoleteFiles.inc#47 integrate .. //depot/projects/hammer/UPDATING#114 integrate .. //depot/projects/hammer/bin/Makefile#6 integrate .. //depot/projects/hammer/bin/ps/ps.1#25 integrate .. //depot/projects/hammer/bin/uuidgen/Makefile#2 integrate .. //depot/projects/hammer/contrib/cvs/lib/getdate#2 delete .. //depot/projects/hammer/contrib/tcsh/sh.lex.c#7 integrate .. //depot/projects/hammer/lib/libalias/libalias/Makefile#3 integrate .. //depot/projects/hammer/lib/libarchive/Makefile#47 integrate .. //depot/projects/hammer/lib/libarchive/archive.h.in#22 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.3#16 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.c#33 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.h#22 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#23 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_private.h#5 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_ar.c#6 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_mtree.c#3 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#41 integrate .. //depot/projects/hammer/lib/libarchive/archive_string.h#10 integrate .. //depot/projects/hammer/lib/libarchive/archive_string_sprintf.c#10 integrate .. //depot/projects/hammer/lib/libarchive/archive_util.c#16 integrate .. //depot/projects/hammer/lib/libarchive/archive_write.c#18 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_disk.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_private.h#3 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_ar.c#6 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_cpio.c#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_pax.c#33 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_shar.c#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_ustar.c#20 integrate .. //depot/projects/hammer/lib/libarchive/config_freebsd.h#6 integrate .. //depot/projects/hammer/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/hammer/lib/libarchive/test/Makefile#9 integrate .. //depot/projects/hammer/lib/libarchive/test/main.c#10 integrate .. //depot/projects/hammer/lib/libarchive/test/test.h#7 integrate .. //depot/projects/hammer/lib/libarchive/test/test_archive_api_feature.c#4 integrate .. //depot/projects/hammer/lib/libarchive/test/test_compat_gtar.c#2 integrate .. //depot/projects/hammer/lib/libarchive/test/test_compat_tar_hardlink.c#2 integrate .. //depot/projects/hammer/lib/libarchive/test/test_compat_zip.c#2 integrate .. //depot/projects/hammer/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/hammer/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/hammer/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_ar.c#5 integrate .. //depot/projects/hammer/lib/libarchive/test/test_read_format_gtar_sparse.c#7 integrate .. //depot/projects/hammer/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_format_ar.c#6 integrate .. //depot/projects/hammer/lib/libc/gen/Makefile.inc#33 integrate .. //depot/projects/hammer/lib/libc/gen/scandir.c#3 integrate .. //depot/projects/hammer/lib/libc/gen/sem_timedwait.3#1 branch .. //depot/projects/hammer/lib/libc/gen/sem_wait.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/wctype.c#3 integrate .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#32 integrate .. //depot/projects/hammer/lib/libc/sys/Symbol.map#7 integrate .. //depot/projects/hammer/lib/libc/sys/kldunload.2#6 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#38 integrate .. //depot/projects/hammer/lib/libpmc/libpmc.c#9 integrate .. //depot/projects/hammer/lib/libpmc/pmc.3#15 integrate .. //depot/projects/hammer/lib/libpmc/pmc_capabilities.3#2 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_create.c#25 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_exit.c#23 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_sig.c#17 integrate .. //depot/projects/hammer/lib/libthread_db/Makefile#11 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#29 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.8#10 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.c#26 integrate .. //depot/projects/hammer/sbin/geom/class/multipath/gmultipath.8#4 integrate .. //depot/projects/hammer/sbin/mount/mount.8#26 integrate .. //depot/projects/hammer/share/examples/cvsup/cvs-supfile#12 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ar.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/linux.4#8 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/pnp.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/scd.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/streams.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/svr4.4#7 integrate .. //depot/projects/hammer/share/man/man4/uart.4#7 integrate .. //depot/projects/hammer/share/man/man9/Makefile#80 integrate .. //depot/projects/hammer/share/man/man9/atomic.9#5 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_radiotap.9#4 integrate .. //depot/projects/hammer/share/man/man9/rwlock.9#7 integrate .. //depot/projects/hammer/share/man/man9/stack.9#4 integrate .. //depot/projects/hammer/sys/amd64/acpica/acpi_machdep.c#24 integrate .. //depot/projects/hammer/sys/amd64/acpica/madt.c#51 integrate .. //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#11 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#52 integrate .. //depot/projects/hammer/sys/amd64/amd64/legacy.c#24 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#79 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#166 integrate .. //depot/projects/hammer/sys/amd64/amd64/mem.c#27 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#46 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#44 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#103 integrate .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#92 integrate .. //depot/projects/hammer/sys/amd64/conf/DEFAULTS#10 integrate .. //depot/projects/hammer/sys/amd64/ia32/ia32_signal.c#23 integrate .. //depot/projects/hammer/sys/amd64/include/atomic.h#26 integrate .. //depot/projects/hammer/sys/amd64/include/intr_machdep.h#28 integrate .. //depot/projects/hammer/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/hammer/sys/amd64/include/specialreg.h#29 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#59 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_proto.h#14 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_syscall.h#14 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysent.c#14 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysvec.c#20 integrate .. //depot/projects/hammer/sys/amd64/linux32/syscalls.master#14 integrate .. //depot/projects/hammer/sys/arm/arm/busdma_machdep.c#28 integrate .. //depot/projects/hammer/sys/arm/arm/intr.c#17 integrate .. //depot/projects/hammer/sys/arm/arm/machdep.c#21 integrate .. //depot/projects/hammer/sys/arm/arm/nexus.c#10 integrate .. //depot/projects/hammer/sys/arm/arm/trap.c#23 integrate .. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#29 integrate .. //depot/projects/hammer/sys/arm/conf/AVILA#8 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/hammer/sys/boot/common/dev_net.c#5 integrate .. //depot/projects/hammer/sys/boot/powerpc/uboot/metadata.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/hammer/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/console.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/glue.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/libuboot.h#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/net.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/hammer/sys/boot/uboot/lib/time.c#2 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_ses.c#16 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#52 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#49 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#49 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#49 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#54 integrate .. //depot/projects/hammer/sys/compat/linux/linux_misc.c#46 integrate .. //depot/projects/hammer/sys/compat/svr4/svr4_fcntl.c#15 integrate .. //depot/projects/hammer/sys/compat/svr4/svr4_sysvec.c#17 integrate .. //depot/projects/hammer/sys/conf/files#175 integrate .. //depot/projects/hammer/sys/conf/options#124 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#9 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/hammer/sys/dev/aac/aac.c#44 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#82 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#56 integrate .. //depot/projects/hammer/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#66 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#48 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#47 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.h#10 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_ael1002.c#5 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_common.h#7 integrate .. //depot/projects/hammer/sys/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_ioctl.h#6 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_main.c#17 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/hammer/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/hammer/sys/dev/mxge/if_mxge.c#14 integrate .. //depot/projects/hammer/sys/dev/ofw/ofw_console.c#23 integrate .. //depot/projects/hammer/sys/dev/syscons/sysmouse.c#14 integrate .. //depot/projects/hammer/sys/dev/tdfx/tdfx_pci.c#17 integrate .. //depot/projects/hammer/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/hammer/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/hammer/sys/dev/uart/uart.h#8 integrate .. //depot/projects/hammer/sys/dev/uart/uart_dev_ns8250.c#17 integrate .. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#26 integrate .. //depot/projects/hammer/sys/dev/usb/if_zyd.c#9 integrate .. //depot/projects/hammer/sys/dev/usb/ums.c#25 integrate .. //depot/projects/hammer/sys/dev/usb/usb_quirks.c#22 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#96 integrate .. //depot/projects/hammer/sys/dev/wpi/if_wpi.c#6 integrate .. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#44 integrate .. //depot/projects/hammer/sys/fs/procfs/procfs_ctl.c#13 integrate .. //depot/projects/hammer/sys/fs/procfs/procfs_dbregs.c#10 integrate .. //depot/projects/hammer/sys/fs/procfs/procfs_status.c#19 integrate .. //depot/projects/hammer/sys/gdb/gdb_cons.c#3 integrate .. //depot/projects/hammer/sys/i386/acpica/acpi_machdep.c#30 integrate .. //depot/projects/hammer/sys/i386/acpica/acpi_wakeup.c#27 integrate .. //depot/projects/hammer/sys/i386/acpica/madt.c#24 integrate .. //depot/projects/hammer/sys/i386/conf/DEFAULTS#10 integrate .. //depot/projects/hammer/sys/i386/cpufreq/est.c#9 integrate .. //depot/projects/hammer/sys/i386/cpufreq/p4tcc.c#4 integrate .. //depot/projects/hammer/sys/i386/i386/i686_mem.c#10 integrate .. //depot/projects/hammer/sys/i386/i386/intr_machdep.c#26 integrate .. //depot/projects/hammer/sys/i386/i386/k6_mem.c#5 integrate .. //depot/projects/hammer/sys/i386/i386/legacy.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/local_apic.c#35 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#86 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#73 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#23 integrate .. //depot/projects/hammer/sys/i386/i386/nexus.c#24 integrate .. //depot/projects/hammer/sys/i386/i386/sys_machdep.c#26 integrate .. //depot/projects/hammer/sys/i386/i386/trap.c#59 integrate .. //depot/projects/hammer/sys/i386/i386/vm_machdep.c#61 integrate .. //depot/projects/hammer/sys/i386/ibcs2/imgact_coff.c#17 integrate .. //depot/projects/hammer/sys/i386/include/atomic.h#14 integrate .. //depot/projects/hammer/sys/i386/include/intr_machdep.h#14 integrate .. //depot/projects/hammer/sys/i386/include/specialreg.h#17 integrate .. //depot/projects/hammer/sys/i386/isa/atpic.c#21 integrate .. //depot/projects/hammer/sys/i386/linux/linux_proto.h#25 integrate .. //depot/projects/hammer/sys/i386/linux/linux_syscall.h#25 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysent.c#26 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysvec.c#31 integrate .. //depot/projects/hammer/sys/i386/linux/syscalls.master#25 integrate .. //depot/projects/hammer/sys/i386/svr4/svr4_machdep.c#10 integrate .. //depot/projects/hammer/sys/i386/xbox/xbox.c#4 integrate .. //depot/projects/hammer/sys/ia64/conf/DEFAULTS#8 integrate .. //depot/projects/hammer/sys/ia64/ia64/interrupt.c#29 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#68 integrate .. //depot/projects/hammer/sys/ia64/ia64/nexus.c#14 integrate .. //depot/projects/hammer/sys/ia64/ia64/sscdisk.c#12 integrate .. //depot/projects/hammer/sys/ia64/ia64/trap.c#43 integrate .. //depot/projects/hammer/sys/ia64/include/atomic.h#7 integrate .. //depot/projects/hammer/sys/ia64/include/ucontext.h#6 integrate .. //depot/projects/hammer/sys/ia64/isa/isa_dma.c#8 integrate .. //depot/projects/hammer/sys/kern/imgact_elf.c#47 integrate .. //depot/projects/hammer/sys/kern/init_main.c#54 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#66 integrate .. //depot/projects/hammer/sys/kern/kern_alq.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_clock.c#45 integrate .. //depot/projects/hammer/sys/kern/kern_condvar.c#27 integrate .. //depot/projects/hammer/sys/kern/kern_conf.c#48 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#77 integrate .. //depot/projects/hammer/sys/kern/kern_event.c#50 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#79 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#69 integrate .. //depot/projects/hammer/sys/kern/kern_idle.c#22 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#48 integrate .. //depot/projects/hammer/sys/kern/kern_kse.c#41 delete .. //depot/projects/hammer/sys/kern/kern_linker.c#34 integrate .. //depot/projects/hammer/sys/kern/kern_malloc.c#36 integrate .. //depot/projects/hammer/sys/kern/kern_mbuf.c#30 integrate .. //depot/projects/hammer/sys/kern/kern_module.c#15 integrate .. //depot/projects/hammer/sys/kern/kern_ntptime.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_poll.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#66 integrate .. //depot/projects/hammer/sys/kern/kern_resource.c#39 integrate .. //depot/projects/hammer/sys/kern/kern_shutdown.c#52 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#88 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#60 integrate .. //depot/projects/hammer/sys/kern/kern_sx.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#66 integrate .. //depot/projects/hammer/sys/kern/kern_tc.c#27 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#105 integrate .. //depot/projects/hammer/sys/kern/kern_timeout.c#28 integrate .. //depot/projects/hammer/sys/kern/link_elf.c#31 integrate .. //depot/projects/hammer/sys/kern/link_elf_obj.c#55 integrate .. //depot/projects/hammer/sys/kern/p1003_1b.c#5 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#58 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#93 integrate .. //depot/projects/hammer/sys/kern/subr_autoconf.c#8 integrate .. //depot/projects/hammer/sys/kern/subr_eventhandler.c#6 integrate .. //depot/projects/hammer/sys/kern/subr_log.c#13 integrate .. //depot/projects/hammer/sys/kern/subr_prof.c#16 integrate .. //depot/projects/hammer/sys/kern/subr_sleepqueue.c#28 integrate .. //depot/projects/hammer/sys/kern/subr_smp.c#35 integrate .. //depot/projects/hammer/sys/kern/subr_trap.c#42 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#69 integrate .. //depot/projects/hammer/sys/kern/sys_process.c#43 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#64 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#66 integrate .. //depot/projects/hammer/sys/kern/systrace_args.c#10 integrate .. //depot/projects/hammer/sys/kern/tty_cons.c#26 integrate .. //depot/projects/hammer/sys/kern/tty_pts.c#8 integrate .. //depot/projects/hammer/sys/kern/tty_pty.c#38 integrate .. //depot/projects/hammer/sys/kern/tty_subr.c#7 integrate .. //depot/projects/hammer/sys/kern/tty_tty.c#14 integrate .. //depot/projects/hammer/sys/kern/uipc_domain.c#21 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#78 integrate .. //depot/projects/hammer/sys/kern/vfs_acl.c#5 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#86 integrate .. //depot/projects/hammer/sys/kern/vfs_cache.c#28 integrate .. //depot/projects/hammer/sys/kern/vfs_hash.c#9 integrate .. //depot/projects/hammer/sys/kern/vfs_lookup.c#34 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#126 integrate .. //depot/projects/hammer/sys/net/bpf.c#57 integrate .. //depot/projects/hammer/sys/net/ieee8023ad_lacp.c#8 integrate .. //depot/projects/hammer/sys/net/ieee8023ad_lacp.h#7 integrate .. //depot/projects/hammer/sys/net/if.c#73 integrate .. //depot/projects/hammer/sys/net/if_lagg.c#14 integrate .. //depot/projects/hammer/sys/net/netisr.c#16 integrate .. //depot/projects/hammer/sys/net/rtsock.c#35 integrate .. //depot/projects/hammer/sys/netatm/ipatm/ipatm_load.c#10 integrate .. //depot/projects/hammer/sys/netatm/sigpvc/sigpvc_if.c#6 integrate .. //depot/projects/hammer/sys/netatm/spans/spans_if.c#6 integrate .. //depot/projects/hammer/sys/netatm/uni/uni_load.c#4 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#33 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#56 integrate .. //depot/projects/hammer/sys/netgraph/ng_l2tp.c#15 integrate .. //depot/projects/hammer/sys/netgraph/ng_socket.c#29 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#54 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#93 integrate .. //depot/projects/hammer/sys/netinet/ip_ipsec.c#8 integrate .. //depot/projects/hammer/sys/netinet/libalias/alias.c#6 integrate .. //depot/projects/hammer/sys/netinet/libalias/alias.h#4 integrate .. //depot/projects/hammer/sys/netinet/libalias/alias_irc.c#7 integrate .. //depot/projects/hammer/sys/netinet/libalias/alias_old.c#4 delete .. //depot/projects/hammer/sys/netinet6/ip6_ipsec.c#5 integrate .. //depot/projects/hammer/sys/netinet6/ip6_ipsec.h#4 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#49 integrate .. //depot/projects/hammer/sys/netipsec/ipsec.c#21 integrate .. //depot/projects/hammer/sys/netipsec/ipsec_output.c#14 integrate .. //depot/projects/hammer/sys/netipsec/key.c#19 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_diskless.c#17 integrate .. //depot/projects/hammer/sys/pc98/conf/DEFAULTS#7 integrate .. //depot/projects/hammer/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/hammer/sys/pc98/pc98/machdep.c#23 integrate .. //depot/projects/hammer/sys/powerpc/aim/machdep.c#5 integrate .. //depot/projects/hammer/sys/powerpc/aim/trap.c#3 integrate .. //depot/projects/hammer/sys/powerpc/aim/vm_machdep.c#3 integrate .. //depot/projects/hammer/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/hammer/sys/powerpc/booke/trap.c#2 integrate .. //depot/projects/hammer/sys/powerpc/booke/vm_machdep.c#2 integrate .. //depot/projects/hammer/sys/powerpc/conf/DEFAULTS#6 integrate .. //depot/projects/hammer/sys/powerpc/include/atomic.h#12 integrate .. //depot/projects/hammer/sys/powerpc/include/bootinfo.h#4 integrate .. //depot/projects/hammer/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/hammer/sys/powerpc/include/ocpbus.h#2 integrate .. //depot/projects/hammer/sys/powerpc/mpc85xx/ocpbus.c#2 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/intr_machdep.c#17 integrate .. //depot/projects/hammer/sys/security/audit/audit.c#16 integrate .. //depot/projects/hammer/sys/sparc64/conf/DEFAULTS#6 integrate .. //depot/projects/hammer/sys/sparc64/include/atomic.h#6 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/intr_machdep.c#17 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/trap.c#27 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/vm_machdep.c#27 integrate .. //depot/projects/hammer/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/hammer/sys/sun4v/sun4v/intr_machdep.c#5 integrate .. //depot/projects/hammer/sys/sys/ata.h#21 integrate .. //depot/projects/hammer/sys/sys/bus_dma.h#4 integrate .. //depot/projects/hammer/sys/sys/condvar.h#8 integrate .. //depot/projects/hammer/sys/sys/conf.h#43 integrate .. //depot/projects/hammer/sys/sys/cpuset.h#2 integrate .. //depot/projects/hammer/sys/sys/disklabel.h#17 integrate .. //depot/projects/hammer/sys/sys/eventhandler.h#12 integrate .. //depot/projects/hammer/sys/sys/interrupt.h#17 integrate .. //depot/projects/hammer/sys/sys/kernel.h#24 integrate .. //depot/projects/hammer/sys/sys/kse.h#20 delete .. //depot/projects/hammer/sys/sys/module.h#5 integrate .. //depot/projects/hammer/sys/sys/param.h#107 integrate .. //depot/projects/hammer/sys/sys/proc.h#116 integrate .. //depot/projects/hammer/sys/sys/resourcevar.h#19 integrate .. //depot/projects/hammer/sys/sys/rwlock.h#11 integrate .. //depot/projects/hammer/sys/sys/sched.h#25 integrate .. //depot/projects/hammer/sys/sys/sleepqueue.h#11 integrate .. //depot/projects/hammer/sys/sys/syscall.h#63 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#63 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#64 integrate .. //depot/projects/hammer/sys/sys/systm.h#52 integrate .. //depot/projects/hammer/sys/sys/taskqueue.h#11 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#51 integrate .. //depot/projects/hammer/sys/vm/vm_fault.c#52 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#50 integrate .. //depot/projects/hammer/sys/vm/vm_init.c#13 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#68 integrate .. //depot/projects/hammer/sys/vm/vm_meter.c#24 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#50 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#69 integrate .. //depot/projects/hammer/sys/vm/vm_page.h#31 integrate .. //depot/projects/hammer/sys/vm/vm_pageout.c#48 integrate .. //depot/projects/hammer/sys/vm/vm_pageq.c#23 delete .. //depot/projects/hammer/sys/vm/vm_zeroidle.c#30 integrate .. //depot/projects/hammer/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/hammer/usr.bin/cpuset/cpuset.1#2 integrate .. //depot/projects/hammer/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/hammer/usr.bin/kdump/kdump.c#24 integrate .. //depot/projects/hammer/usr.bin/kdump/kdump_subr.h#4 integrate .. //depot/projects/hammer/usr.bin/kdump/mksubr#5 integrate .. //depot/projects/hammer/usr.bin/make/globals.h#7 integrate .. //depot/projects/hammer/usr.bin/make/hash_tables.c#4 integrate .. //depot/projects/hammer/usr.bin/make/main.c#44 integrate .. //depot/projects/hammer/usr.bin/make/make.1#33 integrate .. //depot/projects/hammer/usr.bin/make/parse.c#37 integrate .. //depot/projects/hammer/usr.bin/ministat/ministat.1#2 integrate .. //depot/projects/hammer/usr.bin/ruptime/ruptime.c#5 integrate .. //depot/projects/hammer/usr.bin/split/split.1#8 integrate .. //depot/projects/hammer/usr.bin/split/split.c#6 integrate .. //depot/projects/hammer/usr.bin/tar/Makefile#24 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.1#27 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.c#37 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.h#20 integrate .. //depot/projects/hammer/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/hammer/usr.bin/tar/matching.c#12 integrate .. //depot/projects/hammer/usr.bin/tar/read.c#25 integrate .. //depot/projects/hammer/usr.bin/tar/write.c#31 integrate .. //depot/projects/hammer/usr.bin/uuidgen/Makefile#4 delete .. //depot/projects/hammer/usr.bin/uuidgen/uuidgen.1#7 delete .. //depot/projects/hammer/usr.bin/uuidgen/uuidgen.c#4 delete .. //depot/projects/hammer/usr.sbin/adduser/adduser.8#14 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#7 integrate .. //depot/projects/hammer/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/hammer/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/mixer/mixer.8#9 integrate .. //depot/projects/hammer/usr.sbin/mixer/mixer.c#9 integrate .. //depot/projects/hammer/usr.sbin/ppp/command.c#16 integrate .. //depot/projects/hammer/usr.sbin/ppp/ipcp.c#10 integrate .. //depot/projects/hammer/usr.sbin/ppp/main.c#6 integrate .. //depot/projects/hammer/usr.sbin/ppp/nat_cmd.c#6 integrate Differences ... ==== //depot/projects/hammer/ObsoleteFiles.inc#47 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/hammer/UPDATING#114 (text+ko) ==== @@ -22,6 +22,16 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080312: + Support for KSE threading has been removed from the kernel. To + run legacy applications linked against KSE libmap.conf may + be used. The following libmap.conf may be used to ensure + compatibility with any prior release: + + libpthread.so.1 libthr.so.1 + libpthread.so.2 libthr.so.2 + libkse.so.3 libthr.so.3 + 20080301: The layout of struct vmspace has changed. This affects libkvm and any executables that link against libkvm and use the @@ -997,4 +1007,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.522 2008/03/01 22:54:42 marcel Exp $ +$FreeBSD: src/UPDATING,v 1.523 2008/03/12 09:48:42 jeff Exp $ ==== //depot/projects/hammer/bin/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/hammer/bin/ps/ps.1#25 (text+ko) ==== @@ -27,7 +27,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.89 2006/09/17 17:40:06 ru Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.90 2008/03/12 10:01:34 jeff Exp $ .\" .Dd August 21, 2006 .Dt PS 1 @@ -290,7 +290,6 @@ .It Dv "P_WAITED" Ta No "0x01000 Someone is waiting for us" .It Dv "P_WEXIT" Ta No "0x02000 Working on exiting" .It Dv "P_EXEC" Ta No "0x04000 Process called exec" -.It Dv "P_SA" Ta No "0x08000 Using scheduler activations" .It Dv "P_CONTINUED" Ta No "0x10000 Proc has continued from a stopped state" .It Dv "P_STOPPED_SIG" Ta No "0x20000 Stopped due to SIGSTOP/SIGTSTP" .It Dv "P_STOPPED_TRACE" Ta No "0x40000 Stopped because of tracing" ==== //depot/projects/hammer/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/hammer/contrib/tcsh/sh.lex.c#7 (text+ko) ==== @@ -851,7 +851,8 @@ return (en); } slhs.len = 0; - Strbuf_append(&slhs, lhsb.s); + if (lhsb.s != NULL && lhsb.len != 0) + Strbuf_append(&slhs, lhsb.s); Strbuf_terminate(&slhs); if (exclc) en = dosub(sc, en, global); ==== //depot/projects/hammer/lib/libalias/libalias/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libalias/libalias/Makefile,v 1.4 2007/06/18 18:47:53 rafan Exp $ +# $FreeBSD: src/lib/libalias/libalias/Makefile,v 1.5 2008/03/12 11:58:28 piso Exp $ .PATH: ${.CURDIR}/../../../sys/netinet/libalias @@ -6,7 +6,7 @@ SHLIBDIR?= /lib SHLIB_MAJOR= 6 MAN= libalias.3 -SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c +SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_mod.c INCS= alias.h WARNS?= 6 NO_WERROR= ==== //depot/projects/hammer/lib/libarchive/Makefile#47 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.80 2008/01/23 05:48:07 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -81,6 +81,7 @@ archive_write_open_filename.c \ archive_write_open_memory.c \ archive_write_set_compression_bzip2.c \ + archive_write_set_compression_compress.c \ archive_write_set_compression_gzip.c \ archive_write_set_compression_none.c \ archive_write_set_compression_program.c \ @@ -120,6 +121,8 @@ MLINKS+= archive_entry.3 archive_entry_copy_gname.3 MLINKS+= archive_entry.3 archive_entry_copy_gname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_hardlink_w.3 +MLINKS+= archive_entry.3 archive_entry_copy_link.3 +MLINKS+= archive_entry.3 archive_entry_copy_link_w.3 MLINKS+= archive_entry.3 archive_entry_copy_pathname_w.3 MLINKS+= archive_entry.3 archive_entry_copy_stat.3 MLINKS+= archive_entry.3 archive_entry_copy_symlink_w.3 ==== //depot/projects/hammer/lib/libarchive/archive.h.in#22 (text+ko) ==== @@ -22,18 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.47 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.49 2008/03/14 22:19:50 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED #define ARCHIVE_H_INCLUDED -/* - * This header file corresponds to: - * Library version @ARCHIVE_VERSION@ - * Shared library version @SHLIB_MAJOR@ - */ - #include /* Linux requires this for off_t */ @ARCHIVE_H_INCLUDE_INTTYPES_H@ #include /* For FILE * */ @@ -51,58 +45,59 @@ #endif /* - * Each of the version identifiers comes as a macro and a function. + * The version number is provided as both a macro and a function. * The macro identifies the installed header; the function identifies * the library version (which may not be the same if you're using a * dynamically-linked version of the library). */ /* - * Textual name/version of the library, useful for version displays. - */ -#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" -const char * archive_version(void); - -/* - * The "version stamp" is a single integer that makes it easy to check - * the exact version: for version a.b.c, the version stamp is - * printf("%d%03d%03d",a,b,c). For example, version 2.12.108 has - * version stamp 2012108. + * The version number is expressed as a single integer that makes it + * easy to compare versions at build time: for version a.b.c, the + * version number is printf("%d%03d%03d",a,b,c). For example, if you + * know your application requires version 2.12.108 or later, you can + * assert that ARCHIVE_VERSION >= 2012108. * - * This was introduced with libarchive 1.9.0 in the libarchive 1.x family - * and libarchive 2.2.4 in the libarchive 2.x family. The following - * may be useful if you really want to do feature detection for earlier - * libarchive versions (which defined API_VERSION and API_FEATURE): + * This single-number format was introduced with libarchive 1.9.0 in + * the libarchive 1.x family and libarchive 2.2.4 in the libarchive + * 2.x family. The following may be useful if you really want to do + * feature detection for earlier libarchive versions (which defined + * ARCHIVE_API_VERSION and ARCHIVE_API_FEATURE instead): * - * #ifndef ARCHIVE_VERSION_STAMP - * #define ARCHIVE_VERSION_STAMP \ + * #ifndef ARCHIVE_VERSION_NUMBER + * #define ARCHIVE_VERSION_NUMBER \ * (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000) * #endif */ -#define ARCHIVE_VERSION_STAMP @LIBARCHIVE_VERSION@ -int archive_version_stamp(void); +#define ARCHIVE_VERSION_NUMBER @LIBARCHIVE_VERSION@ +int archive_version_number(void); /* - * Major version number: If ARCHIVE_API_VERSION != - * archive_api_version(), then the library you were linked with is - * using an incompatible API to the one you were compiled with. This - * is almost certainly a fatal problem. - * This is deprecated and will be removed; use ARCHIVE_VERSION_STAMP - * instead. + * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_STAMP / 1000000) -int archive_api_version(void); +const char * archive_version_string(void); +#if ARCHIVE_VERSION_NUMBER < 3000000 /* - * Minor version number. This is deprecated and will be removed. - * Use ARCHIVE_VERSION_STAMP to adapt to libarchive API variations. + * Deprecated; these are older names that will be removed in favor of + * the simpler definitions above. */ -#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_STAMP / 1000) % 1000) +#define ARCHIVE_VERSION_STAMP ARCHIVE_VERSION_NUMBER +int archive_version_stamp(void); +#define ARCHIVE_LIBRARY_VERSION "libarchive @LIBARCHIVE_VERSION_STRING@" +const char * archive_version(void); +#define ARCHIVE_API_VERSION (ARCHIVE_VERSION_NUMBER / 1000000) +int archive_api_version(void); +#define ARCHIVE_API_FEATURE ((ARCHIVE_VERSION_NUMBER / 1000) % 1000) int archive_api_feature(void); +#endif - +#if ARCHIVE_VERSION_NUMBER < 3000000 +/* This should never have been here in the first place. */ +/* Legacy of old tar assumptions, will be removed in libarchive 3.0. */ #define ARCHIVE_BYTES_PER_RECORD 512 #define ARCHIVE_DEFAULT_BYTES_PER_BLOCK 10240 +#endif /* Declare our basic types. */ struct archive; @@ -119,6 +114,7 @@ #define ARCHIVE_WARN (-20) /* Partial success. */ /* For example, if write_header "fails", then you can't push data. */ #define ARCHIVE_FAILED (-25) /* Current operation cannot complete. */ +/* But if write_header is "fatal," then this archive is dead and useless. */ #define ARCHIVE_FATAL (-30) /* No more operations are possible. */ /* @@ -146,7 +142,7 @@ typedef ssize_t archive_read_callback(struct archive *, void *_client_data, const void **_buffer); /* Skips at most request bytes from archive and returns the skipped amount */ -#if ARCHIVE_API_VERSION < 2 +#if ARCHIVE_VERSION_NUMBER < 2000000 typedef ssize_t archive_skip_callback(struct archive *, void *_client_data, size_t request); #else @@ -370,7 +366,7 @@ int archive_read_close(struct archive *); /* Release all resources and destroy the object. */ /* Note that archive_read_finish will call archive_read_close for you. */ -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_read_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -407,6 +403,7 @@ int archive_write_set_skip_file(struct archive *, dev_t, ino_t); int archive_write_set_compression_bzip2(struct archive *); +int archive_write_set_compression_compress(struct archive *); int archive_write_set_compression_gzip(struct archive *); int archive_write_set_compression_none(struct archive *); int archive_write_set_compression_program(struct archive *, @@ -445,7 +442,7 @@ */ int archive_write_header(struct archive *, struct archive_entry *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 ssize_t archive_write_data(struct archive *, const void *, size_t); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ @@ -455,7 +452,7 @@ ssize_t archive_write_data_block(struct archive *, const void *, size_t, off_t); int archive_write_finish_entry(struct archive *); int archive_write_close(struct archive *); -#if ARCHIVE_API_VERSION > 1 +#if ARCHIVE_VERSION_NUMBER >= 2000000 int archive_write_finish(struct archive *); #else /* Temporarily allow library to compile with either 1.x or 2.0 API. */ ==== //depot/projects/hammer/lib/libarchive/archive_entry.3#16 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.16 2008/03/10 14:44:40 jkoshy Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.17 2008/03/14 23:00:53 kientzle Exp $ .\" .Dd December 15, 2003 .Dt archive_entry 3 @@ -45,6 +45,8 @@ .Nm archive_entry_copy_gname_w , .Nm archive_entry_copy_hardlink , .Nm archive_entry_copy_hardlink_w , +.Nm archive_entry_copy_link , +.Nm archive_entry_copy_link_w , .Nm archive_entry_copy_pathname_w , .Nm archive_entry_copy_stat , .Nm archive_entry_copy_symlink , ==== //depot/projects/hammer/lib/libarchive/archive_entry.c#33 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.45 2007/12/30 04:58:21 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.51 2008/03/14 23:19:46 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -207,6 +207,8 @@ static const wchar_t * aes_get_wcs(struct aes *aes) { + int r; + if (aes->aes_wcs == NULL && aes->aes_mbs == NULL) return NULL; if (aes->aes_wcs == NULL && aes->aes_mbs != NULL) { @@ -221,8 +223,13 @@ aes->aes_wcs = aes->aes_wcs_alloc; if (aes->aes_wcs == NULL) __archive_errx(1, "No memory for aes_get_wcs()"); - mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); + r = mbstowcs(aes->aes_wcs_alloc, aes->aes_mbs, wcs_length); aes->aes_wcs_alloc[wcs_length] = 0; + if (r == -1) { + /* Conversion failed, don't lie to our clients. */ + free(aes->aes_wcs_alloc); + aes->aes_wcs = aes->aes_wcs_alloc = NULL; + } } return (aes->aes_wcs); } @@ -307,6 +314,8 @@ struct archive_entry * archive_entry_clear(struct archive_entry *entry) { + if (entry == NULL) + return (NULL); aes_clean(&entry->ae_fflags_text); aes_clean(&entry->ae_gname); aes_clean(&entry->ae_hardlink); @@ -752,6 +761,28 @@ aes_set_mbs(&entry->ae_hardlink, target); } +/* Set symlink if symlink is already set, else set hardlink. */ +void +archive_entry_copy_link(struct archive_entry *entry, const char *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_mbs(&entry->ae_symlink, target); + else + aes_copy_mbs(&entry->ae_hardlink, target); +} + +/* Set symlink if symlink is already set, else set hardlink. */ +void +archive_entry_copy_link_w(struct archive_entry *entry, const wchar_t *target) +{ + if (entry->ae_symlink.aes_mbs != NULL || + entry->ae_symlink.aes_wcs != NULL) + aes_copy_wcs(&entry->ae_symlink, target); + else + aes_copy_wcs(&entry->ae_hardlink, target); +} + void archive_entry_set_mode(struct archive_entry *entry, mode_t m) { @@ -1124,6 +1155,11 @@ entry->acl_p = entry->acl_p->next; if (entry->acl_p == NULL) { entry->acl_state = 0; + *type = 0; + *permset = 0; + *tag = 0; + *id = -1; + *name = NULL; return (ARCHIVE_EOF); /* End of ACL entries. */ } *type = entry->acl_p->type; @@ -1143,7 +1179,7 @@ archive_entry_acl_text_w(struct archive_entry *entry, int flags) { int count; - int length; + size_t length; const wchar_t *wname; const wchar_t *prefix; wchar_t separator; @@ -1505,7 +1541,7 @@ return (ARCHIVE_OK); } else { *name = NULL; - *name = NULL; + *value = NULL; *size = (size_t)0; return (ARCHIVE_WARN); } ==== //depot/projects/hammer/lib/libarchive/archive_entry.h#22 (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/lib/libarchive/archive_entry.h,v 1.24 2007/12/30 04:58:21 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_entry.h,v 1.26 2008/03/14 23:00:53 kientzle Exp $ */ #ifndef ARCHIVE_ENTRY_H_INCLUDED @@ -57,7 +57,25 @@ struct archive_entry; /* - * File-type constants. These are returned from archive_entry_filetype(). + * File-type constants. These are returned from archive_entry_filetype() + * and passed to archive_entry_set_filetype(). + * + * These values match S_XXX defines on every platform I've checked, + * including Windows, AIX, Linux, Solaris, and BSD. They're + * (re)defined here because platforms generally don't define the ones + * they don't support. For example, Windows doesn't define S_IFLNK or + * S_IFBLK. Instead of having a mass of conditional logic and system + * checks to define any S_XXX values that aren't supported locally, + * I've just defined a new set of such constants so that + * libarchive-based applications can manipulate and identify archive + * entries properly even if the hosting platform can't store them on + * disk. + * + * These values are also used directly within some portable formats, + * such as cpio. If you find a platform that varies from these, the + * correct solution is to leave these alone and translate from these + * portable values to platform-native values when entries are read from + * or written to disk. */ #define AE_IFMT 0170000 #define AE_IFREG 0100000 @@ -91,7 +109,8 @@ dev_t archive_entry_devminor(struct archive_entry *); mode_t archive_entry_filetype(struct archive_entry *); void archive_entry_fflags(struct archive_entry *, - unsigned long *set, unsigned long *clear); + unsigned long * /* set */, + unsigned long * /* clear */); const char *archive_entry_fflags_text(struct archive_entry *); gid_t archive_entry_gid(struct archive_entry *); const char *archive_entry_gname(struct archive_entry *); @@ -130,7 +149,7 @@ void archive_entry_set_devminor(struct archive_entry *, dev_t); void archive_entry_set_filetype(struct archive_entry *, unsigned int); void archive_entry_set_fflags(struct archive_entry *, - unsigned long set, unsigned long clear); + unsigned long /* set */, unsigned long /* clear */); /* Returns pointer to start of first invalid token, or NULL if none. */ /* Note that all recognized tokens are processed, regardless. */ const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *, @@ -144,6 +163,8 @@ void archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *); void archive_entry_set_ino(struct archive_entry *, unsigned long); void archive_entry_set_link(struct archive_entry *, const char *); +void archive_entry_copy_link(struct archive_entry *, const char *); +void archive_entry_copy_link_w(struct archive_entry *, const wchar_t *); void archive_entry_set_mode(struct archive_entry *, mode_t); void archive_entry_set_mtime(struct archive_entry *, time_t, long); void archive_entry_set_nlink(struct archive_entry *, unsigned int); @@ -182,6 +203,13 @@ * = there are many different ACL text formats * = would like to be able to read/convert archives containing ACLs * on platforms that lack ACL libraries + * + * This last point, in particular, forces me to implement a reasonably + * complete set of ACL support routines. + * + * TODO: Extend this to support NFSv4/NTFS permissions. That should + * allow full ACL support on Mac OS, in particular, which uses + * POSIX.1e-style interfaces to manipulate NFSv4/NTFS permissions. */ /* @@ -216,21 +244,24 @@ */ void archive_entry_acl_clear(struct archive_entry *); void archive_entry_acl_add_entry(struct archive_entry *, - int type, int permset, int tag, int qual, const char *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const char * /* name */); void archive_entry_acl_add_entry_w(struct archive_entry *, - int type, int permset, int tag, int qual, const wchar_t *name); + int /* type */, int /* permset */, int /* tag */, + int /* qual */, const wchar_t * /* name */); /* * To retrieve the ACL, first "reset", then repeatedly ask for the * "next" entry. The want_type parameter allows you to request only * access entries or only default entries. */ -int archive_entry_acl_reset(struct archive_entry *, int want_type); -int archive_entry_acl_next(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, const char **name); -int archive_entry_acl_next_w(struct archive_entry *, int want_type, - int *type, int *permset, int *tag, int *qual, - const wchar_t **name); +int archive_entry_acl_reset(struct archive_entry *, int /* want_type */); +int archive_entry_acl_next(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const char ** /* name */); +int archive_entry_acl_next_w(struct archive_entry *, int /* want_type */, + int * /* type */, int * /* permset */, int * /* tag */, + int * /* qual */, const wchar_t ** /* name */); /* * Construct a text-format ACL. The flags argument is a bitmask that @@ -245,10 +276,11 @@ */ #define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024 #define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048 -const wchar_t *archive_entry_acl_text_w(struct archive_entry *, int flags); +const wchar_t *archive_entry_acl_text_w(struct archive_entry *, + int /* flags */); /* Return a count of entries matching 'want_type' */ -int archive_entry_acl_count(struct archive_entry *, int want_type); +int archive_entry_acl_count(struct archive_entry *, int /* want_type */); /* * Private ACL parser. This is private because it handles some @@ -259,9 +291,12 @@ * this interface are likely to be surprised when it changes. * * You were warned! + * + * TODO: Move this declaration out of the public header and into + * a private header. Warnings above are silly. */ int __archive_entry_acl_parse_w(struct archive_entry *, - const wchar_t *, int type); + const wchar_t *, int /* type */); /* * extended attributes >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 08:23:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE208106566C; Tue, 18 Mar 2008 08:23:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C580106564A for ; Tue, 18 Mar 2008 08:23:27 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 808878FC1A for ; Tue, 18 Mar 2008 08:23:27 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2I8NReO063547 for ; Tue, 18 Mar 2008 08:23:27 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2I8NRPu063545 for perforce@freebsd.org; Tue, 18 Mar 2008 08:23:27 GMT (envelope-from peter-gmail@wemm.org) Date: Tue, 18 Mar 2008 08:23:27 GMT Message-Id: <200803180823.m2I8NRPu063545@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 137986 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 08:23:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=137986 Change 137986 by peter@peter_overcee on 2008/03/18 08:23:13 IFC @137982 Affected files ... .. //depot/projects/bike_sched/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/mptable.c#3 integrate .. //depot/projects/bike_sched/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/bike_sched/sys/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/bike_sched/sys/amd64/isa/atpic.c#3 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/bike_sched/sys/arm/arm/intr.c#3 integrate .. //depot/projects/bike_sched/sys/arm/arm/machdep.c#3 integrate .. //depot/projects/bike_sched/sys/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/bike_sched/sys/cam/scsi/scsi_ses.c#4 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/bike_sched/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/bike_sched/sys/conf/files#8 integrate .. //depot/projects/bike_sched/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/bike_sched/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/bike_sched/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/bike_sched/sys/dev/aac/aac.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-disk.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/common/cxgb_version.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_ioctl.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/bike_sched/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ofw/ofw_console.c#4 integrate .. //depot/projects/bike_sched/sys/dev/syscons/sysmouse.c#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_zyd.c#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/bike_sched/sys/gdb/gdb_cons.c#2 integrate .. //depot/projects/bike_sched/sys/i386/acpica/acpi_wakeup.c#4 integrate .. //depot/projects/bike_sched/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/bike_sched/sys/i386/cpufreq/est.c#3 integrate .. //depot/projects/bike_sched/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/bike_sched/sys/i386/i386/intr_machdep.c#7 integrate .. //depot/projects/bike_sched/sys/i386/i386/local_apic.c#7 integrate .. //depot/projects/bike_sched/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/bike_sched/sys/i386/i386/mp_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/bike_sched/sys/i386/i386/vm_machdep.c#7 integrate .. //depot/projects/bike_sched/sys/i386/include/atomic.h#3 integrate .. //depot/projects/bike_sched/sys/i386/include/intr_machdep.h#4 integrate .. //depot/projects/bike_sched/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/bike_sched/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/bike_sched/sys/i386/xbox/xbox.c#3 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/machdep.c#8 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/sscdisk.c#2 integrate .. //depot/projects/bike_sched/sys/ia64/include/atomic.h#3 integrate .. //depot/projects/bike_sched/sys/ia64/isa/isa_dma.c#3 integrate .. //depot/projects/bike_sched/sys/kern/init_main.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_alq.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_clock.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_conf.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_event.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_idle.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_intr.c#8 integrate .. //depot/projects/bike_sched/sys/kern/kern_linker.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/bike_sched/sys/kern/kern_mbuf.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_module.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_ntptime.c#3 integrate .. //depot/projects/bike_sched/sys/kern/kern_poll.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_resource.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_switch.c#13 integrate .. //depot/projects/bike_sched/sys/kern/kern_synch.c#10 integrate .. //depot/projects/bike_sched/sys/kern/kern_tc.c#5 integrate .. //depot/projects/bike_sched/sys/kern/link_elf.c#5 integrate .. //depot/projects/bike_sched/sys/kern/link_elf_obj.c#5 integrate .. //depot/projects/bike_sched/sys/kern/sched_4bsd.c#22 integrate .. //depot/projects/bike_sched/sys/kern/sched_ule.c#22 integrate .. //depot/projects/bike_sched/sys/kern/subr_autoconf.c#4 integrate .. //depot/projects/bike_sched/sys/kern/subr_eventhandler.c#2 integrate .. //depot/projects/bike_sched/sys/kern/subr_log.c#2 integrate .. //depot/projects/bike_sched/sys/kern/subr_prof.c#3 integrate .. //depot/projects/bike_sched/sys/kern/subr_smp.c#4 integrate .. //depot/projects/bike_sched/sys/kern/subr_witness.c#5 integrate .. //depot/projects/bike_sched/sys/kern/tty_cons.c#4 integrate .. //depot/projects/bike_sched/sys/kern/tty_pts.c#3 integrate .. //depot/projects/bike_sched/sys/kern/tty_pty.c#4 integrate .. //depot/projects/bike_sched/sys/kern/tty_subr.c#2 integrate .. //depot/projects/bike_sched/sys/kern/tty_tty.c#3 integrate .. //depot/projects/bike_sched/sys/kern/uipc_domain.c#4 integrate .. //depot/projects/bike_sched/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/bike_sched/sys/kern/vfs_acl.c#3 integrate .. //depot/projects/bike_sched/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/bike_sched/sys/kern/vfs_cache.c#5 integrate .. //depot/projects/bike_sched/sys/kern/vfs_hash.c#3 integrate .. //depot/projects/bike_sched/sys/kern/vfs_lookup.c#4 integrate .. //depot/projects/bike_sched/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/bike_sched/sys/net/bpf.c#6 integrate .. //depot/projects/bike_sched/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/bike_sched/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/bike_sched/sys/net/if.c#6 integrate .. //depot/projects/bike_sched/sys/net/if_lagg.c#3 integrate .. //depot/projects/bike_sched/sys/net/netisr.c#3 integrate .. //depot/projects/bike_sched/sys/net/rtsock.c#4 integrate .. //depot/projects/bike_sched/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/bike_sched/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/bike_sched/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/bike_sched/sys/netatm/uni/uni_load.c#2 integrate .. //depot/projects/bike_sched/sys/netgraph/ng_base.c#5 integrate .. //depot/projects/bike_sched/sys/netgraph/ng_l2tp.c#4 integrate .. //depot/projects/bike_sched/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/bike_sched/sys/netinet/ip_fw2.c#5 integrate .. //depot/projects/bike_sched/sys/netinet/ip_ipsec.c#4 integrate .. //depot/projects/bike_sched/sys/netinet/libalias/alias_irc.c#4 integrate .. //depot/projects/bike_sched/sys/netinet6/ip6_ipsec.c#3 integrate .. //depot/projects/bike_sched/sys/netinet6/ip6_ipsec.h#3 integrate .. //depot/projects/bike_sched/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/bike_sched/sys/netipsec/ipsec.c#4 integrate .. //depot/projects/bike_sched/sys/netipsec/ipsec_output.c#4 integrate .. //depot/projects/bike_sched/sys/netipsec/key.c#4 integrate .. //depot/projects/bike_sched/sys/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/bike_sched/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/bike_sched/sys/pc98/pc98/machdep.c#9 integrate .. //depot/projects/bike_sched/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/bike_sched/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/bike_sched/sys/powerpc/booke/vm_machdep.c#2 integrate .. //depot/projects/bike_sched/sys/powerpc/include/atomic.h#3 integrate .. //depot/projects/bike_sched/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/bike_sched/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/bike_sched/sys/powerpc/powerpc/intr_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/security/audit/audit.c#5 integrate .. //depot/projects/bike_sched/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/bike_sched/sys/sparc64/sparc64/intr_machdep.c#3 integrate .. //depot/projects/bike_sched/sys/sparc64/sparc64/vm_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/bike_sched/sys/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/bike_sched/sys/sys/ata.h#4 integrate .. //depot/projects/bike_sched/sys/sys/bus_dma.h#3 integrate .. //depot/projects/bike_sched/sys/sys/conf.h#4 integrate .. //depot/projects/bike_sched/sys/sys/eventhandler.h#3 integrate .. //depot/projects/bike_sched/sys/sys/interrupt.h#3 integrate .. //depot/projects/bike_sched/sys/sys/kernel.h#4 integrate .. //depot/projects/bike_sched/sys/sys/module.h#3 integrate .. //depot/projects/bike_sched/sys/sys/resourcevar.h#3 integrate .. //depot/projects/bike_sched/sys/sys/rwlock.h#5 integrate .. //depot/projects/bike_sched/sys/sys/taskqueue.h#2 integrate .. //depot/projects/bike_sched/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/bike_sched/sys/vm/vm_fault.c#5 integrate .. //depot/projects/bike_sched/sys/vm/vm_glue.c#6 integrate .. //depot/projects/bike_sched/sys/vm/vm_init.c#2 integrate .. //depot/projects/bike_sched/sys/vm/vm_mmap.c#5 integrate .. //depot/projects/bike_sched/sys/vm/vm_page.c#5 integrate .. //depot/projects/bike_sched/sys/vm/vm_page.h#3 integrate .. //depot/projects/bike_sched/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/bike_sched/sys/vm/vm_pageq.c#4 delete .. //depot/projects/bike_sched/sys/vm/vm_zeroidle.c#4 integrate Differences ... ==== //depot/projects/bike_sched/sys/amd64/acpica/madt.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.25 2008/01/31 16:51:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.26 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -409,7 +409,7 @@ apic_register_enumerator(&madt_enumerator); } SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, - madt_register, NULL) + madt_register, NULL); /* * Call the handler routine for each entry in the MADT table. @@ -779,4 +779,4 @@ la->la_acpi_id); } } -SYSINIT(madt_set_ids, SI_SUB_CPU, SI_ORDER_ANY, madt_set_ids, NULL) +SYSINIT(madt_set_ids, SI_SUB_CPU, SI_ORDER_ANY, madt_set_ids, NULL); ==== //depot/projects/bike_sched/sys/amd64/amd64/intr_machdep.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.35 2007/11/21 04:03:50 scottl Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.39 2008/03/17 22:42:00 jhb Exp $ */ /* @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -76,18 +77,17 @@ static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; -#ifdef INTR_FILTER -static void intr_eoi_src(void *arg); -static void intr_disab_eoi_src(void *arg); -static void intr_event_stray(void *cookie); -#endif - #ifdef SMP static int assign_cpu; static void intr_assign_next_cpu(struct intsrc *isrc); #endif +static int intr_assign_cpu(void *arg, u_char cpu); +static void intr_disable_src(void *arg); +#ifdef INTR_FILTER +static void intr_event_stray(void *cookie); +#endif static void intr_init(void *__dummy); static int intr_pic_registered(struct pic *pic); static void intrcnt_setname(const char *name, int index); @@ -142,14 +142,10 @@ vector = isrc->is_pic->pic_vector(isrc); if (interrupt_sources[vector] != NULL) return (EEXIST); -#ifdef INTR_FILTER error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, - intr_eoi_src, intr_disab_eoi_src, "irq%d:", vector); -#else - error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, "irq%d:", vector); -#endif + intr_disable_src, (mask_fn)isrc->is_pic->pic_enable_source, + (mask_fn)isrc->is_pic->pic_eoi_source, intr_assign_cpu, "irq%d:", + vector); if (error) return (error); sx_xlock(&intr_table_lock); @@ -233,6 +229,15 @@ return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); } +static void +intr_disable_src(void *arg) +{ + struct intsrc *isrc; + + isrc = arg; + isrc->is_pic->pic_disable_source(isrc, PIC_EOI); +} + #ifdef INTR_FILTER void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -285,24 +290,6 @@ "too many stray irq %d's: not logging anymore\n", isrc->is_pic->pic_vector(isrc)); } - -static void -intr_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_eoi_source(isrc); -} - -static void -intr_disab_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_disable_source(isrc, PIC_EOI); -} #else void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -430,6 +417,28 @@ sx_xunlock(&intr_table_lock); } +static int +intr_assign_cpu(void *arg, u_char cpu) +{ +#ifdef SMP + struct intsrc *isrc; + + /* + * Don't do anything during early boot. We will pick up the + * assignment once the APs are started. + */ + if (assign_cpu && cpu != NOCPU) { + isrc = arg; + sx_xlock(&intr_table_lock); + isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + sx_xunlock(&intr_table_lock); + } + return (0); +#else + return (EOPNOTSUPP); +#endif +} + static void intrcnt_setname(const char *name, int index) { @@ -484,7 +493,7 @@ sx_init(&intr_table_lock, "intr sources"); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } -SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL) +SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); #ifndef DEV_ATPIC /* Initialize the two 8259A's to a known-good shutdown state. */ @@ -536,27 +545,35 @@ /* The BSP is always a valid target. */ static cpumask_t intr_cpus = (1 << 0); -static int current_cpu, num_cpus = 1; +static int current_cpu; static void intr_assign_next_cpu(struct intsrc *isrc) { - struct pic *pic; - u_int apic_id; /* * Assign this source to a local APIC in a round-robin fashion. */ - pic = isrc->is_pic; - apic_id = cpu_apic_ids[current_cpu]; - pic->pic_assign_cpu(isrc, apic_id); + isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[current_cpu]); do { current_cpu++; - if (current_cpu >= num_cpus) + if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); } +/* Attempt to bind the specified IRQ to the specified CPU. */ +int +intr_bind(u_int vector, u_char cpu) +{ + struct intsrc *isrc; + + isrc = intr_lookup_source(vector); + if (isrc == NULL) + return (EINVAL); + return (intr_event_bind(isrc->is_event, cpu)); +} + /* * Add a CPU to our mask of valid CPUs that can be destinations of * interrupts. @@ -572,7 +589,6 @@ cpu_apic_ids[cpu]); intr_cpus |= (1 << cpu); - num_cpus++; } /* @@ -586,7 +602,7 @@ int i; /* Don't bother on UP. */ - if (num_cpus <= 1) + if (mp_ncpus == 1) return; /* Round-robin assign a CPU to each enabled source. */ @@ -594,10 +610,21 @@ assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { isrc = interrupt_sources[i]; - if (isrc != NULL && isrc->is_handlers > 0) - intr_assign_next_cpu(isrc); + if (isrc != NULL && isrc->is_handlers > 0) { + /* + * If this event is already bound to a CPU, + * then assign the source to that CPU instead + * of picking one via round-robin. + */ + if (isrc->is_event->ie_cpu != NOCPU) + isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[isrc->is_event->ie_cpu]); + else + intr_assign_next_cpu(isrc); + } } sx_xunlock(&intr_table_lock); } -SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL) +SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, + NULL); #endif ==== //depot/projects/bike_sched/sys/amd64/amd64/local_apic.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.43 2007/10/27 13:34:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.44 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_hwpmc_hooks.h" @@ -1039,7 +1039,7 @@ printf("%s: Failed to probe CPUs: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_init, SI_SUB_TUNABLES - 1, SI_ORDER_SECOND, apic_init, NULL) +SYSINIT(apic_init, SI_SUB_TUNABLES - 1, SI_ORDER_SECOND, apic_init, NULL); /* * Setup the local APIC. We have to do this prior to starting up the APs @@ -1057,7 +1057,8 @@ printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL) +SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, + NULL); /* * Setup the I/O APICs. @@ -1086,7 +1087,7 @@ /* Enable the MSI "pic". */ msi_init(); } -SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL) +SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL); #ifdef SMP /* ==== //depot/projects/bike_sched/sys/amd64/amd64/machdep.c#8 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.682 2008/03/13 10:54:36 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.683 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -149,7 +149,7 @@ static void cpu_startup(void *); static void get_fpcontext(struct thread *td, mcontext_t *mcp); static int set_fpcontext(struct thread *td, const mcontext_t *mcp); -SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) +SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); #ifdef DDB extern vm_offset_t ksym_start, ksym_end; ==== //depot/projects/bike_sched/sys/amd64/amd64/mptable.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.240 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.241 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -381,7 +381,7 @@ apic_register_enumerator(&mptable_enumerator); } SYSINIT(mptable_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, - mptable_register, NULL) + mptable_register, NULL); /* * Call the handler routine for each entry in the MP config table. ==== //depot/projects/bike_sched/sys/amd64/include/atomic.h#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/sys/amd64/include/atomic.h,v 1.44 2006/12/29 15:29:49 bde Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.45 2008/03/16 21:20:48 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -74,6 +74,7 @@ int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src); int atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src); u_int atomic_fetchadd_int(volatile u_int *p, u_int v); +u_long atomic_fetchadd_long(volatile u_long *p, u_long v); #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \ @@ -174,6 +175,25 @@ return (v); } +/* + * Atomically add the value of v to the long integer pointed to by p and return + * the previous value of *p. + */ +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + + __asm __volatile( + " " MPLOCKED " " + " xaddq %0, %1 ; " + "# atomic_fetchadd_long" + : "+r" (v), /* 0 (result) */ + "=m" (*p) /* 1 */ + : "m" (*p)); /* 2 */ + + return (v); +} + #if defined(_KERNEL) && !defined(SMP) /* ==== //depot/projects/bike_sched/sys/amd64/include/intr_machdep.h#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/sys/amd64/include/intr_machdep.h,v 1.18 2007/05/08 21:29:13 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.19 2008/03/14 19:41:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -137,6 +137,9 @@ int intr_add_handler(const char *name, int vector, driver_filter_t filter, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep); +#ifdef SMP +int intr_bind(u_int vector, u_char cpu); +#endif int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); ==== //depot/projects/bike_sched/sys/amd64/isa/atpic.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.22 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.23 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -499,7 +499,7 @@ intr_register_source(&ai->at_intsrc); } } -SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL) +SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL); void atpic_handle_intr(u_int vector, struct trapframe *frame) ==== //depot/projects/bike_sched/sys/amd64/linux32/linux32_proto.h#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -734,6 +734,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_setaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_sched_getaffinity_args { char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; @@ -1105,6 +1110,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *); int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); @@ -1360,6 +1366,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL #define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL ==== //depot/projects/bike_sched/sys/amd64/linux32/linux32_syscall.h#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #define LINUX_SYS_exit 1 @@ -222,6 +222,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_setaffinity 241 #define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 ==== //depot/projects/bike_sched/sys/amd64/linux32/linux32_sysent.c#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #include @@ -261,7 +261,7 @@ { AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0 }, /* 238 = linux_tkill */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ + { AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ ==== //depot/projects/bike_sched/sys/amd64/linux32/syscalls.master#5 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.30 2007/09/18 19:50:32 dwmalone Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -407,7 +407,8 @@ 239 AUE_SENDFILE UNIMPL linux_sendfile64 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } -241 AUE_NULL UNIMPL linux_sched_setaffinity +241 AUE_NULL STD { int linux_sched_setaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } ==== //depot/projects/bike_sched/sys/arm/arm/intr.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.17 2007/07/27 14:26:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.19 2008/03/17 22:42:00 jhb Exp $"); #include #include #include @@ -50,6 +50,8 @@ #include #include +typedef void (*mask_fn)(void *); + static struct intr_event *intr_events[NIRQ]; static int intrcnt_tab[NIRQ]; static int intrcnt_index = 0; @@ -57,27 +59,6 @@ void arm_handler_execute(struct trapframe *, int); -#ifdef INTR_FILTER -static void -intr_disab_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_mask_irq(nb); -} - -static void -intr_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_unmask_irq(nb); -} - -#endif - void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -89,14 +70,9 @@ return; event = intr_events[irq]; if (event == NULL) { -#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, intr_eoi_src, - intr_disab_eoi_src, "intr%d:", irq); -#else - error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, "intr%d:", irq); -#endif + (mask_fn)arm_mask_irq, (mask_fn)arm_unmask_irq, + (mask_fn)arm_unmask_irq, NULL, "intr%d:", irq); if (error) return; intr_events[irq] = event; ==== //depot/projects/bike_sched/sys/arm/arm/machdep.c#3 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.28 2007/05/31 22:52:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.29 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -308,7 +308,7 @@ #endif } -SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) +SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); /* Get current clock frequency for the given cpu id. */ int ==== //depot/projects/bike_sched/sys/arm/arm/vm_machdep.c#6 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.35 2007/11/14 20:21:53 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.36 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -77,7 +77,7 @@ #ifndef ARM_USE_SMALL_ALLOC static void sf_buf_init(void *arg); -SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL) +SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL); LIST_HEAD(sf_head, sf_buf); ==== //depot/projects/bike_sched/sys/cam/scsi/scsi_ses.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.36 2008/02/20 19:49:46 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.37 2008/03/17 17:18:16 scottl Exp $"); #include #include @@ -144,9 +144,9 @@ encvec ses_vec; /* vector to handlers */ void * ses_private; /* per-type private data */ encobj * ses_objmap; /* objects */ - u_int32_t ses_nobjects; /* number of objects */ + uint32_t ses_nobjects; /* number of objects */ ses_encstat ses_encstat; /* overall status */ - u_int8_t ses_flags; + uint8_t ses_flags; union ccb ses_saved_ccb; struct cdev *ses_dev; struct cam_periph *periph; @@ -166,9 +166,9 @@ static periph_dtor_t sescleanup; static periph_start_t sesstart; -static void sesasync(void *, u_int32_t, struct cam_path *, void *); +static void sesasync(void *, uint32_t, struct cam_path *, void *); static void sesdone(struct cam_periph *, union ccb *); -static int seserror(union ccb *, u_int32_t, u_int32_t); +static int seserror(union ccb *, uint32_t, uint32_t); static struct periph_driver sesdriver = { sesinit, "ses", @@ -234,7 +234,7 @@ } static void -sesasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg) +sesasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -303,7 +303,7 @@ return (CAM_REQ_CMP_ERR); } - softc = malloc(sizeof (struct ses_softc), M_SCSISES, M_NOWAIT); + softc = SES_MALLOC(sizeof (struct ses_softc)); if (softc == NULL) { printf("sesregister: Unable to probe new device. " "Unable to allocate softc\n"); @@ -472,7 +472,7 @@ } static int -seserror(union ccb *ccb, u_int32_t cflags, u_int32_t sflags) +seserror(union ccb *ccb, uint32_t cflags, uint32_t sflags) { struct ses_softc *softc; struct cam_periph *periph; @@ -489,7 +489,7 @@ struct cam_periph *periph; ses_encstat tmp; ses_objstat objs; - ses_object obj, *uobj; + ses_object *uobj; struct ses_softc *ssc; void *addr; int error, i; @@ -511,6 +511,9 @@ /* * Now check to see whether we're initialized or not. + * This actually should never fail as we're not supposed + * to get past ses_open w/o successfully initializing + * things. */ if ((ssc->ses_flags & SES_FLAG_INITIALIZED) == 0) { cam_periph_unlock(periph); @@ -526,6 +529,14 @@ /* * If this command can change the device's state, * we must have the device open for writing. + * + * For commands that get information about the + * device- we don't need to lock the peripheral + * if we aren't running a command. The number + * of objects and the contents will stay stable + * after the first open that does initialization. + * The periph also can't go away while a user + * process has it open. */ switch (cmd) { case SESIOC_GETNOBJ: @@ -546,23 +557,16 @@ break; case SESIOC_GETOBJMAP: - /* - * XXX Dropping the lock while copying multiple segments is - * bogus. - */ - cam_periph_lock(periph); - for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++, uobj++) { - obj.obj_id = i; - obj.subencid = ssc->ses_objmap[i].subenclosure; - obj.object_type = ssc->ses_objmap[i].enctype; - cam_periph_unlock(periph); - error = copyout(&obj, uobj, sizeof (ses_object)); - cam_periph_lock(periph); + for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++) { + ses_object kobj; + kobj.obj_id = i; + kobj.subencid = ssc->ses_objmap[i].subenclosure; + kobj.object_type = ssc->ses_objmap[i].enctype; + error = copyout(&kobj, &uobj[i], sizeof (ses_object)); if (error) { break; } } - cam_periph_unlock(periph); break; case SESIOC_GETENCSTAT: ==== //depot/projects/bike_sched/sys/compat/linux/linux_misc.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.217 2008/02/22 11:47:56 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.218 2008/03/16 16:24:20 rdivacky Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -63,6 +63,7 @@ #include #include #include +#include #include @@ -1730,22 +1731,52 @@ } /* - * XXX: fake one.. waiting for real implementation of affinity mask. + * Get affinity of a process. */ int linux_sched_getaffinity(struct thread *td, struct linux_sched_getaffinity_args *args) { int error; - cpumask_t i = ~0; + struct cpuset_getaffinity_args cga; + +#ifdef DEBUG + if (ldebug(sched_getaffinity)) + printf(ARGS(sched_getaffinity, "%d, %d, *"), args->pid, + args->len); +#endif + + cga.level = CPU_LEVEL_WHICH; + cga.which = CPU_WHICH_PID; + cga.id = args->pid; + cga.cpusetsize = sizeof(cpumask_t); + cga.mask = (long *) args->user_mask_ptr; + + if ((error = cpuset_getaffinity(td, &cga)) == 0) + td->td_retval[0] = sizeof(cpumask_t); + + return (error); +} - if (args->len < sizeof(cpumask_t)) - return (EINVAL); +/* + * Set affinity of a process. + */ +int +linux_sched_setaffinity(struct thread *td, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 09:00:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09E021065675; Tue, 18 Mar 2008 09:00:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B936E106566C for ; Tue, 18 Mar 2008 09:00:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A321F8FC1E for ; Tue, 18 Mar 2008 09:00:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2I905QB094815 for ; Tue, 18 Mar 2008 09:00:05 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2I905AQ094813 for perforce@freebsd.org; Tue, 18 Mar 2008 09:00:05 GMT (envelope-from gcooper@FreeBSD.org) Date: Tue, 18 Mar 2008 09:00:05 GMT Message-Id: <200803180900.m2I905AQ094813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 137990 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 09:00:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=137990 Change 137990 by gcooper@gcooper-starr on 2008/03/18 08:59:42 Add in more stubs for arg parsers -- yes I'm still alive and yes I'm finally free to some extent. Here goes to "Agile FreeBSD Coding"! Scrum! Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.c#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.h#3 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.c#3 (text+ko) ==== @@ -1,60 +1,67 @@ -#include "ap/add/arg_parser.h" +#include "add/arg_parser.h" +/* + * Parse all flags strictly relevant to adding packages. + */ int -pkg_action_add_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_add_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { - while ((ch = getopt(argc, argv, options)) != -1) { - switch(ch) { - case 'C': - strlcpy(add.chroot, optarg, PATH_MAX); - break; - case 'f': - add.flags |= force_flag; + char opt_char; + + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_ADD_OPTS)) != -1) + { + + switch(opt_char) { + case 'F': + *(settings+s_off)->remote_fetch_mode = 1; break; case 'I': - add.flags |= no_run_script_flag; + add.flags |= no_install_script_flag; break; case 'K': /* Save the package file in . or ${PKGDIR} */ add.flags |= keep_file_flag; break; - case 'M': - errx(1, "Unsupported argument"); - break; - case 'n': - add.flags |= no_run_flag; - break; case 'P': - add.base_prefix = optarg; - add.prefix = optarg; +// @todo: Replace __prefix_level with the appropriate data member in **settings for the appropriate struct pkg_action_settings object. +// sscanf(optarg, "%d", &__prefix_level); + warnx("Feature, represented by -%c not available yet", + opt_char); break; - case 'p': - add.base_prefix = optarg; - add.prefix = NULL; - break; case 'R': add.flags |= no_record_install_flag; break; - case 'r': - remote = 1; - break; - case 'S': - errx(1, "Unsupported argument"); - break; case 't': - errx(1, "The -t argument is unneeded as the staging area is unused"); - break; - case 'v': - add.flags |= verbosity_flag; - break; - case 'h': - case '?': - default: - usage(); - break; + errx(1, "The -%c argument is unused.", opt_char); + /** Return integer **/ +// default: +// return -1; } + } } + +void +print_add_args() +{ + fprintf(stderr, + "Usage: pkgman add -FIKR -P [prefix] -t [template string]" + "\t-F\n" + "\t\tEnable Remote fetch mode (formerly -r).\n" + "\t-I\n" + "\t\tDon't run install scripts.\n" + "\t-K\n" + "\t\tKeep all [recursively] downloaded packages\n" + "\t-P [prefix]\n" + "\t\tUse prefix as the installation prefix.\n" + "\t-R\n" + "\t\tDo not record package install (use with caution!)\n" + "\t-t [template string]\n" + "\t\tUse string provided as a basis for calls to mkdtemp(3) / mkstemp(3).\n" + ); +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_ADD_AP_H -int pkg_action_add_parse_args(pkg_action_settings *, int, char **); -void pkg_action_add_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_add_args(const int, struct pkg_action_settings**, int, char **); +void print_add_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.c#3 (text+ko) ==== @@ -1,8 +1,52 @@ -#include "ap/check/arg_parser.h" +#include "check/arg_parser.h" +/* + * Parse the arguments for pkg_check(1). + */ int -pkg_action_check_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_check_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) +{ + + char opt_char; + + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_CHECK_OPTS)) != -1) + { + switch (opt_char) { +/* + case 'k': + break; + case 't': + break; + case 'u': + break; +*/ + default: + return -1; + } + } + +} + +/* + * Print out usage message + */ +void +print_check_args() { - /** Same ole song **/ + + /** XXX: Update with appropriate descriptions **/ + fprintf(stderr, + "Usage: pkgman check -k [keyfile] -t [cypher type] -u [uid]\n" + "\t-k [keyfile]\n" + "\t\t\n" /** Like here **/ + "\t-t [cypher type]\n" + "\t\tCheck package signature with cypher type provided.\n" + "\t\tThis can be 'pgp', 'sha1', or 'x509'.\n" + "\t-u [uid]\n" + "\t\tUse userid as argument when passed into pgp(1). Doesn't apply for sha1(1) or x590(1).\n" + ); + } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_CHECK_AP_H -int pkg_action_check_parse_args(pkg_action_settings*, int, char **); -void pkg_action_check_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_check_args(const int, struct pkg_action_settings**, int, char **); +void print_check_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.c#3 (text+ko) ==== @@ -1,9 +1,25 @@ -#include "ap/clean/arg_parser.h" +#include "clean/arg_parser.h" int -parse_clean_args(pkg_settings **settings, int settings_offset, char *opt_string, - int opt_cnt) +parse_clean_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { + char opt_char; + + /** Same ole song **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_CLEAN_OPTS)) != -1) + { + /* + * + */ + } + +} +void +print_clean_args() +{ + fprintf(stderr, "pkgman clean [global options]"); } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.h#3 (text+ko) ==== @@ -2,8 +2,13 @@ #define __PKG_ACT_CLEAN_AP_H -int pkg_action_clean_parse_args(pkg_action_settings*, int, char **); -void pkg_action_clean_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; +int parse_clean_args(const int, struct pkg_action_settings**, int, char **); +void print_clean_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -#include "ap/create/arg_parser.h" +#include "create/arg_parser.h" /* * Parse arguments specific to pkg_create(1). @@ -8,135 +8,144 @@ * @return 1 on failure (argument supported; invalid input). */ int -parse_create_args(pkg_settings **settings, int settings_offset, char *opt_string, - int opt_cnt) +parse_create_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { char opt_char; - if (0 != scan_search_opts(*settings, opt_char)) { + if (0 != scan_search_opts(*(settings+settings_offset), optarg_in, + optind_in)) + { } - if (0 != scan_ui_opts(*settings, opt_string)) { + if (0 != scan_ui_opts(*(settings+settings_offset), optarg_in, + optind_in)) + { } - switch(opt_char) { - case 'E': - MatchType = MATCH_EREGEX; - break; - case 'G': - MatchType = MATCH_REGEX; - break; - case 'x': - MatchType = MATCH_EXACT; - break; + /** Same ole song **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_CREATE_OPTS)) != -1) + { - case 'N': - AutoAnswer = NO; - break; + switch(opt_char) { - case 'Y': - AutoAnswer = YES; - break; + case 'E': + MatchType = MATCH_EREGEX; + break; + case 'G': + MatchType = MATCH_REGEX; + break; + case 'x': + MatchType = MATCH_EXACT; + break; - case 'r': - Recursive = TRUE; - break; + case 's': + SrcDir = optarg; + break; - case 's': - SrcDir = optarg; - break; + case 'S': + BaseDir = optarg; + break; - case 'S': - BaseDir = optarg; - break; + case 'f': + Contents = optarg; + break; - case 'f': - Contents = optarg; - break; + case 'C': + Conflicts = optarg; + break; - case 'C': - Conflicts = optarg; - break; + case 'c': + Comment = optarg; + break; - case 'c': - Comment = optarg; - break; + case 'd': + Desc = optarg; + break; - case 'd': - Desc = optarg; - break; + case 'i': + Install = optarg; + break; - case 'i': - Install = optarg; - break; + case 'I': + PostInstall = optarg; + break; - case 'I': - PostInstall = optarg; - break; + case 'k': + DeInstall = optarg; + break; - case 'k': - DeInstall = optarg; - break; + case 'K': + PostDeInstall = optarg; + break; - case 'K': - PostDeInstall = optarg; - break; + case 'R': + Require = optarg; + break; - case 'R': - Require = optarg; - break; + case 't': +// This needs to match the template item.. +// strlcpy(PlayPen, optarg, sizeof(PlayPen)); + break; - case 't': - strlcpy(PlayPen, optarg, sizeof(PlayPen)); - break; + case 'X': + ExcludeFrom = optarg; + break; - case 'X': - ExcludeFrom = optarg; - break; + case 'h': + Dereference = TRUE; + break; - case 'h': - Dereference = TRUE; - break; + case 'D': + Display = optarg; + break; - case 'D': - Display = optarg; - break; + case 'm': + Mtree = optarg; + break; - case 'm': - Mtree = optarg; - break; + case 'P': + Pkgdeps = optarg; + break; - case 'P': - Pkgdeps = optarg; - break; + case 'j': + Zipper = BZIP2; + break; - case 'j': - Zipper = BZIP2; - break; + case 'z': + Zipper = GZIP; + break; - case 'z': - Zipper = GZIP; - break; + case 'b': + InstalledPkg = optarg; + while ((tmp = strrchr(optarg, (int)'/')) != NULL) { + *tmp++ = '\0'; + /* + * If character after the '/' is alphanumeric, then we've + * found the package name. Otherwise we've come across + * a trailing '/' and need to continue our quest. + */ + if (isalpha(*tmp)) { + InstalledPkg = tmp; + break; + } + } + break; - case 'b': - InstalledPkg = optarg; - while ((tmp = strrchr(optarg, (int)'/')) != NULL) { - *tmp++ = '\0'; - /* - * If character after the '/' is alphanumeric, then we've - * found the package name. Otherwise we've come across - * a trailing '/' and need to continue our quest. - */ - if (isalpha(*tmp)) { - InstalledPkg = tmp; - break; } - } - break; } } + +void +print_create_args() +{ + fprintf(stderr, + "pkgman create " + ); +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_CREATE_AP_H -int pkg_action_create_parse_args(pkg_action_settings*, int, char **); -void pkg_action_create_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_create_args(const int, struct pkg_action_settings**, int, char **); +void print_create_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.c#3 (text+ko) ==== @@ -1,50 +1,44 @@ -#include "ap/delete/arg_parser.h" +#include "delete/arg_parser.h" int -pkg_action_delete_parse_args(pkg_settings **settings, int settings_offset, - char *opt_string, int opt_cnt) +parse_delete_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { + char opt_char; + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_DELETE_OPTS)) != -1) { - case 'a': - delete.match_type = PKG_DB_MATCH_ALL; - break; case 'd': delete.flags |= remove_empty_dirs_flag; break; case 'D': delete.flags |= no_run_script_flag; break; - case 'f': - delete.flags |= force_flag; - break; - case 'G': - delete.match_type = PKG_DB_MATCH_EXACT; - break; case 'i': delete.flags |= interactive_flag; break; - case 'n': - delete.flags |= no_run_flag; + default: + return -1; break; - case 'p': - delete.prefix = optarg; - errx(1, "Unsupported argument"); - break; - case 'r': - delete.flags |= recursive_flag; - break; - case 'v': - delete.flags |= verbosity_flag; - break; - case 'x': - delete.match_type = PKG_DB_MATCH_REGEX; - break; - case 'X': - delete.match_type = PKG_DB_MATCH_EREGEX; + } + +} - } +void +print_delete_args() +{ + fprintf(stderr, + "Usage: pkgman delete -dDi [package meta string]\n" + "\t-d\n" + "\tPrune empty directories.\n" + "\t-D\n" + "\tDon't execute deinstall scripts.\n" + "\t-i\n" + "\tBe interactive (ask before deleting).\n" + ); } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_DELETE_AP_H -int pkg_action_delete_parse_args(pkg_action_settings*, int, char **); -void pkg_action_delete_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_delete_args(const int, struct pkg_action_settings**, int, char **); +void print_delete_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.c#3 (text+ko) ==== @@ -1,16 +1,18 @@ #include "ap/info/arg_parser.h" int -pkg_action_info_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_info_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { - /** getopt blah goes here.. **/ + char opt_char; + + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_INFO_OPTS)) != -1) { - case 'a': - info.match_type = MATCH_ALL; - break; + switch(opt_char) { case 'b': info.use_blocksize = 1; break; @@ -24,7 +26,7 @@ info.flags |= SHOW_DISPLAY; break; case 'e': - info.check_package = optarg; + info.check_package = strdup(optarg); break; case 'E': info.flags |= SHOW_PKGNAME; @@ -35,13 +37,10 @@ case 'g': info.flags |= SHOW_CKSUM; break; - case 'G': - info.match_type = MATCH_EXACT; - break; case 'i': info.flags |= SHOW_INSTALL; break; - case 'I': + case 'N': info.flags |= SHOW_INDEX; break; case 'j': @@ -51,7 +50,7 @@ info.flags |= SHOW_DEINSTALL; break; case 'l': - info.separator = optarg; + info.separator = strdup(optarg); break; case 'L': info.flags |= SHOW_FILES; @@ -63,20 +62,11 @@ info.flags |= SHOW_ORIGIN; break; case 'O': - info.origin = optarg; - break; - case 'p': - info.flags |= SHOW_PREFIX; + info.origin = strdup(optarg); break; case 'P': info.flags |= SHOW_PTREV; break; - case 'q': - info.quiet = 1; - break; - case 'Q': - info.quiet = 2; - break; case 'r': info.flags |= SHOW_DEPEND; break; @@ -86,9 +76,6 @@ case 's': info.flags |= SHOW_SIZE; break; - case 't': - errx(1, "Unsupported argument"); - break; case 'V': info.flags |= SHOW_FMTREV; break; @@ -102,12 +89,17 @@ /* Insert found argument at head of list */ SLIST_INSERT_HEAD(); break; - case 'x': - info.match_type = MATCH_REGEX; - break; - case 'X': - info.match_type = MATCH_EREGEX; + + } } } + +void +print_info_args() +{ + fprintf(stderr, + "Usage: pkgman info" + ); +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.h#3 (text+ko) ==== @@ -2,8 +2,13 @@ #define __PKG_ACT_INFO_AP_H -int pkg_action_info_parse_args(pkg_action_settings*, int, char **); -void pkg_action_info_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; +int parse_info_args(const int, struct pkg_action_settings**, int, char **); +void print_info_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.c#3 (text+ko) ==== @@ -1,14 +1,32 @@ -#include "ap/show/arg_parser.h" +#include "show/arg_parser.h" /* * The steps req'd should be similar for pkg_show, as for pkg_version, as far * as searching for the pkgs is concerned.. + * + * The purpose of this action is merely to show information regarding the + * package of reference. */ int -pkg_action_show_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_show_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { - return -1; + char opt_char; + + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_SHOW_OPTS)) != -1) + { + return -1; + } + +} +void +print_show_args() +{ + fprintf(stderr, + "Usage: pkgman show" + ); } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_SHOW_AP_H -int pkg_action_show_parse_args(pkg_action_settings*, int, char **); -void pkg_action_show_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_show_args(const int, struct pkg_action_settings**, int, char **); +void print_show_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.c#3 (text+ko) ==== @@ -1,12 +1,21 @@ -#include "ap/sign/arg_parser.h" +#include "sign/arg_parser.h" int -pkg_action_sign_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_sign_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { + char opt_char; + + /** Parse args **/ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_SIGN_OPTS)) != -1) { + switch(opt_char) { + case 'k': + userkey = optarg; + break; case 't': if (strcmp(optarg, "pgp") == 0) type = TAG_PGP; @@ -20,23 +29,16 @@ case 'u': userid = strdup(optarg); break; + } - case 'k': - userkey = optarg; - break; + } - case 'q': - quiet = 1; - break; +} -#ifndef CHECKER_ONLY - case 's': - mode = SIGN; - break; -#endif - case 'c': - mode = CHECK; - - } - +void +print_sign_args() +{ + fprintf(stderr, + "Usage: pkgman sign" + ); } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_SIGN_AP_H -int pkg_action_sign_parse_args(pkg_action_settings*, int, char **); -void pkg_action_sign_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + +int parse_sign_args(const int, struct pkg_action_settings**, int, char **); +void print_sign_usage(); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.c#2 (text+ko) ==== @@ -1,12 +1,51 @@ -#include "ap/update/arg_parser.h" +#include "update/arg_parser.h" /* - * Finish off implementation. Should be pkg_version junk, followed up by - * with pkg_delete and pkg_add commands. + * Finish off implementation. + * + * Should be version junk, followed up by with delete and + * add commands; this should only be required when adding + * alone doesn't muster up for the task. + * + * Part of the purpose of this is to dispose of the ugly + * PKG_REGISTER_FORCE hack currently used by pkg_add(1), as well + * as ease package maintenance by giving users the option of + * streamlining the monotonous inclusive tasks of adding and + * deleting packages. + * */ int -pkg_action_update_parse_args(pkg_action_settings *settings, int optind, - char **optarg) +parse_update_args(const int s_off, struct pkg_action_settings **settings, + int optind_in, char **optarg_in) { + return -1; + + char opt_char; + + /* + * Parse args -- instead of duplicating the arg parsing, + * let the add and delete arg parsers do the majority of + * the work, piggyback off of them, and add in additional + * functionality, as seen fit.. + */ + while ((opt_char = getopt(optind_in, optarg_in, + PKG_UPDATE_OPTS)) != -1) + { + + switch(opt_char) { + + } + + } + +} + +void +print_update_args() +{ + fprintf(stderr, + "Usage: pkgman update" + ); + } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.h#3 (text+ko) ==== @@ -2,7 +2,13 @@ #define __PKG_ACT_UPDATE_AP_H -int pkg_action_update_parse_args(pkg_action_settings*, int, char **); -void pkg_action_update_print_usage(); +#include "ap/lib/includes.h" + +#define PKG_ADD_OPTS "FIKP:Rt:" + +struct pkg_action_settings; + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 09:01:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33CF8106566B; Tue, 18 Mar 2008 09:01:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6BB31065673 for ; Tue, 18 Mar 2008 09:01:06 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D14988FC17 for ; Tue, 18 Mar 2008 09:01:06 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2I916ma094920 for ; Tue, 18 Mar 2008 09:01:06 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2I916VN094918 for perforce@freebsd.org; Tue, 18 Mar 2008 09:01:06 GMT (envelope-from gcooper@FreeBSD.org) Date: Tue, 18 Mar 2008 09:01:06 GMT Message-Id: <200803180901.m2I916VN094918@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 137991 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 09:01:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=137991 Change 137991 by gcooper@gcooper-starr on 2008/03/18 09:00:22 Same for actions. Really, really stubbed and not much to see here. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/add/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/base.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/base.h#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/check/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/clean/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/delete/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/info/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/show/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/sign/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/update/section.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/pkg_action_settings.c#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/pkg_action_settings.h#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/pkg_action_update_arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.c#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/main.c#8 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/pkgman.h#5 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/add/section.c#3 (text+ko) ==== @@ -1,0 +1,12 @@ +#include "action/add/section.h" + +int +perform_fbsd_pkg_add(const pkg_action_settings *settings) +{ + + /* + * + * + */ + +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/base.c#3 (text+ko) ==== @@ -5,7 +5,7 @@ * @return Object for respective constructor. * @return NULL on bad action_type. */ -pkg_action +struct pkg_action* init_action(int action_type, struct freebsd_package *fpkg) { ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/base.h#3 (text+ko) ==== @@ -17,6 +17,6 @@ void (*perform) (freebsd_pkg*, uint64 flags); }; -pkg_action init_action(int, freebsd_pkg_q_item); +struct pkg_action* init_action(int, freebsd_pkg_q_item); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/check/section.c#3 (text+ko) ==== @@ -1,2 +1,2 @@ -#include "pkg_action.h" +#include "action/clean/section.h" ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/clean/section.c#3 (text+ko) ==== @@ -1,2 +1,2 @@ -#include "pkg_action.h" +#include "action/clean/section.h" ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/delete/section.c#3 (text+ko) ==== @@ -1,2 +1,2 @@ -#include "pkg_action.h" +#include "action/delete/section.h" ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/info/section.c#3 (text+ko) ==== @@ -1,2 +1,2 @@ -#include "pkg_action.h" +#include "action/info/section.h" ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/show/section.c#3 (text+ko) ==== @@ -1,2 +1,2 @@ -#include "pkg_action.h" +#include "action/show/section.h" ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/sign/section.c#3 (text+ko) ==== @@ -1,2 +1,13 @@ -#include "pkg_action.h" +#include "action/sign/section.h" + +int +perform_fbsd_pkg_sign(const pkg_action_settings *settings) +{ + + + + + + +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/action/update/section.c#3 (text+ko) ==== @@ -1,2 +1,7 @@ -#include "pkg_action.h" +#include "action/update/section.h" + +int +perform_fbsd_pkg_update(const pkg_action_settings *settings) +{ +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/add/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/check/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/clean/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/create/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/delete/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/info/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/pkg_action_settings.c#2 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/pkg_action_settings.h#2 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/show/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/sign/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.c#3 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/pkg_action_update_arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.c#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/version/arg_parser.h#4 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/main.c#8 (text+ko) ==== @@ -21,8 +21,9 @@ cmd_str = strdup(*(argv+1)); - optional_opt_str_p = (char**) malloc(sizeof(char*)+1); + optional_opt_str_p = (char**) malloc(sizeof(char*)*argc+1); + /* Scan for the initial command */ if (0 == strcmp(cmd_str, ADD)) { action_type = _pkg_add; } else if (0 == strcmp(cmd_str, CLEAN)) { @@ -70,17 +71,24 @@ /** Don't error out on unknown / non-globally applied flags, yet.. **/ opterr = 0; + /* + * @todo: Move this parse block to an arg parser to simplify / modularize the program. + * + * Doing this eliminates caveats like dealing with the origins and search + * items, as well as return codes.. + */ + /** Parse in global arguments **/ while ( (opt_char = getopt(argc, argv, GLOBAL_OPT_STRING)) != -1 ) { switch (opt_char) { /** Force **/ case 'f': - global_settings->iu_opts |= FORCE_FLAG; + settings->iu_opts |= FORCE_FLAG; break; /** Interactive **/ case 'i': - global_settings->iu_opts |= INTERACTIVE_FLAG; + settings->iu_opts |= INTERACTIVE_FLAG; break; /** No-exec command **/ case 'o': @@ -91,37 +99,39 @@ * @todo: Add tmp_pkg_origin to STAILQ here * with origin names.. * - * Does this get freed with pkg_freebsd_pkg_new - * (or whatever the constructor was..)? + * Don't worry -- this stuff gets cleaned up + * from within the relevant freebsd pkg + * constructor. */ } break; /** Prefix **/ case 'p': - if (optarg != NULL && strlen(optarg)) { - strdup(global_settings->prefix_path_str, + if (optarg != NULL && 0 < strlen(optarg)) { + strdup(settings->prefix_path_str, optarg); } else { - + errx("-%c flag usage invalid: requires argument..\n", + opt_char); } break; /** Quiet **/ case 'q': - if (global_settings->opts & VERBOSE_FLAG) { + if (settings->iu_opts & VERBOSE_FLAG) { errx(QV_ERR_MSG); } - global_settings->iu_opts |= QUIET_FLAG; + settings->iu_opts |= QUIET_FLAG; break; /** Recursive **/ case 'r': - global_settings->misc_opts |= RECURSIVE_FLAG; + settings->misc_opts |= RECURSIVE_FLAG; break; /** Verbose **/ case 'v': - if (global_settings->opts & QUIET_FLAG) { + if (settings->iu_opts & QUIET_FLAG) { errx(QV_ERR_MSG); } - global_settings->iu_opts |= VERBOSE_FLAG; + settings->iu_opts |= VERBOSE_FLAG; break; } @@ -146,35 +156,52 @@ * Parse command specific args, once and once only.. * See pkg_action_parsers for more details. */ - for (i = 1; i <= _PKG_LAST_COMMAND; i++) { + for (i = _PKG_FIRST_COMMAND; i <= _PKG_LAST_COMMAND; i++) { /* - * If arguments usage was invalid, print usage message for specific command - * and exit.. + * If arguments usage was invalid, print usage message + * for specific command and exit.. */ - if (0 < parsers[action_type]->parse_args(global_settings, + if (0 < parsers[i]->parse_args(i, settings, optional_opts_ind+1, optional_opt_str_p) ) { - /** Display the main usage arguments **/ + /** + * Display the main usage arguments, if + * i != _pkg_null.. + **/ if (action_type != _pkg_null) { parsers[_pkg_null]->print_use(); } - parsers[action_type]->print_use(); + parsers[i]->print_use(); exit(1); + } } /* + * Generate actions here -- this is where the actual event composition + * occurs -- eliminate dup strings, i.e. + * + * misc/screen misc/screen ... etc + * + * This will reduce workload on decomposition below. + * + * This is a prime opportunity for btrees to shine, as the data sets + * here are sufficiently small to warrant a simpler structure, which + * is faster to compute / get / fetch data with. + */ + + /* * Grab pkg data strings to perform actions on. * - * pkg data strings include: - * 1. Pkg names. + * "pkg data strings" include: + * 1. Pkg names. [is this a special subset of 3?] * 2. URI's. * 3. Origins. * 4. Patterns. * - * Questions to one one's self: + * Questions to ask one's self: * 1. What items do we not need pkg data strings for? * a. How many of the commands do we take only 1 string for? * b. How many of the commands do we take 1+ strings for? @@ -186,18 +213,82 @@ */ int action_result; - /** Foreach action / pkg, repeat necessary set of steps to reach required conclusion... **/ - { + /* + * Set the counter to the last optional opt index, plus one of course + * for good measure :) (cause we skip to our Lou over the last optional + * opt, yar!) + */ + i = optional_opts_ind + 1; + + /* + * The method of attack which needs to be done below is that the + * elements need to be decomposed from their composed states, i.e. + * duplicate steps need to be eliminated, pathes which overlap + * virtually should be converged, fbsd_pkg objects should be created + * as necessary, etc. + * + * This would be a REALLY handy spot for using a virtual BDB hash + * data structure with file backing, in particular for caching + * purposes. + */ + + /* + * 'Foreach' pkg data string, repeat necessary set of steps to reach + * required conclusion... + * + * Why a do-while? Cause some commands don't need pkg data strings + * (the clean and version commands for instance). + */ + do { + + /** Foreach composed action.. **/ + { + + /* + * Try to create the package object, depending on what the action + * being performed is + */ + switch (action->type) { + + /* + * Create a fbsd_pkg object for everything. + * + * clean, update, and version are special cases as they + * don't necessary need arguments (and hence can be "*" + * or "match all" equivalent) + * + */ + + + + + } + + /* + * Generate hash of some kind for each action. See if the hash + * already exists in the lookup table. + */ + + /** Perform the action, per the package **/ + if ( (action_result = + action->perform(settings, optional_opts, i)) + != 0 ) { + warnx("Error encountered when processing " + "command: %s\n", + cmd_str); + if (action->type & CRITICAL_ACTION) { + break; + } + + } - /** Perform the action **/ - if ( (action_result = action->perform()) != 0 ) { - warnx("Error encountered when processing command: %s\n", cmd_str); -// break; } - } + i++; - /** End foreach **/ + } while (i < argc); + /** End 'foreach' **/ return action_result; + } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/pkgman.h#5 (text+ko) ==== @@ -8,7 +8,7 @@ #include #include -enum commands_t { +typedef enum _commands_t { _pkg_null = 0, _pkg_add, _pkg_check, @@ -20,14 +20,14 @@ _pkg_sign, _pkg_update, _pkg_version -}; +} commands_t; #define _PKG_LAST_COMMAND _pkg_version -#define COMMAND_LENGTH (version+1) +#define COMMAND_LENGTH (_pkg_version+1) -#define ADD "add" -#define CHECK "check" +#define ADD "add" /** Add a package **/ +#define CHECK "check" /** Verify that a package matches its provided signature; see pkg_check(1) **/ #define CLEAN "clean" /** Clean a given package and/or package repository (old versions, dirty sandboxes, etc) **/ #define CREATE "create" /** Create a given package **/ #define DELETE "delete" /** Delete a given package **/ @@ -49,8 +49,8 @@ * -q -- Be quiet (opposite of -v) * -v -- Be verbose */ -#define GLOBAL_OPT_STRING "fo:p:qv" +#define PKG_GLOBAL_OPTS "fo:p:qv" -#define QV_ERR_MSG "Either verbose or quiet mode can be enabled; not both.." +#define QV_ERR_MSG "Either verbose or quiet mode can be enabled; not both.." #endif From owner-p4-projects@FreeBSD.ORG Tue Mar 18 09:29:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DC851065670; Tue, 18 Mar 2008 09:29:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5E8C106564A for ; Tue, 18 Mar 2008 09:29:35 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.247]) by mx1.freebsd.org (Postfix) with ESMTP id 99E508FC15 for ; Tue, 18 Mar 2008 09:29:35 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: by an-out-0708.google.com with SMTP id c16so1534737ana.7 for ; Tue, 18 Mar 2008 02:29:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:cc:message-id:from:to:in-reply-to:content-type:content-transfer-encoding:mime-version:subject:date:references:x-mailer; bh=oxWlPXxj3wNwdqkY0rDRt/dQsSyB/lCAyGDkNCgp/7k=; b=iVRQEVztOIGR8I+rzEzDp8zWqgZrD5yX+/J2fL5k6VKj5AZB07ej8hlieI3fVjEto0jSgyRjPiE50XF5XrDNDAbWUHfsaTZqRyHl24W477CrqIcRFK1IFkCwThPDym1ajb6gw7dtpPEPhJAemGk/nltmko9ubAV9+k99XAoswzc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=cc:message-id:from:to:in-reply-to:content-type:content-transfer-encoding:mime-version:subject:date:references:x-mailer; b=jw1PvkyNqfkV6QksXfO3VP1rXumLIw21MENsS5UDjJdouIb8AiqL+hMXXWo5RushhYrprwKo7e1/G2XRV0mqPGxs/LN9YKHpmiymU4lu+HB+x6vGa4tv0/I/N956fguJEdEVxrOYCql3dNLD/avKb365Y+whlXpmRE02NOp1XIU= Received: by 10.100.91.17 with SMTP id o17mr1238150anb.5.1205832574672; Tue, 18 Mar 2008 02:29:34 -0700 (PDT) Received: from ?192.168.10.43? ( [99.139.48.67]) by mx.google.com with ESMTPS id e27sm14957621elf.1.2008.03.18.02.29.32 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 18 Mar 2008 02:29:33 -0700 (PDT) Message-Id: From: Garrett Cooper To: Garrett Cooper In-Reply-To: <200803180901.m2I916VN094918@repoman.freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Tue, 18 Mar 2008 02:29:31 -0700 References: <200803180901.m2I916VN094918@repoman.freebsd.org> X-Mailer: Apple Mail (2.919.2) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 137991 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 09:29:37 -0000 On Mar 18, 2008, at 2:01 AM, Garrett Cooper wrote: > ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/ > pkgman/main.c#8 (text+ko) ==== > > @@ -21,8 +21,9 @@ > > cmd_str = strdup(*(argv+1)); > > - optional_opt_str_p = (char**) malloc(sizeof(char*)+1); > + optional_opt_str_p = (char**) malloc(sizeof(char*)*argc+1); > > + /* Scan for the initial command */ > if (0 == strcmp(cmd_str, ADD)) { > action_type = _pkg_add; > } else if (0 == strcmp(cmd_str, CLEAN)) { > @@ -70,17 +71,24 @@ > /** Don't error out on unknown / non-globally applied flags, yet.. > **/ > opterr = 0; > > + /* > + * @todo: Move this parse block to an arg parser to simplify / > modularize the program. > + * > + * Doing this eliminates caveats like dealing with the origins > and search > + * items, as well as return codes.. > + */ > + > /** Parse in global arguments **/ > while ( (opt_char = getopt(argc, argv, GLOBAL_OPT_STRING)) != -1 ) { > > switch (opt_char) { > /** Force **/ > case 'f': > - global_settings->iu_opts |= FORCE_FLAG; > + settings->iu_opts |= FORCE_FLAG; > break; > /** Interactive **/ > case 'i': > - global_settings->iu_opts |= INTERACTIVE_FLAG; > + settings->iu_opts |= INTERACTIVE_FLAG; > break; > /** No-exec command **/ > case 'o': > @@ -91,37 +99,39 @@ > * @todo: Add tmp_pkg_origin to STAILQ here > * with origin names.. > * > - * Does this get freed with pkg_freebsd_pkg_new > - * (or whatever the constructor was..)? > + * Don't worry -- this stuff gets cleaned up > + * from within the relevant freebsd pkg > + * constructor. > */ > } > break; > /** Prefix **/ > case 'p': > - if (optarg != NULL && strlen(optarg)) { > - strdup(global_settings->prefix_path_str, > + if (optarg != NULL && 0 < strlen(optarg)) { > + strdup(settings->prefix_path_str, > optarg); > } else { > - > + errx("-%c flag usage invalid: requires argument..\n", > + opt_char); > } > break; > /** Quiet **/ > case 'q': > - if (global_settings->opts & VERBOSE_FLAG) { > + if (settings->iu_opts & VERBOSE_FLAG) { > errx(QV_ERR_MSG); > } > - global_settings->iu_opts |= QUIET_FLAG; > + settings->iu_opts |= QUIET_FLAG; > break; > /** Recursive **/ > case 'r': > - global_settings->misc_opts |= RECURSIVE_FLAG; > + settings->misc_opts |= RECURSIVE_FLAG; > break; > /** Verbose **/ > case 'v': > - if (global_settings->opts & QUIET_FLAG) { > + if (settings->iu_opts & QUIET_FLAG) { > errx(QV_ERR_MSG); > } > - global_settings->iu_opts |= VERBOSE_FLAG; > + settings->iu_opts |= VERBOSE_FLAG; > break; > } > > @@ -146,35 +156,52 @@ > * Parse command specific args, once and once only.. > * See pkg_action_parsers for more details. > */ > - for (i = 1; i <= _PKG_LAST_COMMAND; i++) { > + for (i = _PKG_FIRST_COMMAND; i <= _PKG_LAST_COMMAND; i++) { > > /* > - * If arguments usage was invalid, print usage message for > specific command > - * and exit.. > + * If arguments usage was invalid, print usage message > + * for specific command and exit.. > */ > - if (0 < parsers[action_type]->parse_args(global_settings, > + if (0 < parsers[i]->parse_args(i, settings, > optional_opts_ind+1, optional_opt_str_p) > ) { > - /** Display the main usage arguments **/ > + /** > + * Display the main usage arguments, if > + * i != _pkg_null.. > + **/ > if (action_type != _pkg_null) { > parsers[_pkg_null]->print_use(); > } > - parsers[action_type]->print_use(); > + parsers[i]->print_use(); > exit(1); > + > } > > } > > /* > + * Generate actions here -- this is where the actual event > composition > + * occurs -- eliminate dup strings, i.e. > + * > + * misc/screen misc/screen ... etc > + * > + * This will reduce workload on decomposition below. > + * > + * This is a prime opportunity for btrees to shine, as the data sets > + * here are sufficiently small to warrant a simpler structure, which > + * is faster to compute / get / fetch data with. > + */ > + > + /* > * Grab pkg data strings to perform actions on. > * > - * pkg data strings include: > - * 1. Pkg names. > + * "pkg data strings" include: > + * 1. Pkg names. [is this a special subset of 3?] > * 2. URI's. > * 3. Origins. > * 4. Patterns. > * > - * Questions to one one's self: > + * Questions to ask one's self: > * 1. What items do we not need pkg data strings for? > * a. How many of the commands do we take only 1 string for? > * b. How many of the commands do we take 1+ strings for? > @@ -186,18 +213,82 @@ > */ > int action_result; > > - /** Foreach action / pkg, repeat necessary set of steps to reach > required conclusion... **/ > - { > + /* > + * Set the counter to the last optional opt index, plus one of > course > + * for good measure :) (cause we skip to our Lou over the last > optional > + * opt, yar!) > + */ > + i = optional_opts_ind + 1; > + > + /* > + * The method of attack which needs to be done below is that the > + * elements need to be decomposed from their composed states, i.e. > + * duplicate steps need to be eliminated, pathes which overlap > + * virtually should be converged, fbsd_pkg objects should be created > + * as necessary, etc. > + * > + * This would be a REALLY handy spot for using a virtual BDB hash > + * data structure with file backing, in particular for caching > + * purposes. > + */ > + > + /* > + * 'Foreach' pkg data string, repeat necessary set of steps to reach > + * required conclusion... > + * > + * Why a do-while? Cause some commands don't need pkg data strings > + * (the clean and version commands for instance). > + */ > + do { > + > + /** Foreach composed action.. **/ > + { > + > + /* > + * Try to create the package object, depending on what the action > + * being performed is > + */ > + switch (action->type) { > + > + /* > + * Create a fbsd_pkg object for everything. > + * > + * clean, update, and version are special cases as they > + * don't necessary need arguments (and hence can be "*" > + * or "match all" equivalent) > + * > + */ > + > + > + > + > + } > + > + /* > + * Generate hash of some kind for each action. See if the hash > + * already exists in the lookup table. > + */ > + > + /** Perform the action, per the package **/ > + if ( (action_result = > + action->perform(settings, optional_opts, i)) > + != 0 ) { > + warnx("Error encountered when processing " > + "command: %s\n", > + cmd_str); Arg. I accidentally submitted this change (pkgman/main.c). I'm filling in more blanks with comments and filling in the ideas, so that way I can code everything up in the near future. I wrote up an Excel document (tables were easier in Excel), which list some RFCs for the CLI. Some are non-POLA friendly RFCs, but I was hoping to programmatically and functionally improve how commands and flags work within the framework, because everything seems to be mish- mashed up right now in pkg_install(1). -Garrett From owner-p4-projects@FreeBSD.ORG Tue Mar 18 12:55:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D6291065671; Tue, 18 Mar 2008 12:55:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C26A106566B for ; Tue, 18 Mar 2008 12:55:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 178158FC1A for ; Tue, 18 Mar 2008 12:55:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2ICt8bA094899 for ; Tue, 18 Mar 2008 12:55:08 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2ICt7CT094897 for perforce@freebsd.org; Tue, 18 Mar 2008 12:55:07 GMT (envelope-from jhb@freebsd.org) Date: Tue, 18 Mar 2008 12:55:07 GMT Message-Id: <200803181255.m2ICt7CT094897@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 137999 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 12:55:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=137999 Change 137999 by jhb@jhb_zion on 2008/03/18 12:54:14 IFC @137998 Affected files ... .. //depot/projects/smpng/sys/amd64/acpica/madt.c#16 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#30 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#32 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#70 integrate .. //depot/projects/smpng/sys/amd64/amd64/mptable.c#13 integrate .. //depot/projects/smpng/sys/amd64/include/atomic.h#31 integrate .. //depot/projects/smpng/sys/amd64/isa/atpic.c#17 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#23 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#23 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#23 integrate .. //depot/projects/smpng/sys/amd64/linux32/syscalls.master#27 integrate .. //depot/projects/smpng/sys/arm/arm/intr.c#17 integrate .. //depot/projects/smpng/sys/arm/arm/machdep.c#23 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#27 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_ses.c#18 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#86 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#26 integrate .. //depot/projects/smpng/sys/conf/files#212 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#8 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/smpng/sys/dev/aac/aac.c#59 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#89 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#55 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#67 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.h#19 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_amd.c#9 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_console.c#27 integrate .. //depot/projects/smpng/sys/dev/syscons/sysmouse.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/if_zyd.c#3 integrate .. //depot/projects/smpng/sys/gdb/gdb_cons.c#3 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_drive.c#18 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#37 integrate .. //depot/projects/smpng/sys/i386/acpica/madt.c#23 integrate .. //depot/projects/smpng/sys/i386/cpufreq/est.c#9 integrate .. //depot/projects/smpng/sys/i386/cpufreq/p4tcc.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#30 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#53 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#131 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#111 integrate .. //depot/projects/smpng/sys/i386/i386/mptable.c#21 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#85 integrate .. //depot/projects/smpng/sys/i386/include/atomic.h#49 integrate .. //depot/projects/smpng/sys/i386/isa/atpic.c#20 integrate .. //depot/projects/smpng/sys/i386/linux/linux_proto.h#43 integrate .. //depot/projects/smpng/sys/i386/linux/linux_syscall.h#41 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysent.c#42 integrate .. //depot/projects/smpng/sys/i386/linux/syscalls.master#48 integrate .. //depot/projects/smpng/sys/i386/xbox/xbox.c#5 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#40 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#114 integrate .. //depot/projects/smpng/sys/ia64/ia64/sscdisk.c#19 integrate .. //depot/projects/smpng/sys/ia64/include/atomic.h#14 integrate .. //depot/projects/smpng/sys/ia64/isa/isa_dma.c#10 integrate .. //depot/projects/smpng/sys/kern/init_main.c#72 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#17 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#59 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#111 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#54 integrate .. //depot/projects/smpng/sys/kern/kern_idle.c#31 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#91 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#91 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#50 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#26 integrate .. //depot/projects/smpng/sys/kern/kern_module.c#27 integrate .. //depot/projects/smpng/sys/kern/kern_ntptime.c#23 integrate .. //depot/projects/smpng/sys/kern/kern_poll.c#25 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#76 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#70 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#71 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#121 integrate .. //depot/projects/smpng/sys/kern/kern_tc.c#46 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#45 integrate .. //depot/projects/smpng/sys/kern/link_elf_obj.c#19 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#71 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#83 integrate .. //depot/projects/smpng/sys/kern/subr_autoconf.c#12 integrate .. //depot/projects/smpng/sys/kern/subr_eventhandler.c#23 integrate .. //depot/projects/smpng/sys/kern/subr_log.c#18 integrate .. //depot/projects/smpng/sys/kern/subr_prof.c#31 integrate .. //depot/projects/smpng/sys/kern/subr_smp.c#49 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#167 integrate .. //depot/projects/smpng/sys/kern/tty_cons.c#39 integrate .. //depot/projects/smpng/sys/kern/tty_pts.c#8 integrate .. //depot/projects/smpng/sys/kern/tty_pty.c#52 integrate .. //depot/projects/smpng/sys/kern/tty_subr.c#9 integrate .. //depot/projects/smpng/sys/kern/tty_tty.c#19 integrate .. //depot/projects/smpng/sys/kern/uipc_domain.c#21 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#109 integrate .. //depot/projects/smpng/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#108 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#38 integrate .. //depot/projects/smpng/sys/kern/vfs_hash.c#7 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#47 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#147 integrate .. //depot/projects/smpng/sys/net/bpf.c#73 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.c#11 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.h#8 integrate .. //depot/projects/smpng/sys/net/if.c#98 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#10 integrate .. //depot/projects/smpng/sys/net/netisr.c#13 integrate .. //depot/projects/smpng/sys/net/rtsock.c#59 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_load.c#11 integrate .. //depot/projects/smpng/sys/netatm/sigpvc/sigpvc_if.c#8 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_if.c#8 integrate .. //depot/projects/smpng/sys/netatm/uni/uni_load.c#5 integrate .. //depot/projects/smpng/sys/netgraph/ng_base.c#53 integrate .. //depot/projects/smpng/sys/netgraph/ng_l2tp.c#15 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#79 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#90 integrate .. //depot/projects/smpng/sys/netinet/libalias/alias_irc.c#6 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.c#23 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#17 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#27 integrate .. //depot/projects/smpng/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/smpng/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/smpng/sys/powerpc/booke/vm_machdep.c#2 integrate .. //depot/projects/smpng/sys/powerpc/include/atomic.h#19 integrate .. //depot/projects/smpng/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/intr_machdep.c#14 integrate .. //depot/projects/smpng/sys/security/audit/audit.c#12 integrate .. //depot/projects/smpng/sys/sparc64/include/atomic.h#16 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/intr_machdep.c#28 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/vm_machdep.c#52 integrate .. //depot/projects/smpng/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/smpng/sys/sys/ata.h#29 integrate .. //depot/projects/smpng/sys/sys/bus_dma.h#3 integrate .. //depot/projects/smpng/sys/sys/conf.h#50 integrate .. //depot/projects/smpng/sys/sys/eventhandler.h#27 integrate .. //depot/projects/smpng/sys/sys/interrupt.h#24 integrate .. //depot/projects/smpng/sys/sys/kernel.h#39 integrate .. //depot/projects/smpng/sys/sys/module.h#11 integrate .. //depot/projects/smpng/sys/sys/resourcevar.h#28 integrate .. //depot/projects/smpng/sys/sys/rwlock.h#13 integrate .. //depot/projects/smpng/sys/sys/taskqueue.h#12 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#68 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#71 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#64 integrate .. //depot/projects/smpng/sys/vm/vm_init.c#15 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#65 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#96 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#41 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#64 integrate .. //depot/projects/smpng/sys/vm/vm_pageq.c#25 delete .. //depot/projects/smpng/sys/vm/vm_zeroidle.c#37 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/acpica/madt.c#16 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.25 2008/01/31 16:51:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.26 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -409,7 +409,7 @@ apic_register_enumerator(&madt_enumerator); } SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, - madt_register, NULL) + madt_register, NULL); /* * Call the handler routine for each entry in the MADT table. @@ -779,4 +779,4 @@ la->la_acpi_id); } } -SYSINIT(madt_set_ids, SI_SUB_CPU, SI_ORDER_ANY, madt_set_ids, NULL) +SYSINIT(madt_set_ids, SI_SUB_CPU, SI_ORDER_ANY, madt_set_ids, NULL); ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#30 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.37 2008/03/14 19:41:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.39 2008/03/17 22:42:00 jhb Exp $ */ /* @@ -77,12 +77,6 @@ static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; -#ifdef INTR_FILTER -static void intr_eoi_src(void *arg); -static void intr_disab_eoi_src(void *arg); -static void intr_event_stray(void *cookie); -#endif - #ifdef SMP static int assign_cpu; @@ -90,6 +84,10 @@ #endif static int intr_assign_cpu(void *arg, u_char cpu); +static void intr_disable_src(void *arg); +#ifdef INTR_FILTER +static void intr_event_stray(void *cookie); +#endif static void intr_init(void *__dummy); static int intr_pic_registered(struct pic *pic); static void intrcnt_setname(const char *name, int index); @@ -144,16 +142,10 @@ vector = isrc->is_pic->pic_vector(isrc); if (interrupt_sources[vector] != NULL) return (EEXIST); -#ifdef INTR_FILTER error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, - intr_eoi_src, intr_disab_eoi_src, intr_assign_cpu, "irq%d:", - vector); -#else - error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, intr_assign_cpu, "irq%d:", + intr_disable_src, (mask_fn)isrc->is_pic->pic_enable_source, + (mask_fn)isrc->is_pic->pic_eoi_source, intr_assign_cpu, "irq%d:", vector); -#endif if (error) return (error); sx_xlock(&intr_table_lock); @@ -237,6 +229,15 @@ return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); } +static void +intr_disable_src(void *arg) +{ + struct intsrc *isrc; + + isrc = arg; + isrc->is_pic->pic_disable_source(isrc, PIC_EOI); +} + #ifdef INTR_FILTER void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -289,24 +290,6 @@ "too many stray irq %d's: not logging anymore\n", isrc->is_pic->pic_vector(isrc)); } - -static void -intr_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_eoi_source(isrc); -} - -static void -intr_disab_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_disable_source(isrc, PIC_EOI); -} #else void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -510,7 +493,7 @@ sx_init(&intr_table_lock, "intr sources"); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } -SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL) +SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); #ifndef DEV_ATPIC /* Initialize the two 8259A's to a known-good shutdown state. */ @@ -642,5 +625,6 @@ } sx_xunlock(&intr_table_lock); } -SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL) +SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, + NULL); #endif ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#32 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.43 2007/10/27 13:34:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.44 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_hwpmc_hooks.h" @@ -1039,7 +1039,7 @@ printf("%s: Failed to probe CPUs: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_init, SI_SUB_TUNABLES - 1, SI_ORDER_SECOND, apic_init, NULL) +SYSINIT(apic_init, SI_SUB_TUNABLES - 1, SI_ORDER_SECOND, apic_init, NULL); /* * Setup the local APIC. We have to do this prior to starting up the APs @@ -1057,7 +1057,8 @@ printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL) +SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, + NULL); /* * Setup the I/O APICs. @@ -1086,7 +1087,7 @@ /* Enable the MSI "pic". */ msi_init(); } -SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL) +SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL); #ifdef SMP /* ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#70 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.682 2008/03/13 10:54:36 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.683 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -149,7 +149,7 @@ static void cpu_startup(void *); static void get_fpcontext(struct thread *td, mcontext_t *mcp); static int set_fpcontext(struct thread *td, const mcontext_t *mcp); -SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) +SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); #ifdef DDB extern vm_offset_t ksym_start, ksym_end; ==== //depot/projects/smpng/sys/amd64/amd64/mptable.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.240 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.241 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -381,7 +381,7 @@ apic_register_enumerator(&mptable_enumerator); } SYSINIT(mptable_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, - mptable_register, NULL) + mptable_register, NULL); /* * Call the handler routine for each entry in the MP config table. ==== //depot/projects/smpng/sys/amd64/include/atomic.h#31 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.44 2006/12/29 15:29:49 bde Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.45 2008/03/16 21:20:48 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -74,6 +74,7 @@ int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src); int atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src); u_int atomic_fetchadd_int(volatile u_int *p, u_int v); +u_long atomic_fetchadd_long(volatile u_long *p, u_long v); #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \ @@ -174,6 +175,25 @@ return (v); } +/* + * Atomically add the value of v to the long integer pointed to by p and return + * the previous value of *p. + */ +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + + __asm __volatile( + " " MPLOCKED " " + " xaddq %0, %1 ; " + "# atomic_fetchadd_long" + : "+r" (v), /* 0 (result) */ + "=m" (*p) /* 1 */ + : "m" (*p)); /* 2 */ + + return (v); +} + #if defined(_KERNEL) && !defined(SMP) /* ==== //depot/projects/smpng/sys/amd64/isa/atpic.c#17 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.22 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.23 2008/03/16 10:58:02 rwatson Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -499,7 +499,7 @@ intr_register_source(&ai->at_intsrc); } } -SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL) +SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL); void atpic_handle_intr(u_int vector, struct trapframe *frame) ==== //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#23 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -734,6 +734,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_setaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_sched_getaffinity_args { char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; @@ -1105,6 +1110,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *); int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); @@ -1360,6 +1366,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL #define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL ==== //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#23 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #define LINUX_SYS_exit 1 @@ -222,6 +222,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_setaffinity 241 #define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 ==== //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#23 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.34 2008/03/16 16:29:37 rdivacky Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp */ #include @@ -261,7 +261,7 @@ { AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0 }, /* 238 = linux_tkill */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ + { AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ ==== //depot/projects/smpng/sys/amd64/linux32/syscalls.master#27 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.30 2007/09/18 19:50:32 dwmalone Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.31 2008/03/16 16:24:20 rdivacky Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -407,7 +407,8 @@ 239 AUE_SENDFILE UNIMPL linux_sendfile64 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } -241 AUE_NULL UNIMPL linux_sched_setaffinity +241 AUE_NULL STD { int linux_sched_setaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } ==== //depot/projects/smpng/sys/arm/arm/intr.c#17 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.18 2008/03/14 19:41:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.19 2008/03/17 22:42:00 jhb Exp $"); #include #include #include @@ -50,6 +50,8 @@ #include #include +typedef void (*mask_fn)(void *); + static struct intr_event *intr_events[NIRQ]; static int intrcnt_tab[NIRQ]; static int intrcnt_index = 0; @@ -57,27 +59,6 @@ void arm_handler_execute(struct trapframe *, int); -#ifdef INTR_FILTER -static void -intr_disab_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_mask_irq(nb); -} - -static void -intr_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_unmask_irq(nb); -} - -#endif - void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -89,14 +70,9 @@ return; event = intr_events[irq]; if (event == NULL) { -#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, intr_eoi_src, - intr_disab_eoi_src, NULL, "intr%d:", irq); -#else - error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, NULL, "intr%d:", irq); -#endif + (mask_fn)arm_mask_irq, (mask_fn)arm_unmask_irq, + (mask_fn)arm_unmask_irq, NULL, "intr%d:", irq); if (error) return; intr_events[irq] = event; ==== //depot/projects/smpng/sys/arm/arm/machdep.c#23 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.28 2007/05/31 22:52:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.29 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -308,7 +308,7 @@ #endif } -SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) +SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); /* Get current clock frequency for the given cpu id. */ int ==== //depot/projects/smpng/sys/arm/arm/vm_machdep.c#27 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.35 2007/11/14 20:21:53 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.36 2008/03/16 10:58:02 rwatson Exp $"); #include #include @@ -77,7 +77,7 @@ #ifndef ARM_USE_SMALL_ALLOC static void sf_buf_init(void *arg); -SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL) +SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL); LIST_HEAD(sf_head, sf_buf); ==== //depot/projects/smpng/sys/cam/scsi/scsi_ses.c#18 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.36 2008/02/20 19:49:46 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.37 2008/03/17 17:18:16 scottl Exp $"); #include #include @@ -144,9 +144,9 @@ encvec ses_vec; /* vector to handlers */ void * ses_private; /* per-type private data */ encobj * ses_objmap; /* objects */ - u_int32_t ses_nobjects; /* number of objects */ + uint32_t ses_nobjects; /* number of objects */ ses_encstat ses_encstat; /* overall status */ - u_int8_t ses_flags; + uint8_t ses_flags; union ccb ses_saved_ccb; struct cdev *ses_dev; struct cam_periph *periph; @@ -166,9 +166,9 @@ static periph_dtor_t sescleanup; static periph_start_t sesstart; -static void sesasync(void *, u_int32_t, struct cam_path *, void *); +static void sesasync(void *, uint32_t, struct cam_path *, void *); static void sesdone(struct cam_periph *, union ccb *); -static int seserror(union ccb *, u_int32_t, u_int32_t); +static int seserror(union ccb *, uint32_t, uint32_t); static struct periph_driver sesdriver = { sesinit, "ses", @@ -234,7 +234,7 @@ } static void -sesasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg) +sesasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -303,7 +303,7 @@ return (CAM_REQ_CMP_ERR); } - softc = malloc(sizeof (struct ses_softc), M_SCSISES, M_NOWAIT); + softc = SES_MALLOC(sizeof (struct ses_softc)); if (softc == NULL) { printf("sesregister: Unable to probe new device. " "Unable to allocate softc\n"); @@ -472,7 +472,7 @@ } static int -seserror(union ccb *ccb, u_int32_t cflags, u_int32_t sflags) +seserror(union ccb *ccb, uint32_t cflags, uint32_t sflags) { struct ses_softc *softc; struct cam_periph *periph; @@ -489,7 +489,7 @@ struct cam_periph *periph; ses_encstat tmp; ses_objstat objs; - ses_object obj, *uobj; + ses_object *uobj; struct ses_softc *ssc; void *addr; int error, i; @@ -511,6 +511,9 @@ /* * Now check to see whether we're initialized or not. + * This actually should never fail as we're not supposed + * to get past ses_open w/o successfully initializing + * things. */ if ((ssc->ses_flags & SES_FLAG_INITIALIZED) == 0) { cam_periph_unlock(periph); @@ -526,6 +529,14 @@ /* * If this command can change the device's state, * we must have the device open for writing. + * + * For commands that get information about the + * device- we don't need to lock the peripheral + * if we aren't running a command. The number + * of objects and the contents will stay stable + * after the first open that does initialization. + * The periph also can't go away while a user + * process has it open. */ switch (cmd) { case SESIOC_GETNOBJ: @@ -546,23 +557,16 @@ break; case SESIOC_GETOBJMAP: - /* - * XXX Dropping the lock while copying multiple segments is - * bogus. - */ - cam_periph_lock(periph); - for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++, uobj++) { - obj.obj_id = i; - obj.subencid = ssc->ses_objmap[i].subenclosure; - obj.object_type = ssc->ses_objmap[i].enctype; - cam_periph_unlock(periph); - error = copyout(&obj, uobj, sizeof (ses_object)); - cam_periph_lock(periph); + for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++) { + ses_object kobj; + kobj.obj_id = i; + kobj.subencid = ssc->ses_objmap[i].subenclosure; + kobj.object_type = ssc->ses_objmap[i].enctype; + error = copyout(&kobj, &uobj[i], sizeof (ses_object)); if (error) { break; } } - cam_periph_unlock(periph); break; case SESIOC_GETENCSTAT: ==== //depot/projects/smpng/sys/compat/linux/linux_misc.c#86 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.217 2008/02/22 11:47:56 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.218 2008/03/16 16:24:20 rdivacky Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -63,6 +63,7 @@ #include #include #include +#include #include @@ -1730,22 +1731,52 @@ } /* - * XXX: fake one.. waiting for real implementation of affinity mask. + * Get affinity of a process. */ int linux_sched_getaffinity(struct thread *td, struct linux_sched_getaffinity_args *args) { int error; - cpumask_t i = ~0; + struct cpuset_getaffinity_args cga; + +#ifdef DEBUG + if (ldebug(sched_getaffinity)) + printf(ARGS(sched_getaffinity, "%d, %d, *"), args->pid, + args->len); +#endif + + cga.level = CPU_LEVEL_WHICH; + cga.which = CPU_WHICH_PID; + cga.id = args->pid; + cga.cpusetsize = sizeof(cpumask_t); + cga.mask = (long *) args->user_mask_ptr; + + if ((error = cpuset_getaffinity(td, &cga)) == 0) + td->td_retval[0] = sizeof(cpumask_t); + + return (error); +} - if (args->len < sizeof(cpumask_t)) - return (EINVAL); +/* + * Set affinity of a process. + */ +int +linux_sched_setaffinity(struct thread *td, + struct linux_sched_setaffinity_args *args) +{ + struct cpuset_setaffinity_args csa; - error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); - if (error) - return (EFAULT); +#ifdef DEBUG + if (ldebug(sched_setaffinity)) + printf(ARGS(sched_setaffinity, "%d, %d, *"), args->pid, + args->len); +#endif + csa.level = CPU_LEVEL_WHICH; + csa.which = CPU_WHICH_PID; + csa.id = args->pid; + csa.cpusetsize = args->len; + csa.mask = (long *) args->user_mask_ptr; - td->td_retval[0] = sizeof(cpumask_t); - return (0); + return (cpuset_setaffinity(td, &csa)); } ==== //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#26 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.43 2008/01/13 14:44:01 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.44 2008/03/17 18:27:28 antoine Exp $"); #include "opt_mac.h" @@ -79,6 +79,8 @@ switch (cmd) { case SVR4_F_DUPFD: return F_DUPFD; + case SVR4_F_DUP2FD: + return F_DUP2FD; case SVR4_F_GETFD: return F_GETFD; case SVR4_F_SETFD: @@ -584,6 +586,7 @@ switch (cmd) { case F_DUPFD: + case F_DUP2FD: case F_GETFD: case F_SETFD: return (kern_fcntl(td, uap->fd, cmd, (intptr_t)uap->arg)); @@ -637,19 +640,6 @@ } case -1: switch (uap->cmd) { - case SVR4_F_DUP2FD: - { - struct dup2_args du; - - du.from = uap->fd; - du.to = (int)uap->arg; - error = dup2(td, &du); - if (error) - return error; - *retval = du.to; - return 0; - } - case SVR4_F_FREESP: { struct svr4_flock ifl; ==== //depot/projects/smpng/sys/conf/files#212 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1280 2008/03/12 10:11:56 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1281 2008/03/18 06:52:15 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2133,7 +2133,6 @@ vm/vm_object.c standard vm/vm_page.c standard vm/vm_pageout.c standard -vm/vm_pageq.c standard vm/vm_pager.c standard vm/vm_phys.c standard vm/vm_reserv.c standard ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#8 (text+ko) ==== @@ -346,6 +346,10 @@ VM_OBJECT_LOCK(obj); vm_page_wakeup(m); } else { + if (__predict_false(obj->cache != NULL)) { + vm_page_cache_free(obj, OFF_TO_IDX(start), + OFF_TO_IDX(start) + 1); + } dirbytes += bytes; } len -= bytes; ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/os/callb.c#2 (text+ko) ==== @@ -359,5 +359,5 @@ mutex_exit(&ct->ct_lock); } -SYSINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_init, NULL) +SYSINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_init, NULL); SYSUNINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_fini, NULL); ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/os/taskq.c#2 (text+ko) ==== @@ -1016,5 +1016,5 @@ kmem_cache_free(taskq_cache, tq); } -SYSINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_init, NULL) +SYSINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_init, NULL); SYSUNINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_fini, NULL); ==== //depot/projects/smpng/sys/dev/aac/aac.c#59 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.127 2007/12/20 21:13:58 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.128 2008/03/14 21:59:11 emaste Exp $"); /* * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters. @@ -246,7 +246,7 @@ */ /* - * Initialise the controller and softc + * Initialize the controller and softc */ int aac_attach(struct aac_softc *sc) @@ -256,7 +256,7 @@ debug_called(1); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 13:32:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D40721065677; Tue, 18 Mar 2008 13:32:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 937531065671 for ; Tue, 18 Mar 2008 13:32:53 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 926E08FC28 for ; Tue, 18 Mar 2008 13:32:53 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IDWr6x048156 for ; Tue, 18 Mar 2008 13:32:53 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IDWrt8048154 for perforce@freebsd.org; Tue, 18 Mar 2008 13:32:53 GMT (envelope-from rrs@cisco.com) Date: Tue, 18 Mar 2008 13:32:53 GMT Message-Id: <200803181332.m2IDWrt8048154@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 13:32:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=138002 Change 138002 by rrs@rrs-mips2-jnpr on 2008/03/18 13:32:43 cprestore is not needed here, if we did need it we would need to reserver some stack space. Affected files ... .. //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#4 edit Differences ... ==== //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#4 (text+ko) ==== @@ -60,7 +60,6 @@ #ifdef __ABICALLS__ .set noreorder .cpload t9 - .cprestore 16 #endif li v0, _JB_MAGIC__SETJMP sw v0, (_JB_MAGIC * SZREG)(a0) @@ -84,7 +83,6 @@ #ifdef __ABICALLS__ .set noreorder .cpload t9 - .cprestore 16 #endif lw v0, (_JB_MAGIC * SZREG)(a0) lw ra, (_JB_REG_RA * SZREG)(a0) From owner-p4-projects@FreeBSD.ORG Tue Mar 18 13:34:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D970C1065678; Tue, 18 Mar 2008 13:34:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 989E81065676 for ; Tue, 18 Mar 2008 13:34:58 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 97E0F8FC14 for ; Tue, 18 Mar 2008 13:34:58 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IDYwrn048684 for ; Tue, 18 Mar 2008 13:34:58 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IDYwbn048678 for perforce@freebsd.org; Tue, 18 Mar 2008 13:34:58 GMT (envelope-from rrs@cisco.com) Date: Tue, 18 Mar 2008 13:34:58 GMT Message-Id: <200803181334.m2IDYwbn048678@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138004 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 13:34:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=138004 Change 138004 by rrs@rrs-mips2-jnpr on 2008/03/18 13:33:54 A bit more debug if we need it. Affected files ... .. //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#4 edit Differences ... ==== //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#4 (text+ko) ==== @@ -233,8 +233,11 @@ if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { dbg("Warning4, i:%d maps to relocbase address:%x", i, (uint32_t)obj->relocbase); - } - + dbg("via first obj symbol %s", + obj->strtab + obj->symtab[i].st_name); + dbg("found in obj %p:%s", + defobj, defobj->path); + } } ++sym; ++got; From owner-p4-projects@FreeBSD.ORG Tue Mar 18 13:58:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D1AB1065676; Tue, 18 Mar 2008 13:58:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CEC51065671 for ; Tue, 18 Mar 2008 13:58:23 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 076008FC1A for ; Tue, 18 Mar 2008 13:58:23 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IDwMMY057195 for ; Tue, 18 Mar 2008 13:58:22 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IDwMVc057193 for perforce@freebsd.org; Tue, 18 Mar 2008 13:58:22 GMT (envelope-from rrs@cisco.com) Date: Tue, 18 Mar 2008 13:58:22 GMT Message-Id: <200803181358.m2IDwMVc057193@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 13:58:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=138006 Change 138006 by rrs@rrs-mips2-jnpr on 2008/03/18 13:58:07 This adds back the cprestores (to keep the compiler happy even though we don't do any jumps) and instead sub a callframe from the stack (and add on _setjmp, not needed on _longjmp since we restore the old stack) Affected files ... .. //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#5 edit Differences ... ==== //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#5 (text+ko) ==== @@ -60,6 +60,8 @@ #ifdef __ABICALLS__ .set noreorder .cpload t9 + subu sp, sp, CALLFRAME_SIZ # allocate stack frame + .cprestore 16 #endif li v0, _JB_MAGIC__SETJMP sw v0, (_JB_MAGIC * SZREG)(a0) @@ -74,7 +76,9 @@ sw s7, (_JB_REG_S7 * SZREG)(a0) sw sp, (_JB_REG_SP * SZREG)(a0) sw s8, (_JB_REG_S8 * SZREG)(a0) - +#ifdef __ABICALLS__ + addu sp, sp, CALLFRAME_SIZ # allocate stack frame +#endif j ra move v0, zero END(_setjmp) @@ -83,6 +87,8 @@ #ifdef __ABICALLS__ .set noreorder .cpload t9 + subu sp, sp, CALLFRAME_SIZ # allocate stack frame + .cprestore 16 #endif lw v0, (_JB_MAGIC * SZREG)(a0) lw ra, (_JB_REG_RA * SZREG)(a0) From owner-p4-projects@FreeBSD.ORG Tue Mar 18 14:01:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACCEB1065674; Tue, 18 Mar 2008 14:01:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C542106564A for ; Tue, 18 Mar 2008 14:01:26 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C0818FC1E for ; Tue, 18 Mar 2008 14:01:26 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IE1Qj3058494 for ; Tue, 18 Mar 2008 14:01:26 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IE1QSO058492 for perforce@freebsd.org; Tue, 18 Mar 2008 14:01:26 GMT (envelope-from rrs@cisco.com) Date: Tue, 18 Mar 2008 14:01:26 GMT Message-Id: <200803181401.m2IE1QSO058492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 14:01:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=138008 Change 138008 by rrs@rrs-mips2-jnpr on 2008/03/18 14:01:20 Thinking about it, we need to subtract the stack back out BEFORE we save it so we save the correct value. Do this all right before the return to ra. Affected files ... .. //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#6 edit Differences ... ==== //depot/projects/mips2-jnpr/src/lib/libc/mips/gen/_setjmp.S#6 (text+ko) ==== @@ -74,11 +74,11 @@ sw s5, (_JB_REG_S5 * SZREG)(a0) sw s6, (_JB_REG_S6 * SZREG)(a0) sw s7, (_JB_REG_S7 * SZREG)(a0) - sw sp, (_JB_REG_SP * SZREG)(a0) sw s8, (_JB_REG_S8 * SZREG)(a0) #ifdef __ABICALLS__ - addu sp, sp, CALLFRAME_SIZ # allocate stack frame + addu sp, sp, CALLFRAME_SIZ # un-allocate the stack frame #endif + sw sp, (_JB_REG_SP * SZREG)(a0) j ra move v0, zero END(_setjmp) From owner-p4-projects@FreeBSD.ORG Tue Mar 18 14:13:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA1111065675; Tue, 18 Mar 2008 14:13:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69D9B1065673 for ; Tue, 18 Mar 2008 14:13:39 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 69FE78FC24 for ; Tue, 18 Mar 2008 14:13:39 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IEDdkG065616 for ; Tue, 18 Mar 2008 14:13:39 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IEDdNc065614 for perforce@freebsd.org; Tue, 18 Mar 2008 14:13:39 GMT (envelope-from rrs@cisco.com) Date: Tue, 18 Mar 2008 14:13:39 GMT Message-Id: <200803181413.m2IEDdNc065614@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 14:13:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=138010 Change 138010 by rrs@rrs-mips2-jnpr on 2008/03/18 14:13:10 Allow all memory to be used now, and take out (for now) the unaligned setup bits, the simulator blows up on this ... not sure it helps much either. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#21 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#21 (text+ko) ==== @@ -808,8 +808,8 @@ octeon_set_interrupts(cpu_status_bits); } -void octeon_set_unaligned(uint64_t *old); -void octeon_clr_unaligned(uint64_t *old); +void octeon_set_control(uint64_t *old, uint32_t val); +void octeon_get_control(uint64_t *val); static void mips_platform_init(void) @@ -1253,7 +1253,6 @@ * */ physmem = btoc(phys_avail[1] - phys_avail[0]); -#ifdef GAHHHHHHH if ((octeon_board_real()) && (realmem_bytes > OCTEON_DRAM_FIRST_256_END)) { /* take out the upper non-cached 1/2 */ @@ -1267,11 +1266,8 @@ phys_avail[2], phys_avail[3]); physmem += btoc(phys_avail[3] - phys_avail[2]); } else { -#endif printf("realmem_bytes is %d\n", realmem_bytes); -#ifdef GAHHHHHHH } -#endif realmem = physmem; printf("\nCode: _start 0x%X _end 0x%X", (uint32_t) (&_start), (uint32_t) (&end)); @@ -1338,7 +1334,8 @@ { vm_offset_t kernend; uint64_t platform_counter_freq; - uint64_t oldval; + /* uint64_t oldval, newval;*/ + /* uint32_t val;*/ mips_platform_init(); @@ -1353,13 +1350,26 @@ cninit(); mips_boot_params_init(); printf(" Initialized memory: 0x%p to 0x%lX\n", &edata, ((long)&edata) + ((long)kernend - (long)(&edata))); - oldval = 0; + /* oldval = 0;*/ /* Lets leave unaligned access not working like normal mips for now */ - octeon_clr_unaligned(&oldval); - /* - * Uncomment this to get unaligned access in hardware. - octeon_set_unaligned(&oldval); - */ + + + /* octeon_get_control(&oldval);*/ + + /* val = (uint32_t)(0x00000000ffffffff & oldval);*/ + /* Try to turn on REPUN and USEUN */ + /* val |= OCTEON_CTLREG_REPUN|OCTEON_CTLREG_USEUN;*/ + + /*val &= ~(OCTEON_CTLREG_REPUN|OCTEON_CTLREG_USEUN);*/ + + /* Try to turn off extend multiplications, evidence + * tells me this will not work. + */ + /* val |= OCTEON_CTLREG_NOMUL;*/ + /* octeon_set_control(&oldval, val); */ + /* octeon_get_control(&newval);*/ + /* printf(" Setting Cavium Control Register to 0x%llx old (%llx)\n", + newval, oldval);*/ mips_init(); platform_counter_freq = (uint64_t) (octeon_get_clock_rate()); mips_timer_init_params(platform_counter_freq, 0); From owner-p4-projects@FreeBSD.ORG Tue Mar 18 17:14:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 40CAE106566C; Tue, 18 Mar 2008 17:14:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00117106564A for ; Tue, 18 Mar 2008 17:14:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 02AEB8FC12 for ; Tue, 18 Mar 2008 17:14:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IHEEXI093568 for ; Tue, 18 Mar 2008 17:14:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IHEEqh093566 for perforce@freebsd.org; Tue, 18 Mar 2008 17:14:14 GMT (envelope-from jb@freebsd.org) Date: Tue, 18 Mar 2008 17:14:14 GMT Message-Id: <200803181714.m2IHEEqh093566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 17:14:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=138022 Change 138022 by jb@jb_freebsd8 on 2008/03/18 17:13:24 Add missing semi-colons. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/cyclic/cyclic.c#3 edit .. //depot/projects/dtrace/src/sys/compat/opensolaris/kern/opensolaris.c#4 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/os/callb.c#5 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/os/taskq.c#5 edit .. //depot/projects/dtrace/src/sys/kern/kern_dtrace.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/cyclic/cyclic.c#3 (text+ko) ==== @@ -1377,7 +1377,7 @@ mutex_exit(&cpu_lock); } -SYSINIT(cyclic_register, SI_SUB_CYCLIC, SI_ORDER_SECOND, cyclic_load, NULL) +SYSINIT(cyclic_register, SI_SUB_CYCLIC, SI_ORDER_SECOND, cyclic_load, NULL); static void cyclic_unload(void) ==== //depot/projects/dtrace/src/sys/compat/opensolaris/kern/opensolaris.c#4 (text+ko) ==== @@ -64,7 +64,7 @@ mutex_init(&cpu_lock, "OpenSolaris CPU lock", MUTEX_DEFAULT, NULL); } -SYSINIT(opensolaris_register, SI_SUB_OPENSOLARIS, SI_ORDER_FIRST, opensolaris_load, NULL) +SYSINIT(opensolaris_register, SI_SUB_OPENSOLARIS, SI_ORDER_FIRST, opensolaris_load, NULL); static void opensolaris_unload(void) ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/os/callb.c#5 (text+ko) ==== @@ -359,5 +359,5 @@ mutex_exit(&ct->ct_lock); } -SYSINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_init, NULL) +SYSINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_init, NULL); SYSUNINIT(sol_callb, SI_SUB_DRIVERS, SI_ORDER_FIRST, callb_fini, NULL); ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/os/taskq.c#5 (text+ko) ==== @@ -1016,5 +1016,5 @@ kmem_cache_free(taskq_cache, tq); } -SYSINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_init, NULL) +SYSINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_init, NULL); SYSUNINIT(sol_taskq, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, taskq_fini, NULL); ==== //depot/projects/dtrace/src/sys/kern/kern_dtrace.c#6 (text+ko) ==== @@ -105,7 +105,7 @@ EVENTHANDLER_REGISTER(thread_dtor, kdtrace_thread_dtor, NULL, EVENTHANDLER_PRI_ANY); } -SYSINIT(kdtrace, SI_SUB_KDTRACE, SI_ORDER_FIRST, init_dtrace, NULL) +SYSINIT(kdtrace, SI_SUB_KDTRACE, SI_ORDER_FIRST, init_dtrace, NULL); #ifndef KDB /* From owner-p4-projects@FreeBSD.ORG Tue Mar 18 19:23:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9D7F106567B; Tue, 18 Mar 2008 19:23:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 828D21065670 for ; Tue, 18 Mar 2008 19:23:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 848378FC1C for ; Tue, 18 Mar 2008 19:23:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IJNVRA083005 for ; Tue, 18 Mar 2008 19:23:31 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IJNV4c083003 for perforce@freebsd.org; Tue, 18 Mar 2008 19:23:31 GMT (envelope-from sam@freebsd.org) Date: Tue, 18 Mar 2008 19:23:31 GMT Message-Id: <200803181923.m2IJNV4c083003@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 138040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 19:23:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=138040 Change 138040 by sam@sam_ebb on 2008/03/18 19:22:30 checkpoint; still not usable Affected files ... .. //depot/projects/vap/sys/dev/wi/if_wi.c#12 edit .. //depot/projects/vap/sys/dev/wi/if_wi_pccard.c#6 edit .. //depot/projects/vap/sys/dev/wi/if_wivar.h#9 edit .. //depot/projects/vap/sys/dev/wi/spectrum24t_cf.h#3 delete Differences ... ==== //depot/projects/vap/sys/dev/wi/if_wi.c#12 (text+ko) ==== @@ -1,5 +1,3 @@ -/* $NetBSD: wi.c,v 1.109 2003/01/09 08:52:19 dyoung Exp $ */ - /*- * Copyright (c) 1997, 1998, 1999 * Bill Paul . All rights reserved. @@ -64,7 +62,6 @@ #include __FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.214 2007/09/16 20:02:29 thompsa Exp $"); -#define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ #define NBPFILTER 1 @@ -112,16 +109,22 @@ #include #include +static struct ieee80211vap *wi_vap_create(struct ieee80211com *ic, + const char name[IFNAMSIZ], int unit, int opmode, int flags, + const uint8_t bssid[IEEE80211_ADDR_LEN], + const uint8_t mac[IEEE80211_ADDR_LEN]); +static void wi_vap_delete(struct ieee80211vap *vap); static void wi_start_locked(struct ifnet *); static void wi_start(struct ifnet *); static int wi_start_tx(struct ifnet *ifp, struct wi_frame *frmhdr, struct mbuf *m0); static int wi_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); +static void wi_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m, + int subtype, int rssi, int noise, u_int32_t rstamp); static int wi_reset(struct ifnet *); static void wi_watchdog(void *); static int wi_ioctl(struct ifnet *, u_long, caddr_t); -static int wi_media_change(struct ifnet *); static void wi_media_status(struct ifnet *, struct ifmediareq *); static void wi_rx_intr(struct wi_softc *); @@ -129,16 +132,13 @@ static void wi_tx_ex_intr(struct wi_softc *); static void wi_info_intr(struct wi_softc *); -static int wi_key_alloc(struct ieee80211com *, const struct ieee80211_key *, +static int wi_key_alloc(struct ieee80211vap *, const struct ieee80211_key *, ieee80211_keyix *, ieee80211_keyix *); -#if 0 -static int wi_get_cfg(struct ifnet *, u_long, caddr_t); -static int wi_set_cfg(struct ifnet *, u_long, caddr_t); -#endif -static int wi_write_txrate(struct wi_softc *); -static int wi_write_wep(struct wi_softc *); +static int wi_write_txrate(struct wi_softc *, struct ieee80211vap *); +static int wi_write_wep(struct wi_softc *, struct ieee80211vap *); static int wi_write_multi(struct wi_softc *); +static void wi_update_mcast(struct ifnet *); static int wi_alloc_fid(struct wi_softc *, int, int *); static void wi_read_nicid(struct wi_softc *); static int wi_write_ssid(struct wi_softc *, int, u_int8_t *, int); @@ -151,32 +151,13 @@ static int wi_read_rid(struct wi_softc *, int, void *, int *); static int wi_write_rid(struct wi_softc *, int, void *, int); -static int wi_newstate(struct ieee80211com *, enum ieee80211_state, int); - -static int wi_scan_ap(struct wi_softc *, u_int16_t, u_int16_t); -static void wi_scan_result(struct wi_softc *, int, int); +static int wi_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void wi_dump_pkt(struct wi_frame *, struct ieee80211_node *, int rssi); -#if 0 -static int wi_get_debug(struct wi_softc *, struct wi_req *); -static int wi_set_debug(struct wi_softc *, struct wi_req *); -#endif - -/* support to download firmware for symbol CF card */ -static int wi_symbol_write_firm(struct wi_softc *, const void *, int, - const void *, int); -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 *); -static struct ieee80211_node *wi_node_alloc(struct ieee80211_node_table *); -static int wi_ioctl_get(struct ifnet *ifp, u_long command, caddr_t data); -static int wi_ioctl_set(struct ifnet *ifp, u_long command, caddr_t data); static __inline int wi_write_val(struct wi_softc *sc, int rid, u_int16_t val) @@ -270,7 +251,7 @@ if (ifp == NULL) { device_printf(dev, "can not if_alloc\n"); wi_free(dev); - return (ENOSPC); + return ENOSPC; } ifp->if_softc = sc; @@ -284,19 +265,41 @@ if (error) { device_printf(dev, "bus_setup_intr() failed! (%d)\n", error); wi_free(dev); - return (error); + return error; } - mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, - MTX_DEF | MTX_RECURSE); - callout_init_mtx(&sc->sc_watchdog, &sc->sc_mtx, 0); - sc->sc_firmware_type = WI_NOTYPE; sc->wi_cmd_count = 500; /* Reset the NIC. */ - if (wi_reset(ifp) != 0) + if (wi_reset(ifp) != 0) { + wi_free(dev); return ENXIO; /* XXX */ + } + /* Read NIC identification */ + wi_read_nicid(sc); + switch (sc->sc_firmware_type) { + case WI_LUCENT: + if (sc->sc_sta_firmware_ver < 60006) + goto reject; + break; + case WI_INTERSIL: + if (sc->sc_sta_firmware_ver < 800) + goto reject; + break; + default: + reject: + device_printf(dev, "Sorry, this card is not supported " + "(type %d, firmware ver %d)\n", + sc->sc_firmware_type, sc->sc_sta_firmware_ver); + wi_free(dev); + return EOPNOTSUPP; + } + + mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, + MTX_DEF | MTX_RECURSE); + callout_init_mtx(&sc->sc_watchdog, &sc->sc_mtx, 0); + /* * Read the station address. * And do it twice. I've seen PRISM-based cards that return @@ -320,9 +323,6 @@ return (error); } - /* Read NIC identification */ - wi_read_nicid(sc); - if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = wi_ioctl; @@ -334,10 +334,11 @@ ic->ic_ifp = ifp; ic->ic_phytype = IEEE80211_T_DS; + ic->ic_opmode = IEEE80211_M_STA; ic->ic_caps = IEEE80211_C_PMGT + | IEEE80211_C_MONITOR | IEEE80211_C_WEP /* everyone supports WEP */ ; - ic->ic_max_aid = WI_MAX_AID; /* * Query the card for available channels and setup the @@ -358,61 +359,29 @@ c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_B); c->ic_flags = IEEE80211_CHAN_B; c->ic_ieee = i; + /* XXX txpowers? */ } /* - * Read the default channel from the NIC. This may vary - * depending on the country where the NIC was purchased, so - * we can't hard-code a default and expect it to work for - * everyone. - * - * If no channel is specified, let the 802.11 code select. - */ - buflen = sizeof(val); - if (wi_read_rid(sc, WI_RID_OWN_CHNL, &val, &buflen) == 0) { - val = le16toh(val); - ic->ic_bsschan = ieee80211_find_channel(ic, - ieee80211_ieee2mhz(val, IEEE80211_CHAN_B), - 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"); - ic->ic_bsschan = &ic->ic_channels[0]; - } - - /* * Set flags based on firmware version. */ switch (sc->sc_firmware_type) { case WI_LUCENT: sc->sc_ntxbuf = 1; - sc->sc_flags |= WI_FLAGS_HAS_SYSSCALE; -#ifdef WI_HERMES_AUTOINC_WAR - /* XXX: not confirmed, but never seen for recent firmware */ - if (sc->sc_sta_firmware_ver < 40000) { - sc->sc_flags |= WI_FLAGS_BUG_AUTOINC; - } -#endif - if (sc->sc_sta_firmware_ver >= 60000) - sc->sc_flags |= WI_FLAGS_HAS_MOR; - if (sc->sc_sta_firmware_ver >= 60006) { - ic->ic_caps |= IEEE80211_C_IBSS; - ic->ic_caps |= IEEE80211_C_MONITOR; - } + sc->sc_flags |= WI_FLAGS_HAS_SYSSCALE + | WI_FLAGS_HAS_MOR; + ic->ic_caps |= IEEE80211_C_IBSS; + sc->sc_ibss_port = htole16(1); - sc->sc_min_rssi = WI_LUCENT_MIN_RSSI; sc->sc_max_rssi = WI_LUCENT_MAX_RSSI; sc->sc_dbm_offset = WI_LUCENT_DBM_OFFSET; break; - case WI_INTERSIL: sc->sc_ntxbuf = WI_NTXBUF; - sc->sc_flags |= WI_FLAGS_HAS_FRAGTHR; - sc->sc_flags |= WI_FLAGS_HAS_ROAMING; - sc->sc_flags |= WI_FLAGS_HAS_SYSSCALE; + sc->sc_flags |= WI_FLAGS_HAS_FRAGTHR + | WI_FLAGS_HAS_ROAMING + | WI_FLAGS_HAS_SYSSCALE; /* * Old firmware are slow, so give peace a chance. */ @@ -420,35 +389,20 @@ sc->wi_cmd_count = 5000; if (sc->sc_sta_firmware_ver > 10101) sc->sc_flags |= WI_FLAGS_HAS_DBMADJUST; - if (sc->sc_sta_firmware_ver >= 800) { - ic->ic_caps |= IEEE80211_C_IBSS; - ic->ic_caps |= IEEE80211_C_MONITOR; - } + ic->ic_caps |= IEEE80211_C_IBSS; /* * version 0.8.3 and newer are the only ones that are known * to currently work. Earlier versions can be made to work, - * at least according to the Linux driver. + * at least according to the Linux driver but we require + * monitor mode so this is irrelevant. */ - if (sc->sc_sta_firmware_ver >= 803) - ic->ic_caps |= IEEE80211_C_HOSTAP; + ic->ic_caps |= IEEE80211_C_HOSTAP; + sc->sc_ibss_port = htole16(0); - sc->sc_min_rssi = WI_PRISM_MIN_RSSI; sc->sc_max_rssi = WI_PRISM_MAX_RSSI; sc->sc_dbm_offset = WI_PRISM_DBM_OFFSET; break; - - case WI_SYMBOL: - sc->sc_ntxbuf = 1; - sc->sc_flags |= WI_FLAGS_HAS_DIVERSITY; - if (sc->sc_sta_firmware_ver >= 25000) - ic->ic_caps |= IEEE80211_C_IBSS; - sc->sc_ibss_port = htole16(4); - - sc->sc_min_rssi = WI_PRISM_MIN_RSSI; - sc->sc_max_rssi = WI_PRISM_MAX_RSSI; - sc->sc_dbm_offset = WI_PRISM_DBM_OFFSET; - break; } /* @@ -484,39 +438,18 @@ sc->sc_system_scale = 1; sc->sc_cnfauthmode = IEEE80211_AUTH_OPEN; sc->sc_roaming_mode = 1; - sc->wi_channel = IEEE80211_CHAN_ANYC; sc->sc_portnum = WI_DEFAULT_PORT; sc->sc_authtype = WI_DEFAULT_AUTHTYPE; - bzero(sc->sc_nodename, sizeof(sc->sc_nodename)); - sc->sc_nodelen = sizeof(WI_DEFAULT_NODENAME) - 1; - bcopy(WI_DEFAULT_NODENAME, sc->sc_nodename, sc->sc_nodelen); - - bzero(sc->sc_net_name, sizeof(sc->sc_net_name)); - bcopy(WI_DEFAULT_NETNAME, sc->sc_net_name, - sizeof(WI_DEFAULT_NETNAME) - 1); - - /* - * Call MI attach routine. - */ ieee80211_ifattach(ic); - /* override state transition method */ - sc->sc_newstate = ic->ic_newstate; - sc->sc_key_alloc = ic->ic_crypto.cs_key_alloc; - ic->ic_crypto.cs_key_alloc = wi_key_alloc; - ic->ic_newstate = wi_newstate; 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; - ic->ic_updateslot = wi_update_slot; - ic->ic_reset = wi_reset; - ieee80211_media_init(ic, wi_media_change, wi_media_status); + ic->ic_vap_create = wi_vap_create; + ic->ic_vap_delete = wi_vap_delete; + ic->ic_update_mcast = wi_update_mcast; #if NBPFILTER > 0 bpfattach(ifp, DLT_IEEE802_11_RADIO, @@ -558,11 +491,11 @@ wi_stop(ifp, 0); WI_UNLOCK(sc); - #if NBPFILTER > 0 bpfdetach(ifp); #endif ieee80211_ifdetach(&sc->sc_ic); + bus_teardown_intr(dev, sc->irq, sc->wi_intrhand); if_free(sc->sc_ifp); wi_free(dev); @@ -570,6 +503,75 @@ return (0); } +static struct ieee80211vap * +wi_vap_create(struct ieee80211com *ic, + const char name[IFNAMSIZ], int unit, int opmode, int flags, + const uint8_t bssid[IEEE80211_ADDR_LEN], + const uint8_t mac[IEEE80211_ADDR_LEN]) +{ + struct wi_softc *sc = ic->ic_ifp->if_softc; + struct wi_vap *wvp; + struct ieee80211vap *vap; + + if (!TAILQ_EMPTY(&ic->ic_vaps)) /* only one at a time */ + return NULL; + wvp = (struct wi_vap *) malloc(sizeof(struct wi_vap), + M_80211_VAP, M_NOWAIT | M_ZERO); + if (wvp == NULL) + return NULL; + vap = &wvp->wv_vap; + ieee80211_vap_setup(ic, vap, name, unit, opmode, flags, bssid, mac); + + wvp->wv_recv_mgmt = vap->iv_recv_mgmt; + vap->iv_recv_mgmt = wi_recv_mgmt; + wvp->wv_newstate = vap->iv_newstate; + vap->iv_newstate = wi_newstate; + wvp->wv_key_alloc = vap->iv_key_alloc; + vap->iv_key_alloc = wi_key_alloc; + vap->iv_max_aid = WI_MAX_AID; + + switch (opmode) { + case IEEE80211_M_STA: + sc->sc_porttype = WI_PORTTYPE_BSS; + break; + case IEEE80211_M_IBSS: + sc->sc_porttype = sc->sc_ibss_port; + break; + case IEEE80211_M_AHDEMO: + sc->sc_porttype = WI_PORTTYPE_ADHOC; + break; + case IEEE80211_M_HOSTAP: + sc->sc_porttype = WI_PORTTYPE_HOSTAP; + break; + case IEEE80211_M_MONITOR: + switch (sc->sc_firmware_type) { + case WI_LUCENT: + sc->sc_porttype = WI_PORTTYPE_ADHOC; + break; + case WI_INTERSIL: + sc->sc_porttype = WI_PORTTYPE_APSILENT; + break; + } + break; + default: + break; + } + + /* complete setup */ + ieee80211_vap_attach(vap, ieee80211_media_change, wi_media_status); + ic->ic_opmode = opmode; + return vap; +} + +static void +wi_vap_delete(struct ieee80211vap *vap) +{ + struct wi_vap *wvp = WI_VAP(vap); + + ieee80211_vap_detach(vap); + free(wvp, M_80211_VAP); +} + void wi_shutdown(device_t dev) { @@ -607,7 +609,6 @@ if (status & WI_EV_INFO) wi_info_intr(sc); if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0 && - (sc->sc_flags & WI_FLAGS_OUTRANGE) == 0 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) wi_start_locked(ifp); @@ -625,13 +626,9 @@ struct wi_softc *sc = arg; struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = &sc->sc_ic; - struct wi_joinreq join; - struct ieee80211_channel *chan; int i; int error = 0, wasenabled; - - if (sc->wi_gone) return; @@ -641,126 +638,26 @@ WI_LOCK(sc); wi_reset(ifp); - /* common 802.11 configuration */ - ic->ic_flags &= ~IEEE80211_F_IBSSON; - sc->sc_flags &= ~WI_FLAGS_OUTRANGE; - switch (ic->ic_opmode) { - case IEEE80211_M_STA: - wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_BSS); - break; - case IEEE80211_M_IBSS: - wi_write_val(sc, WI_RID_PORTTYPE, sc->sc_ibss_port); - ic->ic_flags |= IEEE80211_F_IBSSON; - break; - case IEEE80211_M_AHDEMO: - wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC); - break; - case IEEE80211_M_HOSTAP: - /* - * For PRISM cards, override the empty SSID, because in - * HostAP mode the controller will lock up otherwise. - */ - if (sc->sc_firmware_type == WI_INTERSIL && - ic->ic_des_ssid[0].len == 0) { - ic->ic_des_ssid[0].ssid[0] = ' '; - ic->ic_des_ssid[0].len = 1; - } - wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_HOSTAP); - break; - case IEEE80211_M_MONITOR: - switch (sc->sc_firmware_type) { - case WI_LUCENT: - wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC); - break; - - case WI_INTERSIL: - wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_APSILENT); - break; - } - - wi_cmd(sc, WI_CMD_DEBUG | (WI_TEST_MONITOR << 8), 0, 0, 0); - break; - case IEEE80211_M_WDS: - /* XXXX */ - break; - } - - /* Intersil interprets this RID as joining ESS even in IBSS mode */ - if (sc->sc_firmware_type == WI_LUCENT && - (ic->ic_flags & IEEE80211_F_IBSSON) && ic->ic_des_ssid[0].len > 0) - wi_write_val(sc, WI_RID_CREATE_IBSS, 1); - else - wi_write_val(sc, WI_RID_CREATE_IBSS, 0); - wi_write_val(sc, WI_RID_MAX_SLEEP, ic->ic_lintval); - wi_write_ssid(sc, WI_RID_DESIRED_SSID, ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); - wi_write_val(sc, WI_RID_OWN_CHNL, - ieee80211_chan2ieee(ic, ic->ic_bsschan)); - wi_write_ssid(sc, WI_RID_OWN_SSID, ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); - - IEEE80211_ADDR_COPY(ic->ic_myaddr, IF_LLADDR(ifp)); - wi_write_rid(sc, WI_RID_MAC_NODE, ic->ic_myaddr, IEEE80211_ADDR_LEN); - - if (ic->ic_caps & IEEE80211_C_PMGT) - wi_write_val(sc, WI_RID_PM_ENABLED, - (ic->ic_flags & IEEE80211_F_PMGTON) ? 1 : 0); - - /* not yet common 802.11 configuration */ + wi_write_val(sc, WI_RID_PORTTYPE, sc->sc_porttype); + wi_write_val(sc, WI_RID_CREATE_IBSS, 0); wi_write_val(sc, WI_RID_MAX_DATALEN, sc->sc_max_datalen); - wi_write_val(sc, WI_RID_RTS_THRESH, ic->ic_rtsthreshold); - if (sc->sc_flags & WI_FLAGS_HAS_FRAGTHR) - wi_write_val(sc, WI_RID_FRAG_THRESH, ic->ic_fragthreshold); - - /* driver specific 802.11 configuration */ +#if 0 + /* NB: for IEEE80211_BPF_NOACK */ + wi_write_val(sc, WI_RID_ALT_RETRY_CNT, 0); +#endif if (sc->sc_flags & WI_FLAGS_HAS_SYSSCALE) wi_write_val(sc, WI_RID_SYSTEM_SCALE, sc->sc_system_scale); if (sc->sc_flags & WI_FLAGS_HAS_ROAMING) wi_write_val(sc, WI_RID_ROAMING_MODE, sc->sc_roaming_mode); if (sc->sc_flags & WI_FLAGS_HAS_MOR) wi_write_val(sc, WI_RID_MICROWAVE_OVEN, sc->sc_microwave_oven); - wi_write_txrate(sc); - wi_write_ssid(sc, WI_RID_NODENAME, sc->sc_nodename, sc->sc_nodelen); - wi_write_val(sc, WI_RID_ALT_RETRY_CNT, 0); /* for IEEE80211_BPF_NOACK */ - if (ic->ic_opmode == IEEE80211_M_HOSTAP && - sc->sc_firmware_type == WI_INTERSIL) { - wi_write_val(sc, WI_RID_OWN_BEACON_INT, ic->ic_bintval); - wi_write_val(sc, WI_RID_BASIC_RATE, 0x03); /* 1, 2 */ - wi_write_val(sc, WI_RID_SUPPORT_RATE, 0x0f); /* 1, 2, 5.5, 11 */ - wi_write_val(sc, WI_RID_DTIM_PERIOD, ic->ic_dtim_period); - } - - /* - * Initialize promisc mode. - * Being in the Host-AP mode causes a great - * deal of pain if primisc mode is set. - * Therefore we avoid confusing the firmware - * and always reset promisc mode in Host-AP - * mode. Host-AP sees all the packets anyway. - */ - if (ic->ic_opmode != IEEE80211_M_HOSTAP && - (ifp->if_flags & IFF_PROMISC) != 0) { - wi_write_val(sc, WI_RID_PROMISC, 1); - } else { - wi_write_val(sc, WI_RID_PROMISC, 0); - } + IEEE80211_ADDR_COPY(ic->ic_myaddr, IF_LLADDR(ifp)); + wi_write_rid(sc, WI_RID_MAC_NODE, ic->ic_myaddr, IEEE80211_ADDR_LEN); - /* Configure WEP. */ - if (ic->ic_caps & IEEE80211_C_WEP) { - sc->sc_cnfauthmode = ic->ic_bss->ni_authmode; - wi_write_wep(sc); - } else - sc->sc_encryption = 0; - - /* Set multicast filter. */ - wi_write_multi(sc); - /* Allocate fids for the card */ - if (sc->sc_firmware_type != WI_SYMBOL || !wasenabled) { + if (!wasenabled) { sc->sc_buflen = IEEE80211_MAX_LEN + sizeof(struct wi_frame); - if (sc->sc_firmware_type == WI_SYMBOL) - sc->sc_buflen = 1585; /* XXX */ for (i = 0; i < sc->sc_ntxbuf; i++) { error = wi_alloc_fid(sc, sc->sc_buflen, &sc->sc_txd[i].d_fid); @@ -781,42 +678,14 @@ sc->sc_enabled = 1; ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - if (ic->ic_opmode == IEEE80211_M_AHDEMO || - ic->ic_opmode == IEEE80211_M_IBSS || - ic->ic_opmode == IEEE80211_M_MONITOR || - ic->ic_opmode == IEEE80211_M_HOSTAP) { - chan = (sc->wi_channel == IEEE80211_CHAN_ANYC) ? - ic->ic_curchan : sc->wi_channel; - ieee80211_create_ibss(ic, chan); - } + /* Enable interrupts */ CSR_WRITE_2(sc, WI_INT_EN, WI_INTRS); + WI_UNLOCK(sc); - if (!wasenabled && - ic->ic_opmode == IEEE80211_M_HOSTAP && - sc->sc_firmware_type == WI_INTERSIL) { - /* XXX: some card need to be re-enabled for hostap */ - wi_cmd(sc, WI_CMD_DISABLE | WI_PORT0, 0, 0, 0); - wi_cmd(sc, WI_CMD_ENABLE | WI_PORT0, 0, 0, 0); - } - - if (ic->ic_opmode == IEEE80211_M_STA && - ((ic->ic_flags & IEEE80211_F_DESBSSID) || - ic->ic_des_chan != IEEE80211_CHAN_ANYC)) { - memset(&join, 0, sizeof(join)); - if (ic->ic_flags & IEEE80211_F_DESBSSID) - IEEE80211_ADDR_COPY(&join.wi_bssid, ic->ic_des_bssid); - if (ic->ic_des_chan != IEEE80211_CHAN_ANYC) - join.wi_chan = htole16( - ieee80211_chan2ieee(ic, ic->ic_des_chan)); - /* Lucent firmware does not support the JOIN RID. */ - if (sc->sc_firmware_type != WI_LUCENT) - wi_write_rid(sc, WI_RID_JOIN_REQ, &join, sizeof(join)); - } + ieee80211_start_all(ic); callout_reset(&sc->sc_watchdog, hz, wi_watchdog, sc); - - WI_UNLOCK(sc); return; out: if (error) { @@ -832,11 +701,7 @@ wi_stop(struct ifnet *ifp, int disable) { struct wi_softc *sc = ifp->if_softc; - struct ieee80211com *ic = &sc->sc_ic; - - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); - DELAY(100000); WI_LOCK(sc); if (sc->sc_enabled && !sc->wi_gone) { CSR_WRITE_2(sc, WI_INT_EN, 0); @@ -844,26 +709,177 @@ if (disable) sc->sc_enabled = 0; } else if (sc->wi_gone && disable) /* gone --> not enabled */ - sc->sc_enabled = 0; + sc->sc_enabled = 0; callout_stop(&sc->sc_watchdog); /* XXX drain */ sc->sc_tx_timer = 0; - sc->sc_scan_timer = 0; sc->sc_false_syns = 0; - sc->sc_naps = 0; + ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE | IFF_DRV_RUNNING); WI_UNLOCK(sc); } static void +wi_set_channel(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct wi_softc *sc = ifp->if_softc; + + WI_LOCK(sc); + wi_write_val(sc, WI_RID_OWN_CHNL, + ieee80211_chan2ieee(ic, ic->ic_curchan)); + +#if NBPFILTER > 0 + sc->sc_tx_th.wt_chan_freq = sc->sc_rx_th.wr_chan_freq = + htole16(ic->ic_curchan->ic_freq); + sc->sc_tx_th.wt_chan_flags = sc->sc_rx_th.wr_chan_flags = + htole16(ic->ic_curchan->ic_flags); +#endif + + if ((ic->ic_flags & IEEE80211_F_SCAN) == 0 && + ic->ic_opmode == IEEE80211_M_HOSTAP && + sc->sc_firmware_type == WI_INTERSIL) { + /* XXX: some cards need to be re-enabled */ + wi_cmd(sc, WI_CMD_DISABLE | WI_PORT0, 0, 0, 0); + wi_cmd(sc, WI_CMD_ENABLE | WI_PORT0, 0, 0, 0); + } + WI_UNLOCK(sc); +} + +static void +wi_scan_start(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct wi_softc *sc = ifp->if_softc; + struct ieee80211_scan_state *ss = ic->ic_scan; + + WI_LOCK(sc); + /* + * Switch device to monitor mode. + */ + switch (sc->sc_firmware_type) { + case WI_LUCENT: + wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC); + break; + case WI_INTERSIL: + wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_APSILENT); + break; + } + wi_cmd(sc, WI_CMD_DEBUG | (WI_TEST_MONITOR << 8), 0, 0, 0); + + ss->ss_mindwell = ss->ss_maxdwell = msecs_to_ticks(400); /* 400ms */ + WI_UNLOCK(sc); + +} + +static void +wi_scan_end(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct wi_softc *sc = ifp->if_softc; + + WI_LOCK(sc); + wi_cmd(sc, WI_CMD_DEBUG, 0, 0, 0); + wi_write_val(sc, WI_RID_PORTTYPE, sc->sc_porttype); + WI_UNLOCK(sc); +} + +static void +wi_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m, + int subtype, int rssi, int noise, u_int32_t rstamp) +{ + struct ieee80211vap *vap = ni->ni_vap; + + switch (subtype) { + case IEEE80211_FC0_SUBTYPE_AUTH: + case IEEE80211_FC0_SUBTYPE_ASSOC_RESP: + case IEEE80211_FC0_SUBTYPE_REASSOC_RESP: + /* NB: filter frames that trigger state changes */ + return; + } + WI_VAP(vap)->wv_recv_mgmt(ni, m, subtype, rssi, noise, rstamp); +} + +static int +wi_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) +{ + struct ieee80211com *ic = vap->iv_ic; + struct ifnet *ifp = ic->ic_ifp; + struct wi_softc *sc = ifp->if_softc; + int error; + + DPRINTF(("%s: %s -> %s\n", __func__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[nstate])); + + if (nstate == IEEE80211_S_AUTH) { + struct ieee80211_node *bss = vap->iv_bss; + + wi_write_ssid(sc, WI_RID_DESIRED_SSID, + bss->ni_essid, bss->ni_esslen); + /* Lucent firmware does not support the JOIN RID. */ + if (sc->sc_firmware_type == WI_INTERSIL) { + struct wi_joinreq join; + + memset(&join, 0, sizeof(join)); + IEEE80211_ADDR_COPY(&join.wi_bssid, bss->ni_bssid); + join.wi_chan = htole16( + ieee80211_chan2ieee(ic, bss->ni_chan)); + wi_write_rid(sc, WI_RID_JOIN_REQ, &join, sizeof(join)); + } else { + wi_write_val(sc, WI_RID_CREATE_IBSS, 0); + } + /* NB: don't go through 802.11 layer, it'll send auth frame */ + vap->iv_state = nstate; + return EINPROGRESS; + } + + error = WI_VAP(vap)->wv_newstate(vap, nstate, arg); + + if (nstate == IEEE80211_S_RUN && vap->iv_state != IEEE80211_S_RUN) { + if (vap->iv_opmode == IEEE80211_M_MONITOR) + wi_cmd(sc, WI_CMD_DEBUG | (WI_TEST_MONITOR << 8), 0, 0, 0); + wi_write_val(sc, WI_RID_MAX_SLEEP, ic->ic_lintval); + if (ic->ic_caps & IEEE80211_C_PMGT) + wi_write_val(sc, WI_RID_PM_ENABLED, + (vap->iv_flags & IEEE80211_F_PMGTON) ? 1 : 0); + wi_write_val(sc, WI_RID_RTS_THRESH, vap->iv_rtsthreshold); + if (sc->sc_flags & WI_FLAGS_HAS_FRAGTHR) + wi_write_val(sc, WI_RID_FRAG_THRESH, + vap->iv_fragthreshold); + wi_write_txrate(sc, vap); + + /* Configure WEP. */ + if (ic->ic_caps & IEEE80211_C_WEP) { + sc->sc_cnfauthmode = vap->iv_bss->ni_authmode; + wi_write_wep(sc, vap); + } else + sc->sc_encryption = 0; + + if (vap->iv_opmode == IEEE80211_M_HOSTAP && + sc->sc_firmware_type == WI_INTERSIL) { + wi_write_ssid(sc, WI_RID_OWN_SSID, + vap->iv_des_ssid[0].ssid, vap->iv_des_ssid[0].len); + wi_write_val(sc, WI_RID_OWN_BEACON_INT, ic->ic_bintval); + wi_write_val(sc, WI_RID_BASIC_RATE, 0x03); /* 1, 2 */ + wi_write_val(sc, WI_RID_SUPPORT_RATE, 0x0f); /* 1, 2, 5.5, 11 */ + wi_write_val(sc, WI_RID_DTIM_PERIOD, vap->iv_dtim_period); + /* XXX: some card need to be re-enabled for hostap */ + wi_cmd(sc, WI_CMD_DISABLE | WI_PORT0, 0, 0, 0); + wi_cmd(sc, WI_CMD_ENABLE | WI_PORT0, 0, 0, 0); + } + return WI_VAP(vap)->wv_newstate(vap, nstate, arg); + } + return 0; +} + +static void wi_start_locked(struct ifnet *ifp) { struct wi_softc *sc = ifp->if_softc; - struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_node *ni; struct ieee80211_frame *wh; - struct ether_header *eh; struct mbuf *m0; struct wi_frame frmhdr; int cur; @@ -872,83 +888,37 @@ if (sc->wi_gone) return; - if (sc->sc_flags & WI_FLAGS_OUTRANGE) - return; memset(&frmhdr, 0, sizeof(frmhdr)); cur = sc->sc_txnext; for (;;) { - IF_POLL(&ic->ic_mgtq, m0); - if (m0 != NULL) { - if (sc->sc_txd[cur].d_len != 0) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - break; - } - IF_DEQUEUE(&ic->ic_mgtq, m0); - /* - * Hack! The referenced node pointer is in the - * rcvif field of the packet header. This is - * placed there by ieee80211_mgmt_output because - * we need to hold the reference with the frame - * and there's no other way (other than packet - * tags which we consider too expensive to use) - * to pass it along. - */ - ni = (struct ieee80211_node *) m0->m_pkthdr.rcvif; - m0->m_pkthdr.rcvif = NULL; + IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); + if (m0 == NULL) + break; + if (sc->sc_txd[cur].d_len != 0) { + IFQ_DRV_PREPEND(&ifp->if_snd, m0); + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + break; + } + /* NB: copy before 802.11 header is prepended */ + m_copydata(m0, 0, ETHER_HDR_LEN, + (caddr_t)&frmhdr.wi_ehdr); - m_copydata(m0, 4, ETHER_ADDR_LEN * 2, - (caddr_t)&frmhdr.wi_ehdr); - frmhdr.wi_ehdr.ether_type = 0; - wh = mtod(m0, struct ieee80211_frame *); - } else { - if (ic->ic_state != IEEE80211_S_RUN) - break; - IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); - if (m0 == NULL) - break; - if (sc->sc_txd[cur].d_len != 0) { - IFQ_DRV_PREPEND(&ifp->if_snd, m0); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - break; - } - if (m0->m_len < sizeof(struct ether_header) && - (m0 = m_pullup(m0, sizeof(struct ether_header))) == NULL) { - ifp->if_oerrors++; - continue; - } - eh = mtod(m0, struct ether_header *); - ni = ieee80211_find_txnode(ic, eh->ether_dhost); - if (ni == NULL) { - m_freem(m0); - continue; - } - ifp->if_opackets++; - m_copydata(m0, 0, ETHER_HDR_LEN, - (caddr_t)&frmhdr.wi_ehdr); -#if NBPFILTER > 0 - BPF_MTAP(ifp, m0); -#endif - - m0 = ieee80211_encap(ic, m0, ni); - if (m0 == NULL) { - ifp->if_oerrors++; - ieee80211_free_node(ni); - continue; - } - wh = mtod(m0, struct ieee80211_frame *); + ni = (struct ieee80211_node *) m0->m_pkthdr.rcvif; + m0 = ieee80211_encap(ni, m0); + if (m0 == NULL) { + ifp->if_oerrors++; + ieee80211_free_node(ni); + continue; } -#if NBPFILTER > 0 - if (bpf_peers_present(ic->ic_rawbpf)) - bpf_mtap(ic->ic_rawbpf, m0); -#endif + wh = mtod(m0, struct ieee80211_frame *); frmhdr.wi_tx_ctl = htole16(WI_ENC_TX_802_11|WI_TXCNTL_TX_EX); /* XXX check key for SWCRYPT instead of using operating mode */ if ((wh->i_fc[1] & IEEE80211_FC1_WEP) && (sc->sc_encryption & HOST_ENCRYPT)) { struct ieee80211_key *k; - k = ieee80211_crypto_encap(ic, ni, m0); + k = ieee80211_crypto_encap(ni, m0); if (k == NULL) { ieee80211_free_node(ni); m_freem(m0); @@ -958,8 +928,7 @@ } #if NBPFILTER > 0 if (bpf_peers_present(ifp->if_bpf)) { - sc->sc_tx_th.wt_rate = - ni->ni_rates.rs_rates[ni->ni_txrate]; + sc->sc_tx_th.wt_rate = ni->ni_txrate; bpf_mtap2(ifp->if_bpf, &sc->sc_tx_th, sc->sc_tx_th_len, m0); } @@ -973,7 +942,9 @@ ieee80211_free_node(ni); if (wi_start_tx(ifp, &frmhdr, m0)) continue; + sc->sc_txnext = cur = (cur + 1) % sc->sc_ntxbuf; + ifp->if_opackets++; } } @@ -1033,11 +1004,6 @@ rc = ENETDOWN; goto out; } - if (sc->sc_flags & WI_FLAGS_OUTRANGE) { - rc = ENETDOWN; - goto out; - } - memset(&frmhdr, 0, sizeof(frmhdr)); cur = sc->sc_txnext; if (sc->sc_txd[cur].d_len != 0) { @@ -1052,10 +1018,6 @@ frmhdr.wi_ehdr.ether_type = 0; wh = mtod(m0, struct ieee80211_frame *); -#if NBPFILTER > 0 - if (bpf_peers_present(ic->ic_rawbpf)) - bpf_mtap(ic->ic_rawbpf, m0); -#endif frmhdr.wi_tx_ctl = htole16(WI_ENC_TX_802_11|WI_TXCNTL_TX_EX); if (params && (params->ibp_flags & IEEE80211_BPF_NOACK)) frmhdr.wi_tx_ctl |= htole16(WI_TXCNTL_ALTRTRY); @@ -1066,7 +1028,7 @@ (params && (params->ibp_flags & IEEE80211_BPF_CRYPTO))) { struct ieee80211_key *k; - k = ieee80211_crypto_encap(ic, ni, m0); + k = ieee80211_crypto_encap(ni, m0); if (k == NULL) { rc = ENOMEM; goto out; @@ -1076,8 +1038,7 @@ } #if NBPFILTER > 0 if (bpf_peers_present(ifp->if_bpf)) { - sc->sc_tx_th.wt_rate = - ni->ni_rates.rs_rates[ni->ni_txrate]; + sc->sc_tx_th.wt_rate = ni->ni_txrate; bpf_mtap2(ifp->if_bpf, &sc->sc_tx_th, sc->sc_tx_th_len, m0); } #endif @@ -1107,30 +1068,20 @@ static int wi_reset(struct ifnet *ifp) { +#define WI_INIT_TRIES 3 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 18 20:27:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1297F1065677; Tue, 18 Mar 2008 20:27:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5A0C1065673 for ; Tue, 18 Mar 2008 20:27:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C852E8FC1A for ; Tue, 18 Mar 2008 20:27:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IKRcLN036358 for ; Tue, 18 Mar 2008 20:27:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IKRc24036356 for perforce@freebsd.org; Tue, 18 Mar 2008 20:27:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 18 Mar 2008 20:27:38 GMT Message-Id: <200803182027.m2IKRc24036356@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 138044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 20:27:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=138044 Change 138044 by hselasky@hselasky_laptop001 on 2008/03/18 20:27:26 Correct and add more documentation. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#101 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#120 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#101 (text+ko) ==== @@ -1516,8 +1516,8 @@ /*------------------------------------------------------------------------* * usbd_probe_and_attach * - * This function is called from "uhub_explore_sub()" and - * "usbd_serve_request_callback_sub()" + * This function is called from "uhub_explore_sub()", + * "usbd_handle_set_config()" and "usbd_handle_request()". * * Returns: * 0: Success ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#120 (text+ko) ==== @@ -3827,6 +3827,48 @@ /*------------------------------------------------------------------------* * usbd_do_request_flags and usbd_do_request * + * Description of arguments passed to these functions: + * + * "udev" - this is the "usb_device" structure pointer on which the + * request should be performed. It is possible to call this function + * in both Host Side mode and Device Side mode. + * + * "mtx" - if this argument is non-NULL the mutex pointed to by it + * will get dropped and picked up during the execution of this + * function, hence this function sometimes needs to sleep. If this + * argument is NULL it has no effect. + * + * "req" - this argument must always be non-NULL and points to an + * 8-byte structure holding the USB request to be done. The USB + * request structure has a bit telling the direction of the USB + * request, if it is a read or a write. + * + * "data" - if the "wLength" part of the structure pointed to by "req" + * is non-zero this argument must point to a valid kernel buffer which + * can hold at least "wLength" bytes. If "wLength" is zero "data" can + * be NULL. + * + * "flags" - here is a list of valid flags: + * + * o USBD_SHORT_XFER_OK: allows the data transfer to be shorter than + * specified + * + * o USBD_USE_POLLING: forces the transfer to complete from the + * current context by polling the interrupt handler. This flag can be + * used to perform USB transfers after that the kernel has crashed. + * + * o USBD_DELAY_STATUS_STAGE: allows the status stage to be performed + * at a later point in time. This is tunable by the "hw.usb.ss_delay" + * sysctl. This flag is mostly useful for debugging. + * + * "actlen" - if non-NULL the actual transfer length will be stored in + * the 16-bit unsigned integer pointed to by "actlen". This + * information is mostly useful when the "USBD_SHORT_XFER_OK" flag is + * used. + * + * "timeout" - gives the timeout for the control transfer in + * milliseconds. + * * Returns: * 0: Success * Else: Failure From owner-p4-projects@FreeBSD.ORG Tue Mar 18 20:35:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91ABD106566C; Tue, 18 Mar 2008 20:35:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5062F1065676 for ; Tue, 18 Mar 2008 20:35:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 51F488FC2B for ; Tue, 18 Mar 2008 20:35:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IKZlos043734 for ; Tue, 18 Mar 2008 20:35:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IKZl5p043732 for perforce@freebsd.org; Tue, 18 Mar 2008 20:35:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 18 Mar 2008 20:35:47 GMT Message-Id: <200803182035.m2IKZl5p043732@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 138046 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 20:35:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=138046 Change 138046 by hselasky@hselasky_laptop001 on 2008/03/18 20:35:12 Put an upper limit on the allowed "usbd_do_request" timeout, in case this value is derived from user input. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#121 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#121 (text+ko) ==== @@ -3867,7 +3867,10 @@ * used. * * "timeout" - gives the timeout for the control transfer in - * milliseconds. + * milliseconds. A "timeout" value less than 50 milliseconds is + * treated like a 50 millisecond timeout. A "timeout" value greater + * than 30 seconds is treated like a 30 second timeout. This USB stack + * does not allow control requests without a timeout. * * Returns: * 0: Success @@ -3892,6 +3895,10 @@ /* timeout is too small */ timeout = 50; } + if (timeout > 30000) { + /* timeout is too big */ + timeout = 30000; + } length = UGETW(req->wLength); PRINTFN(4, ("udev=%p bmRequestType=0x%02x bRequest=0x%02x " From owner-p4-projects@FreeBSD.ORG Tue Mar 18 20:47:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A821D1065673; Tue, 18 Mar 2008 20:47:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67CF01065671 for ; Tue, 18 Mar 2008 20:47:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ACA38FC13 for ; Tue, 18 Mar 2008 20:47:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IKkxhL059702 for ; Tue, 18 Mar 2008 20:46:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IKkxHO059700 for perforce@freebsd.org; Tue, 18 Mar 2008 20:46:59 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 18 Mar 2008 20:46:59 GMT Message-Id: <200803182046.m2IKkxHO059700@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 138048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 20:47:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=138048 Change 138048 by hselasky@hselasky_laptop001 on 2008/03/18 20:46:22 Add comment about thread safety. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#122 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#122 (text+ko) ==== @@ -3872,6 +3872,10 @@ * than 30 seconds is treated like a 30 second timeout. This USB stack * does not allow control requests without a timeout. * + * NOTE: This function is thread safe. All calls to + * "usbd_do_request_flags" will be serialised by the use of an + * internal "sx_lock". + * * Returns: * 0: Success * Else: Failure From owner-p4-projects@FreeBSD.ORG Tue Mar 18 22:31:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E7941065675; Tue, 18 Mar 2008 22:31:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C67D41065672 for ; Tue, 18 Mar 2008 22:31:51 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C74088FC14 for ; Tue, 18 Mar 2008 22:31:51 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2IMVpHj055743 for ; Tue, 18 Mar 2008 22:31:51 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2IMVpeT055741 for perforce@freebsd.org; Tue, 18 Mar 2008 22:31:51 GMT (envelope-from marcel@freebsd.org) Date: Tue, 18 Mar 2008 22:31:51 GMT Message-Id: <200803182231.m2IMVpeT055741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 138052 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2008 22:31:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=138052 Change 138052 by marcel@marcel_xcllnt on 2008/03/18 22:31:33 IFC @138051 Affected files ... .. //depot/projects/powerpc/contrib/cvs/lib/getdate#2 delete .. //depot/projects/powerpc/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/powerpc/lib/libsdp/sdp.h#3 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_create.c#5 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#5 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_sig.c#4 integrate .. //depot/projects/powerpc/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/powerpc/sbin/atacontrol/atacontrol.c#5 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/linux.4#2 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/powerpc/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/powerpc/sys/amd64/amd64/intr_machdep.c#9 integrate .. //depot/projects/powerpc/sys/arm/arm/intr.c#7 integrate .. //depot/projects/powerpc/sys/cam/scsi/scsi_ses.c#8 integrate .. //depot/projects/powerpc/sys/compat/svr4/svr4_fcntl.c#8 integrate .. //depot/projects/powerpc/sys/conf/files#26 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-all.c#9 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-all.h#12 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-disk.c#10 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-disk.h#6 integrate .. //depot/projects/powerpc/sys/dev/cxgb/common/cxgb_ael1002.c#5 integrate .. //depot/projects/powerpc/sys/dev/cxgb/common/cxgb_common.h#7 integrate .. //depot/projects/powerpc/sys/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_ioctl.h#5 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_main.c#14 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/powerpc/sys/dev/hwpmc/hwpmc_amd.c#3 integrate .. //depot/projects/powerpc/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/powerpc/sys/geom/vinum/geom_vinum_drive.c#3 integrate .. //depot/projects/powerpc/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/powerpc/sys/i386/cpufreq/p4tcc.c#3 integrate .. //depot/projects/powerpc/sys/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/powerpc/sys/ia64/ia64/interrupt.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_conf.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_intr.c#15 integrate .. //depot/projects/powerpc/sys/kern/subr_witness.c#20 integrate .. //depot/projects/powerpc/sys/net/ieee8023ad_lacp.h#7 integrate .. //depot/projects/powerpc/sys/netinet/in_pcb.c#13 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw2.c#16 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_irc.c#4 integrate .. //depot/projects/powerpc/sys/nfsserver/nfs_srvsock.c#9 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/intr_machdep.c#11 integrate .. //depot/projects/powerpc/sys/sparc64/sparc64/intr_machdep.c#10 integrate .. //depot/projects/powerpc/sys/sun4v/sun4v/intr_machdep.c#6 integrate .. //depot/projects/powerpc/sys/sys/ata.h#9 integrate .. //depot/projects/powerpc/sys/sys/conf.h#10 integrate .. //depot/projects/powerpc/sys/sys/interrupt.h#10 integrate .. //depot/projects/powerpc/sys/vm/vm_page.c#16 integrate .. //depot/projects/powerpc/sys/vm/vm_page.h#11 integrate .. //depot/projects/powerpc/sys/vm/vm_pageq.c#9 delete .. //depot/projects/powerpc/usr.bin/netstat/inet6.c#5 integrate .. //depot/projects/powerpc/usr.bin/ruptime/ruptime.c#2 integrate .. //depot/projects/powerpc/usr.bin/tar/Makefile#7 integrate .. //depot/projects/powerpc/usr.bin/tar/matching.c#4 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/lan.c#2 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/profile.c#3 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/sdpd/profile.h#3 integrate Differences ... ==== //depot/projects/powerpc/lib/libc/locale/wctype.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/wctype.c,v 1.3 2004/03/27 08:59:21 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/wctype.c,v 1.4 2008/03/17 18:22:23 antoine Exp $"); #include #include @@ -42,7 +42,7 @@ wctype_t wctype(const char *property) { - struct { + static const struct { const char *name; wctype_t mask; } props[] = { ==== //depot/projects/powerpc/lib/libsdp/sdp.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: sdp.h,v 1.3 2003/09/05 00:33:59 max Exp $ - * $FreeBSD: src/lib/libsdp/sdp.h,v 1.8 2008/03/11 00:08:40 emax Exp $ + * $FreeBSD: src/lib/libsdp/sdp.h,v 1.9 2008/03/18 18:21:39 emax Exp $ */ #ifndef _SDP_H_ @@ -649,20 +649,35 @@ struct sdp_nap_profile { - uint16_t security_description; /* HBO: NAP/GN */ - uint16_t net_access_type; /* HBO: NAP */ - uint32_t max_net_access_rate; /* HBO: NAP */ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ + uint16_t security_description; /* HBO */ + uint16_t net_access_type; /* HBO */ + uint32_t max_net_access_rate; /* HBO */ }; typedef struct sdp_nap_profile sdp_nap_profile_t; typedef struct sdp_nap_profile * sdp_nap_profile_p; -/* Reuse struct sdp_nap_profile for GN */ -typedef struct sdp_nap_profile sdp_gn_profile_t; -typedef struct sdp_nap_profile * sdp_gn_profile_p; +struct sdp_gn_profile +{ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ + uint16_t security_description; /* HBO */ + uint16_t reserved2; +}; +typedef struct sdp_gn_profile sdp_gn_profile_t; +typedef struct sdp_gn_profile * sdp_gn_profile_p; -/* Reuse struct sdp_nap_profile for PANU */ -typedef struct sdp_nap_profile sdp_panu_profile_t; -typedef struct sdp_nap_profile * sdp_panu_profile_p; +struct sdp_panu_profile +{ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ +}; +typedef struct sdp_panu_profile sdp_panu_profile_t; +typedef struct sdp_panu_profile * sdp_panu_profile_p; int32_t sdp_register_service (void *xss, uint16_t uuid, bdaddr_p const bdaddr, uint8_t const *data, ==== //depot/projects/powerpc/lib/libthr/thread/thr_create.c#5 (text+ko) ==== @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.41 2008/03/16 03:22:38 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.42 2008/03/18 02:06:51 davidxu Exp $ */ #include "namespace.h" @@ -247,6 +247,11 @@ static void thread_start(struct pthread *curthread) { + sigset_t set; + + if (curthread->attr.suspend == THR_CREATE_SUSPENDED) + set = curthread->sigmask; + /* * This is used as a serialization point to allow parent * to report 'new thread' event to debugger or tweak new thread's @@ -263,19 +268,20 @@ SIGEMPTYSET(set); SIGADDSET(set, SIGCANCEL); - sigprocmask(SIG_UNBLOCK, &set, NULL); + __sys_sigprocmask(SIG_UNBLOCK, &set, NULL); } if (curthread->attr.suspend == THR_CREATE_SUSPENDED) { - sigset_t set = curthread->sigmask; - +#if 0 + /* Done in THR_UNLOCK() */ _thr_ast(curthread); +#endif /* * Parent thread have stored signal mask for us, * we should restore it now. */ - sigprocmask(SIG_SETMASK, &set, NULL); + __sys_sigprocmask(SIG_SETMASK, &set, NULL); } /* Run the current thread's start routine with argument: */ ==== //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.25 2008/03/06 02:07:18 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.26 2008/03/18 02:06:51 davidxu Exp $ */ #include @@ -121,6 +121,10 @@ } THR_LOCK(curthread); curthread->state = PS_DEAD; + if (curthread->flags & THR_FLAGS_NEED_SUSPEND) { + curthread->cycle++; + _thr_umtx_wake(&curthread->cycle, INT_MAX); + } THR_UNLOCK(curthread); /* * Thread was created with initial refcount 1, we drop the ==== //depot/projects/powerpc/lib/libthr/thread/thr_sig.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_sig.c,v 1.27 2008/03/05 07:04:55 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_sig.c,v 1.28 2008/03/18 02:06:51 davidxu Exp $ */ #include "namespace.h" @@ -92,6 +92,9 @@ long cycle; int err; + if (curthread->force_exit) + return; + err = errno; /* * Blocks SIGCANCEL which other threads must send. ==== //depot/projects/powerpc/sbin/atacontrol/atacontrol.8#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/sbin/atacontrol/atacontrol.8,v 1.29 2007/11/28 21:37:25 remko Exp $ +.\" $FreeBSD: src/sbin/atacontrol/atacontrol.8,v 1.30 2008/03/17 10:33:23 phk Exp $ .\" .Dd November 28, 2007 .Dt ATACONTROL 8 @@ -70,6 +70,10 @@ .Ic cap .Ar device .Nm +.Ic spindown +.Ar device +.Op Ar seconds +.Nm .Ic list .Sh DESCRIPTION The @@ -190,6 +194,10 @@ .It Ic cap Show detailed info about the device on .Ar device . +.It Ic spindown +Set or report timeout after which the +.Ar device +will be spun down. .It Ic info Show info about the attached devices on the .Ar channel . ==== //depot/projects/powerpc/sbin/atacontrol/atacontrol.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.46 2008/03/16 17:54:55 phk Exp $ + * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.47 2008/03/17 10:33:23 phk Exp $ */ #include @@ -102,6 +102,7 @@ " atacontrol status array\n" " atacontrol mode device [mode]\n" " atacontrol cap device\n" + " atacontrol spindown device [seconds]\n" ); exit(EX_USAGE); } @@ -285,6 +286,26 @@ printf(" no device present\n"); } +static void +ata_spindown(int fd, const char *dev, const char *arg) +{ + int tmo; + + if (arg != NULL) { + tmo = strtoul(arg, NULL, 0); + if (ioctl(fd, IOCATASSPINDOWN, &tmo) < 0) + err(1, "ioctl(IOCATASSPINDOWN)"); + } else { + if (ioctl(fd, IOCATAGSPINDOWN, &tmo) < 0) + err(1, "ioctl(IOCATAGSPINDOWN)"); + if (tmo == 0) + printf("%s: idle spin down disabled\n", dev); + else + printf("%s: spin down after %d seconds idle\n", + dev, tmo); + } +} + static int open_dev(const char *arg, int mode) { @@ -356,6 +377,12 @@ exit(EX_OK); } + if (!strcmp(argv[1], "spindown") && (argc == 3 || argc == 4)) { + fd = open_dev(argv[2], O_RDONLY); + ata_spindown(fd, argv[2], argv[3]); + exit(EX_OK); + } + if ((fd = open("/dev/ata", O_RDWR)) < 0) err(1, "control device not found"); ==== //depot/projects/powerpc/share/man/man4/man4.i386/linux.4#2 (text+ko) ==== @@ -22,19 +22,28 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/linux.4,v 1.12 2006/09/18 15:24:19 ru Exp $ -.Dd June 18, 2006 +.\" $FreeBSD: src/share/man/man4/man4.i386/linux.4,v 1.13 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt LINUX 4 i386 .Os .Sh NAME .Nm linux .Nd Linux ABI support .Sh SYNOPSIS -To link Linux ABI support into the kernel: +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "options COMPAT_LINUX" +.Ed .Pp -To load the Linux ABI support kernel module: -.Dl kldload linux +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +linux_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/powerpc/share/man/man4/man4.i386/scd.4#2 (text+ko) ==== @@ -24,16 +24,16 @@ .\" (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/share/man/man4/man4.i386/scd.4,v 1.22 2005/03/16 02:03:15 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/scd.4,v 1.23 2008/03/17 08:06:41 brueffer Exp $ .\" -.Dd March 16, 2005 +.Dd March 17, 2008 .Dt SCD 4 i386 .Os .Sh NAME .Nm scd .Nd Sony CDU31/33 CD-ROM driver .Sh SYNOPSIS -.Cd "device scd 1" +.Cd "device scd" .Pp In .Pa /boot/device.hints : ==== //depot/projects/powerpc/share/man/man4/man4.i386/streams.4#2 (text+ko) ==== @@ -22,21 +22,27 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/streams.4,v 1.7 2005/01/21 08:36:39 ru Exp $ -.Dd November 6, 2000 +.\" $FreeBSD: src/share/man/man4/man4.i386/streams.4,v 1.8 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt STREAMS 4 i386 .Os .Sh NAME .Nm streams .Nd System V STREAMS networking ABI support -.Sh SYNOPSIS -To link System V Release 4 (SVR4) STREAMS interprocess communication ABI -support into the kernel: -.Cd device streams +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device streams" +.Ed .Pp -To load the SVR4 STREAMS interprocess communication ABI support kernel -module: -.Dl kldload streams +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +streams_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/powerpc/share/man/man4/man4.i386/svr4.4#2 (text+ko) ==== @@ -22,19 +22,28 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.12 2005/02/13 23:45:49 ru Exp $ -.Dd October 28, 2003 +.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.13 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt SVR4 4 i386 .Os .Sh NAME .Nm svr4 .Nd System V Release 4 ABI support .Sh SYNOPSIS -To link System V Release 4 (SVR4) ABI support into the kernel: -.Cd options COMPAT_SVR4 +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "options COMPAT_SVR4" +.Ed .Pp -To load the SVR4 ABI support kernel module: -.Dl kldload svr4 +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +svr4_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/powerpc/share/man/man9/ieee80211_radiotap.9#2 (text+ko) ==== @@ -25,10 +25,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ieee80211_radiotap.9,v 1.3 2004/07/07 12:59:39 ru Exp $ +.\" $FreeBSD: src/share/man/man9/ieee80211_radiotap.9,v 1.5 2008/03/17 16:37:35 brueffer Exp $ .\" $Id: ieee80211_radiotap.9,v 1.3 2004/03/04 11:38:52 bruce Exp $ .\" -.Dd March 2, 2004 +.Dd March 17, 2008 .Dt IEEE80211_RADIOTAP 9 .Os .Sh NAME @@ -72,7 +72,7 @@ It is requested by using the .Xr bpf 4 data-link type -.Dv DLT_IEEE_80211_RADIO . +.Dv DLT_IEEE802_11_RADIO . .Pp .\" Each frame using this attachment has the following header prepended to it: @@ -103,7 +103,7 @@ by calling .Fn bpfattach2 with the data-link type set to -.Dv DLT_IEEE_80211_RADIO . +.Dv DLT_IEEE802_11_RADIO . .Pp .\" When the the information is available, ==== //depot/projects/powerpc/sys/amd64/amd64/intr_machdep.c#9 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.38 2008/03/16 10:58:02 rwatson Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.39 2008/03/17 22:42:00 jhb Exp $ */ /* @@ -77,12 +77,6 @@ static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; -#ifdef INTR_FILTER -static void intr_eoi_src(void *arg); -static void intr_disab_eoi_src(void *arg); -static void intr_event_stray(void *cookie); -#endif - #ifdef SMP static int assign_cpu; @@ -90,6 +84,10 @@ #endif static int intr_assign_cpu(void *arg, u_char cpu); +static void intr_disable_src(void *arg); +#ifdef INTR_FILTER +static void intr_event_stray(void *cookie); +#endif static void intr_init(void *__dummy); static int intr_pic_registered(struct pic *pic); static void intrcnt_setname(const char *name, int index); @@ -144,16 +142,10 @@ vector = isrc->is_pic->pic_vector(isrc); if (interrupt_sources[vector] != NULL) return (EEXIST); -#ifdef INTR_FILTER error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, - intr_eoi_src, intr_disab_eoi_src, intr_assign_cpu, "irq%d:", - vector); -#else - error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, intr_assign_cpu, "irq%d:", + intr_disable_src, (mask_fn)isrc->is_pic->pic_enable_source, + (mask_fn)isrc->is_pic->pic_eoi_source, intr_assign_cpu, "irq%d:", vector); -#endif if (error) return (error); sx_xlock(&intr_table_lock); @@ -237,6 +229,15 @@ return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); } +static void +intr_disable_src(void *arg) +{ + struct intsrc *isrc; + + isrc = arg; + isrc->is_pic->pic_disable_source(isrc, PIC_EOI); +} + #ifdef INTR_FILTER void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -289,24 +290,6 @@ "too many stray irq %d's: not logging anymore\n", isrc->is_pic->pic_vector(isrc)); } - -static void -intr_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_eoi_source(isrc); -} - -static void -intr_disab_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_disable_source(isrc, PIC_EOI); -} #else void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) ==== //depot/projects/powerpc/sys/arm/arm/intr.c#7 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.18 2008/03/14 19:41:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.19 2008/03/17 22:42:00 jhb Exp $"); #include #include #include @@ -50,6 +50,8 @@ #include #include +typedef void (*mask_fn)(void *); + static struct intr_event *intr_events[NIRQ]; static int intrcnt_tab[NIRQ]; static int intrcnt_index = 0; @@ -57,27 +59,6 @@ void arm_handler_execute(struct trapframe *, int); -#ifdef INTR_FILTER -static void -intr_disab_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_mask_irq(nb); -} - -static void -intr_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_unmask_irq(nb); -} - -#endif - void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -89,14 +70,9 @@ return; event = intr_events[irq]; if (event == NULL) { -#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, intr_eoi_src, - intr_disab_eoi_src, NULL, "intr%d:", irq); -#else - error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, NULL, "intr%d:", irq); -#endif + (mask_fn)arm_mask_irq, (mask_fn)arm_unmask_irq, + (mask_fn)arm_unmask_irq, NULL, "intr%d:", irq); if (error) return; intr_events[irq] = event; ==== //depot/projects/powerpc/sys/cam/scsi/scsi_ses.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.36 2008/02/20 19:49:46 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.37 2008/03/17 17:18:16 scottl Exp $"); #include #include @@ -144,9 +144,9 @@ encvec ses_vec; /* vector to handlers */ void * ses_private; /* per-type private data */ encobj * ses_objmap; /* objects */ - u_int32_t ses_nobjects; /* number of objects */ + uint32_t ses_nobjects; /* number of objects */ ses_encstat ses_encstat; /* overall status */ - u_int8_t ses_flags; + uint8_t ses_flags; union ccb ses_saved_ccb; struct cdev *ses_dev; struct cam_periph *periph; @@ -166,9 +166,9 @@ static periph_dtor_t sescleanup; static periph_start_t sesstart; -static void sesasync(void *, u_int32_t, struct cam_path *, void *); +static void sesasync(void *, uint32_t, struct cam_path *, void *); static void sesdone(struct cam_periph *, union ccb *); -static int seserror(union ccb *, u_int32_t, u_int32_t); +static int seserror(union ccb *, uint32_t, uint32_t); static struct periph_driver sesdriver = { sesinit, "ses", @@ -234,7 +234,7 @@ } static void -sesasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg) +sesasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -303,7 +303,7 @@ return (CAM_REQ_CMP_ERR); } - softc = malloc(sizeof (struct ses_softc), M_SCSISES, M_NOWAIT); + softc = SES_MALLOC(sizeof (struct ses_softc)); if (softc == NULL) { printf("sesregister: Unable to probe new device. " "Unable to allocate softc\n"); @@ -472,7 +472,7 @@ } static int -seserror(union ccb *ccb, u_int32_t cflags, u_int32_t sflags) +seserror(union ccb *ccb, uint32_t cflags, uint32_t sflags) { struct ses_softc *softc; struct cam_periph *periph; @@ -489,7 +489,7 @@ struct cam_periph *periph; ses_encstat tmp; ses_objstat objs; - ses_object obj, *uobj; + ses_object *uobj; struct ses_softc *ssc; void *addr; int error, i; @@ -511,6 +511,9 @@ /* * Now check to see whether we're initialized or not. + * This actually should never fail as we're not supposed + * to get past ses_open w/o successfully initializing + * things. */ if ((ssc->ses_flags & SES_FLAG_INITIALIZED) == 0) { cam_periph_unlock(periph); @@ -526,6 +529,14 @@ /* * If this command can change the device's state, * we must have the device open for writing. + * + * For commands that get information about the + * device- we don't need to lock the peripheral + * if we aren't running a command. The number + * of objects and the contents will stay stable + * after the first open that does initialization. + * The periph also can't go away while a user + * process has it open. */ switch (cmd) { case SESIOC_GETNOBJ: @@ -546,23 +557,16 @@ break; case SESIOC_GETOBJMAP: - /* - * XXX Dropping the lock while copying multiple segments is - * bogus. - */ - cam_periph_lock(periph); - for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++, uobj++) { - obj.obj_id = i; - obj.subencid = ssc->ses_objmap[i].subenclosure; - obj.object_type = ssc->ses_objmap[i].enctype; - cam_periph_unlock(periph); - error = copyout(&obj, uobj, sizeof (ses_object)); - cam_periph_lock(periph); + for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++) { + ses_object kobj; + kobj.obj_id = i; + kobj.subencid = ssc->ses_objmap[i].subenclosure; + kobj.object_type = ssc->ses_objmap[i].enctype; + error = copyout(&kobj, &uobj[i], sizeof (ses_object)); if (error) { break; } } - cam_periph_unlock(periph); break; case SESIOC_GETENCSTAT: ==== //depot/projects/powerpc/sys/compat/svr4/svr4_fcntl.c#8 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.43 2008/01/13 14:44:01 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.44 2008/03/17 18:27:28 antoine Exp $"); #include "opt_mac.h" @@ -79,6 +79,8 @@ switch (cmd) { case SVR4_F_DUPFD: return F_DUPFD; + case SVR4_F_DUP2FD: + return F_DUP2FD; case SVR4_F_GETFD: return F_GETFD; case SVR4_F_SETFD: @@ -584,6 +586,7 @@ switch (cmd) { case F_DUPFD: + case F_DUP2FD: case F_GETFD: case F_SETFD: return (kern_fcntl(td, uap->fd, cmd, (intptr_t)uap->arg)); @@ -637,19 +640,6 @@ } case -1: switch (uap->cmd) { - case SVR4_F_DUP2FD: - { - struct dup2_args du; - - du.from = uap->fd; - du.to = (int)uap->arg; - error = dup2(td, &du); - if (error) - return error; - *retval = du.to; - return 0; - } - case SVR4_F_FREESP: { struct svr4_flock ifl; ==== //depot/projects/powerpc/sys/conf/files#26 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1280 2008/03/12 10:11:56 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1281 2008/03/18 06:52:15 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2133,7 +2133,6 @@ vm/vm_object.c standard vm/vm_page.c standard vm/vm_pageout.c standard -vm/vm_pageq.c standard vm/vm_pager.c standard vm/vm_phys.c standard vm/vm_reserv.c standard ==== //depot/projects/powerpc/sys/dev/ata/ata-all.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.280 2007/10/04 19:17:15 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.281 2008/03/17 10:33:23 phk Exp $"); #include "opt_ata.h" #include @@ -514,6 +514,12 @@ case IOCATAGMODE: *mode = atadev->mode; return 0; + case IOCATASSPINDOWN: + atadev->spindown = *mode; + return 0; + case IOCATAGSPINDOWN: + *mode = atadev->spindown; + return 0; default: return ENOTTY; } ==== //depot/projects/powerpc/sys/dev/ata/ata-all.h#12 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.127 2008/01/02 20:31:14 phk Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.128 2008/03/17 10:33:23 phk Exp $ */ /* ATA register defines */ @@ -403,6 +403,9 @@ struct ata_params param; /* ata param structure */ int mode; /* current transfermode */ u_int32_t max_iosize; /* max IO size */ + int spindown; /* idle spindown timeout */ + struct callout spindown_timer; + int spindown_state; int flags; #define ATA_D_USE_CHS 0x0001 #define ATA_D_MEDIA_CHANGED 0x0002 ==== //depot/projects/powerpc/sys/dev/ata/ata-disk.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.206 2008/01/02 20:33:54 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.207 2008/03/17 10:33:23 phk Exp $"); #include "opt_ata.h" #include @@ -171,6 +171,8 @@ device_add_child(dev, "subdisk", device_get_unit(dev)); ad_firmware_geom_adjust(dev, adp->disk); bus_generic_attach(dev); + + callout_init(&atadev->spindown_timer, 1); return 0; } @@ -178,6 +180,7 @@ ad_detach(device_t dev) { struct ad_softc *adp = device_get_ivars(dev); + struct ata_device *atadev = device_get_softc(dev); device_t *children; int nchildren, i; @@ -185,6 +188,9 @@ if (!device_get_ivars(dev)) return ENXIO; + /* destroy the power timeout */ + callout_drain(&atadev->spindown_timer); + /* detach & delete all children */ if (!device_get_children(dev, &children, &nchildren)) { for (i = 0; i < nchildren; i++) @@ -229,6 +235,38 @@ return 0; } +static void +ad_power_callback(struct ata_request *request) +{ + device_printf(request->dev, "drive spun down.\n"); + ata_free_request(request); +} + +static void +ad_spindown(void *priv) +{ + device_t dev = priv; + struct ata_device *atadev = device_get_softc(dev); + struct ata_request *request; + + if(atadev->spindown == 0) + return; + device_printf(dev, "Idle, spin down\n"); + atadev->spindown_state = 1; + if (!(request = ata_alloc_request())) { + device_printf(dev, "FAILURE - out of memory in ad_spindown\n"); + return; + } + request->flags = ATA_R_CONTROL; + request->dev = dev; + request->timeout = 5; + request->retries = 1; + request->callback = ad_power_callback; + request->u.ata.command = ATA_STANDBY_IMMEDIATE; + ata_queue_request(request); +} + + static void ad_strategy(struct bio *bp) { @@ -236,6 +274,10 @@ struct ata_device *atadev = device_get_softc(dev); struct ata_request *request; + if (atadev->spindown != 0) + callout_reset(&atadev->spindown_timer, hz * atadev->spindown, + ad_spindown, dev); + if (!(request = ata_alloc_request())) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 05:38:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 973D91065671; Wed, 19 Mar 2008 05:38:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53C76106566C for ; Wed, 19 Mar 2008 05:38:16 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 325568FC14 for ; Wed, 19 Mar 2008 05:38:16 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2J5cG7p035610 for ; Wed, 19 Mar 2008 05:38:16 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2J5cFkV035608 for perforce@freebsd.org; Wed, 19 Mar 2008 05:38:15 GMT (envelope-from marcel@freebsd.org) Date: Wed, 19 Mar 2008 05:38:15 GMT Message-Id: <200803190538.m2J5cFkV035608@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 138059 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 05:38:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=138059 Change 138059 by marcel@marcel_xcllnt on 2008/03/19 05:37:15 IFC @138058 Affected files ... .. //depot/projects/bdb/contrib/cvs/lib/getdate#2 delete .. //depot/projects/bdb/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/bdb/lib/libsdp/sdp.h#3 integrate .. //depot/projects/bdb/lib/libthr/thread/thr_create.c#4 integrate .. //depot/projects/bdb/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/bdb/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/projects/bdb/sbin/atacontrol/atacontrol.8#2 integrate .. //depot/projects/bdb/sbin/atacontrol/atacontrol.c#3 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/linux.4#2 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/bdb/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/bdb/share/man/man9/atomic.9#2 integrate .. //depot/projects/bdb/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/bdb/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/bdb/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/arm/arm/intr.c#3 integrate .. //depot/projects/bdb/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/bdb/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/bdb/sys/conf/files#3 integrate .. //depot/projects/bdb/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/bdb/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/bdb/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/bdb/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/bdb/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/bdb/sys/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/bdb/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/bdb/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/bdb/sys/i386/cpufreq/est.c#3 integrate .. //depot/projects/bdb/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/bdb/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/bdb/sys/i386/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/bdb/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/kern/kern_conf.c#2 integrate .. //depot/projects/bdb/sys/kern/kern_intr.c#4 integrate .. //depot/projects/bdb/sys/kern/kern_resource.c#4 integrate .. //depot/projects/bdb/sys/kern/subr_witness.c#4 integrate .. //depot/projects/bdb/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/bdb/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/bdb/sys/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/bdb/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/bdb/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/bdb/sys/netinet/libalias/alias_irc.c#3 integrate .. //depot/projects/bdb/sys/nfsserver/nfs_srvsock.c#2 integrate .. //depot/projects/bdb/sys/powerpc/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/bdb/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/bdb/sys/powerpc/powerpc/intr_machdep.c#4 integrate .. //depot/projects/bdb/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/sparc64/sparc64/intr_machdep.c#3 integrate .. //depot/projects/bdb/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/bdb/sys/sun4v/sun4v/intr_machdep.c#3 integrate .. //depot/projects/bdb/sys/sys/ata.h#2 integrate .. //depot/projects/bdb/sys/sys/conf.h#2 integrate .. //depot/projects/bdb/sys/sys/interrupt.h#3 integrate .. //depot/projects/bdb/sys/sys/resourcevar.h#2 integrate .. //depot/projects/bdb/sys/vm/vm_page.c#2 integrate .. //depot/projects/bdb/sys/vm/vm_page.h#2 integrate .. //depot/projects/bdb/sys/vm/vm_pageq.c#2 delete .. //depot/projects/bdb/usr.bin/netstat/inet6.c#2 integrate .. //depot/projects/bdb/usr.bin/ruptime/ruptime.c#2 integrate .. //depot/projects/bdb/usr.bin/tar/Makefile#2 integrate .. //depot/projects/bdb/usr.bin/tar/matching.c#2 integrate .. //depot/projects/bdb/usr.sbin/adduser/adduser.8#2 integrate .. //depot/projects/bdb/usr.sbin/arp/arp.8#2 integrate .. //depot/projects/bdb/usr.sbin/arp/arp.c#2 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/lan.c#2 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/profile.c#3 integrate .. //depot/projects/bdb/usr.sbin/bluetooth/sdpd/profile.h#3 integrate .. //depot/projects/bdb/usr.sbin/fifolog/lib/miniobj.h#2 integrate Differences ... ==== //depot/projects/bdb/lib/libc/locale/wctype.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/wctype.c,v 1.3 2004/03/27 08:59:21 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/wctype.c,v 1.4 2008/03/17 18:22:23 antoine Exp $"); #include #include @@ -42,7 +42,7 @@ wctype_t wctype(const char *property) { - struct { + static const struct { const char *name; wctype_t mask; } props[] = { ==== //depot/projects/bdb/lib/libsdp/sdp.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: sdp.h,v 1.3 2003/09/05 00:33:59 max Exp $ - * $FreeBSD: src/lib/libsdp/sdp.h,v 1.8 2008/03/11 00:08:40 emax Exp $ + * $FreeBSD: src/lib/libsdp/sdp.h,v 1.10 2008/03/19 00:06:29 emax Exp $ */ #ifndef _SDP_H_ @@ -649,20 +649,37 @@ struct sdp_nap_profile { - uint16_t security_description; /* HBO: NAP/GN */ - uint16_t net_access_type; /* HBO: NAP */ - uint32_t max_net_access_rate; /* HBO: NAP */ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ + uint16_t security_description; /* HBO */ + uint16_t net_access_type; /* HBO */ + uint32_t max_net_access_rate; /* HBO */ }; typedef struct sdp_nap_profile sdp_nap_profile_t; typedef struct sdp_nap_profile * sdp_nap_profile_p; -/* Reuse struct sdp_nap_profile for GN */ -typedef struct sdp_nap_profile sdp_gn_profile_t; -typedef struct sdp_nap_profile * sdp_gn_profile_p; +struct sdp_gn_profile +{ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ + uint16_t security_description; /* HBO */ + uint16_t reserved2; +}; +typedef struct sdp_gn_profile sdp_gn_profile_t; +typedef struct sdp_gn_profile * sdp_gn_profile_p; -/* Reuse struct sdp_nap_profile for PANU */ -typedef struct sdp_nap_profile sdp_panu_profile_t; -typedef struct sdp_nap_profile * sdp_panu_profile_p; +struct sdp_panu_profile +{ + uint8_t reserved; + uint8_t load_factor; + uint16_t psm; /* HBO */ + uint16_t security_description; /* HBO */ + uint16_t reserved2; +}; +typedef struct sdp_panu_profile sdp_panu_profile_t; +typedef struct sdp_panu_profile * sdp_panu_profile_p; int32_t sdp_register_service (void *xss, uint16_t uuid, bdaddr_p const bdaddr, uint8_t const *data, ==== //depot/projects/bdb/lib/libthr/thread/thr_create.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.41 2008/03/16 03:22:38 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.42 2008/03/18 02:06:51 davidxu Exp $ */ #include "namespace.h" @@ -247,6 +247,11 @@ static void thread_start(struct pthread *curthread) { + sigset_t set; + + if (curthread->attr.suspend == THR_CREATE_SUSPENDED) + set = curthread->sigmask; + /* * This is used as a serialization point to allow parent * to report 'new thread' event to debugger or tweak new thread's @@ -263,19 +268,20 @@ SIGEMPTYSET(set); SIGADDSET(set, SIGCANCEL); - sigprocmask(SIG_UNBLOCK, &set, NULL); + __sys_sigprocmask(SIG_UNBLOCK, &set, NULL); } if (curthread->attr.suspend == THR_CREATE_SUSPENDED) { - sigset_t set = curthread->sigmask; - +#if 0 + /* Done in THR_UNLOCK() */ _thr_ast(curthread); +#endif /* * Parent thread have stored signal mask for us, * we should restore it now. */ - sigprocmask(SIG_SETMASK, &set, NULL); + __sys_sigprocmask(SIG_SETMASK, &set, NULL); } /* Run the current thread's start routine with argument: */ ==== //depot/projects/bdb/lib/libthr/thread/thr_exit.c#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/lib/libthr/thread/thr_exit.c,v 1.25 2008/03/06 02:07:18 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.26 2008/03/18 02:06:51 davidxu Exp $ */ #include @@ -121,6 +121,10 @@ } THR_LOCK(curthread); curthread->state = PS_DEAD; + if (curthread->flags & THR_FLAGS_NEED_SUSPEND) { + curthread->cycle++; + _thr_umtx_wake(&curthread->cycle, INT_MAX); + } THR_UNLOCK(curthread); /* * Thread was created with initial refcount 1, we drop the ==== //depot/projects/bdb/lib/libthr/thread/thr_sig.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_sig.c,v 1.27 2008/03/05 07:04:55 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_sig.c,v 1.28 2008/03/18 02:06:51 davidxu Exp $ */ #include "namespace.h" @@ -92,6 +92,9 @@ long cycle; int err; + if (curthread->force_exit) + return; + err = errno; /* * Blocks SIGCANCEL which other threads must send. ==== //depot/projects/bdb/sbin/atacontrol/atacontrol.8#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/sbin/atacontrol/atacontrol.8,v 1.29 2007/11/28 21:37:25 remko Exp $ +.\" $FreeBSD: src/sbin/atacontrol/atacontrol.8,v 1.30 2008/03/17 10:33:23 phk Exp $ .\" .Dd November 28, 2007 .Dt ATACONTROL 8 @@ -70,6 +70,10 @@ .Ic cap .Ar device .Nm +.Ic spindown +.Ar device +.Op Ar seconds +.Nm .Ic list .Sh DESCRIPTION The @@ -190,6 +194,10 @@ .It Ic cap Show detailed info about the device on .Ar device . +.It Ic spindown +Set or report timeout after which the +.Ar device +will be spun down. .It Ic info Show info about the attached devices on the .Ar channel . ==== //depot/projects/bdb/sbin/atacontrol/atacontrol.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.46 2008/03/16 17:54:55 phk Exp $ + * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.47 2008/03/17 10:33:23 phk Exp $ */ #include @@ -102,6 +102,7 @@ " atacontrol status array\n" " atacontrol mode device [mode]\n" " atacontrol cap device\n" + " atacontrol spindown device [seconds]\n" ); exit(EX_USAGE); } @@ -285,6 +286,26 @@ printf(" no device present\n"); } +static void +ata_spindown(int fd, const char *dev, const char *arg) +{ + int tmo; + + if (arg != NULL) { + tmo = strtoul(arg, NULL, 0); + if (ioctl(fd, IOCATASSPINDOWN, &tmo) < 0) + err(1, "ioctl(IOCATASSPINDOWN)"); + } else { + if (ioctl(fd, IOCATAGSPINDOWN, &tmo) < 0) + err(1, "ioctl(IOCATAGSPINDOWN)"); + if (tmo == 0) + printf("%s: idle spin down disabled\n", dev); + else + printf("%s: spin down after %d seconds idle\n", + dev, tmo); + } +} + static int open_dev(const char *arg, int mode) { @@ -356,6 +377,12 @@ exit(EX_OK); } + if (!strcmp(argv[1], "spindown") && (argc == 3 || argc == 4)) { + fd = open_dev(argv[2], O_RDONLY); + ata_spindown(fd, argv[2], argv[3]); + exit(EX_OK); + } + if ((fd = open("/dev/ata", O_RDWR)) < 0) err(1, "control device not found"); ==== //depot/projects/bdb/share/man/man4/man4.i386/ar.4#2 (text+ko) ==== @@ -25,17 +25,16 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/ar.4,v 1.28 2005/01/21 08:36:38 ru Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/ar.4,v 1.29 2008/03/16 22:26:17 brueffer Exp $ .\" -.Dd November 19, 1995 +.Dd March 16, 2008 .Dt AR 4 i386 .Os .Sh NAME .Nm ar .Nd synchronous Digi/Arnet device driver .Sh SYNOPSIS -.Cd "device ar0 at isa? port 0x300 irq 10 iomem 0xd0000" -.Cd "device ar1 at isa? port 0x310 irq 11 iomem 0xd0000" +.Cd "device ar" .Pp .Cd "device sppp" .Sh DESCRIPTION @@ -83,14 +82,6 @@ The node will have the same name as the device with ``sync_'' prepended, e.g., .Dv sync_ar0 . -.Sh FILES -.Bl -tag -width /sys/i386/isa/ic/hd64570.h -compact -.It Pa /sys/i386/isa/ic/hd64570.h -.It Pa /sys/i386/isa/if_arregs.h -.It Pa /sys/i386/isa/if_ar.c -.It Pa /sys/i386/isa/if_ar.h -.It Pa /sys/pci/if_ar_p.c -.El .Sh DIAGNOSTICS .Bl -diag .It "ar%d: Warning illegal interrupt %d." ==== //depot/projects/bdb/share/man/man4/man4.i386/linux.4#2 (text+ko) ==== @@ -22,19 +22,28 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/linux.4,v 1.12 2006/09/18 15:24:19 ru Exp $ -.Dd June 18, 2006 +.\" $FreeBSD: src/share/man/man4/man4.i386/linux.4,v 1.13 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt LINUX 4 i386 .Os .Sh NAME .Nm linux .Nd Linux ABI support .Sh SYNOPSIS -To link Linux ABI support into the kernel: +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "options COMPAT_LINUX" +.Ed .Pp -To load the Linux ABI support kernel module: -.Dl kldload linux +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +linux_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/bdb/share/man/man4/man4.i386/pnp.4#2 (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/share/man/man4/man4.i386/pnp.4,v 1.17 2005/07/15 17:35:26 hrs Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/pnp.4,v 1.18 2008/03/16 22:51:30 brueffer Exp $ .\" .Dd September 20, 2001 .Dt PNP 4 i386 @@ -80,6 +80,7 @@ .Fx 2.2.5 . It has been substantially updated in subsequent versions. .Sh AUTHORS +.An -nosplit PnP support was originally written for .Fx 2.2.5 ==== //depot/projects/bdb/share/man/man4/man4.i386/scd.4#2 (text+ko) ==== @@ -24,16 +24,16 @@ .\" (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/share/man/man4/man4.i386/scd.4,v 1.22 2005/03/16 02:03:15 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/scd.4,v 1.23 2008/03/17 08:06:41 brueffer Exp $ .\" -.Dd March 16, 2005 +.Dd March 17, 2008 .Dt SCD 4 i386 .Os .Sh NAME .Nm scd .Nd Sony CDU31/33 CD-ROM driver .Sh SYNOPSIS -.Cd "device scd 1" +.Cd "device scd" .Pp In .Pa /boot/device.hints : ==== //depot/projects/bdb/share/man/man4/man4.i386/streams.4#2 (text+ko) ==== @@ -22,21 +22,27 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/streams.4,v 1.7 2005/01/21 08:36:39 ru Exp $ -.Dd November 6, 2000 +.\" $FreeBSD: src/share/man/man4/man4.i386/streams.4,v 1.8 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt STREAMS 4 i386 .Os .Sh NAME .Nm streams .Nd System V STREAMS networking ABI support -.Sh SYNOPSIS -To link System V Release 4 (SVR4) STREAMS interprocess communication ABI -support into the kernel: -.Cd device streams +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device streams" +.Ed .Pp -To load the SVR4 STREAMS interprocess communication ABI support kernel -module: -.Dl kldload streams +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +streams_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/bdb/share/man/man4/man4.i386/svr4.4#2 (text+ko) ==== @@ -22,19 +22,28 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.12 2005/02/13 23:45:49 ru Exp $ -.Dd October 28, 2003 +.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.13 2008/03/17 08:17:04 brueffer Exp $ +.\" +.Dd March 17, 2008 .Dt SVR4 4 i386 .Os .Sh NAME .Nm svr4 .Nd System V Release 4 ABI support .Sh SYNOPSIS -To link System V Release 4 (SVR4) ABI support into the kernel: -.Cd options COMPAT_SVR4 +To compile support for this ABI into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "options COMPAT_SVR4" +.Ed .Pp -To load the SVR4 ABI support kernel module: -.Dl kldload svr4 +Alternatively, to load the ABI as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +svr4_load="YES" +.Ed .Sh DESCRIPTION The .Nm ==== //depot/projects/bdb/share/man/man9/atomic.9#2 (text+ko) ==== @@ -21,7 +21,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/share/man/man9/atomic.9,v 1.13 2005/11/18 10:52:24 ru Exp $ +.\" $FreeBSD: src/share/man/man9/atomic.9,v 1.14 2008/03/16 21:20:50 pjd Exp $ .\" .Dd September 27, 2005 .Os @@ -211,7 +211,8 @@ The .Fn atomic_fetchadd functions are only implemented for the types -.Dq Li int +.Dq Li int , +.Dq Li long and .Dq Li 32 and do not have any variants with memory barriers at this time. ==== //depot/projects/bdb/share/man/man9/ieee80211_radiotap.9#2 (text+ko) ==== @@ -25,10 +25,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ieee80211_radiotap.9,v 1.3 2004/07/07 12:59:39 ru Exp $ +.\" $FreeBSD: src/share/man/man9/ieee80211_radiotap.9,v 1.5 2008/03/17 16:37:35 brueffer Exp $ .\" $Id: ieee80211_radiotap.9,v 1.3 2004/03/04 11:38:52 bruce Exp $ .\" -.Dd March 2, 2004 +.Dd March 17, 2008 .Dt IEEE80211_RADIOTAP 9 .Os .Sh NAME @@ -72,7 +72,7 @@ It is requested by using the .Xr bpf 4 data-link type -.Dv DLT_IEEE_80211_RADIO . +.Dv DLT_IEEE802_11_RADIO . .Pp .\" Each frame using this attachment has the following header prepended to it: @@ -103,7 +103,7 @@ by calling .Fn bpfattach2 with the data-link type set to -.Dv DLT_IEEE_80211_RADIO . +.Dv DLT_IEEE802_11_RADIO . .Pp .\" When the the information is available, ==== //depot/projects/bdb/sys/amd64/amd64/intr_machdep.c#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/amd64/amd64/intr_machdep.c,v 1.38 2008/03/16 10:58:02 rwatson Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.39 2008/03/17 22:42:00 jhb Exp $ */ /* @@ -77,12 +77,6 @@ static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; -#ifdef INTR_FILTER -static void intr_eoi_src(void *arg); -static void intr_disab_eoi_src(void *arg); -static void intr_event_stray(void *cookie); -#endif - #ifdef SMP static int assign_cpu; @@ -90,6 +84,10 @@ #endif static int intr_assign_cpu(void *arg, u_char cpu); +static void intr_disable_src(void *arg); +#ifdef INTR_FILTER +static void intr_event_stray(void *cookie); +#endif static void intr_init(void *__dummy); static int intr_pic_registered(struct pic *pic); static void intrcnt_setname(const char *name, int index); @@ -144,16 +142,10 @@ vector = isrc->is_pic->pic_vector(isrc); if (interrupt_sources[vector] != NULL) return (EEXIST); -#ifdef INTR_FILTER error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, - intr_eoi_src, intr_disab_eoi_src, intr_assign_cpu, "irq%d:", - vector); -#else - error = intr_event_create(&isrc->is_event, isrc, 0, - (mask_fn)isrc->is_pic->pic_enable_source, intr_assign_cpu, "irq%d:", + intr_disable_src, (mask_fn)isrc->is_pic->pic_enable_source, + (mask_fn)isrc->is_pic->pic_eoi_source, intr_assign_cpu, "irq%d:", vector); -#endif if (error) return (error); sx_xlock(&intr_table_lock); @@ -237,6 +229,15 @@ return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); } +static void +intr_disable_src(void *arg) +{ + struct intsrc *isrc; + + isrc = arg; + isrc->is_pic->pic_disable_source(isrc, PIC_EOI); +} + #ifdef INTR_FILTER void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) @@ -289,24 +290,6 @@ "too many stray irq %d's: not logging anymore\n", isrc->is_pic->pic_vector(isrc)); } - -static void -intr_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_eoi_source(isrc); -} - -static void -intr_disab_eoi_src(void *arg) -{ - struct intsrc *isrc; - - isrc = arg; - isrc->is_pic->pic_disable_source(isrc, PIC_EOI); -} #else void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame) ==== //depot/projects/bdb/sys/amd64/include/atomic.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.44 2006/12/29 15:29:49 bde Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.45 2008/03/16 21:20:48 pjd Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -74,6 +74,7 @@ int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src); int atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src); u_int atomic_fetchadd_int(volatile u_int *p, u_int v); +u_long atomic_fetchadd_long(volatile u_long *p, u_long v); #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \ @@ -174,6 +175,25 @@ return (v); } +/* + * Atomically add the value of v to the long integer pointed to by p and return + * the previous value of *p. + */ +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + + __asm __volatile( + " " MPLOCKED " " + " xaddq %0, %1 ; " + "# atomic_fetchadd_long" + : "+r" (v), /* 0 (result) */ + "=m" (*p) /* 1 */ + : "m" (*p)); /* 2 */ + + return (v); +} + #if defined(_KERNEL) && !defined(SMP) /* ==== //depot/projects/bdb/sys/arm/arm/intr.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.18 2008/03/14 19:41:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.19 2008/03/17 22:42:00 jhb Exp $"); #include #include #include @@ -50,6 +50,8 @@ #include #include +typedef void (*mask_fn)(void *); + static struct intr_event *intr_events[NIRQ]; static int intrcnt_tab[NIRQ]; static int intrcnt_index = 0; @@ -57,27 +59,6 @@ void arm_handler_execute(struct trapframe *, int); -#ifdef INTR_FILTER -static void -intr_disab_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_mask_irq(nb); -} - -static void -intr_eoi_src(void *arg) -{ - uintptr_t nb; - - nb = (uintptr_t)arg; - arm_unmask_irq(nb); -} - -#endif - void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -89,14 +70,9 @@ return; event = intr_events[irq]; if (event == NULL) { -#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, intr_eoi_src, - intr_disab_eoi_src, NULL, "intr%d:", irq); -#else - error = intr_event_create(&event, (void *)irq, 0, - (void (*)(void *))arm_unmask_irq, NULL, "intr%d:", irq); -#endif + (mask_fn)arm_mask_irq, (mask_fn)arm_unmask_irq, + (mask_fn)arm_unmask_irq, NULL, "intr%d:", irq); if (error) return; intr_events[irq] = event; ==== //depot/projects/bdb/sys/cam/scsi/scsi_ses.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.36 2008/02/20 19:49:46 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.37 2008/03/17 17:18:16 scottl Exp $"); #include #include @@ -144,9 +144,9 @@ encvec ses_vec; /* vector to handlers */ void * ses_private; /* per-type private data */ encobj * ses_objmap; /* objects */ - u_int32_t ses_nobjects; /* number of objects */ + uint32_t ses_nobjects; /* number of objects */ ses_encstat ses_encstat; /* overall status */ - u_int8_t ses_flags; + uint8_t ses_flags; union ccb ses_saved_ccb; struct cdev *ses_dev; struct cam_periph *periph; @@ -166,9 +166,9 @@ static periph_dtor_t sescleanup; static periph_start_t sesstart; -static void sesasync(void *, u_int32_t, struct cam_path *, void *); +static void sesasync(void *, uint32_t, struct cam_path *, void *); static void sesdone(struct cam_periph *, union ccb *); -static int seserror(union ccb *, u_int32_t, u_int32_t); +static int seserror(union ccb *, uint32_t, uint32_t); static struct periph_driver sesdriver = { sesinit, "ses", @@ -234,7 +234,7 @@ } static void -sesasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg) +sesasync(void *callback_arg, uint32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -303,7 +303,7 @@ return (CAM_REQ_CMP_ERR); } - softc = malloc(sizeof (struct ses_softc), M_SCSISES, M_NOWAIT); + softc = SES_MALLOC(sizeof (struct ses_softc)); if (softc == NULL) { printf("sesregister: Unable to probe new device. " "Unable to allocate softc\n"); @@ -472,7 +472,7 @@ } static int -seserror(union ccb *ccb, u_int32_t cflags, u_int32_t sflags) +seserror(union ccb *ccb, uint32_t cflags, uint32_t sflags) { struct ses_softc *softc; struct cam_periph *periph; @@ -489,7 +489,7 @@ struct cam_periph *periph; ses_encstat tmp; ses_objstat objs; - ses_object obj, *uobj; + ses_object *uobj; struct ses_softc *ssc; void *addr; int error, i; @@ -511,6 +511,9 @@ /* * Now check to see whether we're initialized or not. + * This actually should never fail as we're not supposed + * to get past ses_open w/o successfully initializing + * things. */ if ((ssc->ses_flags & SES_FLAG_INITIALIZED) == 0) { cam_periph_unlock(periph); @@ -526,6 +529,14 @@ /* * If this command can change the device's state, * we must have the device open for writing. + * + * For commands that get information about the + * device- we don't need to lock the peripheral + * if we aren't running a command. The number + * of objects and the contents will stay stable + * after the first open that does initialization. + * The periph also can't go away while a user + * process has it open. */ switch (cmd) { case SESIOC_GETNOBJ: @@ -546,23 +557,16 @@ break; case SESIOC_GETOBJMAP: - /* - * XXX Dropping the lock while copying multiple segments is - * bogus. - */ - cam_periph_lock(periph); - for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++, uobj++) { - obj.obj_id = i; - obj.subencid = ssc->ses_objmap[i].subenclosure; - obj.object_type = ssc->ses_objmap[i].enctype; - cam_periph_unlock(periph); - error = copyout(&obj, uobj, sizeof (ses_object)); - cam_periph_lock(periph); + for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++) { + ses_object kobj; + kobj.obj_id = i; + kobj.subencid = ssc->ses_objmap[i].subenclosure; + kobj.object_type = ssc->ses_objmap[i].enctype; + error = copyout(&kobj, &uobj[i], sizeof (ses_object)); if (error) { break; } } - cam_periph_unlock(periph); break; case SESIOC_GETENCSTAT: ==== //depot/projects/bdb/sys/compat/svr4/svr4_fcntl.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.43 2008/01/13 14:44:01 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.44 2008/03/17 18:27:28 antoine Exp $"); #include "opt_mac.h" @@ -79,6 +79,8 @@ switch (cmd) { case SVR4_F_DUPFD: return F_DUPFD; + case SVR4_F_DUP2FD: + return F_DUP2FD; case SVR4_F_GETFD: return F_GETFD; case SVR4_F_SETFD: @@ -584,6 +586,7 @@ switch (cmd) { case F_DUPFD: + case F_DUP2FD: case F_GETFD: case F_SETFD: return (kern_fcntl(td, uap->fd, cmd, (intptr_t)uap->arg)); @@ -637,19 +640,6 @@ } case -1: switch (uap->cmd) { - case SVR4_F_DUP2FD: - { - struct dup2_args du; - - du.from = uap->fd; - du.to = (int)uap->arg; - error = dup2(td, &du); - if (error) - return error; - *retval = du.to; - return 0; - } - case SVR4_F_FREESP: { struct svr4_flock ifl; ==== //depot/projects/bdb/sys/conf/files#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 13:32:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B6C3106567B; Wed, 19 Mar 2008 13:32:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF715106564A for ; Wed, 19 Mar 2008 13:32:01 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D1C648FC27 for ; Wed, 19 Mar 2008 13:32:01 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JDW1b5043969 for ; Wed, 19 Mar 2008 13:32:01 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JDW1YA043967 for perforce@freebsd.org; Wed, 19 Mar 2008 13:32:01 GMT (envelope-from csjp@freebsd.org) Date: Wed, 19 Mar 2008 13:32:01 GMT Message-Id: <200803191332.m2JDW1YA043967@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138092 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 13:32:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=138092 Change 138092 by csjp@ibm01 on 2008/03/19 13:31:55 Fix an interesting scenario which is the result of using SIGALARM for timer events. The delivery of the signal perfectly coincided with the timeout associated with the bpf descriptor, resulting in select(2) being interrupted constantly before it could time out. Subsequently, packets could never be processed in this case. To work around this, we query the timer before each call to select, and we we are interrupted, we adjust the timeout to compensate for the interruption. So, if we schedule a 10 second timeout, and get interrupted 5 seconds in, we will adjust the next timeout to 5 seconds. Affected files ... .. //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#25 edit .. //depot/projects/zcopybpf/src/contrib/libpcap/pcap-int.h#8 edit Differences ... ==== //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#25 (text+ko) ==== @@ -197,9 +197,12 @@ { struct bpf_zbuf bz; struct timeval tv; + struct timespec cur; fd_set r_set; int data, r; + int tmout, expire; +#define TSTOMILLI(ts) (((ts)->tv_sec * 1000) + ((ts)->tv_nsec / 1000000)) /* * Start out by seeing whether anything is waiting by checking the * next shared memory buffer for data. @@ -207,27 +210,57 @@ data = pcap_next_zbuf_shm(p, cc); if (data) return (data); - + /* + * If a previous sleep was interrupted due to signal delivery, make + * sure that the timeout gets adjusted accordingly. This requires + * that we analyze when the timeout should be been expired, and + * subtract the current time from that. If after this operation, + * our timeout is less then or equal to zero, handle it like a + * regular timeout. + */ + tmout = p->to_ms; + if (tmout) + (void) clock_gettime(CLOCK_MONOTONIC, &cur); + if (p->interrupted && p->to_ms) { + expire = TSTOMILLI(&p->firstsel) + p->to_ms; + tmout = expire - TSTOMILLI(&cur); + if (tmout <= 0) { + p->interrupted = 0; + data = pcap_next_zbuf_shm(p, cc); + if (data) + return (data); + if (ioctl(p->fd, BIOCROTZBUF, &bz) < 0) { + (void) snprintf(p->errbuf, PCAP_ERRBUF_SIZE, + "BIOCROTZBUF: %s", strerror(errno)); + return (-1); + } + return (pcap_next_zbuf_shm(p, cc)); + } + } /* * No data in the buffer, so must use select() to wait for data or * the next timeout. */ FD_ZERO(&r_set); FD_SET(p->fd, &r_set); - if (p->to_ms != 0) { - tv.tv_sec = p->to_ms / 1000; - tv.tv_usec = (p->to_ms * 1000) % 1000000; + if (tmout != 0) { + tv.tv_sec = tmout / 1000; + tv.tv_usec = (tmout * 1000) % 1000000; } r = select(p->fd + 1, &r_set, NULL, NULL, p->to_ms != 0 ? &tv : NULL); - if (r < 0 && errno == EINTR) + if (r < 0 && errno == EINTR) { + if (!p->interrupted && p->to_ms) { + p->interrupted = 1; + p->firstsel = cur; + } return (0); - else if (r < 0) { + } else if (r < 0) { (void) snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "select: %s", strerror(errno)); return (-1); } - + p->interrupted = 0; /* * Check again for data, which may exist now that we've either been * woken up as a result of data or timed out. Try the "there's data" ==== //depot/projects/zcopybpf/src/contrib/libpcap/pcap-int.h#8 (text+ko) ==== @@ -192,6 +192,8 @@ u_int zbufsize; u_int timeout; u_int zerocopy; + u_int interrupted; + struct timespec firstsel; /* * If there's currently a buffer being actively processed, then it is From owner-p4-projects@FreeBSD.ORG Wed Mar 19 13:37:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C57DA1065684; Wed, 19 Mar 2008 13:37:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83E4C106567B for ; Wed, 19 Mar 2008 13:37:07 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5C2BA8FC1F for ; Wed, 19 Mar 2008 13:37:07 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JDb7PQ048801 for ; Wed, 19 Mar 2008 13:37:07 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JDb7jx048790 for perforce@freebsd.org; Wed, 19 Mar 2008 13:37:07 GMT (envelope-from csjp@freebsd.org) Date: Wed, 19 Mar 2008 13:37:07 GMT Message-Id: <200803191337.m2JDb7jx048790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138094 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 13:37:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=138094 Change 138094 by csjp@ibm01 on 2008/03/19 13:37:07 undefine TSTOMILLI when we no longer require it. This helps a bit with namespace pollution. Affected files ... .. //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#26 edit Differences ... ==== //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#26 (text+ko) ==== @@ -224,6 +224,7 @@ if (p->interrupted && p->to_ms) { expire = TSTOMILLI(&p->firstsel) + p->to_ms; tmout = expire - TSTOMILLI(&cur); +#undef TSTOMILLI if (tmout <= 0) { p->interrupted = 0; data = pcap_next_zbuf_shm(p, cc); From owner-p4-projects@FreeBSD.ORG Wed Mar 19 13:39:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 496071065679; Wed, 19 Mar 2008 13:39:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DEFD61065670 for ; Wed, 19 Mar 2008 13:39:09 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7E4A8FC1F for ; Wed, 19 Mar 2008 13:39:09 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JDd9T7049924 for ; Wed, 19 Mar 2008 13:39:09 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JDd9iD049922 for perforce@freebsd.org; Wed, 19 Mar 2008 13:39:09 GMT (envelope-from csjp@freebsd.org) Date: Wed, 19 Mar 2008 13:39:09 GMT Message-Id: <200803191339.m2JDd9iD049922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 138096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 13:39:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=138096 Change 138096 by csjp@ibm01 on 2008/03/19 13:39:04 Cosmetic nit Affected files ... .. //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#27 edit Differences ... ==== //depot/projects/zcopybpf/src/contrib/libpcap/pcap-bpf.c#27 (text+ko) ==== @@ -195,12 +195,11 @@ static int pcap_next_zbuf(pcap_t *p, int *cc) { + int data, r, tmout, expire; struct bpf_zbuf bz; struct timeval tv; struct timespec cur; fd_set r_set; - int data, r; - int tmout, expire; #define TSTOMILLI(ts) (((ts)->tv_sec * 1000) + ((ts)->tv_nsec / 1000000)) /* From owner-p4-projects@FreeBSD.ORG Wed Mar 19 16:05:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C2851065674; Wed, 19 Mar 2008 16:05:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE4001065673 for ; Wed, 19 Mar 2008 16:05:46 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E3EAD8FC29 for ; Wed, 19 Mar 2008 16:05:46 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JG5kjq084440 for ; Wed, 19 Mar 2008 16:05:46 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JG5kfi084438 for perforce@freebsd.org; Wed, 19 Mar 2008 16:05:46 GMT (envelope-from sam@freebsd.org) Date: Wed, 19 Mar 2008 16:05:46 GMT Message-Id: <200803191605.m2JG5kfi084438@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 138103 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 16:05:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=138103 Change 138103 by sam@sam_ebb on 2008/03/19 16:04:54 remove timeout on disassociate event; this causes us to fallback on the normal event handler+state machine to clear the lease which is what you'd get in wired case Affected files ... .. //depot/projects/vap/sbin/dhclient/dhclient.c#6 edit Differences ... ==== //depot/projects/vap/sbin/dhclient/dhclient.c#6 (text+ko) ==== @@ -278,7 +278,11 @@ switch (ifan->ifan_what) { case RTM_IEEE80211_ASSOC: case RTM_IEEE80211_REASSOC: - cancel_timeout(disassoc, ifi); + /* + * Use assoc/reassoc event to kick state machine + * in case we roam. Otherwise fall back to the + * normal state machine just like a wired network. + */ jev = (struct ieee80211_join_event *) &ifan[1]; if (memcmp(curbssid, jev->iev_addr, 6)) { disassoc(ifi); @@ -286,22 +290,6 @@ } memcpy(curbssid, jev->iev_addr, 6); break; - case RTM_IEEE80211_DISASSOC: - /* - * Defer state change in case we are re-associating - * to the same ap after a deauth (e.g. due to being - * idle). We'll get an associate event and if we - * roamed we'll handle it (see above). Otherwise we'll - * eventually clear state. The only question is how - * long to wait before doing this. Give it 45 seconds - * as this should be plenty to scan multiple bands - * and complete a WPA handshake. If this event is a - * precursor to our being marked down or the interface - * going away that'll be handled by the link state - * change. - */ - add_timeout(t+45, disassoc, ifi); - break; } break; default: From owner-p4-projects@FreeBSD.ORG Wed Mar 19 16:07:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B1901065672; Wed, 19 Mar 2008 16:07:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD1E3106566B for ; Wed, 19 Mar 2008 16:07:51 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0EBC8FC18 for ; Wed, 19 Mar 2008 16:07:51 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JG7puQ085181 for ; Wed, 19 Mar 2008 16:07:51 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JG7mCM085177 for perforce@freebsd.org; Wed, 19 Mar 2008 16:07:48 GMT (envelope-from sam@freebsd.org) Date: Wed, 19 Mar 2008 16:07:48 GMT Message-Id: <200803191607.m2JG7mCM085177@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 138104 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 16:07:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=138104 Change 138104 by sam@sam_ebb on 2008/03/19 16:07:42 IFC @ 138102 Affected files ... .. //depot/projects/vap/ObsoleteFiles.inc#7 integrate .. //depot/projects/vap/bin/Makefile#3 integrate .. //depot/projects/vap/bin/uuidgen/Makefile#2 integrate .. //depot/projects/vap/contrib/cvs/ChangeLog#4 integrate .. //depot/projects/vap/contrib/cvs/FAQ#4 integrate .. //depot/projects/vap/contrib/cvs/HACKING#4 integrate .. //depot/projects/vap/contrib/cvs/INSTALL#4 integrate .. //depot/projects/vap/contrib/cvs/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/NEWS#4 integrate .. //depot/projects/vap/contrib/cvs/README#4 integrate .. //depot/projects/vap/contrib/cvs/TODO#4 integrate .. //depot/projects/vap/contrib/cvs/aclocal.m4#4 integrate .. //depot/projects/vap/contrib/cvs/compile#3 integrate .. //depot/projects/vap/contrib/cvs/config.h.in#4 integrate .. //depot/projects/vap/contrib/cvs/configure#4 integrate .. //depot/projects/vap/contrib/cvs/configure.in#4 integrate .. //depot/projects/vap/contrib/cvs/contrib/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/depcomp#3 integrate .. //depot/projects/vap/contrib/cvs/diff/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/doc/ChangeLog#4 integrate .. //depot/projects/vap/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/vap/contrib/cvs/doc/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/doc/cvs.1#4 integrate .. //depot/projects/vap/contrib/cvs/doc/cvs.texinfo#4 integrate .. //depot/projects/vap/contrib/cvs/doc/cvsclient.texi#4 integrate .. //depot/projects/vap/contrib/cvs/doc/mdate-sh#3 integrate .. //depot/projects/vap/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/vap/contrib/cvs/doc/stamp-1#4 integrate .. //depot/projects/vap/contrib/cvs/doc/stamp-vti#4 integrate .. //depot/projects/vap/contrib/cvs/doc/version-client.texi#4 integrate .. //depot/projects/vap/contrib/cvs/doc/version.texi#4 integrate .. //depot/projects/vap/contrib/cvs/install-sh#3 integrate .. //depot/projects/vap/contrib/cvs/lib/ChangeLog#4 integrate .. //depot/projects/vap/contrib/cvs/lib/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/lib/getdate#2 delete .. //depot/projects/vap/contrib/cvs/lib/xsize.h#3 integrate .. //depot/projects/vap/contrib/cvs/man/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/missing#3 integrate .. //depot/projects/vap/contrib/cvs/mkinstalldirs#3 integrate .. //depot/projects/vap/contrib/cvs/src/ChangeLog#4 integrate .. //depot/projects/vap/contrib/cvs/src/Makefile.in#4 integrate .. //depot/projects/vap/contrib/cvs/src/add.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/classify.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/client.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/client.h#4 integrate .. //depot/projects/vap/contrib/cvs/src/cvs.h#4 integrate .. //depot/projects/vap/contrib/cvs/src/edit.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/edit.h#3 integrate .. //depot/projects/vap/contrib/cvs/src/hash.h#4 integrate .. //depot/projects/vap/contrib/cvs/src/import.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/lock.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/log.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/login.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/main.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/mkmodules.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/modules.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/parseinfo.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/rcs.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/recurse.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/root.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/root.h#4 integrate .. //depot/projects/vap/contrib/cvs/src/sanity.sh#4 integrate .. //depot/projects/vap/contrib/cvs/src/server.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/update.c#4 integrate .. //depot/projects/vap/contrib/cvs/src/vers_ts.c#4 integrate .. //depot/projects/vap/contrib/cvs/tools/Makefile.in#4 integrate .. //depot/projects/vap/contrib/tcsh/sh.lex.c#3 integrate .. //depot/projects/vap/etc/rc.d/zfs#3 integrate .. //depot/projects/vap/gnu/usr.bin/Makefile#4 integrate .. //depot/projects/vap/gnu/usr.bin/cvs/lib/Makefile#3 integrate .. //depot/projects/vap/gnu/usr.bin/cvs/lib/config.h.proto#3 integrate .. //depot/projects/vap/lib/libarchive/Makefile#5 integrate .. //depot/projects/vap/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/vap/lib/libarchive/archive_entry.3#4 integrate .. //depot/projects/vap/lib/libarchive/archive_entry.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_entry.h#4 integrate .. //depot/projects/vap/lib/libarchive/archive_read_private.h#5 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_ar.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_mtree.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_string.h#3 integrate .. //depot/projects/vap/lib/libarchive/archive_string_sprintf.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_util.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_write.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_write_disk.c#7 integrate .. //depot/projects/vap/lib/libarchive/archive_write_private.h#3 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/vap/lib/libarchive/archive_write_set_format_ar.c#5 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_format_cpio.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_format_pax.c#4 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_format_shar.c#3 integrate .. //depot/projects/vap/lib/libarchive/archive_write_set_format_ustar.c#4 integrate .. //depot/projects/vap/lib/libarchive/config_freebsd.h#4 integrate .. //depot/projects/vap/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/vap/lib/libarchive/test/Makefile#7 integrate .. //depot/projects/vap/lib/libarchive/test/test_archive_api_feature.c#3 integrate .. //depot/projects/vap/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/vap/lib/libarchive/test/test_entry.c#4 integrate .. //depot/projects/vap/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/vap/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/vap/lib/libarchive/test/test_read_format_ar.c#3 integrate .. //depot/projects/vap/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/vap/lib/libarchive/test/test_write_format_ar.c#3 integrate .. //depot/projects/vap/lib/libc/gen/scandir.c#3 integrate .. //depot/projects/vap/lib/libc/gen/sem_timedwait.3#2 integrate .. //depot/projects/vap/lib/libc/gen/sem_wait.3#3 integrate .. //depot/projects/vap/lib/libc/locale/wctype.c#3 integrate .. //depot/projects/vap/lib/libc/sys/kldunload.2#4 integrate .. //depot/projects/vap/lib/libelf/elf_update.3#3 integrate .. //depot/projects/vap/lib/libelf/elf_update.c#4 integrate .. //depot/projects/vap/lib/libpmc/pmc.3#5 integrate .. //depot/projects/vap/lib/libsdp/sdp.h#4 integrate .. //depot/projects/vap/lib/libthr/thread/thr_affinity.c#2 integrate .. //depot/projects/vap/lib/libthr/thread/thr_create.c#4 integrate .. //depot/projects/vap/lib/libthr/thread/thr_exit.c#5 integrate .. //depot/projects/vap/lib/libthr/thread/thr_sig.c#4 integrate .. //depot/projects/vap/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/vap/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/vap/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/vap/sbin/geom/class/multipath/gmultipath.8#4 integrate .. //depot/projects/vap/share/examples/cvsup/cvs-supfile#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/ar.4#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/linux.4#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/pnp.4#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/scd.4#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/streams.4#3 integrate .. //depot/projects/vap/share/man/man4/man4.i386/svr4.4#3 integrate .. //depot/projects/vap/share/man/man9/Makefile#7 integrate .. //depot/projects/vap/share/man/man9/atomic.9#3 integrate .. //depot/projects/vap/share/man/man9/ieee80211_radiotap.9#3 integrate .. //depot/projects/vap/share/man/man9/rwlock.9#3 integrate .. //depot/projects/vap/share/man/man9/stack.9#4 integrate .. //depot/projects/vap/share/mk/bsd.cpu.mk#5 integrate .. //depot/projects/vap/sys/amd64/acpica/acpi_machdep.c#5 integrate .. //depot/projects/vap/sys/amd64/acpica/madt.c#7 integrate .. //depot/projects/vap/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/vap/sys/amd64/amd64/intr_machdep.c#6 integrate .. //depot/projects/vap/sys/amd64/amd64/legacy.c#7 integrate .. //depot/projects/vap/sys/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/vap/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/vap/sys/amd64/amd64/mem.c#3 integrate .. //depot/projects/vap/sys/amd64/amd64/mptable.c#6 integrate .. //depot/projects/vap/sys/amd64/amd64/nexus.c#6 integrate .. //depot/projects/vap/sys/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/vap/sys/amd64/include/atomic.h#6 integrate .. //depot/projects/vap/sys/amd64/include/intr_machdep.h#6 integrate .. //depot/projects/vap/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/vap/sys/amd64/include/specialreg.h#8 integrate .. //depot/projects/vap/sys/amd64/isa/atpic.c#6 integrate .. //depot/projects/vap/sys/amd64/linux32/linux32_proto.h#6 integrate .. //depot/projects/vap/sys/amd64/linux32/linux32_syscall.h#6 integrate .. //depot/projects/vap/sys/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/vap/sys/amd64/linux32/linux32_sysvec.c#7 integrate .. //depot/projects/vap/sys/amd64/linux32/syscalls.master#6 integrate .. //depot/projects/vap/sys/arm/arm/intr.c#5 integrate .. //depot/projects/vap/sys/arm/arm/machdep.c#6 integrate .. //depot/projects/vap/sys/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/vap/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/vap/sys/boot/uboot/common/main.c#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/Makefile#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/api_public.h#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/vap/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/vap/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/vap/sys/boot/uboot/lib/glue.c#4 integrate .. //depot/projects/vap/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/vap/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/vap/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/vap/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/vap/sys/cam/scsi/scsi_ses.c#7 integrate .. //depot/projects/vap/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/vap/sys/compat/svr4/svr4_fcntl.c#7 integrate .. //depot/projects/vap/sys/compat/svr4/svr4_sysvec.c#6 integrate .. //depot/projects/vap/sys/conf/files#25 integrate .. //depot/projects/vap/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/vap/sys/contrib/opensolaris/uts/common/os/callb.c#3 integrate .. //depot/projects/vap/sys/contrib/opensolaris/uts/common/os/taskq.c#3 integrate .. //depot/projects/vap/sys/dev/aac/aac.c#7 integrate .. //depot/projects/vap/sys/dev/acpica/acpi.c#9 integrate .. //depot/projects/vap/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/vap/sys/dev/ata/ata-all.c#6 integrate .. //depot/projects/vap/sys/dev/ata/ata-all.h#7 integrate .. //depot/projects/vap/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/vap/sys/dev/ata/ata-disk.h#6 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_main.c#6 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_amd.c#6 integrate .. //depot/projects/vap/sys/dev/hwpmc/pmc_events.h#3 integrate .. //depot/projects/vap/sys/dev/ofw/ofw_console.c#6 integrate .. //depot/projects/vap/sys/dev/syscons/sysmouse.c#6 integrate .. //depot/projects/vap/sys/dev/tdfx/tdfx_pci.c#6 integrate .. //depot/projects/vap/sys/dev/usb/ehci_pci.c#6 integrate .. //depot/projects/vap/sys/dev/usb/if_zyd.c#14 integrate .. //depot/projects/vap/sys/dev/usb/ums.c#6 integrate .. //depot/projects/vap/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/vap/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/vap/sys/dev/wpi/if_wpi.c#12 integrate .. //depot/projects/vap/sys/gdb/gdb_cons.c#3 integrate .. //depot/projects/vap/sys/geom/vinum/geom_vinum_drive.c#6 integrate .. //depot/projects/vap/sys/i386/acpica/acpi_machdep.c#5 integrate .. //depot/projects/vap/sys/i386/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/vap/sys/i386/acpica/madt.c#7 integrate .. //depot/projects/vap/sys/i386/cpufreq/est.c#8 integrate .. //depot/projects/vap/sys/i386/cpufreq/p4tcc.c#5 integrate .. //depot/projects/vap/sys/i386/i386/i686_mem.c#4 integrate .. //depot/projects/vap/sys/i386/i386/intr_machdep.c#6 integrate .. //depot/projects/vap/sys/i386/i386/k6_mem.c#4 integrate .. //depot/projects/vap/sys/i386/i386/legacy.c#7 integrate .. //depot/projects/vap/sys/i386/i386/local_apic.c#6 integrate .. //depot/projects/vap/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/vap/sys/i386/i386/mp_machdep.c#8 integrate .. //depot/projects/vap/sys/i386/i386/mptable.c#6 integrate .. //depot/projects/vap/sys/i386/i386/nexus.c#6 integrate .. //depot/projects/vap/sys/i386/i386/vm_machdep.c#7 integrate .. //depot/projects/vap/sys/i386/include/atomic.h#6 integrate .. //depot/projects/vap/sys/i386/include/intr_machdep.h#5 integrate .. //depot/projects/vap/sys/i386/include/nexusvar.h#1 branch .. //depot/projects/vap/sys/i386/include/specialreg.h#6 integrate .. //depot/projects/vap/sys/i386/isa/atpic.c#5 integrate .. //depot/projects/vap/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/vap/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/vap/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/vap/sys/i386/linux/linux_sysvec.c#7 integrate .. //depot/projects/vap/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/vap/sys/i386/svr4/svr4_machdep.c#5 integrate .. //depot/projects/vap/sys/i386/xbox/xbox.c#3 integrate .. //depot/projects/vap/sys/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/vap/sys/ia64/ia64/machdep.c#10 integrate .. //depot/projects/vap/sys/ia64/ia64/nexus.c#6 integrate .. //depot/projects/vap/sys/ia64/ia64/sscdisk.c#5 integrate .. //depot/projects/vap/sys/ia64/include/atomic.h#5 integrate .. //depot/projects/vap/sys/ia64/isa/isa_dma.c#6 integrate .. //depot/projects/vap/sys/kern/init_main.c#8 integrate .. //depot/projects/vap/sys/kern/kern_alq.c#7 integrate .. //depot/projects/vap/sys/kern/kern_clock.c#7 integrate .. //depot/projects/vap/sys/kern/kern_conf.c#7 integrate .. //depot/projects/vap/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/vap/sys/kern/kern_descrip.c#11 integrate .. //depot/projects/vap/sys/kern/kern_event.c#7 integrate .. //depot/projects/vap/sys/kern/kern_exit.c#8 integrate .. //depot/projects/vap/sys/kern/kern_idle.c#6 integrate .. //depot/projects/vap/sys/kern/kern_intr.c#7 integrate .. //depot/projects/vap/sys/kern/kern_kthread.c#5 integrate .. //depot/projects/vap/sys/kern/kern_linker.c#7 integrate .. //depot/projects/vap/sys/kern/kern_lockf.c#6 integrate .. //depot/projects/vap/sys/kern/kern_malloc.c#6 integrate .. //depot/projects/vap/sys/kern/kern_mbuf.c#8 integrate .. //depot/projects/vap/sys/kern/kern_module.c#8 integrate .. //depot/projects/vap/sys/kern/kern_ntptime.c#6 integrate .. //depot/projects/vap/sys/kern/kern_poll.c#6 integrate .. //depot/projects/vap/sys/kern/kern_proc.c#8 integrate .. //depot/projects/vap/sys/kern/kern_resource.c#7 integrate .. //depot/projects/vap/sys/kern/kern_shutdown.c#10 integrate .. //depot/projects/vap/sys/kern/kern_sig.c#9 integrate .. //depot/projects/vap/sys/kern/kern_switch.c#7 integrate .. //depot/projects/vap/sys/kern/kern_synch.c#8 integrate .. //depot/projects/vap/sys/kern/kern_tc.c#8 integrate .. //depot/projects/vap/sys/kern/kern_thr.c#6 integrate .. //depot/projects/vap/sys/kern/kern_thread.c#9 integrate .. //depot/projects/vap/sys/kern/link_elf.c#6 integrate .. //depot/projects/vap/sys/kern/link_elf_obj.c#6 integrate .. //depot/projects/vap/sys/kern/sched_4bsd.c#9 integrate .. //depot/projects/vap/sys/kern/sched_ule.c#10 integrate .. //depot/projects/vap/sys/kern/subr_autoconf.c#6 integrate .. //depot/projects/vap/sys/kern/subr_eventhandler.c#4 integrate .. //depot/projects/vap/sys/kern/subr_log.c#4 integrate .. //depot/projects/vap/sys/kern/subr_prof.c#6 integrate .. //depot/projects/vap/sys/kern/subr_sleepqueue.c#9 integrate .. //depot/projects/vap/sys/kern/subr_smp.c#9 integrate .. //depot/projects/vap/sys/kern/subr_witness.c#9 integrate .. //depot/projects/vap/sys/kern/sys_generic.c#7 integrate .. //depot/projects/vap/sys/kern/sys_process.c#7 integrate .. //depot/projects/vap/sys/kern/tty.c#7 integrate .. //depot/projects/vap/sys/kern/tty_cons.c#7 integrate .. //depot/projects/vap/sys/kern/tty_pts.c#3 integrate .. //depot/projects/vap/sys/kern/tty_pty.c#7 integrate .. //depot/projects/vap/sys/kern/tty_subr.c#3 integrate .. //depot/projects/vap/sys/kern/tty_tty.c#6 integrate .. //depot/projects/vap/sys/kern/uipc_domain.c#5 integrate .. //depot/projects/vap/sys/kern/uipc_socket.c#8 integrate .. //depot/projects/vap/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/vap/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/vap/sys/kern/vfs_cache.c#8 integrate .. //depot/projects/vap/sys/kern/vfs_hash.c#5 integrate .. //depot/projects/vap/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/vap/sys/kern/vfs_subr.c#11 integrate .. //depot/projects/vap/sys/net/bpf.c#8 integrate .. //depot/projects/vap/sys/net/ieee8023ad_lacp.c#4 integrate .. //depot/projects/vap/sys/net/ieee8023ad_lacp.h#4 integrate .. //depot/projects/vap/sys/net/if.c#9 integrate .. //depot/projects/vap/sys/net/if_lagg.c#4 integrate .. //depot/projects/vap/sys/net/netisr.c#5 integrate .. //depot/projects/vap/sys/net/rtsock.c#6 integrate .. //depot/projects/vap/sys/netatm/ipatm/ipatm_load.c#6 integrate .. //depot/projects/vap/sys/netatm/sigpvc/sigpvc_if.c#3 integrate .. //depot/projects/vap/sys/netatm/spans/spans_if.c#3 integrate .. //depot/projects/vap/sys/netatm/uni/uni_load.c#3 integrate .. //depot/projects/vap/sys/netgraph/ng_base.c#13 integrate .. //depot/projects/vap/sys/netgraph/ng_l2tp.c#7 integrate .. //depot/projects/vap/sys/netinet/in_pcb.c#8 integrate .. //depot/projects/vap/sys/netinet/ip_fw2.c#10 integrate .. //depot/projects/vap/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/vap/sys/netinet/libalias/alias_irc.c#6 integrate .. //depot/projects/vap/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/vap/sys/netinet6/ip6_ipsec.h#4 integrate .. //depot/projects/vap/sys/netinet6/ip6_output.c#9 integrate .. //depot/projects/vap/sys/netipsec/ipsec.c#7 integrate .. //depot/projects/vap/sys/netipsec/ipsec_output.c#5 integrate .. //depot/projects/vap/sys/netipsec/key.c#6 integrate .. //depot/projects/vap/sys/nfsclient/nfs_diskless.c#7 integrate .. //depot/projects/vap/sys/nfsserver/nfs_srvsock.c#6 integrate .. //depot/projects/vap/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/vap/sys/pc98/pc98/machdep.c#6 integrate .. //depot/projects/vap/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/vap/sys/powerpc/booke/machdep.c#3 integrate .. //depot/projects/vap/sys/powerpc/booke/vm_machdep.c#3 integrate .. //depot/projects/vap/sys/powerpc/include/atomic.h#6 integrate .. //depot/projects/vap/sys/powerpc/include/gdb_machdep.h#3 integrate .. //depot/projects/vap/sys/powerpc/powerpc/gdb_machdep.c#4 integrate .. //depot/projects/vap/sys/powerpc/powerpc/intr_machdep.c#8 integrate .. //depot/projects/vap/sys/security/audit/audit.c#7 integrate .. //depot/projects/vap/sys/sparc64/include/atomic.h#5 integrate .. //depot/projects/vap/sys/sparc64/sparc64/intr_machdep.c#6 integrate .. //depot/projects/vap/sys/sparc64/sparc64/vm_machdep.c#6 integrate .. //depot/projects/vap/sys/sun4v/include/atomic.h#3 integrate .. //depot/projects/vap/sys/sun4v/sun4v/intr_machdep.c#3 integrate .. //depot/projects/vap/sys/sys/ata.h#7 integrate .. //depot/projects/vap/sys/sys/bus_dma.h#5 integrate .. //depot/projects/vap/sys/sys/conf.h#8 integrate .. //depot/projects/vap/sys/sys/cpuset.h#2 integrate .. //depot/projects/vap/sys/sys/eventhandler.h#5 integrate .. //depot/projects/vap/sys/sys/interrupt.h#5 integrate .. //depot/projects/vap/sys/sys/kernel.h#7 integrate .. //depot/projects/vap/sys/sys/module.h#6 integrate .. //depot/projects/vap/sys/sys/proc.h#11 integrate .. //depot/projects/vap/sys/sys/resourcevar.h#5 integrate .. //depot/projects/vap/sys/sys/rwlock.h#4 integrate .. //depot/projects/vap/sys/sys/taskqueue.h#6 integrate .. //depot/projects/vap/sys/ufs/ffs/ffs_snapshot.c#8 integrate .. //depot/projects/vap/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/vap/sys/vm/vm_fault.c#8 integrate .. //depot/projects/vap/sys/vm/vm_glue.c#7 integrate .. //depot/projects/vap/sys/vm/vm_init.c#4 integrate .. //depot/projects/vap/sys/vm/vm_meter.c#7 integrate .. //depot/projects/vap/sys/vm/vm_mmap.c#7 integrate .. //depot/projects/vap/sys/vm/vm_page.c#7 integrate .. //depot/projects/vap/sys/vm/vm_page.h#5 integrate .. //depot/projects/vap/sys/vm/vm_pageout.c#5 integrate .. //depot/projects/vap/sys/vm/vm_pageq.c#6 delete .. //depot/projects/vap/sys/vm/vm_zeroidle.c#6 integrate .. //depot/projects/vap/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/vap/tools/tools/mctest/mctest.cc#1 branch .. //depot/projects/vap/tools/tools/mctest/mctest.h#1 branch .. //depot/projects/vap/usr.bin/Makefile#6 integrate .. //depot/projects/vap/usr.bin/cpuset/cpuset.1#3 integrate .. //depot/projects/vap/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/vap/usr.bin/netstat/inet6.c#4 integrate .. //depot/projects/vap/usr.bin/ruptime/ruptime.c#3 integrate .. //depot/projects/vap/usr.bin/split/split.1#3 integrate .. //depot/projects/vap/usr.bin/split/split.c#3 integrate .. //depot/projects/vap/usr.bin/tar/Makefile#4 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.c#5 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.h#4 integrate .. //depot/projects/vap/usr.bin/tar/config_freebsd.h#4 integrate .. //depot/projects/vap/usr.bin/tar/matching.c#3 integrate .. //depot/projects/vap/usr.bin/tar/read.c#4 integrate .. //depot/projects/vap/usr.bin/tar/write.c#4 integrate .. //depot/projects/vap/usr.bin/uuidgen/Makefile#3 delete .. //depot/projects/vap/usr.bin/uuidgen/uuidgen.1#3 delete .. //depot/projects/vap/usr.bin/uuidgen/uuidgen.c#3 delete .. //depot/projects/vap/usr.sbin/adduser/adduser.8#4 integrate .. //depot/projects/vap/usr.sbin/arp/arp.8#3 integrate .. //depot/projects/vap/usr.sbin/arp/arp.c#4 integrate .. //depot/projects/vap/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#4 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/lan.c#3 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/profile.c#4 integrate .. //depot/projects/vap/usr.sbin/bluetooth/sdpd/profile.h#4 integrate .. //depot/projects/vap/usr.sbin/fifolog/lib/fifolog_int.c#2 integrate .. //depot/projects/vap/usr.sbin/fifolog/lib/fifolog_write_poll.c#2 integrate .. //depot/projects/vap/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/vap/usr.sbin/mixer/Makefile#3 integrate .. //depot/projects/vap/usr.sbin/mixer/mixer.8#3 integrate .. //depot/projects/vap/usr.sbin/mixer/mixer.c#3 integrate Differences ... ==== //depot/projects/vap/ObsoleteFiles.inc#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/vap/bin/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/vap/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/vap/contrib/cvs/ChangeLog#4 (text+ko) ==== @@ -1,3 +1,96 @@ +2008-03-10 Mark D. Baushke + + * NEWS: Note new IgnoreUnknownConfigKeys CVSROOT/config option. + +2008-01-30 Derek Price + + * NEWS: Note improved join of removals. + +2008-01-27 Mark D. Baushke + + * configure.in: Look for lshc rather than lsh to avoid problems + under Debian GNU/Linux. + * configure: Regenerated. + + * configure.in: Add support for --with-ssh and CVS_SSH. + * NEWS: Note that :extssh: looks to CVS_SSH rather tha CVS_RSH. + * Makefile.in, config.h.in, configure: Regenerated. + +2008-01-24 Mark D. Baushke + + * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an + alias for `cvs annotate' command. New `cvs log -n' switch to undo + a `log -N' entry in a .cvsrc file. + +2007-12-14 Larry Jones + + * configure.in: Add --disable-mmap. + * configure: Regenerated. + +2007-10-19 Derek Price + + * cvs.texinfo: Update Ximbiot's address and Copyright dates. + +2007-08-22 Derek Price + + * NEWS: Note `cvs server' accepts `--allow-root=PATH'. Note further + `cvs add' stops for `CVS' dirs. + + * HACKING, NEWS: Note new Autotool versions. + +2007-08-16 Derek Price + + * NEWS: Note backport of `cvs --allow-root=PATH server'. + +2007-06-18 Derek Price + + * NEWS: Note import now keeps metadata to itself. + +2007-06-15 Derek Price + + * NEWS: Note `cvs import CVS-/CVS' fix. + +2007-05-07 Derek Price + + * NEWS: Note removal of remote `cvs init'. + +2006-09-06 Derek Price + + * NEWS: Note apply_rcs_diff speedup. + +2006-08-28 Derek Price + + * NEWS: Note strstr ("/./") assertion fix. + +2006-08-25 Derek Price + + * TODO (216): Removed. + +2006-08-24 Derek Price + + [bug #17032] + * NEWS: Note patch w/Name keyword fix. + +2006-07-17 Derek Price + + * FAQ, INSTALL, README: Update Copyright notice. + * HACKING: Ditto. Update Savannah URLs. + +2006-06-29 Derek Price + + * NEWS: Note trailing slash fix. + +2006-06-28 Larry Jones + + * HACKING, NEWS: Note new Autoconf version. + * configure.in (AC_PREREQ): Require Autoconf 2.60. + * config.h.in, configure, **/Makefile.in: Regenerated. + +2006-06-28 Derek Price + + [bug #16961] + * NEWS: Note double-free fix. + 2006-06-09 Derek Price * NEWS: Note client/server conflict fix. ==== //depot/projects/vap/contrib/cvs/FAQ#4 (text+ko) ==== @@ -1,6 +1,6 @@ ------------------------------------------------------------------------------- - CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. + CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. CVS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ==== //depot/projects/vap/contrib/cvs/HACKING#4 (text+ko) ==== @@ -2,7 +2,7 @@ * License of CVS - CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. + CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. 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 @@ -23,7 +23,10 @@ Patches against the development version of CVS are most likely to be accepted: - $ CVS_RSH=ssh cvs -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/cvs co ccvs + $ cvs -z3 -d:pserver:anonymous@cvs.sv.nongnu.org:/sources/cvs co ccvs + +See the Savannah sources page for +more information. * Compiler options @@ -145,8 +148,8 @@ automatically aren't included in the generated Makefiles unless you run configure with the --enable-maintainer-mode option. -The CVS Makefiles and configure script were built using Automake 1.9.6 and -Autoconf 2.59, respectively. +The CVS Makefiles and configure script were built using Automake 1.10 and +Autoconf 2.61, respectively. There is a known bug in Autoconf 2.57 that will prevent the configure scripts it generates from working on some platforms. Other combinations of ==== //depot/projects/vap/contrib/cvs/INSTALL#4 (text+ko) ==== @@ -1,6 +1,6 @@ ------------------------------------------------------------------------------- -CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. +CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. CVS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ==== //depot/projects/vap/contrib/cvs/Makefile.in#4 (text+ko) ==== @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -28,15 +28,11 @@ # 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. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -62,7 +58,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno + configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile @@ -70,10 +66,13 @@ DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -89,8 +88,6 @@ distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -111,6 +108,8 @@ EDITOR = @EDITOR@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -122,11 +121,8 @@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@ -MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@ +MKDIR_P = @MKDIR_P@ MKTEMP = @MKTEMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -148,12 +144,13 @@ TEXI2DVI = @TEXI2DVI@ VERSION = @VERSION@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ ac_prefix_program = @ac_prefix_program@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -161,26 +158,38 @@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ +builddir = @builddir@ datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ +htmldir = @htmldir@ includedir = @includedir@ includeopt = @includeopt@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ with_default_rsh = @with_default_rsh@ +with_default_ssh = @with_default_ssh@ # Unix source subdirs, where we'll want to run lint and etags: # This is a legacy variable from b4 Automake @@ -250,7 +259,7 @@ config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @@ -271,7 +280,6 @@ cd $(top_builddir) && $(SHELL) ./config.status $@ zlib/Makefile: $(top_builddir)/config.status $(top_srcdir)/zlib/Makefile.in cd $(top_builddir) && $(SHELL) ./config.status $@ -uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -304,8 +312,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -407,24 +414,22 @@ distdir: $(DISTFILES) $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/emx $(distdir)/lib $(distdir)/os2 $(distdir)/src $(distdir)/windows-NT $(distdir)/zlib - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -438,7 +443,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -446,6 +451,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -453,7 +460,7 @@ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz @@ -528,7 +535,7 @@ $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ @@ -597,12 +604,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -623,24 +638,25 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-generic clean-recursive ctags \ - ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ - dist-tarZ dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-recursive distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am .PHONY: localcheck remotecheck ==== //depot/projects/vap/contrib/cvs/NEWS#4 (text+ko) ==== @@ -1,6 +1,68 @@ -Changes since 1.11.21: +Changes since 1.11.22: ********************** +NEW FEATURES + +* A new log option -n reverts the -N option which may be in a .cvsrc + file. + +* The `cvs blame' command is now a synonym for the `cvs annotate' command. + +* The :extssh: method will use $CVS_SSH if set, or fall back on "ssh" + by default (but may be explicitly set using the --with-ssh flag to + configure). + +* There is a new IgnoreUnknownConfigKeys option available for + CVSROOT/config to aid in the transition to newer versions of CVS. + +BUG FIXES + +* Merges of file removals using -j options are a little smarter. + +* `cvs add' checks more thoroughly for `CVS' directories in the argument list. + +* `cvs server' now accepts `--allow-root=PATH' options. + +* `cvs import' no longer attempts to send CVS metadata to the server. + +* `cvs import' makes more of an effort not to import paths containing files + and directories named `CVS'. + +* The CVS server will no longer allow clients to run `cvs init'. + +* Applying diffs when checking out very old revisions has been reduced from an + O(n^2) operation to an O(n) thanks to a patch from Michael J. Smith + and additional touch-up work from the CVS team. + +* Thanks to report from Paul Eggert , an assertion failure + that could occur when "." was in the path (e.g. `cvs co /cvsroot/./module') + has been removed. + +* Thanks to a report from Peter Toft , CVS server now sends + correct patch files more often when the RCS `Name' keyword is present in + a working file (bug #17302). + +* Thanks to a report from Dan Peterson , clients now send the + right set of commands to the server when asked to update directories with + trailing slashes on their name. + +* Thanks to a report and patch from , potential stack + corruption during pserver login is avoided (bug #16961). + +* The :extssh: method is now properly recognized as an alias for :ext:. + +DEVELOPER ISSUES + +* We've standardized on Autoconf version 2.61 to get a bug fix that notes + that the AIX C compiler's default mode isn't quite C89 and sets the + correct mode instead. + +* We've standardized on Autoconf version 1.10 because it lets us simplify our + sources. + +Changes from 1.11.21 to 1.11.22: +******************************** + BUG FIXES * The CVS client again correctly reports files with conflicts when using ==== //depot/projects/vap/contrib/cvs/README#4 (text+ko) ==== @@ -1,8 +1,8 @@ CVS Kit >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 16:51:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C13310656D1; Wed, 19 Mar 2008 16:51:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBB8310656CF for ; Wed, 19 Mar 2008 16:51:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B13878FC19 for ; Wed, 19 Mar 2008 16:51:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JGpbvo036393 for ; Wed, 19 Mar 2008 16:51:37 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JGpbkl036391 for perforce@freebsd.org; Wed, 19 Mar 2008 16:51:37 GMT (envelope-from sam@freebsd.org) Date: Wed, 19 Mar 2008 16:51:37 GMT Message-Id: <200803191651.m2JGpbkl036391@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 138107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 16:51:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=138107 Change 138107 by sam@sam_ebb on 2008/03/19 16:51:21 Force the scanvalid parametr to 1.5 x the bg scan interval if the device is marked as doing bg scanning; this ensures our scan requests that check the scan cache will (almost) always find valid results to check before initiating a fg scan. Not sure if this belongs here or if the kernel should do this. We also don't handle user changing of scan parameters while we're running; we assume if someone is going to futz they understand what they're doing. Affected files ... .. //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#7 edit Differences ... ==== //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#7 (text+ko) ==== @@ -43,8 +43,11 @@ int prev_roaming; /* roaming state to restore on deinit */ int prev_privacy; /* privacy state to restore on deinit */ int prev_wpa; /* wpa state to restore on deinit */ + int prev_scanvalid; /* scan valid to restore on deinit */ uint8_t lastssid[IEEE80211_NWID_LEN]; int lastssid_len; + uint32_t drivercaps; /* general driver capabilities */ + uint32_t cryptocaps; /* hardware crypto support */ }; static int @@ -739,12 +742,33 @@ #undef min } +#define GETPARAM(drv, param, v) \ + (((v) = get80211param(drv, param)) != -1) +#define IEEE80211_C_BGSCAN 0x20000000 + +/* + * Set the scan cache valid threshold to 1.5 x bg scan interval + * to force all scan requests to consult the cache unless they + * explicitly bypass it. + */ +static int +setscanvalid(struct wpa_driver_bsd_data *drv) +{ + int bgscan, scanvalid; + + if (!GETPARAM(drv, IEEE80211_IOC_SCANVALID, drv->prev_scanvalid) || + !GETPARAM(drv, IEEE80211_IOC_BGSCAN_INTERVAL, bgscan)) + return -1; + scanvalid = 3*bgscan/2; + return (drv->prev_scanvalid < scanvalid) ? + set80211param(drv, IEEE80211_IOC_SCANVALID, scanvalid) : 0; +} + static void * wpa_driver_bsd_init(void *ctx, const char *ifname) { -#define GETPARAM(drv, param, v) \ - (((v) = get80211param(drv, param)) != -1) struct wpa_driver_bsd_data *drv; + struct ieee80211_devcaps_req devcaps; int flags; drv = malloc(sizeof(*drv)); @@ -783,6 +807,15 @@ eloop_register_read_sock(drv->route, wpa_driver_bsd_event_receive, ctx, drv); + if (get80211var(drv, IEEE80211_IOC_DEVCAPS, &devcaps, sizeof(devcaps)) < 0) { + wpa_printf(MSG_DEBUG, + "%s: failed to get device capabilities: %s", + __func__, strerror(errno)); + goto fail; + } + drv->drivercaps = devcaps.dc_drivercaps; + drv->cryptocaps = devcaps.dc_cryptocaps; + if (!GETPARAM(drv, IEEE80211_IOC_ROAMING, drv->prev_roaming)) { wpa_printf(MSG_DEBUG, "%s: failed to get roaming state: %s", __func__, strerror(errno)); @@ -803,7 +836,18 @@ "roaming: %s", __func__, strerror(errno)); goto fail; } - + if (drv->drivercaps & IEEE80211_C_BGSCAN) { + /* + * Driver does background scanning; force the scan valid + * setting to 1.5 x bg scan interval so the scan cache is + * always consulted before we force a foreground scan. + */ + if (setscanvalid(drv) < 0) { + wpa_printf(MSG_DEBUG, + "%s: warning, failed to set scanvalid, scanning " + "may be suboptimal: %s", __func__, strerror(errno)); + } + } if (set80211param(drv, IEEE80211_IOC_WPA, 1+2) < 0) { wpa_printf(MSG_DEBUG, "%s: failed to enable WPA support %s", __func__, strerror(errno)); @@ -816,8 +860,8 @@ fail1: free(drv); return NULL; +} #undef GETPARAM -} static void wpa_driver_bsd_deinit(void *priv) @@ -830,9 +874,17 @@ (void) setifflags(drv, flags &~ IFF_UP); wpa_driver_bsd_set_wpa_internal(drv, drv->prev_wpa, drv->prev_privacy); - if (set80211param(drv, IEEE80211_IOC_ROAMING, drv->prev_roaming) < 0) - wpa_printf(MSG_DEBUG, "%s: failed to restore roaming state", - __func__); + if (set80211param(drv, IEEE80211_IOC_ROAMING, drv->prev_roaming) < 0) { + /* NB: don't whinge if device ejected or equivalent */ + if (errno != ENXIO) + wpa_printf(MSG_DEBUG, "%s: failed to restore roaming " + "state", __func__); + } + if (drv->drivercaps & IEEE80211_C_BGSCAN) { + /* XXX check return value */ + (void) set80211param(drv, IEEE80211_IOC_SCANVALID, + drv->prev_scanvalid); + } (void) close(drv->route); /* ioctl socket */ (void) close(drv->sock); /* event socket */ From owner-p4-projects@FreeBSD.ORG Wed Mar 19 17:08:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74E101065672; Wed, 19 Mar 2008 17:08:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33F7C106564A for ; Wed, 19 Mar 2008 17:08:56 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2A4F38FC1B for ; Wed, 19 Mar 2008 17:08:56 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JH8uVM049021 for ; Wed, 19 Mar 2008 17:08:56 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JH8udo049019 for perforce@freebsd.org; Wed, 19 Mar 2008 17:08:56 GMT (envelope-from sam@freebsd.org) Date: Wed, 19 Mar 2008 17:08:56 GMT Message-Id: <200803191708.m2JH8udo049019@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 138110 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 17:08:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=138110 Change 138110 by sam@sam_ebb on 2008/03/19 17:08:29 (finally) add the hal status to the diagnostic generated after a failed ath_hal_reset call Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#47 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#47 (text+ko) ==== @@ -5328,9 +5328,10 @@ ath_stoprecv(sc); /* turn off frame recv */ if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status)) { if_printf(ic->ic_ifp, "%s: unable to reset " - "channel %u (%u Mhz, flags 0x%x hal flags 0x%x)\n", - __func__, ieee80211_chan2ieee(ic, chan), - chan->ic_freq, chan->ic_flags, hchan.channelFlags); + "channel %u (%u Mhz, flags 0x%x hal flags 0x%x), " + "hal status %u\n", __func__, + ieee80211_chan2ieee(ic, chan), chan->ic_freq, + chan->ic_flags, hchan.channelFlags, status); return EIO; } sc->sc_curchan = hchan; From owner-p4-projects@FreeBSD.ORG Wed Mar 19 17:30:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D1691065673; Wed, 19 Mar 2008 17:30:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EDBE1065670 for ; Wed, 19 Mar 2008 17:30:22 +0000 (UTC) (envelope-from cvance@chrisandkaren.net) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 028F98FC21 for ; Wed, 19 Mar 2008 17:30:22 +0000 (UTC) (envelope-from cvance@chrisandkaren.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JHULEY070664 for ; Wed, 19 Mar 2008 17:30:21 GMT (envelope-from cvance@chrisandkaren.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JHULSn070662 for perforce@freebsd.org; Wed, 19 Mar 2008 17:30:21 GMT (envelope-from cvance@chrisandkaren.net) Date: Wed, 19 Mar 2008 17:30:21 GMT Message-Id: <200803191730.m2JHULSn070662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@chrisandkaren.net using -f From: Chris Vance To: Perforce Change Reviews Cc: Subject: PERFORCE change 138114 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 17:30:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=138114 Change 138114 by cvance@cvance_sony on 2008/03/19 17:29:32 Re-sync the externally visable sedarwin8 branch with the true development repo. This is a large number of changes including: - fixing licenses in xnu/security/... - fixing licenses for audit code developed under this project - updating to 10.4.9 - updating mig to generate permission checks - updating the sedarwin policy module - updating launchd Note that it's still PPC-only and not 100% current. We have confirmed that it builds and runs. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/Makefile#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/Makefile#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/global.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/global.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/mig.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/mig.sh#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/build/bsd.mig.mk#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/bin/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/bin/Makefile.inc#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/bin/launchctl/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/bin/wait4path/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/etc/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/ConsoleMessage/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/Makefile.inc#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/StartupItemContext/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/launchproxy/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/libexec/register_mach_bootstrap_servers/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/Makefile.inc#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/SystemStarter/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/DAServer.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/DNSServiceDiscoveryRequest.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/DirectoryServiceMIG.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/DirectoryServiceMIG_types.h#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/README-defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/config.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/eapolcontroller.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/kextmanager_mig.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/lookup.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/memberd.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/mkkmethods.pl#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/notify_ipc.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/ocspd.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/powermanagement.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/pppcontroller.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/self.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/service.map#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/shared_dns_info.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/ss_types.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd/ucsp.defs#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/launchd_debugd/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/build/sbin/service/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/bootstrap.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rpc_services.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/network_cmds/ifconfig.tproj/Makefile.preamble#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/pam_modules/pam_afpmount/Makefile#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/audit_kernel.h#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/conf/files#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#9 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit_mac.c#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_descrip.c#11 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/subr_log.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#9 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_output.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_subr.c#9 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/msgbuf.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/proc.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/uxkern/ux_exception.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_attrlist.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_cache.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#23 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/config/MACFramework.exports#10 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/makedefs/MakeInc.cmd#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/conf/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/conf/Makefile.template#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/conf/files#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_kmsg.c#8 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#14 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_object.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_port.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/mach_port.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/ipc_kobject.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/mkkmethods.pl#1 add .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/security.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/port.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/mach/security.defs#4 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ppc/model_dep.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_alloc.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_alloc.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_audit.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_base.c#34 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_file.c#11 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_framework.h#40 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_inet.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_mach_internal.h#10 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_net.c#14 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_policy.h#48 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_port.c#9 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_sysv_msg.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/security/mac_vfs_subr.c#10 edit .. //depot/projects/trustedbsd/sedarwin8/policies/Makefile#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/filewatch/mac_filewatch.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/mls/mac_mls.c#28 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libselinux/include/selinux/av_permissions.h#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libselinux/include/selinux/flask.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libselinux/src/av_perm_to_string.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libselinux/src/class_to_string.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libsepol/include/sepol/policydb/flask.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/libsepol/src/av_permissions.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/programs/relabel_gui/LabelDialog.m#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/programs/relabel_gui/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/programs/relabel_gui/relabel_gui.pbproj/project.pbxproj#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Makefile#9 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Rules.modular#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Rules.monolithic#9 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/flask/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/flask/mkmig_av.pl#1 add .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/flask/mkmig_sc.pl#1 add .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules.conf#8 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/DirectoryService.te#10 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/KernelEventAgent.te#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/WindowServer.fc#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/WindowServer.te#15 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/configd.te#22 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreaudiod.te#11 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreservicesd.te#13 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/crashreporterd.te#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/diskarbitrationd.te#13 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/distnoted.te#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/dynamic_pager.te#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/kextd.te#11 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/loginwindow.te#19 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/lookupd.te#9 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/mDNSResponder.te#10 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/mds.fc#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/mds.te#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/memberd.te#9 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/netinfod.fc#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/netinfod.te#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/notifyd.te#10 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/securityd.te#17 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/update.te#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/kernel/kernel.te#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/automount.te#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/ntp.te#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/darwin.te#11 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/getty.te#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/init.te#17 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/logging.te#8 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/MISSING_ENTRIES.txt#1 add .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/av_perm_to_string.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/av_permissions.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#23 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/class_to_string.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/flask.h#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#79 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_sysctl.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/mach_av.c#8 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/Makefile#5 (text+ko) ==== @@ -2,7 +2,7 @@ ifneq "$(word 6, $(shell gcc_select))" "3.3" $(error Build requires GCC version 3.3. Use 'gcc_select 3.3' to change.) endif -ifneq "$(shell uname -r)" "8.8.0" +ifneq "$(shell uname -r)" "8.9.0" $(error Build requires Mac OS X 10.4.8/Darwin 8.8) endif ==== //depot/projects/trustedbsd/sedarwin8/darwin/Makefile#7 (text+ko) ==== @@ -4,11 +4,10 @@ all: $(MAKE) -C Libstreams - $(MAKE) -C bootstrap_cmds tools + $(MAKE) -C bootstrap_cmds $(MAKE) -C cctools $(MAKE) -C kext_tools $(MAKE) -C $(XNU) - $(MAKE) -C bootstrap_cmds bsdmake -C libmac $(MAKE) -C mac_cmds $(MAKE) -C adv_cmds/ps.tproj all @@ -18,7 +17,7 @@ $(MAKE) -C pam_modules/pam_lctx $(MAKE) -C pam_modules/pam_mac_console $(MAKE) -C etc - $(MAKE) -C launchd/src + bsdmake -C launchd/build/sbin/launchd $(MAKE) -C netinfo/servers/notifyd $(MAKE) -C network_cmds/ifconfig.tproj @@ -39,7 +38,8 @@ $(MAKE) -C pam_modules/pam_lctx DSTROOT=$(DESTDIR) install $(MAKE) -C pam_modules/pam_mac_console DSTROOT=$(DESTDIR) install $(MAKE) -C etc install - $(MAKE) -C launchd/src install + bsdmake -C launchd/build/sbin/launchd install + bsdmake -C launchd/build/etc install $(MAKE) -C netinfo/servers/notifyd install $(MAKE) -C network_cmds/ifconfig.tproj install @@ -59,6 +59,6 @@ $(MAKE) -C pam_modules/pam_lctx clean $(MAKE) -C pam_modules/pam_mac_console clean $(MAKE) -C etc clean - $(MAKE) -C launchd/src clean + bsdmake -C launchd/build/sbin/launchd clean $(MAKE) -C netinfo/servers/notifyd clean $(MAKE) -C network_cmds/ifconfig.tproj clean ==== //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/Makefile#2 (text+ko) ==== @@ -6,6 +6,8 @@ all: cd migcom.tproj && make + cd decomment.tproj && make + cd relpath.tproj && make clean: cd decomment.tproj && make clean @@ -14,7 +16,3 @@ install: cd migcom.tproj && make install - -tools: - cd decomment.tproj && make - cd relpath.tproj && make ==== //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/global.c#2 (text+ko) ==== @@ -70,6 +70,7 @@ boolean_t ShortCircuit = FALSE; boolean_t UseRPCTrap = FALSE; boolean_t TestRPCTrap= FALSE; +boolean_t MethodDump = FALSE; boolean_t IsKernelUser = FALSE; boolean_t IsKernelServer = FALSE; ==== //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/global.h#2 (text+ko) ==== @@ -71,6 +71,7 @@ extern boolean_t ShortCircuit; extern boolean_t UseRPCTrap; extern boolean_t TestRPCTrap; +extern boolean_t MethodDump; extern boolean_t IsKernelUser; extern boolean_t IsKernelServer; ==== //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/mig.c#2 (text+ko) ==== @@ -55,6 +55,7 @@ /* * Switches are; + * -M Dump methods. * -[v,Q] verbose or not quiet: prints out type * and routine information as mig runs. * -[V,q] not verbose or quiet : don't print @@ -117,6 +118,7 @@ extern int yyparse(); static FILE *myfopen(); +static void DumpMethods(void); static void parseArgs(argc, argv) @@ -258,6 +260,9 @@ else fatal("unknown flag: '%s'", argv[0]); break; + case 'M': + MethodDump = TRUE; + break; case 'X': ShortCircuit = FALSE; break; @@ -303,6 +308,11 @@ more_global(); + if (MethodDump) { + DumpMethods(); + exit(0); + } + uheader = myfopen(UserHeaderFileName, "w"); if (!UserFilePrefix) user = myfopen(UserFileName, "w"); @@ -410,3 +420,24 @@ return file; } + +static void +DumpMethods(void) +{ + register statement_t *stat; + int fnum; + char *fname; + int first = TRUE; + + printf("%s@%d:", SubsystemName, SubsystemBase); + for (stat = stats; stat != stNULL; stat = stat->stNext) { + if (stat->stKind != skRoutine) + continue; + fnum = SubsystemBase + stat->stRoutine->rtNumber; + fname = stat->stRoutine->rtName; + printf("%s%s@%d", first ? " " : ", ", fname, fnum); + if (first) + first = FALSE; + } + printf("\n"); +} ==== //depot/projects/trustedbsd/sedarwin8/darwin/bootstrap_cmds/migcom.tproj/mig.sh#2 (text+ko) ==== @@ -66,7 +66,7 @@ until [ $# -eq 0 ] do case "$1" in - -[dtqkKQvVtTrRsSlLxX] ) migflags="$migflags $1"; shift;; + -[dtqkKQvVtTrRsSlLxXM] ) migflags="$migflags $1"; shift;; -i ) sawI=1; migflags="$migflags $1 $2"; shift; shift;; -user ) user="$2"; if [ ! "${sawI-}" ]; then migflags="$migflags $1 $2"; fi; shift; shift;; -server ) server="$2"; migflags="$migflags $1 $2"; shift; shift;; ==== //depot/projects/trustedbsd/sedarwin8/darwin/build/bsd.mig.mk#2 (text+ko) ==== @@ -13,24 +13,24 @@ CLEANFILES+= ${_MH} .if !empty(MIG_USER:M${_MH:R}) -${_MH:R:U}_USER= ${_MH:R}User.c +${_MH:R:U}_USER=-user ${_MH:R}User.c SRCS+= ${_MH:R}User.c CLEANFILES+= ${_MH:R}User.c ${_MH:R}User.c: ${_MH} .else -${_MH:R:U}_USER= /dev/null +${_MH:R:U}_USER=-user /dev/null .endif .if !empty(MIG_SERVER:M${_MH:R}) -${_MH:R:U}_SERVER= ${_MH:R}Server.c +${_MH:R:U}_SERVER=-server ${_MH:R}Server.c -sheader ${_MH:R}Server.h SRCS+= ${_MH:R}Server.c -CLEANFILES+= ${_MH:R}Server.c +CLEANFILES+= ${_MH:R}Server.c ${_MH:R}Server.h ${_MH:R}Server.c: ${_MH} .else -${_MH:R:U}_SERVER= /dev/null +${_MH:R:U}_SERVER=-server /dev/null .endif ${_MH}: ${_MSRC} - ${MIG} -server ${${_MH:R:U}_SERVER} -user ${${_MH:R:U}_USER} ${.ALLSRC} + ${MIG} ${${_MH:R:U}_SERVER} ${${_MH:R:U}_USER} ${.ALLSRC} .endfor .endfor ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/bootstrap.c#3 (text+ko) ==== @@ -69,6 +69,9 @@ #include "lists.h" #include "launchd.h" +extern void register_subsystems (void); +extern kern_return_t service_register (task_t, mach_port_t, const char *); + /* Mig should produce a declaration for this, but doesn't */ extern boolean_t bootstrap_server(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP); @@ -77,7 +80,7 @@ bool forward_ok = false; bool debugging = false; bool register_self = false; -const char *register_name = NULL; +const char *register_name = "com.apple.bootstrap"; task_t bootstrap_self = MACH_PORT_NULL; static uid_t inherited_uid = 0; @@ -169,6 +172,7 @@ inherited_uid = getuid(); getaudit(&inherited_audit); init_lists(); + register_subsystems(); init_ports(); result = task_get_bootstrap_port(bootstrap_self, &inherited_bootstrap_port); @@ -233,6 +237,13 @@ if (result != KERN_SUCCESS) panic("mach_port_allocate(): %s", mach_error_string(result)); + result = service_register( + bootstrap_self, + notify_port, + "com.apple.bootstrap.notify"); + if (result != KERN_SUCCESS) + panic("service_register(): %s", mach_error_string(result)); + result = mach_port_move_member( bootstrap_self, notify_port, @@ -262,6 +273,14 @@ &bootstraps.bootstrap_port); if (result != KERN_SUCCESS) panic("mach_port_allocate(): %s", mach_error_string(result)); + + result = service_register( + bootstrap_self, + bootstraps.bootstrap_port, + register_name); + if (result != KERN_SUCCESS) + panic("service_register(): %s", mach_error_string(result)); + result = mach_port_insert_right( bootstrap_self, bootstraps.bootstrap_port, ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rpc_services.c#2 (text+ko) ==== @@ -48,6 +48,8 @@ #ifndef NULL #define NULL ((void *)0) #endif NULL + +extern kern_return_t service_register (task_t, mach_port_t, const char *); #define bsstatus(servicep) \ (((servicep)->isActive) ? BOOTSTRAP_STATUS_ACTIVE : \ @@ -731,6 +733,13 @@ if (result != KERN_SUCCESS) panic("mach_port_allocate(): %s", mach_error_string(result)); + result = service_register( + mach_task_self(), + new_bootstrapport, + "com.apple.bootstrap"); + if (result != KERN_SUCCESS) + panic("service_register(): %s", mach_error_string(result)); + result = mach_port_insert_right( mach_task_self(), new_bootstrapport, @@ -822,6 +831,14 @@ serviceportp); if (result != KERN_SUCCESS) panic("port_allocate(): %s", mach_error_string(result)); + + result = service_register( + mach_task_self(), + *serviceportp, + servicename); + if (result != KERN_SUCCESS) + panic("service_register(): %s", mach_error_string(result)); + result = mach_port_insert_right(mach_task_self(), *serviceportp, *serviceportp, ==== //depot/projects/trustedbsd/sedarwin8/darwin/network_cmds/ifconfig.tproj/Makefile.preamble#2 (text+ko) ==== @@ -1,4 +1,4 @@ OTHER_GENERATED_OFILES = $(VERS_OFILE) -include ../Makefile.include -OTHER_CFLAGS += -I../../xnu -I../../xnu/bsd -DUSE_IF_MEDIA -DINET6 -DNO_IPX -DUSE_VLANS -DUSE_BONDS -DUSE_MAC +OTHER_CFLAGS += -I$(DARWIN) -I$(DARWIN)/bsd -DUSE_IF_MEDIA -DINET6 -DNO_IPX -DUSE_VLANS -DUSE_BONDS -DUSE_MAC LIBS += $(LIBMAC) ==== //depot/projects/trustedbsd/sedarwin8/darwin/pam_modules/pam_afpmount/Makefile#3 (text+ko) ==== @@ -30,4 +30,4 @@ DPADD= ${LIBKRB} ${LIBCRYPTO} ${LIBCOM_ERR} LDADD= -lkrb -lcrypto -lcom_err -.include +.include ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/Makefile#2 (text+ko) ==== @@ -22,7 +22,7 @@ DATAFILES = \ audit.h audit_record.h audit_kevents.h KERNFILES = \ - audit.h + audit.h audit_kernel.h INSTALL_MI_LIST = ${DATAFILES} ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/bsm/audit_kernel.h#6 (text+ko) ==== @@ -289,6 +289,7 @@ int retval); void audit_init(void); void audit_shutdown(void); +int audit_have_record(void); struct kaudit_record *audit_new(int event, struct proc *p, struct uthread *uthread); @@ -386,16 +387,6 @@ struct proc *child); void audit_proc_free(struct proc *p); -#ifdef MAC -/* - * audit_mac_data() is the MAC Framework's entry point to the audit subsystem. - * It currently creates only text and data audit tokens. - */ -int audit_mac_data(int type, int len, u_char *data); -void audit_arg_mac_string(const char *string); - -#endif - /* * Define a macro to wrap the audit_arg_* calls by checking the global * audit_enabled flag before performing the actual call. ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/conf/files#3 (text+ko) ==== @@ -475,6 +475,7 @@ bsd/kern/kern_acct.c standard bsd/kern/kern_aio.c standard bsd/kern/kern_audit.c standard +bsd/kern/kern_audit_mac.c standard bsd/kern/kern_authorization.c standard bsd/kern/kern_bsm_token.c standard bsd/kern/kern_bsm_audit.c standard ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_audit.c#9 (text+ko) ==== @@ -79,8 +79,6 @@ #include #include #include -#define MAC_ARG_PREFIX "arg: " -#define MAC_ARG_PREFIX_LEN 5 #endif #include @@ -815,6 +813,18 @@ return (curuthread()->uu_ar); } +/* + * audit_have_record can be used by a security policy to determine + * if an audit record will be stored, reducing wasted memory allocation + * and string handling. + */ +int +audit_have_record(void) +{ + + return (audit_enabled && currecord() != NULL); +} + /********************************** * Begin system calls. * **********************************/ @@ -2593,86 +2603,6 @@ file_drop(fd); } -#ifdef MAC -/* - * This function is called by the MAC Framework to add audit data - * from a policy to the current audit record. - */ -int -audit_mac_data(int type, int len, u_char *data) { - struct kaudit_record *cur; - struct mac_audit_record *record; - int ret; - - if (audit_enabled == 0) { - ret = ENOTSUP; - goto out_fail; - } - - cur = currecord(); - if (cur == NULL) { - ret = ENOTSUP; - goto out_fail; - } - - /* - * kalloc() uses the Mach zone allocator. For the small size - * we are allocating here, the zone allocator will never return - * NULL. - */ - record = (struct mac_audit_record *)kalloc(sizeof(*record)); - - record->type = type; - record->length = len; - record->data = data; - LIST_INSERT_HEAD(cur->k_ar.ar_mac_records, record, records); - - return (0); - -out_fail: - kfree(data, len); - return (ret); -} - -void -audit_arg_mac_string(const char *string) -{ - struct kaudit_record *ar; - - ar = currecord(); - if (ar == NULL) - return; - - if (ar->k_ar.ar_arg_mac_string == NULL) { - ar->k_ar.ar_arg_mac_string = - (char *)kalloc(MAC_MAX_LABEL_BUF_LEN + MAC_ARG_PREFIX_LEN); - /* This should be rare event. If kalloc() returns NULL, the - * system is low on memory. To meet the requirement that no - * auditable events be incompletely audited, we panic here. - */ - if (ar->k_ar.ar_arg_mac_string == NULL) - panic("Memory allocation failure when auditing MAC system call."); - } - strncpy(ar->k_ar.ar_arg_mac_string, MAC_ARG_PREFIX, MAC_ARG_PREFIX_LEN); - strcpy(ar->k_ar.ar_arg_mac_string + MAC_ARG_PREFIX_LEN, string); - ar->k_ar.ar_valid_arg |= ARG_MAC_STRING; - -} -#endif /* MAC */ - -/* - * kau_will_audit can be used by a security policy to determine - * if an audit record will be stored, reducing wasted memory allocation - * and string handling. - */ - -int -kau_will_audit(void) -{ - - return (audit_enabled && currecord() != NULL); -} - #else /* !AUDIT */ void @@ -2741,17 +2671,10 @@ return (ENOSYS); } -#ifdef MAC -void -audit_mac_data(int type, int len, u_char *data) -{ -} - int -kau_will_audit() +audit_have_record(void) { return (0); } -#endif #endif /* AUDIT */ ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_descrip.c#11 (text+ko) ==== @@ -704,7 +704,6 @@ error = vnode_setsize(vp, offset, IO_NOZEROFILL, &context); } - (void)vnode_put(vp); goto outdrop; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/kern_proc.c#7 (text+ko) ==== @@ -363,6 +363,16 @@ return(0); } +char * +proc_procname(proc_t p, char * buf, int size) +{ + + strncpy(buf, &p->p_comm[0], size); + buf[size-1] = 0; + + return (buf); +} + void proc_name(int pid, char * buf, int size) { ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/kern/subr_log.c#3 (text+ko) ==== @@ -167,7 +167,9 @@ register long l; register int s; int error = 0; +#if 0 char localbuff[MSG_BSIZE]; +#endif int copybytes; LOG_LOCK(); @@ -205,11 +207,16 @@ l = min(l, uio_resid(uio)); if (l == 0) break; +#if 0 bcopy(&msgbufp->msg_bufc[msgbufp->msg_bufr], &localbuff[0], l); LOG_UNLOCK(); error = uiomove((caddr_t)&localbuff[0], (int)l, uio); LOG_LOCK(); +#else + error = uiomove((caddr_t)&msgbufp->msg_bufc[msgbufp->msg_bufr], + (int)l, uio); +#endif if (error) break; msgbufp->msg_bufr += l; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_icmp.c#9 (text+ko) ==== @@ -62,7 +62,7 @@ * @(#)ip_icmp.c 8.2 (Berkeley) 1/4/94 */ /* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce + * NOTICE: This file was modified by SPARTA, Inc. in 2007 to introduce * support for mandatory and extensible security protections. This notice * is included in support of clause 2.2 (b) of the Apple Public License, * Version 2.0. @@ -731,7 +731,7 @@ } lck_mtx_unlock(rt_mtx); #ifdef MAC - mac_netinet_icmp_reply(m); + mac_mbuf_label_associate_icmp_reply(m); #endif t = IA_SIN(ia)->sin_addr; ip->ip_src = t; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/ip_output.c#7 (text+ko) ==== @@ -63,7 +63,7 @@ * $FreeBSD: src/sys/netinet/ip_output.c,v 1.99.2.16 2001/07/19 06:37:26 kris Exp $ */ /* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce + * NOTICE: This file was modified by SPARTA, Inc. in 2007 to introduce * support for mandatory and extensible security protections. This notice * is included in support of clause 2.2 (b) of the Apple Public License, * Version 2.0. @@ -1294,7 +1294,7 @@ m->m_pkthdr.csum_flags = m0->m_pkthdr.csum_flags; m->m_pkthdr.socket_id = m0->m_pkthdr.socket_id; #ifdef MAC - mac_netinet_fragment(m0, m); + mac_mbuf_label_copy_fragment(m0, m); #endif HTONS(mhip->ip_off); mhip->ip_sum = 0; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet/tcp_subr.c#9 (text+ko) ==== @@ -63,7 +63,7 @@ * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.73.2.22 2001/08/22 00:59:12 silby Exp $ */ /* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce + * NOTICE: This file was modified by SPARTA, Inc. in 2007 to introduce * support for mandatory and extensible security protections. This notice * is included in support of clause 2.2 (b) of the Apple Public License, * Version 2.0. @@ -587,7 +587,7 @@ * Packet is not associated with a socket, so possibly * update the label in place. */ - mac_netinet_tcp_reply(m); + mac_mbuf_label_associate_tcp_reply(m); } #endif nth->th_seq = htonl(seq); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/netinet6/ip6_output.c#6 (text+ko) ==== @@ -65,7 +65,7 @@ * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 */ /* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce + * NOTICE: This file was modified by SPARTA, Inc. in 2007 to introduce * support for mandatory and extensible security protections. This notice * is included in support of clause 2.2 (b) of the Apple Public License, * Version 2.0. @@ -1109,7 +1109,7 @@ m->m_pkthdr.rcvif = 0; m->m_pkthdr.socket_id = m0->m_pkthdr.socket_id; #ifdef MAC - mac_netinet_fragment(m0, m); + mac_mbuf_label_copy_fragment(m0, m); #endif ip6f->ip6f_reserved = 0; ip6f->ip6f_ident = id; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/msgbuf.h#3 (text+ko) ==== @@ -65,7 +65,7 @@ #ifndef _SYS_MSGBUF_H_ #define _SYS_MSGBUF_H_ -#define MSG_BSIZE (4096 - 3 * sizeof(long)) +#define MSG_BSIZE ((64 * 1024) - 3 * sizeof(long)) struct msgbuf { #define MSG_MAGIC 0x063061 long msg_magic; ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/sys/proc.h#3 (text+ko) ==== @@ -247,6 +247,7 @@ * routine is to be used typically for debugging */ void proc_name(int pid, char * buf, int size); +char *proc_procname(proc_t p, char *buf, int size); /* This routine is simillar to proc_name except it returns for current process */ void proc_selfname(char * buf, int size); ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/uxkern/ux_exception.c#3 (text+ko) ==== @@ -177,7 +177,11 @@ else if (result == MACH_RCV_TOO_LARGE) /* ignore oversized messages */; else +#if 0 panic("exception_handler"); +#else + printf("exception_handler, result %d", result); +#endif } thread_funnel_set(kernel_flock, FALSE); } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_attrlist.c#7 (text+ko) ==== @@ -441,7 +441,9 @@ static int -getvolattrlist(vnode_t vp, struct getattrlist_args *uap, struct attrlist *alp, vfs_context_t ctx, int is_64bit) +getvolattrlist(vnode_t vp, struct componentname *vcnp, + struct getattrlist_args *uap, struct attrlist *alp, + vfs_context_t ctx, int is_64bit) { struct vfs_attr vs; struct vnode_attr va; @@ -697,15 +699,15 @@ */ if (perms & W_OK) if (mac_vnode_check_access(vfs_context_ucred(ctx), - vp, cnp, W_OK) != 0) + vp, vcnp, W_OK) != 0) perms &= ~W_OK; if (perms & R_OK) if (mac_vnode_check_access(vfs_context_ucred(ctx), - vp, cnp, R_OK) != 0) + vp, vcnp, R_OK) != 0) perms &= ~R_OK; if (perms & X_OK) if (mac_vnode_check_access(vfs_context_ucred(ctx), - vp, cnp, X_OK) != 0) + vp, vcnp, X_OK) != 0) perms &= ~X_OK; #endif /* MAC */ KAUTH_DEBUG("ATTRLIST - returning user access %x", perms); @@ -837,7 +839,6 @@ if ((error = namei(&nd)) != 0) goto out; vp = nd.ni_vp; - nameidone(&nd); /* * Fetch the attribute request. @@ -870,7 +871,7 @@ goto out; } /* handle volume attribute request */ - error = getvolattrlist(vp, uap, &al, &context, proc_is64bit(p)); + error = getvolattrlist(vp, &nd.ni_cnd, uap, &al, &context, proc_is64bit(p)); goto out; } @@ -1195,15 +1196,15 @@ */ if (perms & W_OK) if (mac_vnode_check_access(vfs_context_ucred(&context), - vp, cnp, W_OK) != 0) + vp, &nd.ni_cnd, W_OK) != 0) perms &= ~W_OK; if (perms & R_OK) if (mac_vnode_check_access(vfs_context_ucred(&context), - vp, cnp, R_OK) != 0) + vp, &nd.ni_cnd, R_OK) != 0) perms &= ~R_OK; if (perms & X_OK) if (mac_vnode_check_access(vfs_context_ucred(&context), - vp, cnp, X_OK) != 0) + vp, &nd.ni_cnd, X_OK) != 0) perms &= ~X_OK; #endif /* MAC */ VFS_DEBUG(ctx, vp, "ATTRLIST - granting perms %d", perms); @@ -1322,6 +1323,7 @@ error = copyout(ab.base, uap->attributeBuffer, imin(uap->bufferSize, ab.allocated)); out: + nameidone(&nd); if (va.va_name) kfree(va.va_name, MAXPATHLEN); if (vname) ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_cache.c#6 (text+ko) ==== @@ -1167,12 +1167,14 @@ void name_cache_lock(void) { + lck_mtx_assert(namecache_mtx_lock, LCK_MTX_ASSERT_NOTOWNED); lck_mtx_lock(namecache_mtx_lock); } void name_cache_unlock(void) { + lck_mtx_assert(namecache_mtx_lock, LCK_MTX_ASSERT_OWNED); lck_mtx_unlock(namecache_mtx_lock); } ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/bsd/vfs/vfs_syscalls.c#23 (text+ko) ==== @@ -2541,7 +2541,7 @@ * Check access permissions. */ static int -access1(vnode_t vp, vnode_t dvp, struct component *cnp, int uflags, +access1(vnode_t vp, vnode_t dvp, struct componentname *cnp, int uflags, vfs_context_t ctx) { kauth_action_t action; @@ -2713,6 +2713,9 @@ vp = nd.ni_vp; if (wantdelete) dvp = nd.ni_dvp; + /* run this access check */ + result[i] = access1(vp, dvp, &nd.ni_cnd, input[i].ad_flags, + &context); } nameidone(&nd); } @@ -2728,9 +2731,7 @@ result[i] = error; break; case 0: - /* run this access check */ - result[i] = access1(vp, dvp, NULL, input[i].ad_flags, - &context); + /* Handled above */ break; default: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 18:25:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 397821065673; Wed, 19 Mar 2008 18:25:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED537106564A for ; Wed, 19 Mar 2008 18:25:18 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E2ECB8FC12 for ; Wed, 19 Mar 2008 18:25:18 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JIPIJD020118 for ; Wed, 19 Mar 2008 18:25:18 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JIPIaw020116 for perforce@freebsd.org; Wed, 19 Mar 2008 18:25:18 GMT (envelope-from sam@freebsd.org) Date: Wed, 19 Mar 2008 18:25:18 GMT Message-Id: <200803191825.m2JIPIaw020116@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 138117 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 18:25:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=138117 Change 138117 by sam@sam_ebb on 2008/03/19 18:24:48 plug another path into net80211 from above to handle vap teardown; if_output is called w/o checking OACTIVE so we must do it explicitly and avoid touching vap state Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_output.c#41 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_output.c#41 (text+ko) ==== @@ -290,12 +290,24 @@ struct sockaddr *dst, struct rtentry *rt0) { #define senderr(e) do { error = (e); goto bad;} while (0) - struct ieee80211vap *vap = ifp->if_softc; - struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni = NULL; + struct ieee80211vap *vap; struct ieee80211_frame *wh; int error; + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { + /* + * Short-circuit requests if the vap is marked OACTIVE + * as this is used when tearing down state to indicate + * the vap may be gone. This can also happen because a + * packet came down through ieee80211_start before the + * vap entered RUN state in which case it's also ok to + * just drop the frame. This should not be necessary + * but callers of if_output don't check OACTIVE. + */ + senderr(ENETDOWN); + } + vap = ifp->if_softc; /* * Hand to the 802.3 code if not tagged as * a raw 802.11 frame. @@ -373,8 +385,9 @@ * this is a hack). * NB: we assume sa_data is suitably aligned to cast. */ - return ic->ic_raw_xmit(ni, m, (const struct ieee80211_bpf_params *) - (dst->sa_len ? dst->sa_data : NULL)); + return vap->iv_ic->ic_raw_xmit(ni, m, + (const struct ieee80211_bpf_params *)(dst->sa_len ? + dst->sa_data : NULL)); bad: if (m != NULL) m_freem(m); From owner-p4-projects@FreeBSD.ORG Wed Mar 19 18:26:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D27321065673; Wed, 19 Mar 2008 18:26:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 765DB106564A for ; Wed, 19 Mar 2008 18:26:25 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 69B428FC1C for ; Wed, 19 Mar 2008 18:26:25 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JIQPoY020188 for ; Wed, 19 Mar 2008 18:26:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JIQNDn020186 for perforce@freebsd.org; Wed, 19 Mar 2008 18:26:23 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Mar 2008 18:26:23 GMT Message-Id: <200803191826.m2JIQNDn020186@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138119 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 18:26:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=138119 Change 138119 by jb@jb_freebsd8 on 2008/03/19 18:25:58 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#8 integrate .. //depot/projects/dtrace/ports/LEGAL#37 integrate .. //depot/projects/dtrace/ports/MOVED#71 integrate .. //depot/projects/dtrace/ports/UPDATING#57 integrate .. //depot/projects/dtrace/src/contrib/cvs/ChangeLog#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/FAQ#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/HACKING#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/INSTALL#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/NEWS#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/README#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/TODO#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/aclocal.m4#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/compile#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/config.h.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/configure#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/configure.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/contrib/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/depcomp#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/diff/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/ChangeLog#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/dtrace/src/contrib/cvs/doc/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/cvs.1#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/cvs.texinfo#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/cvsclient.texi#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/mdate-sh#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/stamp-1#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/stamp-vti#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/version-client.texi#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/doc/version.texi#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/install-sh#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/lib/ChangeLog#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/lib/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/lib/xsize.h#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/man/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/missing#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/mkinstalldirs#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/ChangeLog#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/add.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/classify.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/client.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/client.h#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/cvs.h#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/edit.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/edit.h#4 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/hash.h#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/import.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/lock.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/log.c#6 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/login.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/main.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/mkmodules.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/modules.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/parseinfo.c#6 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/rcs.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/recurse.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/root.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/root.h#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/sanity.sh#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/server.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/update.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/src/vers_ts.c#5 integrate .. //depot/projects/dtrace/src/contrib/cvs/tools/Makefile.in#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/zfs#2 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/Makefile#8 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cvs/lib/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cvs/lib/config.h.proto#4 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.3#10 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.c#12 integrate .. //depot/projects/dtrace/src/lib/libsdp/sdp.h#6 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_affinity.c#2 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_create.c#10 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_exit.c#8 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sig.c#11 integrate .. //depot/projects/dtrace/src/share/mk/bsd.cpu.mk#12 integrate .. //depot/projects/dtrace/src/sys/conf/files#75 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_version.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_ioctl.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_main.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/hwpmc/hwpmc_amd.c#5 integrate .. //depot/projects/dtrace/src/sys/geom/vinum/geom_vinum_drive.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/kern_exit.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/kern_kthread.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lockf.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_proc.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_resource.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#23 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thr.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#34 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#30 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/sys_generic.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/sys_process.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/tty.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#22 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_irc.c#8 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfs_srvsock.c#8 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/atomic.h#5 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/atomic.h#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/intr_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/sys/eventhandler.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#38 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_snapshot.c#15 integrate .. //depot/projects/dtrace/src/sys/vm/vm_glue.c#12 integrate .. //depot/projects/dtrace/src/sys/vm/vm_meter.c#12 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#31 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.h#10 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageout.c#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageq.c#10 delete .. //depot/projects/dtrace/src/tools/tools/mctest/mctest.cc#1 branch .. //depot/projects/dtrace/src/tools/tools/mctest/mctest.h#1 branch .. //depot/projects/dtrace/src/usr.bin/netstat/inet6.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/Makefile#6 integrate .. //depot/projects/dtrace/src/usr.bin/tar/matching.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/arp/arp.8#5 integrate .. //depot/projects/dtrace/src/usr.sbin/arp/arp.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/lan.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/profile.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpd/profile.h#5 integrate .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_int.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/fifolog/lib/fifolog_write_poll.c#2 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#11 integrate .. //depot/projects/dtrace/www/en/projects/summerofcode.xsl#3 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1567,7 +1567,7 @@ usage, the text filter must also account for pages printed, usually by counting the number of lines printed and comparing that to the number of lines per page the printer supports. The - text filter is started with the following argument list: + text filter is started with the following argument list: filter-name @@ -1580,7 +1580,7 @@ acct-file - where + where @@ -1647,7 +1647,6 @@ - @@ -1664,7 +1663,7 @@ linkend="printing-advanced-convfilters">Conversion Filters tells all about them. Conversion filters also need to do accounting, if you need printer accounting. - Conversion filters are started with the following arguments: + Conversion filters are started with the following arguments: filter-name @@ -1676,7 +1675,7 @@ acct-file - where pixel-width is the value + where pixel-width is the value from the px capability (default 0) and pixel-height is the value from the py capability (default 0). @@ -1687,7 +1686,7 @@ is no text filter, or if header pages are enabled. In my experience, output filters are rarely used. Section Output Filters describe - them. There are only two arguments to an output filter: + them. There are only two arguments to an output filter: filter-name @@ -1695,7 +1694,7 @@ -l length - which are identical to the text filters and + which are identical to the text filters and arguments. ==== //depot/projects/dtrace/ports/LEGAL#37 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.572 2008/03/13 15:24:57 pav Exp $ +# $FreeBSD: ports/LEGAL,v 1.574 2008/03/19 13:49:36 jadawin Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -738,3 +738,4 @@ agreement required rapid-* math/rapid No commercial use dtiquery-* science/dtiquery License agreement is required +clustalw-* biology/clustalw No commercial use ==== //depot/projects/dtrace/ports/MOVED#71 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1559 2008/03/17 21:56:39 lippe Exp $ +# $FreeBSD: ports/MOVED,v 1.1562 2008/03/18 09:29:47 johans Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3434,4 +3434,5 @@ security/nmapfe|security/zenmap|2008-03-14|Project renamed x11/hs-x11-extras-ghc||2008-03-14|Has expired: Use x11/hs-x11-ghc instead www/mod_dosevasise20||2008-03-14|Has expired: Use www/mod_evasive20 instead -textproc/p5-Text-ParseWords|2008-03-16|Module included in core perl +textproc/p5-Text-ParseWords||2008-03-16|Module included in core perl +devel/hc12mem|devel/hcs12mem|2008-03-17|Project renamed ==== //depot/projects/dtrace/ports/UPDATING#57 (text+ko) ==== @@ -6,6 +6,35 @@ time you update your ports collection, before attempting any port upgrades. +20080318: + AFFECTS: users of audio/gnump3d + AUTHOR: jadawin@FreeBSD.org + + The layout of gnump3d 3.0 is changed, please read the documents and the + manual pages of gnump3d. + +20080318: + AFFECTS: users of net/skype net/skype_devel + AUTHOR: beech@FreeBSD.org + + For FreeBSD versions 7.0 and above: + It is now recommended (and will be required in future versions) to + update to linux_base-fc6. Please do the following: + + 1. Make sure there are no running linux applications. + 2. Unmount linprocfs (umount /compat/linux/proc) + 3. Uninstall your current linux_base port + 4. Unload linux kernel module (kldunload linux.ko) + 5. Set appropriate sysctl (sysctl compat.linux.osrelease=2.6.16) + 6. Install emulation/linux_base-fc6 + 4 Remount linprocfs (mount /compat/linux/proc) + 5. Add compat.linux.osrelease=2.6.16 to etc/sysctl.conf + + For FreeBSD versions 5.x and 6.x: + Please use the legacy version net/skype12 + + portupgrade -o net/skype12 net/skype + 20080316: AFFECTS: users of net/iscsi-target AUTHOR: rafan@FreeBSD.org @@ -6177,4 +6206,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.599 2008/03/16 09:20:35 rafan Exp $ +$FreeBSD: ports/UPDATING,v 1.602 2008/03/18 19:52:50 beech Exp $ ==== //depot/projects/dtrace/src/contrib/cvs/ChangeLog#5 (text+ko) ==== @@ -1,3 +1,96 @@ +2008-03-10 Mark D. Baushke + + * NEWS: Note new IgnoreUnknownConfigKeys CVSROOT/config option. + +2008-01-30 Derek Price + + * NEWS: Note improved join of removals. + +2008-01-27 Mark D. Baushke + + * configure.in: Look for lshc rather than lsh to avoid problems + under Debian GNU/Linux. + * configure: Regenerated. + + * configure.in: Add support for --with-ssh and CVS_SSH. + * NEWS: Note that :extssh: looks to CVS_SSH rather tha CVS_RSH. + * Makefile.in, config.h.in, configure: Regenerated. + +2008-01-24 Mark D. Baushke + + * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an + alias for `cvs annotate' command. New `cvs log -n' switch to undo + a `log -N' entry in a .cvsrc file. + +2007-12-14 Larry Jones + + * configure.in: Add --disable-mmap. + * configure: Regenerated. + +2007-10-19 Derek Price + + * cvs.texinfo: Update Ximbiot's address and Copyright dates. + +2007-08-22 Derek Price + + * NEWS: Note `cvs server' accepts `--allow-root=PATH'. Note further + `cvs add' stops for `CVS' dirs. + + * HACKING, NEWS: Note new Autotool versions. + +2007-08-16 Derek Price + + * NEWS: Note backport of `cvs --allow-root=PATH server'. + +2007-06-18 Derek Price + + * NEWS: Note import now keeps metadata to itself. + +2007-06-15 Derek Price + + * NEWS: Note `cvs import CVS-/CVS' fix. + +2007-05-07 Derek Price + + * NEWS: Note removal of remote `cvs init'. + +2006-09-06 Derek Price + + * NEWS: Note apply_rcs_diff speedup. + +2006-08-28 Derek Price + + * NEWS: Note strstr ("/./") assertion fix. + +2006-08-25 Derek Price + + * TODO (216): Removed. + +2006-08-24 Derek Price + + [bug #17032] + * NEWS: Note patch w/Name keyword fix. + +2006-07-17 Derek Price + + * FAQ, INSTALL, README: Update Copyright notice. + * HACKING: Ditto. Update Savannah URLs. + +2006-06-29 Derek Price + + * NEWS: Note trailing slash fix. + +2006-06-28 Larry Jones + + * HACKING, NEWS: Note new Autoconf version. + * configure.in (AC_PREREQ): Require Autoconf 2.60. + * config.h.in, configure, **/Makefile.in: Regenerated. + +2006-06-28 Derek Price + + [bug #16961] + * NEWS: Note double-free fix. + 2006-06-09 Derek Price * NEWS: Note client/server conflict fix. ==== //depot/projects/dtrace/src/contrib/cvs/FAQ#5 (text+ko) ==== @@ -1,6 +1,6 @@ ------------------------------------------------------------------------------- - CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. + CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. CVS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ==== //depot/projects/dtrace/src/contrib/cvs/HACKING#5 (text+ko) ==== @@ -2,7 +2,7 @@ * License of CVS - CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. + CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. 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 @@ -23,7 +23,10 @@ Patches against the development version of CVS are most likely to be accepted: - $ CVS_RSH=ssh cvs -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/cvs co ccvs + $ cvs -z3 -d:pserver:anonymous@cvs.sv.nongnu.org:/sources/cvs co ccvs + +See the Savannah sources page for +more information. * Compiler options @@ -145,8 +148,8 @@ automatically aren't included in the generated Makefiles unless you run configure with the --enable-maintainer-mode option. -The CVS Makefiles and configure script were built using Automake 1.9.6 and -Autoconf 2.59, respectively. +The CVS Makefiles and configure script were built using Automake 1.10 and +Autoconf 2.61, respectively. There is a known bug in Autoconf 2.57 that will prevent the configure scripts it generates from working on some platforms. Other combinations of ==== //depot/projects/dtrace/src/contrib/cvs/INSTALL#5 (text+ko) ==== @@ -1,6 +1,6 @@ ------------------------------------------------------------------------------- -CVS is Copyright (C) 1989-2005 The Free Software Foundation, Inc. +CVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc. CVS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ==== //depot/projects/dtrace/src/contrib/cvs/Makefile.in#5 (text+ko) ==== @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -28,15 +28,11 @@ # 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. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -62,7 +58,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno + configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile @@ -70,10 +66,13 @@ DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -89,8 +88,6 @@ distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -111,6 +108,8 @@ EDITOR = @EDITOR@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -122,11 +121,8 @@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@ -MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@ +MKDIR_P = @MKDIR_P@ MKTEMP = @MKTEMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -148,12 +144,13 @@ TEXI2DVI = @TEXI2DVI@ VERSION = @VERSION@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ ac_prefix_program = @ac_prefix_program@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -161,26 +158,38 @@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ +builddir = @builddir@ datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ +htmldir = @htmldir@ includedir = @includedir@ includeopt = @includeopt@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ with_default_rsh = @with_default_rsh@ +with_default_ssh = @with_default_ssh@ # Unix source subdirs, where we'll want to run lint and etags: # This is a legacy variable from b4 Automake @@ -250,7 +259,7 @@ config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @@ -271,7 +280,6 @@ cd $(top_builddir) && $(SHELL) ./config.status $@ zlib/Makefile: $(top_builddir)/config.status $(top_srcdir)/zlib/Makefile.in cd $(top_builddir) && $(SHELL) ./config.status $@ -uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -304,8 +312,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -407,24 +414,22 @@ distdir: $(DISTFILES) $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/emx $(distdir)/lib $(distdir)/os2 $(distdir)/src $(distdir)/windows-NT $(distdir)/zlib - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -438,7 +443,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -446,6 +451,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -453,7 +460,7 @@ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz @@ -528,7 +535,7 @@ $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ @@ -597,12 +604,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -623,24 +638,25 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-generic clean-recursive ctags \ - ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ - dist-tarZ dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-recursive distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am .PHONY: localcheck remotecheck ==== //depot/projects/dtrace/src/contrib/cvs/NEWS#5 (text+ko) ==== @@ -1,6 +1,68 @@ -Changes since 1.11.21: +Changes since 1.11.22: ********************** +NEW FEATURES + +* A new log option -n reverts the -N option which may be in a .cvsrc + file. + +* The `cvs blame' command is now a synonym for the `cvs annotate' command. + +* The :extssh: method will use $CVS_SSH if set, or fall back on "ssh" + by default (but may be explicitly set using the --with-ssh flag to + configure). + +* There is a new IgnoreUnknownConfigKeys option available for + CVSROOT/config to aid in the transition to newer versions of CVS. + +BUG FIXES + +* Merges of file removals using -j options are a little smarter. + +* `cvs add' checks more thoroughly for `CVS' directories in the argument list. + +* `cvs server' now accepts `--allow-root=PATH' options. + +* `cvs import' no longer attempts to send CVS metadata to the server. + +* `cvs import' makes more of an effort not to import paths containing files + and directories named `CVS'. + +* The CVS server will no longer allow clients to run `cvs init'. + +* Applying diffs when checking out very old revisions has been reduced from an + O(n^2) operation to an O(n) thanks to a patch from Michael J. Smith + and additional touch-up work from the CVS team. + +* Thanks to report from Paul Eggert , an assertion failure + that could occur when "." was in the path (e.g. `cvs co /cvsroot/./module') + has been removed. + +* Thanks to a report from Peter Toft , CVS server now sends + correct patch files more often when the RCS `Name' keyword is present in + a working file (bug #17302). + +* Thanks to a report from Dan Peterson , clients now send the + right set of commands to the server when asked to update directories with + trailing slashes on their name. + +* Thanks to a report and patch from , potential stack + corruption during pserver login is avoided (bug #16961). + +* The :extssh: method is now properly recognized as an alias for :ext:. + +DEVELOPER ISSUES + +* We've standardized on Autoconf version 2.61 to get a bug fix that notes + that the AIX C compiler's default mode isn't quite C89 and sets the + correct mode instead. + +* We've standardized on Autoconf version 1.10 because it lets us simplify our + sources. + +Changes from 1.11.21 to 1.11.22: +******************************** + BUG FIXES * The CVS client again correctly reports files with conflicts when using ==== //depot/projects/dtrace/src/contrib/cvs/README#5 (text+ko) ==== @@ -1,8 +1,8 @@ CVS Kit - Copyright (C) 1986-2005 Free Software Foundation, Inc. + Copyright (C) 1986-2006 Free Software Foundation, Inc. - Portions Copyright (C) 1998-2005 Derek Price, + Portions Copyright (C) 1998-2006 Derek Price, & Ximbiot . Portions Copyright (C) 1993-1994 Brian Berliner. Portions Copyright (C) 1992 Brian Berliner and Jeff Polk. ==== //depot/projects/dtrace/src/contrib/cvs/TODO#5 (text+ko) ==== @@ -815,9 +815,6 @@ where this makes sense? Would it be simpler? It seems to me the major operational differences lie in the file list construction. -216. Avoid command-line keyword expansion modes overriding binary mode -(or make binary mode completely separate from keyword expansion mode). - 218. Fix "checkout -d ." in client/server mode. 221. Handle spaces in file/directory names. (Most, if not all, of the ==== //depot/projects/dtrace/src/contrib/cvs/aclocal.m4#5 (text+ko) ==== @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,7 +11,12 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +m4_if(m4_PACKAGE_VERSION, [2.61],, +[m4_fatal([this file was generated for autoconf 2.61. +You have another version of autoconf. If you want to use that, +you should regenerate the build system entirely.], [63])]) + +# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -21,14 +26,29 @@ # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.6])]) +[AM_AUTOMAKE_VERSION([1.10])dnl +_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- @@ -85,14 +105,14 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 7 +# serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -101,8 +121,10 @@ [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' @@ -116,15 +138,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 8 +# serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -152,6 +173,7 @@ ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) @@ -217,6 +239,7 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then @@ -269,7 +292,8 @@ AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 18:42:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1830106566B; Wed, 19 Mar 2008 18:42:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60DBE1065675 for ; Wed, 19 Mar 2008 18:42:43 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5380B8FC1E for ; Wed, 19 Mar 2008 18:42:43 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JIghlg029493 for ; Wed, 19 Mar 2008 18:42:43 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JIghBl029491 for perforce@freebsd.org; Wed, 19 Mar 2008 18:42:43 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Mar 2008 18:42:43 GMT Message-Id: <200803191842.m2JIghBl029491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138121 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 18:42:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=138121 Change 138121 by jb@jb_freebsd8 on 2008/03/19 18:42:01 IFopensolaris. There will probably be compile errors here. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile#4 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile.com#5 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/amd64/Makefile#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/i386/Makefile#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/sparc/Makefile#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/sparcv9/Makefile#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Makefile#5 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/exception.lst#5 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#9 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/Makefile#9 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/Makefile#4 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestBean.java#6 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Bean.ksh.out#5 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.stddev.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/Makefile#5 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/include/_string_table.h#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/include/alist.h#9 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/include/debug.h#12 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/include/string_table.h#6 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/sgsmsg.c#10 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/string_table.c#9 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#16 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#17 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#21 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#27 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#13 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#41 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/lockstat.c#4 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/sdt_subr.c#5 integrate Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#4 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * ident "%Z%%M% %I% %E% SMI" @@ -443,153 +443,10 @@ } } - static int - compareTuples(Tuple t1, Tuple t2, int pos) - { - int cmp = 0; - int len1 = t1.size(); - int len2 = t2.size(); - int index; - - for (int i = 0; (cmp == 0) && (i < len1 && i < len2); ++i) { - index = i + pos; - if (index >= len1) { - index = index - len1; - } - cmp = Tuple.compare(t1, t2, index); - } - - if (cmp == 0) { - cmp = (len1 < len2 ? -1 : (len1 > len2 ? 1 : 0)); - } - - return cmp; - } - - static int - compareValues(AggregationValue v1, AggregationValue v2) - { - int cmp; - - if ((v1 instanceof LinearDistribution) && - (v2 instanceof LinearDistribution)) { - LinearDistribution l1 = (LinearDistribution)v1; - LinearDistribution l2 = (LinearDistribution)v2; - cmp = l1.compareTo(l2); - } else if ((v1 instanceof LogDistribution) && - (v2 instanceof LogDistribution)) { - LogDistribution l1 = (LogDistribution)v1; - LogDistribution l2 = (LogDistribution)v2; - cmp = l1.compareTo(l2); - } else { - double n1 = v1.getValue().doubleValue(); - double n2 = v2.getValue().doubleValue(); - cmp = (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0)); - } - - return cmp; - } - - static Comparator - getAggValCmp(final int keypos) - { - Comparator CMP = new Comparator () { - public int - compare(Object[] pair1, Object[] pair2) - { - int cmp; - long id1 = (Long)pair1[1]; - long id2 = (Long)pair2[1]; - cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0)); - if (cmp != 0) { - return cmp; - } - - AggregationRecord r1 = (AggregationRecord)pair1[0]; - AggregationRecord r2 = (AggregationRecord)pair2[0]; - AggregationValue v1 = r1.getValue(); - AggregationValue v2 = r2.getValue(); - cmp = compareValues(v1, v2); - if (cmp != 0) { - return cmp; - } - - cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos); - return cmp; - } - }; - return CMP; - }; - - static Comparator - getAggKeyCmp(final int keypos) - { - Comparator CMP = new Comparator () { - public int - compare(Object[] pair1, Object[] pair2) - { - int cmp; - long id1 = (Long)pair1[1]; - long id2 = (Long)pair2[1]; - cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0)); - if (cmp != 0) { - return cmp; - } - - AggregationRecord r1 = (AggregationRecord)pair1[0]; - AggregationRecord r2 = (AggregationRecord)pair2[0]; - cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos); - - return cmp; - } - }; - return CMP; - } - - // Consumer getAggregate() static void printAggregate(Aggregate aggregate) { - List list = - new ArrayList (); - List sortList = new ArrayList (); - for (Aggregation a : aggregate.getAggregations()) { - for (AggregationRecord rec : a.asMap().values()) { - sortList.add(new Object[] {rec, new Long(a.getID())}); - } - } - - try { - // aggsortkeypos - long optval = dtrace.getOption(Option.aggsortkeypos); - int keypos; - if (optval == Option.UNSET) { - keypos = 0; - } else { - keypos = (int)optval; - } - - // aggsortkey - if (dtrace.getOption(Option.aggsortkey) == Option.UNSET) { - Collections.sort(sortList, getAggValCmp(keypos)); - } else { - Collections.sort(sortList, getAggKeyCmp(keypos)); - } - - for (Object[] pair : sortList) { - list.add((AggregationRecord)pair[0]); - } - - // aggsortrev - if (dtrace.getOption(Option.aggsortrev) != Option.UNSET) { - Collections.reverse(list); - } - } catch (DTraceException e) { - e.printStackTrace(); - return; - } - - printAggregationRecords(list); + printAggregationRecords(aggregate.getOrderedRecords()); } static void @@ -830,7 +687,7 @@ } Consumer.OpenFlag[] oflags = new Consumer.OpenFlag[openFlags.size()]; - oflags = (Consumer.OpenFlag[])openFlags.toArray(oflags); + oflags = openFlags.toArray(oflags); dtrace = new LocalConsumer() { protected Thread createThread() { @@ -1001,13 +858,8 @@ } String[] compileArgs = new String[argList.size()]; - compileArgs = (String[])argList.toArray(compileArgs); + compileArgs = argList.toArray(compileArgs); - if (compileRequests.isEmpty()) { - System.err.println("dtrace: no probes specified"); - exit(1); - } - Program program; for (CompileRequest req : compileRequests) { switch (req.type) { @@ -1091,7 +943,7 @@ dtrace.getProgramInfo(p); } info = p.getInfo(); - if (!quiet) { + if ((mode == Mode.EXEC) && !quiet) { System.err.printf("dtrace: %s '%s' matched %d probe%s\n", programType, programDescription, info.getMatchingProbeCount(), ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/exception.lst#5 (text+ko) ==== @@ -20,20 +20,20 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" -# Exception list: names tests that are bypassed when running -# 'dtest -i java' (relative to /opt/SUNWdtrt/tst) +# Exception list: names tests that are bypassed when running in Java +# mode (relative to /opt/SUNWdtrt/tst) # double precision (64-bit floating point) not same in java common/aggs/tst.neglquant.d common/aggs/tst.negquant.d # freopen() (to suppress output) not supported by Java DTrace API -common/printa/tst.walltimestamp.d +common/printa/tst.walltimestamp.ksh # -G option not supported by jdtrace common/dtraceUtil/tst.ELFGenerationOut.d.ksh @@ -46,6 +46,8 @@ common/usdt/tst.badguess.ksh common/usdt/tst.dlclose1.ksh common/usdt/tst.dlclose2.ksh +common/usdt/tst.dlclose3.ksh +common/usdt/tst.eliminate.ksh common/usdt/tst.enabled.ksh common/usdt/tst.entryreturn.ksh common/usdt/tst.fork.ksh @@ -61,8 +63,14 @@ common/usdt/tst.static.ksh common/usdt/tst.static2.ksh common/usdt/tst.user.ksh +sparc/usdt/tst.tailcall.ksh +common/pid/tst.provregex3.ksh +common/pid/tst.provregex4.ksh # freopen() and ftruncate() not supported by Java DTrace API common/funcs/tst.badfreopen.ksh common/funcs/tst.freopen.ksh common/funcs/tst.ftruncate.ksh + +# jdtrace doesn't pull in library files? +common/pragma/tst.libdepfullyconnected.ksh ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#9 (text+kox) ==== @@ -21,7 +21,7 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" @@ -36,20 +36,19 @@ $PNAME = $0; $PNAME =~ s:.*/::; -$OPTSTR = 'abd:ghi:lqsux:'; -$USAGE = "Usage: $PNAME [-abghlqsu] [-d dir] [-i isa] " +$OPTSTR = 'abd:fghi:jlnqsx:'; +$USAGE = "Usage: $PNAME [-abfghjlnqs] [-d dir] [-i isa] " . "[-x opt[=arg]] [file | dir ...]\n"; ($MACH = `uname -p`) =~ s/\W*\n//; -$dtrace_path = '/usr/sbin/dtrace'; @dtrace_argv = (); $ksh_path = '/bin/sh'; @files = (); %exceptions = (); +%results = (); $errs = 0; -$bypassed = 0; # # If no test files are specified on the command-line, execute a find on "." @@ -77,14 +76,15 @@ print "\t -b execute bad ioctl test program\n"; print "\t -d specify directory for test results files and cores\n"; print "\t -g enable libumem debugging when running tests\n"; + print "\t -f force bypassed tests to run\n"; print "\t -h display verbose usage message\n"; print "\t -i specify ISA to test instead of isaexec(3C) default\n"; + print "\t -j execute test suite using jdtrace (Java API) only\n"; print "\t -l save log file of results and PIDs used by tests\n"; + print "\t -n execute test suite using dtrace(1m) only\n"; print "\t -q set quiet mode (only report errors and summary)\n"; print "\t -s save results files even for tests that pass\n"; print "\t -x pass corresponding -x argument to dtrace(1M)\n"; - print "\n\tUse \"-i java\" to run tests using the "; - print "Java DTrace API.\n"; exit(2); } @@ -173,28 +173,37 @@ return $s; } -# Loads exception set of skipped tests +# Load exception set of skipped tests from the file at the given +# pathname. The test names are assumed to be paths relative to $dt_tst, +# for example: common/aggs/tst.neglquant.d, and specify tests to be +# skipped. sub load_exceptions { my($listfile) = @_; my($line) = ""; - exit(123) unless open(STDIN, "<$listfile"); - while () { - chomp; - $line = $_; - # line is non-empty and not a comment - if ((length($line) > 0) && ($line =~ /^\s*[^\s#]/ )) { - $exceptions{trim($line)} = 1; + %exceptions = (); + if (length($listfile) > 0) { + exit(123) unless open(STDIN, "<$listfile"); + while () { + chomp; + $line = $_; + # line is non-empty and not a comment + if ((length($line) > 0) && ($line =~ /^\s*[^\s#]/ )) { + $exceptions{trim($line)} = 1; + } } } - return 0; } -# Return 1 if file name found in exception set, 0 otherwise +# Return 1 if the test is found in the exception set, 0 otherwise. sub is_exception { my($file) = @_; my($i) = -1; + if (scalar(keys(%exceptions)) == 0) { + return 0; + } + # hash absolute pathname after $dt_tst/ $file = abs_path($file); $i = index($file, $dt_tst); @@ -205,6 +214,320 @@ return 0; } +# +# Iterate over the set of test files specified on the command-line or by +# a find on "$defdir/common" and "$defdir/$MACH" and execute each one. +# If the test file is executable, we fork and exec it. If the test is a +# .ksh file, we run it with $ksh_path. Otherwise we run dtrace -s on it. +# If the file is named tst.* we assume it should return exit status 0. +# If the file is named err.* we assume it should return exit status 1. +# If the file is named err.D_[A-Z0-9]+[.*].d we use dtrace -xerrtags and +# examine stderr to ensure that a matching error tag was produced. +# If the file is named drp.[A-Z0-9]+[.*].d we use dtrace -xdroptags and +# examine stderr to ensure that a matching drop tag was produced. +# If any *.out or *.err files are found we perform output comparisons. +# +# run_tests takes two arguments: The first is the pathname of the dtrace +# command to invoke when running the tests. The second is the pathname +# of a file (may be the empty string) listing tests that ought to be +# skipped (skipped tests are listed as paths relative to $dt_tst, for +# example: common/aggs/tst.neglquant.d). +# +sub run_tests { + my($dtrace, $exceptions_path) = @_; + my($passed) = 0; + my($bypassed) = 0; + my($failed) = $errs; + my($total) = 0; + + die "$PNAME: $dtrace not found\n" unless (-x "$dtrace"); + logmsg($dtrace . "\n"); + + load_exceptions($exceptions_path); + + foreach $file (sort @files) { + $file =~ m:.*/((.*)\.(\w+)):; + $name = $1; + $base = $2; + $ext = $3; + + $dir = dirname($file); + $isksh = 0; + $tag = 0; + $droptag = 0; + + if ($name =~ /^tst\./) { + $isksh = ($ext eq 'ksh'); + $status = 0; + } elsif ($name =~ /^err\.(D_[A-Z0-9_]+)\./) { + $status = 1; + $tag = $1; + } elsif ($name =~ /^err\./) { + $status = 1; + } elsif ($name =~ /^drp\.([A-Z0-9_]+)\./) { + $status = 0; + $droptag = $1; + } else { + errmsg("ERROR: $file is not a valid test file name\n"); + next; + } + + $fullname = "$dir/$name"; + $exe = "$dir/$base.exe"; + $exe_pid = -1; + + if ($opt_a && ($status != 0 || $tag != 0 || $droptag != 0 || + -x $exe || $isksh || -x $fullname)) { + $bypassed++; + next; + } + + if (!$opt_f && is_exception("$dir/$name")) { + $bypassed++; + next; + } + + if (!$isksh && -x $exe) { + if (($exe_pid = fork()) == -1) { + errmsg( + "ERROR: failed to fork to run $exe: $!\n"); + next; + } + + if ($exe_pid == 0) { + open(STDIN, '$opt_d/$$.out"); + exit(125) unless open(STDERR, ">$opt_d/$$.err"); + + unless (chdir($dir)) { + warn "ERROR: failed to chdir for $file: $!\n"; + exit(126); + } + + push(@dtrace_argv, '-xerrtags') if ($tag); + push(@dtrace_argv, '-xdroptags') if ($droptag); + push(@dtrace_argv, $exe_pid) if ($exe_pid != -1); + + if ($isksh) { + exit(123) unless open(STDIN, "<$name"); + exec("$ksh_path /dev/stdin $dtrace"); + } elsif (-x $name) { + warn "ERROR: $name is executable\n"; + exit(1); + } else { + if ($tag == 0 && $status == $0 && $opt_a) { + push(@dtrace_argv, '-A'); + } + + push(@dtrace_argv, '-C'); + push(@dtrace_argv, '-s'); + push(@dtrace_argv, $name); + exec($dtrace, @dtrace_argv); + } + + warn "ERROR: failed to exec for $file: $!\n"; + exit(127); + } + + if (waitpid($pid, 0) == -1) { + errmsg("ERROR: timed out waiting for $file\n"); + kill(9, $exe_pid) if ($exe_pid != -1); + kill(9, $pid); + next; + } + + kill(9, $exe_pid) if ($exe_pid != -1); + + if ($tag == 0 && $status == $0 && $opt_a) { + # + # We can chuck the earler output. + # + unlink($pid . '.out'); + unlink($pid . '.err'); + + # + # This is an anonymous enabling. We need to get + # the module unloaded. + # + system("dtrace -ae 1> /dev/null 2> /dev/null"); + system("svcadm disable -s " . + "svc:/network/nfs/mapid:default"); + system("modunload -i 0 ; modunload -i 0 ; " . + "modunload -i 0"); + if (!system("modinfo | grep dtrace")) { + warn "ERROR: couldn't unload dtrace\n"; + system("svcadm enable " . + "-s svc:/network/nfs/mapid:default"); + exit(124); + } + + # + # DTrace is gone. Now update_drv(1M), and rip + # everything out again. + # + system("update_drv dtrace"); + system("dtrace -ae 1> /dev/null 2> /dev/null"); + system("modunload -i 0 ; modunload -i 0 ; " . + "modunload -i 0"); + if (!system("modinfo | grep dtrace")) { + warn "ERROR: couldn't unload dtrace\n"; + system("svcadm enable " . + "-s svc:/network/nfs/mapid:default"); + exit(124); + } + + # + # Now bring DTrace back in. + # + system("sync ; sync"); + system("dtrace -l -n bogusprobe 1> /dev/null " . + "2> /dev/null"); + system("svcadm enable -s " . + "svc:/network/nfs/mapid:default"); + + # + # That should have caused DTrace to reload with + # the new configuration file. Now we can try to + # snag our anonymous state. + # + if (($pid = fork()) == -1) { + errmsg("ERROR: failed to fork to run " . + "test $file: $!\n"); + next; + } + + if ($pid == 0) { + open(STDIN, '$opt_d/$$.out"); + exit(125) unless open(STDERR, ">$opt_d/$$.err"); + + push(@dtrace_argv, '-a'); + + unless (chdir($dir)) { + warn "ERROR: failed to chdir " . + "for $file: $!\n"; + exit(126); + } + + exec($dtrace, @dtrace_argv); + warn "ERROR: failed to exec for $file: $!\n"; + exit(127); + } + + if (waitpid($pid, 0) == -1) { + errmsg("ERROR: timed out waiting for $file\n"); + kill(9, $pid); + next; + } + } + + logmsg("[$pid]\n"); + $wstat = $?; + $wifexited = ($wstat & 0xFF) == 0; + $wexitstat = ($wstat >> 8) & 0xFF; + $wtermsig = ($wstat & 0x7F); + + if (!$wifexited) { + fail("died from signal $wtermsig"); + next; + } + + if ($wexitstat == 125) { + die "$PNAME: failed to create output file in $opt_d " . + "(cd elsewhere or use -d)\n"; + } + + if ($wexitstat != $status) { + fail("returned $wexitstat instead of $status"); + next; + } + + if (-f "$file.out" && + system("cmp -s $file.out $opt_d/$pid.out") != 0) { + fail("stdout mismatch", "$pid.out"); + next; + } + + if (-f "$file.err" && + system("cmp -s $file.err $opt_d/$pid.err") != 0) { + fail("stderr mismatch: see $pid.err"); + next; + } + + if ($tag) { + open(TSTERR, "<$opt_d/$pid.err"); + $tsterr = ; + close(TSTERR); + + unless ($tsterr =~ /: \[$tag\] line \d+:/) { + fail("errtag mismatch: see $pid.err"); + next; + } + } + + if ($droptag) { + $found = 0; + open(TSTERR, "<$opt_d/$pid.err"); + + while () { + if (/\[$droptag\] /) { + $found = 1; + last; + } + } + + close (TSTERR); + + unless ($found) { + fail("droptag mismatch: see $pid.err"); + next; + } + } + + unless ($opt_s) { + unlink($pid . '.out'); + unlink($pid . '.err'); + } + } + + if ($opt_a) { + # + # If we're running with anonymous enablings, we need to + # restore the .conf file. + # + system("dtrace -A 1> /dev/null 2> /dev/null"); + system("dtrace -ae 1> /dev/null 2> /dev/null"); + system("modunload -i 0 ; modunload -i 0 ; modunload -i 0"); + system("update_drv dtrace"); + } + + $total = scalar(@files); + $failed = $errs - $failed; + $passed = ($total - $failed - $bypassed); + $results{$dtrace} = { + "passed" => $passed, + "bypassed" => $bypassed, + "failed" => $failed, + "total" => $total + }; +} + die $USAGE unless (getopts($OPTSTR)); usage() if ($opt_h); @@ -227,6 +550,20 @@ find(\&wanted, "$defdir/$MACH") if (scalar(@ARGV) == 0); die $USAGE if (scalar(@files) == 0); +$dtrace_path = '/usr/sbin/dtrace'; +$jdtrace_path = "$bindir/jdtrace"; + +%exception_lists = ("$jdtrace_path" => "$bindir/exception.lst"); + +if ($opt_j || $opt_n || $opt_i) { + @dtrace_cmds = (); + push(@dtrace_cmds, $dtrace_path) if ($opt_n); + push(@dtrace_cmds, $jdtrace_path) if ($opt_j); + push(@dtrace_cmds, "/usr/sbin/$opt_i/dtrace") if ($opt_i); +} else { + @dtrace_cmds = ($dtrace_path, $jdtrace_path); +} + if ($opt_d) { die "$PNAME: -d arg must be absolute path\n" unless ($opt_d =~ /^\//); die "$PNAME: -d arg $opt_d is not a directory\n" unless (-d "$opt_d"); @@ -237,19 +574,6 @@ $opt_d = '.'; } -if ($opt_i) { - if ($opt_i eq "java") { - $dtrace_path = $bindir . "/jdtrace"; - die "$PNAME: jdtrace not found\n" - unless (-x "$dtrace_path"); - load_exceptions($bindir . "/exception.lst"); - } else { - $dtrace_path = "/usr/sbin/$opt_i/dtrace"; - die "$PNAME: dtrace(1M) for ISA $opt_i not found\n" - unless (-x "$dtrace_path"); - } -} - if ($opt_x) { push(@dtrace_argv, '-x'); push(@dtrace_argv, $opt_x); @@ -349,326 +673,31 @@ exit(0); } -if ($opt_u) { - logmsg "spawning module unloading process... "; - - $unloader = fork; - - if ($unloader != 0 && !defined $unloader) { - # - # Couldn't fork for some reason. - # - die "couldn't fork: $!\n"; - } - - if ($unloader == 0) { - # - # We're in the child. Go modunload krazy. - # - for (;;) { - system("modunload -i 0"); - } - } else { - logmsg "[$unloader]\n"; - - $SIG{INT} = sub { - kill 9, $unloader; - exit($errs != 0); - }; - } -} - # -# Iterate over the set of test files specified on the command-line or located -# by a find on "." and execute each one. If the test file is executable, we -# assume it is a #! script and run it. Otherwise we run dtrace -s on it. -# If the file is named tst.* we assume it should return exit status 0. -# If the file is named err.* we assume it should return exit status 1. -# If the file is named err.D_[A-Z0-9]+[.*].d we use dtrace -xerrtags and -# examine stderr to ensure that a matching error tag was produced. -# If the file is named drp.[A-Z0-9]+[.*].d we use dtrace -xdroptags and -# examine stderr to ensure that a matching drop tag was produced. -# If any *.out or *.err files are found we perform output comparisons. +# Run all the tests specified on the command-line (the entire test suite +# by default) once for each dtrace command tested, skipping any tests +# not valid for that command. # -foreach $file (sort @files) { - $file =~ m:.*/((.*)\.(\w+)):; - $name = $1; - $base = $2; - $ext = $3; - - $dir = dirname($file); - $isksh = 0; - $tag = 0; - $droptag = 0; - - if ($name =~ /^tst\./) { - $isksh = ($ext eq 'ksh'); - $status = 0; - } elsif ($name =~ /^err\.(D_[A-Z0-9_]+)\./) { - $status = 1; - $tag = $1; - } elsif ($name =~ /^err\./) { - $status = 1; - } elsif ($name =~ /^drp\.([A-Z0-9_]+)\./) { - $status = 0; - $droptag = $1; - } else { - errmsg("ERROR: $file is not a valid test file name\n"); - next; - } - - $fullname = "$dir/$name"; - $exe = "./$base.exe"; - $exe_pid = -1; - - if ($opt_a && ($status != 0 || $tag != 0 || $droptag != 0 || - -x $exe || $isksh || -x $fullname)) { - $bypassed++; - next; - } - - if ($opt_i eq "java") { - if (is_exception("$dir/$name")) { - $bypassed++; - next; - } - } - - if (!$isksh && -x $exe) { - if (($exe_pid = fork()) == -1) { - errmsg("ERROR: failed to fork to run $exe: $!\n"); - next; - } - - if ($exe_pid == 0) { - open(STDIN, '$opt_d/$$.out"); - exit(125) unless open(STDERR, ">$opt_d/$$.err"); - - unless (chdir($dir)) { - warn "ERROR: failed to chdir for $file: $!\n"; - exit(126); - } - - push(@dtrace_argv, '-xerrtags') if ($tag); - push(@dtrace_argv, '-xdroptags') if ($droptag); - push(@dtrace_argv, $exe_pid) if ($exe_pid != -1); - - if ($isksh) { - exit(123) unless open(STDIN, "<$name"); - exec("$ksh_path /dev/stdin $dtrace_path"); - } elsif (-x $name) { - warn "ERROR: $name is executable\n"; - exit(1); - } else { - if ($tag == 0 && $status == $0 && $opt_a) { - push(@dtrace_argv, '-A'); - } - - push(@dtrace_argv, '-C'); - push(@dtrace_argv, '-s'); - push(@dtrace_argv, $name); - exec($dtrace_path, @dtrace_argv); - } - - warn "ERROR: failed to exec for $file: $!\n"; - exit(127); - } - - if (waitpid($pid, 0) == -1) { - errmsg("ERROR: timed out waiting for $file\n"); - kill(9, $exe_pid) if ($exe_pid != -1); - kill(9, $pid); - next; - } - - kill(9, $exe_pid) if ($exe_pid != -1); - - if ($tag == 0 && $status == $0 && $opt_a) { - # - # We can chuck the earler output. - # - unlink($pid . '.out'); - unlink($pid . '.err'); - - # - # This is an anonymous enabling. We need to get the module - # unloaded. - # - system("dtrace -ae 1> /dev/null 2> /dev/null"); - system("svcadm disable -s svc:/network/nfs/mapid:default"); - system("modunload -i 0 ; modunload -i 0 ; modunload -i 0"); - if (!system("modinfo | grep dtrace")) { - warn "ERROR: couldn't unload dtrace\n"; - system("svcadm enable " . - "-s svc:/network/nfs/mapid:default"); - exit(124); - } - - # - # DTrace is gone. Now update_drv(1M), and rip everything out - # again. - # - system("update_drv dtrace"); - system("dtrace -ae 1> /dev/null 2> /dev/null"); - system("modunload -i 0 ; modunload -i 0 ; modunload -i 0"); - if (!system("modinfo | grep dtrace")) { - warn "ERROR: couldn't unload dtrace\n"; - system("svcadm enable " . - "-s svc:/network/nfs/mapid:default"); - exit(124); - } - - # - # Now bring DTrace back in. - # - system("sync ; sync"); - system("dtrace -l -n bogusprobe 1> /dev/null 2> /dev/null"); - system("svcadm enable -s svc:/network/nfs/mapid:default"); - - # - # That should have caused DTrace to reload with the new - # configuration file. Now we can try to snag our anonymous - # state. - # - if (($pid = fork()) == -1) { - errmsg("ERROR: failed to fork to run test $file: $!\n"); - next; - } - - if ($pid == 0) { - open(STDIN, '$opt_d/$$.out"); - exit(125) unless open(STDERR, ">$opt_d/$$.err"); - - push(@dtrace_argv, '-a'); - - unless (chdir($dir)) { - warn "ERROR: failed to chdir for $file: $!\n"; - exit(126); - } - - exec($dtrace_path, @dtrace_argv); - warn "ERROR: failed to exec for $file: $!\n"; - exit(127); - } - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 20:18:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 789E11065678; Wed, 19 Mar 2008 20:18:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 379ED1065675 for ; Wed, 19 Mar 2008 20:18:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B77528FC28 for ; Wed, 19 Mar 2008 20:18:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JKINEK012699 for ; Wed, 19 Mar 2008 20:18:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JKINql012697 for perforce@freebsd.org; Wed, 19 Mar 2008 20:18:23 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Mar 2008 20:18:23 GMT Message-Id: <200803192018.m2JKINql012697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138125 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 20:18:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=138125 Change 138125 by jb@jb_freebsd8 on 2008/03/19 20:18:16 IFC. Is cxgb broken? :-( Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#9 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#9 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1683,9 +1683,9 @@ The output filter is used only if there - is no text filter, or if header pages are enabled. In my + is no text filter, or if header pages are enabled. In our experience, output filters are rarely used. Section Output Filters describe + linkend="printing-advanced-of">Output Filters describes them. There are only two arguments to an output filter: From owner-p4-projects@FreeBSD.ORG Wed Mar 19 21:23:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35ECD1065671; Wed, 19 Mar 2008 21:23:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCFD8106566B for ; Wed, 19 Mar 2008 21:23:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C30CD8FC2D for ; Wed, 19 Mar 2008 21:23:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JLNgL4084559 for ; Wed, 19 Mar 2008 21:23:42 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JLNfA2084557 for perforce@freebsd.org; Wed, 19 Mar 2008 21:23:41 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Mar 2008 21:23:41 GMT Message-Id: <200803192123.m2JLNfA2084557@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 138130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 21:23:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=138130 Change 138130 by jhb@jhb_mutex on 2008/03/19 21:22:58 IFC @138129 Affected files ... .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#8 integrate .. //depot/projects/smpng/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#112 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#128 integrate .. //depot/projects/smpng/sys/kern/kern_kthread.c#20 integrate .. //depot/projects/smpng/sys/kern/kern_lockf.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#93 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#77 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#137 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#43 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#105 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#72 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#84 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#37 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#53 integrate .. //depot/projects/smpng/sys/kern/sys_process.c#60 integrate .. //depot/projects/smpng/sys/kern/tty.c#72 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#110 integrate .. //depot/projects/smpng/sys/netinet/libalias/alias_irc.c#7 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#33 integrate .. //depot/projects/smpng/sys/sparc64/include/atomic.h#17 integrate .. //depot/projects/smpng/sys/sun4v/include/atomic.h#3 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/intr_machdep.c#8 integrate .. //depot/projects/smpng/sys/sys/eventhandler.h#28 integrate .. //depot/projects/smpng/sys/sys/proc.h#184 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#66 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#65 integrate .. //depot/projects/smpng/sys/vm/vm_meter.c#35 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#97 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#42 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#65 integrate Differences ... ==== //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.51 2008/03/18 03:55:11 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.52 2008/03/19 20:56:51 kmacy Exp $"); #include #include @@ -1029,8 +1029,10 @@ /* Get the latest mac address, User can use a LAA */ bcopy(IF_LLADDR(p->ifp), p->hw_addr, ETHER_ADDR_LEN); t3_sge_init_port(p); +#if defined(LINK_ATTACH) cxgb_link_start(p); t3_link_changed(sc, p->port_id); +#endif return (0); } @@ -1817,6 +1819,10 @@ log(LOG_WARNING, "Could not initialize offload capabilities\n"); } +#if !defined(LINK_ATTACH) + cxgb_link_start(p); + t3_link_changed(sc, p->port_id); +#endif ifp->if_baudrate = p->link_config.speed * 1000000; device_printf(sc->dev, "enabling interrupts on port=%d\n", p->port_id); @@ -1869,9 +1875,9 @@ } else ADAPTER_UNLOCK(pi->adapter); +#if !defined(LINK_ATTACH) DELAY(100); - /* Wait for TXFIFO empty */ t3_wait_op_done(pi->adapter, A_XGM_TXFIFO_CFG + pi->mac.offset, F_TXFIFO_EMPTY, 1, 20, 5); @@ -1880,7 +1886,7 @@ t3_mac_disable(&pi->mac, MAC_DIRECTION_TX | MAC_DIRECTION_RX); pi->phy.ops->power_down(&pi->phy, 1); - +#endif } ==== //depot/projects/smpng/sys/kern/kern_cpuset.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_cpuset.c,v 1.4 2008/03/06 20:11:24 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_cpuset.c,v 1.5 2008/03/19 06:19:00 jeff Exp $"); #include #include @@ -382,11 +382,9 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { PROC_LOCK(p); - PROC_SLOCK(p); FOREACH_THREAD_IN_PROC(p, td) if (td->td_tid == id) break; - PROC_SUNLOCK(p); if (td != NULL) break; PROC_UNLOCK(p); @@ -480,11 +478,9 @@ error = cpuset_which(CPU_WHICH_PID, pid, &p, &td, &nset); if (error) goto out; - PROC_SLOCK(p); if (nfree >= p->p_numthreads) break; threads = p->p_numthreads; - PROC_SUNLOCK(p); PROC_UNLOCK(p); for (; nfree < threads; nfree++) { nset = uma_zalloc(cpuset_zone, M_WAITOK); @@ -492,7 +488,6 @@ } } PROC_LOCK_ASSERT(p, MA_OWNED); - PROC_SLOCK_ASSERT(p, MA_OWNED); /* * Now that the appropriate locks are held and we have enough cpusets, * make sure the operation will succeed before applying changes. The @@ -526,8 +521,8 @@ } /* * Replace each thread's cpuset while using deferred release. We - * must do this because the PROC_SLOCK has to be held while traversing - * the thread list and this limits the type of operations allowed. + * must do this because the thread lock must be held while operating + * on the thread and this limits the type of operations allowed. */ FOREACH_THREAD_IN_PROC(p, td) { thread_lock(td); @@ -561,7 +556,6 @@ thread_unlock(td); } unlock_out: - PROC_SUNLOCK(p); PROC_UNLOCK(p); out: while ((nset = LIST_FIRST(&droplist)) != NULL) @@ -833,13 +827,11 @@ thread_unlock(ttd); break; case CPU_WHICH_PID: - PROC_SLOCK(p); FOREACH_THREAD_IN_PROC(p, ttd) { thread_lock(ttd); CPU_OR(mask, &ttd->td_cpuset->cs_mask); thread_unlock(ttd); } - PROC_SUNLOCK(p); break; case CPU_WHICH_CPUSET: CPU_COPY(&set->cs_mask, mask); ==== //depot/projects/smpng/sys/kern/kern_descrip.c#112 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.327 2008/03/16 10:58:05 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.328 2008/03/19 09:58:25 sobomax Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2801,39 +2801,9 @@ SYSCTL_INT(_kern, KERN_MAXFILESPERPROC, maxfilesperproc, CTLFLAG_RW, &maxfilesperproc, 0, "Maximum files allowed open per process"); -/* - * User has changed the maximum number of files. - * This may require us to change size of the zone. - */ -static int -sysctl_kern_maxfiles(SYSCTL_HANDLER_ARGS) -{ - int error; - int new_maxfiles; +SYSCTL_INT(_kern, KERN_MAXFILES, maxfiles, CTLFLAG_RW, + &maxfiles, 0, "Maximum number of files"); - new_maxfiles = maxfiles; - error = sysctl_handle_int(oidp, &new_maxfiles, sizeof(int), req); - if (error != 0 || req->newptr == NULL) - return (error); - if (new_maxfiles <= 0) { - return (EINVAL); - } - maxfiles = new_maxfiles; - EVENTHANDLER_INVOKE(maxfiles_change); - return (0); -} - -static void -file_zone_change(void *tag) -{ - - uma_zone_set_max(file_zone, maxfiles); -} - -SYSCTL_PROC(_kern, OID_AUTO, maxfiles, CTLTYPE_INT|CTLFLAG_RW, - __DEVOLATILE(int *, &maxfiles), 0, sysctl_kern_maxfiles, "IU", - "Maximum number of files"); - SYSCTL_INT(_kern, OID_AUTO, openfiles, CTLFLAG_RD, __DEVOLATILE(int *, &openfiles), 0, "System-wide number of open files"); @@ -2844,13 +2814,10 @@ file_zone = uma_zcreate("Files", sizeof(struct file), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); - uma_zone_set_max(file_zone, maxfiles); - EVENTHANDLER_REGISTER(maxfiles_change, file_zone_change, NULL, - EVENTHANDLER_PRI_FIRST); mtx_init(&sigio_lock, "sigio lock", NULL, MTX_DEF); mtx_init(&fdesc_mtx, "fdesc", NULL, MTX_DEF); } -SYSINIT(select, SI_SUB_EVENTHANDLER+1, SI_ORDER_MIDDLE, filelistinit, NULL); +SYSINIT(select, SI_SUB_LOCK, SI_ORDER_FIRST, filelistinit, NULL); /*-------------------------------------------------------------------*/ ==== //depot/projects/smpng/sys/kern/kern_exit.c#128 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.308 2008/02/17 15:28:28 kris Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.309 2008/03/19 06:19:00 jeff Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -510,9 +510,7 @@ * proc lock. */ wakeup(p->p_pptr); - PROC_SLOCK(p->p_pptr); sched_exit(p->p_pptr, td); - PROC_SUNLOCK(p->p_pptr); PROC_SLOCK(p); p->p_state = PRS_ZOMBIE; PROC_UNLOCK(p->p_pptr); ==== //depot/projects/smpng/sys/kern/kern_kthread.c#20 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.44 2007/11/15 21:45:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.45 2008/03/19 06:19:00 jeff Exp $"); #include #include @@ -292,14 +292,12 @@ PROC_LOCK(p); p->p_flag |= P_HADTHREADS; newtd->td_sigmask = oldtd->td_sigmask; /* XXX dubious */ - PROC_SLOCK(p); thread_link(newtd, p); thread_lock(oldtd); /* let the scheduler know about these things. */ sched_fork_thread(oldtd, newtd); TD_SET_CAN_RUN(newtd); thread_unlock(oldtd); - PROC_SUNLOCK(p); PROC_UNLOCK(p); ==== //depot/projects/smpng/sys/kern/kern_lockf.c#22 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.57 2007/08/07 09:04:50 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.59 2008/03/19 07:13:24 jeff Exp $"); #include "opt_debug_lockf.h" @@ -283,31 +283,37 @@ wproc = (struct proc *)block->lf_id; restart: nproc = NULL; - PROC_SLOCK(wproc); + PROC_LOCK(wproc); FOREACH_THREAD_IN_PROC(wproc, td) { thread_lock(td); - while (td->td_wchan && - (td->td_wmesg == lockstr) && - (i++ < maxlockdepth)) { + for (;;) { + if (!TD_ON_SLEEPQ(td) || + td->td_wmesg != lockstr) + break; waitblock = (struct lockf *)td->td_wchan; /* Get the owner of the blocking lock */ + if (waitblock->lf_next == NULL) + break; waitblock = waitblock->lf_next; if ((waitblock->lf_flags & F_POSIX) == 0) break; - nproc = (struct proc *)waitblock->lf_id; - if (nproc == (struct proc *)lock->lf_id) { - PROC_SUNLOCK(wproc); + if (waitblock->lf_id == lock->lf_id) { thread_unlock(td); + PROC_UNLOCK(wproc); lock->lf_next = *clean; *clean = lock; return (EDEADLK); } + nproc = (struct proc *)waitblock->lf_id; + break; } thread_unlock(td); + if (nproc) + break; } - PROC_SUNLOCK(wproc); + PROC_UNLOCK(wproc); wproc = nproc; - if (wproc) + if (++i < maxlockdepth && wproc) goto restart; } /* ==== //depot/projects/smpng/sys/kern/kern_proc.c#93 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.262 2008/03/12 10:11:59 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.263 2008/03/19 06:19:00 jeff Exp $"); #include "opt_ddb.h" #include "opt_ktrace.h" @@ -640,11 +640,11 @@ struct ucred *cred; struct sigacts *ps; + PROC_LOCK_ASSERT(p, MA_OWNED); bzero(kp, sizeof(*kp)); kp->ki_structsize = sizeof(*kp); kp->ki_paddr = p; - PROC_LOCK_ASSERT(p, MA_OWNED); kp->ki_addr =/* p->p_addr; */0; /* XXX */ kp->ki_args = p->p_args; kp->ki_textvp = p->p_textvp; @@ -776,7 +776,7 @@ struct proc *p; p = td->td_proc; - PROC_SLOCK_ASSERT(p, MA_OWNED); + PROC_LOCK_ASSERT(p, MA_OWNED); thread_lock(td); if (td->td_wmesg != NULL) @@ -851,10 +851,8 @@ { fill_kinfo_proc_only(p, kp); - PROC_SLOCK(p); if (FIRST_THREAD_IN_PROC(p) != NULL) fill_kinfo_thread(FIRST_THREAD_IN_PROC(p), kp, 0); - PROC_SUNLOCK(p); } struct pstats * @@ -921,15 +919,12 @@ fill_kinfo_proc_only(p, &kinfo_proc); if (flags & KERN_PROC_NOTHREADS) { - PROC_SLOCK(p); if (FIRST_THREAD_IN_PROC(p) != NULL) fill_kinfo_thread(FIRST_THREAD_IN_PROC(p), &kinfo_proc, 0); - PROC_SUNLOCK(p); error = SYSCTL_OUT(req, (caddr_t)&kinfo_proc, sizeof(kinfo_proc)); } else { - PROC_SLOCK(p); if (FIRST_THREAD_IN_PROC(p) != NULL) FOREACH_THREAD_IN_PROC(p, td) { fill_kinfo_thread(td, &kinfo_proc, 1); @@ -941,7 +936,6 @@ else error = SYSCTL_OUT(req, (caddr_t)&kinfo_proc, sizeof(kinfo_proc)); - PROC_SUNLOCK(p); } PROC_UNLOCK(p); if (error) @@ -1483,7 +1477,7 @@ lwpidarray = NULL; numthreads = 0; - PROC_SLOCK(p); + PROC_LOCK(p); repeat: if (numthreads < p->p_numthreads) { if (lwpidarray != NULL) { @@ -1491,13 +1485,12 @@ lwpidarray = NULL; } numthreads = p->p_numthreads; - PROC_SUNLOCK(p); + PROC_UNLOCK(p); lwpidarray = malloc(sizeof(*lwpidarray) * numthreads, M_TEMP, M_WAITOK | M_ZERO); - PROC_SLOCK(p); + PROC_LOCK(p); goto repeat; } - PROC_SUNLOCK(p); i = 0; /* @@ -1509,7 +1502,6 @@ * have changed, in which case the right to extract debug info might * no longer be assured. */ - PROC_LOCK(p); FOREACH_THREAD_IN_PROC(p, td) { KASSERT(i < numthreads, ("sysctl_kern_proc_kstack: numthreads")); ==== //depot/projects/smpng/sys/kern/kern_resource.c#77 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.187 2008/03/16 21:32:20 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.189 2008/03/19 07:52:07 pjd Exp $"); #include "opt_compat.h" @@ -266,9 +266,7 @@ n = PRIO_MIN; if (n < p->p_nice && priv_check(td, PRIV_SCHED_SETPRIORITY) != 0) return (EACCES); - PROC_SLOCK(p); sched_nice(p, n); - PROC_SUNLOCK(p); return (0); } @@ -307,7 +305,6 @@ case RTP_LOOKUP: if ((error = p_cansee(td, p))) break; - PROC_SLOCK(p); if (uap->lwpid == 0 || uap->lwpid == td->td_tid) td1 = td; else @@ -316,7 +313,6 @@ pri_to_rtp(td1, &rtp); else error = ESRCH; - PROC_SUNLOCK(p); PROC_UNLOCK(p); return (copyout(&rtp, uap->rtp, sizeof(struct rtprio))); case RTP_SET: @@ -341,7 +337,6 @@ break; } - PROC_SLOCK(p); if (uap->lwpid == 0 || uap->lwpid == td->td_tid) td1 = td; else @@ -350,7 +345,6 @@ error = rtp_to_pri(&rtp, td1); else error = ESRCH; - PROC_SUNLOCK(p); break; default: error = EINVAL; @@ -399,7 +393,6 @@ case RTP_LOOKUP: if ((error = p_cansee(td, p))) break; - PROC_SLOCK(p); /* * Return OUR priority if no pid specified, * or if one is, report the highest priority @@ -425,7 +418,6 @@ } } } - PROC_SUNLOCK(p); PROC_UNLOCK(p); return (copyout(&rtp, uap->rtp, sizeof(struct rtprio))); case RTP_SET: @@ -456,7 +448,6 @@ * do all the threads on that process. If we * specify our own pid we do the latter. */ - PROC_SLOCK(p); if (uap->pid == 0) { error = rtp_to_pri(&rtp, td); } else { @@ -465,7 +456,6 @@ break; } } - PROC_SUNLOCK(p); break; default: error = EINVAL; @@ -698,9 +688,7 @@ if (limp->rlim_cur != RLIM_INFINITY && p->p_cpulimit == RLIM_INFINITY) callout_reset(&p->p_limco, hz, lim_cb, p); - PROC_SLOCK(p); p->p_cpulimit = limp->rlim_cur; - PROC_SUNLOCK(p); break; case RLIMIT_DATA: if (limp->rlim_cur > maxdsiz) @@ -956,11 +944,12 @@ struct rusage *rup; { struct proc *p; + int error; + error = 0; p = td->td_proc; PROC_LOCK(p); switch (who) { - case RUSAGE_SELF: rufetchcalc(p, rup, &rup->ru_utime, &rup->ru_stime); @@ -972,11 +961,10 @@ break; default: - PROC_UNLOCK(p); - return (EINVAL); + error = EINVAL; } PROC_UNLOCK(p); - return (0); + return (error); } void @@ -1226,7 +1214,6 @@ uip->ui_uid = uid; LIST_INSERT_HEAD(UIHASH(uid), uip, ui_hash); } - uihold(uip); } uihold(uip); rw_unlock(&uihashtbl_lock); ==== //depot/projects/smpng/sys/kern/kern_sig.c#137 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.358 2008/03/12 10:11:59 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.359 2008/03/19 06:19:00 jeff Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -508,10 +508,8 @@ sigqueue_init(&worklist, NULL); sigqueue_move_set(&p->p_sigqueue, &worklist, set); - PROC_SLOCK(p); FOREACH_THREAD_IN_PROC(p, td0) sigqueue_move_set(&td0->td_sigqueue, &worklist, set); - PROC_SUNLOCK(p); sigqueue_flush(&worklist); } @@ -734,9 +732,7 @@ (sigprop(sig) & SA_IGNORE && ps->ps_sigact[_SIG_IDX(sig)] == SIG_DFL)) { /* never to be seen again */ - PROC_SLOCK(p); sigqueue_delete_proc(p, sig); - PROC_SUNLOCK(p); if (sig != SIGCONT) /* easier in psignal */ SIGADDSET(ps->ps_sigignore, sig); @@ -932,9 +928,7 @@ if (sigprop(sig) & SA_IGNORE) { if (sig != SIGCONT) SIGADDSET(ps->ps_sigignore, sig); - PROC_SLOCK(p); sigqueue_delete_proc(p, sig); - PROC_SUNLOCK(p); } ps->ps_sigact[_SIG_IDX(sig)] = SIG_DFL; } @@ -1882,7 +1876,6 @@ if (curproc == p && !SIGISMEMBER(curthread->td_sigmask, sig)) return (curthread); signal_td = NULL; - PROC_SLOCK(p); FOREACH_THREAD_IN_PROC(p, td) { if (!SIGISMEMBER(td->td_sigmask, sig)) { signal_td = td; @@ -1891,7 +1884,6 @@ } if (signal_td == NULL) signal_td = FIRST_THREAD_IN_PROC(p); - PROC_SUNLOCK(p); return (signal_td); } @@ -2029,9 +2021,7 @@ ksiginfo_tryfree(ksi); return (ret); } - PROC_SLOCK(p); sigqueue_delete_proc(p, SIGCONT); - PROC_SUNLOCK(p); if (p->p_flag & P_CONTINUED) { p->p_flag &= ~P_CONTINUED; PROC_LOCK(p->p_pptr); @@ -2069,7 +2059,6 @@ * waking up threads so that they can cross the user boundary. * We try do the per-process part here. */ - PROC_SLOCK(p); if (P_SHOULDSTOP(p)) { /* * The process is in stopped mode. All the threads should be @@ -2081,7 +2070,6 @@ * so no further action is necessary. * No signal can restart us. */ - PROC_SUNLOCK(p); goto out; } @@ -2107,6 +2095,7 @@ * Otherwise, process goes back to sleep state. */ p->p_flag &= ~P_STOPPED_SIG; + PROC_SLOCK(p); if (p->p_numthreads == p->p_suspcount) { PROC_SUNLOCK(p); p->p_flag |= P_CONTINUED; @@ -2127,6 +2116,7 @@ * The process wants to catch it so it needs * to run at least one thread, but which one? */ + PROC_SUNLOCK(p); goto runfast; } /* @@ -2143,7 +2133,6 @@ * (If we did the shell could get confused). * Just make sure the signal STOP bit set. */ - PROC_SUNLOCK(p); p->p_flag |= P_STOPPED_SIG; sigqueue_delete(sigqueue, sig); goto out; @@ -2157,6 +2146,7 @@ * the PROCESS runnable, leave it stopped. * It may run a bit until it hits a thread_suspend_check(). */ + PROC_SLOCK(p); thread_lock(td); if (TD_ON_SLEEPQ(td) && (td->td_flags & TDF_SINTR)) sleepq_abort(td, intrval); @@ -2169,22 +2159,18 @@ */ } else if (p->p_state == PRS_NORMAL) { if (p->p_flag & P_TRACED || action == SIG_CATCH) { - thread_lock(td); tdsigwakeup(td, sig, action, intrval); - thread_unlock(td); - PROC_SUNLOCK(p); goto out; } MPASS(action == SIG_DFL); if (prop & SA_STOP) { - if (p->p_flag & P_PPWAIT) { - PROC_SUNLOCK(p); + if (p->p_flag & P_PPWAIT) goto out; - } p->p_flag |= P_STOPPED_SIG; p->p_xstat = sig; + PROC_SLOCK(p); sig_suspend_threads(td, p, 1); if (p->p_numthreads == p->p_suspcount) { /* @@ -2200,13 +2186,9 @@ } else PROC_SUNLOCK(p); goto out; - } - else - goto runfast; - /* NOTREACHED */ + } } else { /* Not in "NORMAL" state. discard the signal. */ - PROC_SUNLOCK(p); sigqueue_delete(sigqueue, sig); goto out; } @@ -2215,11 +2197,9 @@ * The process is not stopped so we need to apply the signal to all the * running threads. */ - runfast: - thread_lock(td); tdsigwakeup(td, sig, action, intrval); - thread_unlock(td); + PROC_SLOCK(p); thread_unsuspend(p); PROC_SUNLOCK(p); out: @@ -2240,17 +2220,16 @@ register int prop; PROC_LOCK_ASSERT(p, MA_OWNED); - PROC_SLOCK_ASSERT(p, MA_OWNED); - THREAD_LOCK_ASSERT(td, MA_OWNED); prop = sigprop(sig); + PROC_SLOCK(p); + thread_lock(td); /* * Bring the priority of a thread up if we want it to get * killed in this lifetime. */ if (action == SIG_DFL && (prop & SA_KILL) && td->td_priority > PUSER) sched_prio(td, PUSER); - if (TD_ON_SLEEPQ(td)) { /* * If thread is sleeping uninterruptibly @@ -2259,7 +2238,7 @@ * trap() or syscall(). */ if ((td->td_flags & TDF_SINTR) == 0) - return; + goto out; /* * If SIGCONT is default (or ignored) and process is * asleep, we are finished; the process should not @@ -2274,8 +2253,6 @@ * Remove from both for now. */ sigqueue_delete(&td->td_sigqueue, sig); - PROC_SLOCK(p); - thread_lock(td); return; } @@ -2297,6 +2274,9 @@ forward_signal(td); #endif } +out: + PROC_SUNLOCK(p); + thread_unlock(td); } static void ==== //depot/projects/smpng/sys/kern/kern_thr.c#43 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.64 2007/11/15 06:35:26 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.65 2008/03/19 06:19:00 jeff Exp $"); #include "opt_compat.h" #include "opt_posix.h" @@ -229,14 +229,12 @@ PROC_LOCK(td->td_proc); td->td_proc->p_flag |= P_HADTHREADS; newtd->td_sigmask = td->td_sigmask; - PROC_SLOCK(p); thread_link(newtd, p); bcopy(p->p_comm, newtd->td_name, sizeof(newtd->td_name)); thread_lock(td); /* let the scheduler know about these things. */ sched_fork_thread(td, newtd); thread_unlock(td); - PROC_SUNLOCK(p); PROC_UNLOCK(p); thread_lock(newtd); if (rtp != NULL) { ==== //depot/projects/smpng/sys/kern/kern_thread.c#105 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.269 2008/03/12 10:11:59 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.271 2008/03/19 06:20:21 jeff Exp $"); #include #include @@ -303,7 +303,8 @@ void thread_free(struct thread *td) { - cpuset_rel(td->td_cpuset); + if (td->td_cpuset) + cpuset_rel(td->td_cpuset); td->td_cpuset = NULL; cpu_thread_free(td); if (td->td_altkstack != 0) @@ -345,9 +346,7 @@ #ifdef AUDIT AUDIT_SYSCALL_EXIT(0, td); #endif - umtx_thread_exit(td); - /* * drop FPU & debug register state storage, or any other * architecture specific resources that @@ -374,9 +373,7 @@ */ if (p->p_flag & P_HADTHREADS) { if (p->p_numthreads > 1) { - thread_lock(td); thread_unlink(td); - thread_unlock(td); td2 = FIRST_THREAD_IN_PROC(p); sched_exit_thread(td2, td); @@ -450,8 +447,8 @@ /* * XXX This can't be enabled because it's called for proc0 before - * it's spinlock has been created. - * PROC_SLOCK_ASSERT(p, MA_OWNED); + * its lock has been created. + * PROC_LOCK_ASSERT(p, MA_OWNED); */ td->td_state = TDS_INACTIVE; td->td_proc = p; @@ -487,7 +484,7 @@ { struct proc *p = td->td_proc; - PROC_SLOCK_ASSERT(p, MA_OWNED); + PROC_LOCK_ASSERT(p, MA_OWNED); TAILQ_REMOVE(&p->p_threads, td, td_plist); p->p_numthreads--; /* could clear a few other things here */ @@ -863,11 +860,9 @@ struct thread *td; PROC_LOCK_ASSERT(p, MA_OWNED); - PROC_SLOCK(p); FOREACH_THREAD_IN_PROC(p, td) { if (td->td_tid == tid) break; } - PROC_SUNLOCK(p); return (td); } ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#72 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.118 2008/03/16 10:58:05 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.119 2008/03/19 06:19:00 jeff Exp $"); #include "opt_hwpmc_hooks.h" @@ -357,7 +357,7 @@ realstathz = stathz ? stathz : hz; sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { - PROC_SLOCK(p); + PROC_LOCK(p); FOREACH_THREAD_IN_PROC(p, td) { awake = 0; thread_lock(td); @@ -436,7 +436,7 @@ resetpriority_thread(td); thread_unlock(td); } /* end of thread loop */ - PROC_SUNLOCK(p); + PROC_UNLOCK(p); } /* end of process loop */ sx_sunlock(&allproc_lock); } @@ -616,7 +616,7 @@ CTR3(KTR_SCHED, "sched_exit: %p(%s) prio %d", td, td->td_name, td->td_priority); - PROC_SLOCK_ASSERT(p, MA_OWNED); + PROC_LOCK_ASSERT(p, MA_OWNED); sched_exit_thread(FIRST_THREAD_IN_PROC(p), td); } @@ -656,7 +656,6 @@ struct thread *td; PROC_LOCK_ASSERT(p, MA_OWNED); - PROC_SLOCK_ASSERT(p, MA_OWNED); p->p_nice = nice; FOREACH_THREAD_IN_PROC(p, td) { thread_lock(td); ==== //depot/projects/smpng/sys/kern/sched_ule.c#84 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.234 2008/03/16 10:58:05 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.236 2008/03/19 07:36:37 jeff Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -1519,28 +1519,33 @@ THREAD_LOCK_ASSERT(td, MA_OWNED); if (td->td_priority == prio) return; - + /* + * If the priority has been elevated due to priority + * propagation, we may have to move ourselves to a new + * queue. This could be optimized to not re-add in some + * cases. + */ if (TD_ON_RUNQ(td) && prio < td->td_priority) { - /* - * If the priority has been elevated due to priority - * propagation, we may have to move ourselves to a new - * queue. This could be optimized to not re-add in some - * cases. - */ sched_rem(td); td->td_priority = prio; sched_add(td, SRQ_BORROWING); return; } - tdq = TDQ_CPU(ts->ts_cpu); - oldpri = td->td_priority; - td->td_priority = prio; + /* + * If the thread is currently running we may have to adjust the lowpri + * information so other cpus are aware of our current priority. + */ if (TD_IS_RUNNING(td)) { + tdq = TDQ_CPU(ts->ts_cpu); + oldpri = td->td_priority; + td->td_priority = prio; if (prio < tdq->tdq_lowpri) tdq->tdq_lowpri = prio; else if (tdq->tdq_lowpri == oldpri) tdq_setlowpri(tdq, td); + return; } + td->td_priority = prio; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 19 22:45:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 998491065672; Wed, 19 Mar 2008 22:45:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58B72106566C for ; Wed, 19 Mar 2008 22:45:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3E85C8FC18 for ; Wed, 19 Mar 2008 22:45:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JMjBWk064617 for ; Wed, 19 Mar 2008 22:45:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JMj9KP064615 for perforce@freebsd.org; Wed, 19 Mar 2008 22:45:09 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Mar 2008 22:45:09 GMT Message-Id: <200803192245.m2JMj9KP064615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138135 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 22:45:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=138135 Change 138135 by jb@jb_freebsd8 on 2008/03/19 22:44:49 The latest IFopensolaris changes the way the perl test program args work. Now the '-n' arg has to be specified to stop the script from wanting to run the tests using jdtrace, the Java API version of DTrace. I doubt we will ever want to run the Java tests from this makefile since Java is not part of this source tree. There are a few new tests appearing here; a couple need to be commented out; and yet more which don't work yet. There are a few regressions too. (sulk) Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#25 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#25 (text+ko) ==== @@ -1,7 +1,7 @@ # $FreeBSD$ TESTSRCDIR= ${.CURDIR}/../../../contrib/opensolaris/cmd/dtrace/test -DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl +DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl -n IGNORE= \ ${TESTSRCDIR}/tst/common/stop/tst.stop1.d \ @@ -51,6 +51,8 @@ ${TESTSRCDIR}/tst/common/misc/tst.schrock.ksh \ ${TESTSRCDIR}/tst/common/nfs/tst.call.c \ ${TESTSRCDIR}/tst/common/nfs/tst.call.d \ + ${TESTSRCDIR}/tst/common/nfs/tst.call3.c \ + ${TESTSRCDIR}/tst/common/nfs/tst.call3.d \ ${TESTSRCDIR}/tst/common/offsetof/err.D_OFFSETOF_BITFIELD.bitfield.d \ ${TESTSRCDIR}/tst/common/pid/err.D_PDESC_ZERO.badlib.d \ ${TESTSRCDIR}/tst/common/pid/err.D_PDESC_ZERO.badproc1.d \ @@ -208,6 +210,7 @@ ${TESTSRCDIR}/tst/common/safety/tst.shortstr.d \ ${TESTSRCDIR}/tst/common/safety/tst.stack.d \ ${TESTSRCDIR}/tst/common/safety/tst.stackdepth.d \ + ${TESTSRCDIR}/tst/common/safety/tst.stddev.d \ ${TESTSRCDIR}/tst/common/safety/tst.strchr.d \ ${TESTSRCDIR}/tst/common/safety/tst.strjoin.d \ ${TESTSRCDIR}/tst/common/safety/tst.strstr.d \ From owner-p4-projects@FreeBSD.ORG Wed Mar 19 23:00:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 442BB106566B; Wed, 19 Mar 2008 23:00:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03657106569B for ; Wed, 19 Mar 2008 23:00:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DD7598FC22 for ; Wed, 19 Mar 2008 23:00:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2JN0Sms078083 for ; Wed, 19 Mar 2008 23:00:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2JN0SAF078070 for perforce@freebsd.org; Wed, 19 Mar 2008 23:00:28 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Mar 2008 23:00:28 GMT Message-Id: <200803192300.m2JN0SAF078070@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138138 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2008 23:00:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=138138 Change 138138 by jb@jb_freebsd8 on 2008/03/19 23:00:14 Filter the trap type to only those that DTrace uses to avoid calling the hook function when not necessary. Affected files ... .. //depot/projects/dtrace/src/sys/i386/i386/trap.c#30 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/i386/trap.c#30 (text+ko) ==== @@ -252,7 +252,8 @@ * handled the trap and modified the trap frame so that this * function can return normally. */ - if (dtrace_trap_func != NULL) + if ((type == T_PROTFLT || type == T_PAGEFLT) && + dtrace_trap_func != NULL) if ((*dtrace_trap_func)(frame, type)) goto out; #endif From owner-p4-projects@FreeBSD.ORG Thu Mar 20 01:00:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29E741065674; Thu, 20 Mar 2008 01:00:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9CF81065672 for ; Thu, 20 Mar 2008 01:00:45 +0000 (UTC) (envelope-from qingli@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD1A68FC24 for ; Thu, 20 Mar 2008 01:00:45 +0000 (UTC) (envelope-from qingli@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2K10j6P047980 for ; Thu, 20 Mar 2008 01:00:45 GMT (envelope-from qingli@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2K10WQO047974 for perforce@freebsd.org; Thu, 20 Mar 2008 01:00:32 GMT (envelope-from qingli@freebsd.org) Date: Thu, 20 Mar 2008 01:00:32 GMT Message-Id: <200803200100.m2K10WQO047974@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to qingli@freebsd.org using -f From: Qing Li To: Perforce Change Reviews Cc: Subject: PERFORCE change 138141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 01:00:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=138141 Change 138141 by qingli@FreeBSD-newarp on 2008/03/20 01:00:25 sync-up to the latest sources before merging in my changes Affected files ... .. //depot/projects/qingli_mpath/src/LOCKS#2 integrate .. //depot/projects/qingli_mpath/src/MAINTAINERS#2 integrate .. //depot/projects/qingli_mpath/src/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/Makefile.inc1#2 integrate .. //depot/projects/qingli_mpath/src/ObsoleteFiles.inc#2 integrate .. //depot/projects/qingli_mpath/src/UPDATING#2 integrate .. //depot/projects/qingli_mpath/src/bin/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/bin/chflags/chflags.1#2 integrate .. //depot/projects/qingli_mpath/src/bin/chflags/chflags.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/cp/cp.1#2 integrate .. //depot/projects/qingli_mpath/src/bin/cp/cp.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/cp/utils.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/date/date.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/ps/ps.1#2 integrate .. //depot/projects/qingli_mpath/src/bin/realpath/realpath.1#2 integrate .. //depot/projects/qingli_mpath/src/bin/realpath/realpath.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/sh/cd.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/sh/mksyntax.c#2 integrate .. //depot/projects/qingli_mpath/src/bin/uuidgen/Makefile#1 branch .. //depot/projects/qingli_mpath/src/bin/uuidgen/uuidgen.1#1 branch .. //depot/projects/qingli_mpath/src/bin/uuidgen/uuidgen.c#1 branch .. //depot/projects/qingli_mpath/src/contrib/binutils/libiberty/cp-demangle.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bsnmp/snmpd/main.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/ChangeLog#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/FAQ#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/HACKING#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/INSTALL#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/NEWS#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/README#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/TODO#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/aclocal.m4#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/compile#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/config.h.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/configure#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/configure.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/contrib/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/depcomp#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/diff/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/ChangeLog#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/cvs.1#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/cvs.texinfo#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/cvsclient.texi#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/mdate-sh#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/stamp-1#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/stamp-vti#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/version-client.texi#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/doc/version.texi#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/install-sh#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/lib/ChangeLog#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/lib/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/lib/getdate#2 delete .. //depot/projects/qingli_mpath/src/contrib/cvs/lib/xsize.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/man/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/missing#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/mkinstalldirs#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/ChangeLog#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/add.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/classify.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/client.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/client.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/cvs.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/edit.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/hash.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/import.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/lock.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/log.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/login.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/main.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/mkmodules.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/modules.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/parseinfo.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/recurse.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/root.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/root.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/sanity.sh#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/server.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/update.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/src/vers_ts.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/cvs/tools/Makefile.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/file/FREEBSD-upgrade#2 integrate .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/bFLT#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/chi#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/cvs#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/hdf#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/impulse#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/Magdir/wordperfect#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/acconfig.h#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/magic.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/file/missing#2 delete .. //depot/projects/qingli_mpath/src/contrib/file/stamp-h.in#2 delete .. //depot/projects/qingli_mpath/src/contrib/gdb/FREEBSD-diffs#1 branch .. //depot/projects/qingli_mpath/src/contrib/libiberty/cp-demangle.c#2 delete .. //depot/projects/qingli_mpath/src/contrib/ncurses/FREEBSD-upgrade#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/qingli_mpath/src/contrib/ncurses/MANIFEST#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/NEWS#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/dist.mk#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/form/frm_driver.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/include/curses.h.in#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/include/ncurses_defs#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/man/curs_clear.3x#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/qingli_mpath/src/contrib/ncurses/man/man_db.renames#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/man/manlinks.sed#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/man/toe.1m#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/misc/terminfo.src#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/MKlib_gen.sh#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/MKunctrl.awk#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_addch.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_getch.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_insch.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_newterm.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_newwin.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_set_term.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_slk.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_slkclear.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/lib_slkinit.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/resizeterm.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/curses.priv.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/tinfo/lib_data.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/ncurses/tinfo/lib_setup.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/progs/infocmp.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/ncurses/progs/toe.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/qingli_mpath/src/contrib/openpam/include/security/openpam_version.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/pf/man/pf.conf.5#2 integrate .. //depot/projects/qingli_mpath/src/contrib/tcpdump/print-802_11.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/tcsh/sh.lex.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/top/display.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/top/layout.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/top/machine.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/top/top.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/top/top.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/traceroute/as.c#1 branch .. //depot/projects/qingli_mpath/src/contrib/traceroute/as.h#1 branch .. //depot/projects/qingli_mpath/src/contrib/traceroute/traceroute.8#2 integrate .. //depot/projects/qingli_mpath/src/contrib/traceroute/traceroute.c#2 integrate .. //depot/projects/qingli_mpath/src/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/qingli_mpath/src/crypto/openssh/FREEBSD-upgrade#2 integrate .. //depot/projects/qingli_mpath/src/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/qingli_mpath/src/etc/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/etc/ddb.conf#1 branch .. //depot/projects/qingli_mpath/src/etc/defaults/rc.conf#2 integrate .. //depot/projects/qingli_mpath/src/etc/devd.conf#2 integrate .. //depot/projects/qingli_mpath/src/etc/mail/access.sample#2 integrate .. //depot/projects/qingli_mpath/src/etc/namedb/named.root#2 integrate .. //depot/projects/qingli_mpath/src/etc/netstart#2 integrate .. //depot/projects/qingli_mpath/src/etc/periodic/security/100.chksetuid#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/ddb#1 branch .. //depot/projects/qingli_mpath/src/etc/rc.d/dhclient#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/hostid#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/ipfw#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/kerberos#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/mountcritlocal#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/mountcritremote#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/mountlate#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/netif#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/ppp#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/root#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.d/zfs#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.firewall#2 integrate .. //depot/projects/qingli_mpath/src/etc/rc.subr#2 integrate .. //depot/projects/qingli_mpath/src/etc/sendmail/freebsd.mc#2 integrate .. //depot/projects/qingli_mpath/src/games/fortune/datfiles/fortunes#2 integrate .. //depot/projects/qingli_mpath/src/games/fortune/strfile/strfile.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/lib/csu/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/lib/libgcc/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/binutils/ar/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/binutils/ranlib/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/cvs/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/cvs/contrib/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/cvs/lib/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/cvs/lib/config.h.proto#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/kld.c#1 branch .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/man/man/man.c#2 integrate .. //depot/projects/qingli_mpath/src/gnu/usr.bin/man/manpath/manpath.c#2 integrate .. //depot/projects/qingli_mpath/src/include/fts.h#2 integrate .. //depot/projects/qingli_mpath/src/include/pthread_np.h#2 integrate .. //depot/projects/qingli_mpath/src/include/unistd.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libalias/libalias/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive.h.in#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_endian.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_entry.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_entry.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_entry.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_entry_strmode.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_platform.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_extract.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_open_filename.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_private.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_compression_bzip2.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_compression_gzip.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_format_ar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_format_iso9660.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_format_tar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_read_support_format_zip.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_string.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_string_sprintf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_util.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_util.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_disk.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_disk.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_open_filename.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_private.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_compression_gzip.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_ar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_cpio.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_cpio_newc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_pax.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_shar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/archive_write_set_format_ustar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/config_freebsd.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/main.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_archive_api_feature.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_compat_gtar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_compat_tar_hardlink.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_compat_zip.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_entry.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_read_format_ar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_read_format_gtar_sparse.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_write_disk.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_write_disk_hardlink.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_write_format_ar.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/test/test_write_format_cpio_newc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/amd64/_fpmath.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/db/test/btree.tests/main.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/db/test/dbtest.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/Symbol.map#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/fts.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/fts.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/scandir.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/sem_timedwait.3#1 branch .. //depot/projects/qingli_mpath/src/lib/libc/gen/sem_wait.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/gen/sysconf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/i386/_fpmath.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/ia64/_fpmath.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/include/namespace.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/locale/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/locale/ascii.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libc/locale/mblocal.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/locale/setrunelocale.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/posix1e/mac_exec.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/flt_rounds.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/fpgetmask.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/fpgetround.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/fpgetsticky.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/fpsetmask.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/powerpc/gen/fpsetround.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/regex/grot/main.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/resolv/res_comp.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sparc64/_fpmath.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdio/fdopen.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdio/fopen.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdlib/getenv.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdlib/malloc.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/stdlib/malloc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/Symbol.map#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/access.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/clock_gettime.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/fcntl.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/flock.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/kldunload.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_close.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_getattr.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_notify.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_open.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_receive.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_send.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/mq_setattr.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/readlink.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/qingli_mpath/src/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libdisk/disk.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libelf/elf_update.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libelf/elf_update.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libelf/gelf_fsize.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libfetch/common.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libfetch/fetch.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libfetch/ftp.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libfetch/http.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libkse/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libkse/kse.map#2 integrate .. //depot/projects/qingli_mpath/src/lib/libkse/sys/lock.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libkse/thread/thr_mutex.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libkvm/kvm_proc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libmilter/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libpmc/libpmc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libpmc/pmc.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/libpmc/pmc_capabilities.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/librpcsvc/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/librpcsvc/xcrypt.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libsdp/sdp.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/ia64/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/pthread.map#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_attr.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_exit.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_init.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_mutex.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_private.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_sem.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_sig.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthread_db/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/Symbol.map#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/amd64/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/bsdsrc/b_log.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/bsdsrc/b_tgamma.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/i387/Makefile.inc#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld128/k_cosl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld128/k_sinl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld128/k_tanl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld128/s_exp2l.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld128/s_nanl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/ld80/k_cosl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld80/k_sinl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld80/k_tanl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/ld80/s_exp2l.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/man/cos.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/exp.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/j0.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/lgamma.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/log.3#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/man/sin.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/sqrt.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/man/tan.3#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/powerpc/fenv.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_acos.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_acosf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_acosh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_acoshf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_asin.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_asinf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_atan2.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_atan2f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_atanh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_atanhf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_cosh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_coshf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_exp.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_fmod.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_fmodf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_gamma.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_gamma_r.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_gammaf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_gammaf_r.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_hypot.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_hypotf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_j0.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_j0f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_j1.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_j1f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_jn.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_jnf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_lgamma.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_lgamma_r.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_lgammaf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_lgammaf_r.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_log.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_log10.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_log10f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_logf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_pow.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_powf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_rem_pio2.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_rem_pio2f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_remainder.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_scalb.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_scalbf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_sinh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_sinhf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/src/k_cos.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_cosf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_rem_pio2.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_rem_pio2f.c#2 delete .. //depot/projects/qingli_mpath/src/lib/msun/src/k_sin.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_sinf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_tan.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/k_tanf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/math.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/math_private.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_asinh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_asinhf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_atan.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_atanf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_cbrt.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_cbrtf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ceil.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ceilf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ceill.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_copysign.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_copysignf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_cos.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_cosf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_cosl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/src/s_erf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_erff.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_exp2.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_exp2f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_fabsf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_finite.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_finitef.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_floor.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_floorf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_floorl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_frexp.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_frexpf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ilogb.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ilogbf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_ilogbl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_log1p.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_log1pf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_logb.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_logbf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_modff.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_nextafter.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_nextafterf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_nextafterl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_nexttoward.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_nexttowardf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_rint.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_rintf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_rintl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_significand.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_significandf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_sin.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_sinf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_sinl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tan.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tanf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tanh.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tanhf.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tanl.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/src/s_tgammaf.c#1 branch .. //depot/projects/qingli_mpath/src/lib/msun/src/s_trunc.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/msun/src/w_cabs.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/qingli_mpath/src/release/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate .. //depot/projects/qingli_mpath/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate .. //depot/projects/qingli_mpath/src/release/doc/share/misc/dev.archlist.txt#2 integrate .. //depot/projects/qingli_mpath/src/release/fixit.profile#2 integrate .. //depot/projects/qingli_mpath/src/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/qingli_mpath/src/rescue/rescue/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sbin/atacontrol/atacontrol.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ddb/ddb.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ddb/ddb.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/dhclient/dhclient-script#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ffsinfo/ffsinfo.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_ffs/main.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_ffs/pass1.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_ffs/pass2.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_ffs/setup.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_msdosfs/boot.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/fsck_msdosfs/fat.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/geom/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sbin/geom/class/label/geom_label.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/geom/class/multipath/gmultipath.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/geom/core/geom.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/geom/core/geom.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/gpt/gpt.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/gpt/gpt.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/gpt/migrate.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/gpt/show.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ifconfig/ifieee80211.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ipfw/ipfw.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ipfw/ipfw2.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/iscontrol/misc.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/md5/md5.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/mount/getmntopts.3#2 integrate .. //depot/projects/qingli_mpath/src/sbin/mount/mount.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/mount/mount.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/mount_nfs/mount_nfs.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/natd/natd.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/newfs/mkfs.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/ping6/ping6.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/quotacheck/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sbin/quotacheck/preen.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/quotacheck/quotacheck.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/quotacheck/quotacheck.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/qingli_mpath/src/sbin/sconfig/sconfig.c#2 integrate .. //depot/projects/qingli_mpath/src/secure/usr.bin/bdes/bdes.c#2 integrate .. //depot/projects/qingli_mpath/src/secure/usr.bin/ssh/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/secure/usr.sbin/sshd/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/share/colldef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/qingli_mpath/src/share/examples/cvsup/cvs-supfile#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man3/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ath.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/atkbd.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/awi.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/axe.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ciss.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/cmx.4#1 branch .. //depot/projects/qingli_mpath/src/share/man/man4/coda.4#1 branch .. //depot/projects/qingli_mpath/src/share/man/man4/dcons.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ddb.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ed.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/fwohci.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/geom_linux_lvm.4#1 branch .. //depot/projects/qingli_mpath/src/share/man/man4/hptiop.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/hptrr.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ip6.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/linux.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/snc.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/mfi.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/mxge.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ng_nat.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/oldcard.4#2 delete .. //depot/projects/qingli_mpath/src/share/man/man4/pcib.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/puc.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/rr232x.4#2 delete .. //depot/projects/qingli_mpath/src/share/man/man4/sched_4bsd.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/sched_ule.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/sf.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/sk.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/syncache.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/uart.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/uchcom.4#1 branch .. //depot/projects/qingli_mpath/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/ucycom.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/uscanner.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/uslcom.4#1 branch .. //depot/projects/qingli_mpath/src/share/man/man4/vlan.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/vr.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/wi.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/xl.4#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man5/fstab.5#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man5/rc.conf.5#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man7/clocks.7#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man7/ports.7#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/BUF_ISLOCKED.9#1 branch .. //depot/projects/qingli_mpath/src/share/man/man9/BUF_RECURSED.9#1 branch .. //depot/projects/qingli_mpath/src/share/man/man9/BUF_REFCNT.9#2 delete .. //depot/projects/qingli_mpath/src/share/man/man9/DEVICE_PROBE.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/VOP_LOCK.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/atomic.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/bus_space.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/insmntque.9#1 branch .. //depot/projects/qingli_mpath/src/share/man/man9/lock.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/mbuf.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/pci.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/rwlock.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/stack.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/style.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/vfs_mountedfrom.9#1 branch .. //depot/projects/qingli_mpath/src/share/man/man9/vgone.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/vhold.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/vput.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/vref.9#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man9/vrefcnt.9#1 branch .. //depot/projects/qingli_mpath/src/share/man/man9/vrele.9#2 integrate .. //depot/projects/qingli_mpath/src/share/misc/bsd-family-tree#2 integrate .. //depot/projects/qingli_mpath/src/share/misc/committers-doc.dot#2 integrate .. //depot/projects/qingli_mpath/src/share/misc/committers-ports.dot#2 integrate .. //depot/projects/qingli_mpath/src/share/misc/committers-src.dot#2 integrate .. //depot/projects/qingli_mpath/src/share/misc/pci_vendors#2 integrate .. //depot/projects/qingli_mpath/src/share/mk/bsd.cpu.mk#2 integrate .. //depot/projects/qingli_mpath/src/share/mk/bsd.dep.mk#2 integrate .. //depot/projects/qingli_mpath/src/share/mk/bsd.libnames.mk#2 integrate .. //depot/projects/qingli_mpath/src/share/mk/bsd.own.mk#2 integrate .. //depot/projects/qingli_mpath/src/share/mk/sys.mk#2 integrate .. //depot/projects/qingli_mpath/src/share/mklocale/la_LN.US-ASCII.src#2 integrate .. //depot/projects/qingli_mpath/src/share/msgdef/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/share/msgdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/qingli_mpath/src/share/msgdef/ko_KR.eucKR.src#2 integrate .. //depot/projects/qingli_mpath/src/share/zoneinfo/leapseconds#2 integrate .. //depot/projects/qingli_mpath/src/share/zoneinfo/southamerica#2 integrate .. //depot/projects/qingli_mpath/src/sys/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/amd64_mem.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/mem.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/_types.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/float.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/qingli_mpath/src/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/proc.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/smp.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/locore.S#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/trap.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/uio_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/conf/AVILA#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/include/_bus.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/include/atomic.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/include/pmap.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/common/dev_net.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/ofw/libofw/ofw_console.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/metadata.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/powerpc/uboot/version#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/Makefile#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/common/main.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/Makefile#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/console.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/copy.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/disk.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/glue.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/module.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/net.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/qingli_mpath/src/sys/boot/uboot/lib/time.c#1 branch .. //depot/projects/qingli_mpath/src/sys/cam/cam_periph.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/opensolaris/sys/kmem.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/Makefile.arm#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/NOTES#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files.amd64#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files.i386#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files.sparc64#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/kern.post.mk#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/kmod.mk#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/ldscript.powerpc#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/options#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/options.powerpc#2 integrate .. //depot/projects/qingli_mpath/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ddb/db_capture.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ddb/db_command.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ddb/db_examine.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ddb/db_input.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/aac/aac.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/agp/agp_i810.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/amr/amr.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/amr/amrreg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/amr/amrvar.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/an/if_an.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/an/if_anreg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cmx/cmx.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cmx/cmxreg.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cmx/cmxvar.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_l2t.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_l2t.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/sys/mbufq.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/LICENSE#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82575.c#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_82575.h#2 delete .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/if_em.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/em/if_em.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptiop/hptiop.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ic/quicc.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/md/md.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mfi/mfireg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/amphy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/brgphy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/miidevs#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/nsphy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/qingli_mpath/src/sys/dev/quicc/quicc_bus.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 20 03:18:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC8481065679; Thu, 20 Mar 2008 03:18:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C9FC106566B for ; Thu, 20 Mar 2008 03:18:08 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 429838FC18 for ; Thu, 20 Mar 2008 03:18:08 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2K3I89P075493 for ; Thu, 20 Mar 2008 03:18:08 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2K3I8N1075491 for perforce@freebsd.org; Thu, 20 Mar 2008 03:18:08 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 20 Mar 2008 03:18:08 GMT Message-Id: <200803200318.m2K3I8N1075491@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 138150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 03:18:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=138150 Change 138150 by zhouzhouyi@zhouzhouyi_mactest on 2008/03/20 03:17:26 Add the test cases for poll, I wonder why poll don't return any error message when the operation is not permitted Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#18 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/vnops/00.t#1 add Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#18 (text+ko) ==== @@ -535,13 +535,13 @@ struct pollfd pfd; int fd; - fd = open("/root/pf.conf", O_RDWR); + fd = open(STR(0), O_WRONLY); if (fd <= 0) goto erropen; pfd.fd = fd; pfd.events = POLLWRNORM; pfd.revents = 0; - poll(&pfd, 1, 1); + rval = poll(&pfd, 1, 1); close(fd); erropen: break; From owner-p4-projects@FreeBSD.ORG Thu Mar 20 09:56:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16CD51065673; Thu, 20 Mar 2008 09:56:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA7AA106566B for ; Thu, 20 Mar 2008 09:56:11 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C64E78FC16 for ; Thu, 20 Mar 2008 09:56:11 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2K9uBE0018040 for ; Thu, 20 Mar 2008 09:56:11 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2K9uBmr018038 for perforce@freebsd.org; Thu, 20 Mar 2008 09:56:11 GMT (envelope-from delphij@freebsd.org) Date: Thu, 20 Mar 2008 09:56:11 GMT Message-Id: <200803200956.m2K9uBmr018038@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 138167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 09:56:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=138167 Change 138167 by delphij@charlie on 2008/03/20 09:56:02 Constify token operations' parameters. Affected files ... .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#27 edit .. //depot/projects/trustedbsd/openbsm/libbsm/au_token.3#14 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#65 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#27 (text+ko) ==== @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#26 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#27 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -239,7 +239,7 @@ int au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); int au_close_token(token_t *tok, u_char *buffer, size_t *buflen); -token_t *au_to_file(char *file, struct timeval tm); +token_t *au_to_file(const char *file, struct timeval tm); token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); @@ -252,9 +252,9 @@ #endif token_t *au_to_me(void); -token_t *au_to_arg(char n, char *text, uint32_t v); -token_t *au_to_arg32(char n, char *text, uint32_t v); -token_t *au_to_arg64(char n, char *text, uint64_t v); +token_t *au_to_arg(char n, const char *text, uint32_t v); +token_t *au_to_arg32(char n, const char *text, uint32_t v); +token_t *au_to_arg64(char n, const char *text, uint64_t v); #if defined(_KERNEL) || defined(KERNEL) token_t *au_to_attr(struct vnode_au_info *vni); @@ -263,7 +263,7 @@ #endif token_t *au_to_data(char unit_print, char unit_type, char unit_count, - char *p); + const char *p); token_t *au_to_exit(int retval, int err); token_t *au_to_groups(int *groups); token_t *au_to_newgroups(uint16_t n, gid_t *groups); @@ -273,8 +273,8 @@ token_t *au_to_ipc(char type, int id); token_t *au_to_ipc_perm(struct ipc_perm *perm); token_t *au_to_iport(uint16_t iport); -token_t *au_to_opaque(char *data, uint16_t bytes); -token_t *au_to_path(char *path); +token_t *au_to_opaque(const char *data, uint16_t bytes); +token_t *au_to_path(const char *path); token_t *au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); token_t *au_to_process32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, @@ -318,16 +318,16 @@ token_t *au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); #if defined(_KERNEL) || defined(KERNEL) -token_t *au_to_exec_args(char *args, int argc); -token_t *au_to_exec_env(char *envs, int envc); +token_t *au_to_exec_args(const char *args, int argc); +token_t *au_to_exec_env(const char *envs, int envc); #else token_t *au_to_exec_args(char **argv); token_t *au_to_exec_env(char **envp); #endif -token_t *au_to_text(char *text); +token_t *au_to_text(const char *text); token_t *au_to_kevent(struct kevent *kev); token_t *au_to_trailer(int rec_size); -token_t *au_to_zonename(char *zonename); +token_t *au_to_zonename(const char *zonename); __END_DECLS ==== //depot/projects/trustedbsd/openbsm/libbsm/au_token.3#14 (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/trustedbsd/openbsm/libbsm/au_token.3#13 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_token.3#14 $ .\" .Dd April 19, 2005 .Dt AU_TOKEN 3 @@ -80,11 +80,11 @@ .Sh SYNOPSIS .In bsm/libbsm.h .Ft "token_t *" -.Fn au_to_arg32 "char n" "char *text" "u_int32_t v" +.Fn au_to_arg32 "char n" "const char *text" "u_int32_t v" .Ft "token_t *" -.Fn au_to_arg64 "char n" "char *text" "u_int64_t v" +.Fn au_to_arg64 "char n" "const char *text" "u_int64_t v" .Ft "token_t *" -.Fn au_to_arg "char n" "char *text" "u_int32_t v" +.Fn au_to_arg "char n" "const char *text" "u_int32_t v" .Ft "token_t *" .Fn au_to_attr32 "struct vattr *attr" .Ft "token_t *" @@ -92,7 +92,7 @@ .Ft "token_t *" .Fn au_to_attr "struct vattr *attr" .Ft "token_t *" -.Fn au_to_data "char unit_print" "char unit_type" "char unit_count" "char *p" +.Fn au_to_data "char unit_print" "char unit_type" "char unit_count" "const char *p" .Ft "token_t *" .Fn au_to_exit "int retval" "int err" .Ft "token_t *" @@ -112,13 +112,13 @@ .Ft "token_t *" .Fn au_to_iport "u_int16_t iport" .Ft "token_t *" -.Fn au_to_opaque "char *data" "u_int16_t bytes" +.Fn au_to_opaque "const char *data" "u_int16_t bytes" .Ft "token_t *" -.Fn au_to_file "char *file" "struct timeval tm" +.Fn au_to_file "const char *file" "struct timeval tm" .Ft "token_t *" -.Fn au_to_text "char *text" +.Fn au_to_text "const char *text" .Ft "token_t *" -.Fn au_to_path "char *text" +.Fn au_to_path "const char *text" .Ft "token_t *" .Fo au_to_process32 .Fa "au_id_t auid" "uid_t euid" "gid_t egid" "uid_t ruid" @@ -198,7 +198,7 @@ .Ft "token_t *" .Fn au_to_trailer "int rec_size" .Ft "token_t *" -.Fn au_to_zonename "char *zonename" +.Fn au_to_zonename "const char *zonename" .Sh DESCRIPTION These interfaces support the allocation of BSM audit tokens, represented by .Vt token_t , ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#65 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#64 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#65 $ */ #include @@ -98,7 +98,7 @@ * text N bytes + 1 terminating NULL byte */ token_t * -au_to_arg32(char n, char *text, u_int32_t v) +au_to_arg32(char n, const char *text, u_int32_t v) { token_t *t; u_char *dptr = NULL; @@ -123,7 +123,7 @@ } token_t * -au_to_arg64(char n, char *text, u_int64_t v) +au_to_arg64(char n, const char *text, u_int64_t v) { token_t *t; u_char *dptr = NULL; @@ -148,7 +148,7 @@ } token_t * -au_to_arg(char n, char *text, u_int32_t v) +au_to_arg(char n, const char *text, u_int32_t v) { return (au_to_arg32(n, text, v)); @@ -270,7 +270,7 @@ * data items (depends on basic unit) */ token_t * -au_to_data(char unit_print, char unit_type, char unit_count, char *p) +au_to_data(char unit_print, char unit_type, char unit_count, const char *p) { token_t *t; u_char *dptr = NULL; @@ -553,7 +553,7 @@ * data size bytes */ token_t * -au_to_opaque(char *data, u_int16_t bytes) +au_to_opaque(const char *data, u_int16_t bytes) { token_t *t; u_char *dptr = NULL; @@ -577,7 +577,7 @@ * file pathname N bytes + 1 terminating NULL byte */ token_t * -au_to_file(char *file, struct timeval tm) +au_to_file(const char *file, struct timeval tm) { token_t *t; u_char *dptr = NULL; @@ -609,7 +609,7 @@ * text N bytes + 1 terminating NULL byte */ token_t * -au_to_text(char *text) +au_to_text(const char *text) { token_t *t; u_char *dptr = NULL; @@ -635,7 +635,7 @@ * path N bytes + 1 terminating NULL byte */ token_t * -au_to_path(char *text) +au_to_path(const char *text) { token_t *t; u_char *dptr = NULL; @@ -1233,7 +1233,7 @@ * zonename N bytes + 1 terminating NULL byte */ token_t * -au_to_zonename(char *zonename) +au_to_zonename(const char *zonename) { u_char *dptr = NULL; u_int16_t textlen; From owner-p4-projects@FreeBSD.ORG Thu Mar 20 21:06:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0E291065673; Thu, 20 Mar 2008 21:06:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE9D41065671 for ; Thu, 20 Mar 2008 21:06:04 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 993BB8FC18 for ; Thu, 20 Mar 2008 21:06:04 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2KL64e0071511 for ; Thu, 20 Mar 2008 21:06:04 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2KL61R6071509 for perforce@freebsd.org; Thu, 20 Mar 2008 21:06:01 GMT (envelope-from imp@freebsd.org) Date: Thu, 20 Mar 2008 21:06:01 GMT Message-Id: <200803202106.m2KL61R6071509@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 138208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 21:06:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=138208 Change 138208 by imp@imp_paco-paco on 2008/03/20 21:05:39 IFC @138195 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#33 integrate .. //depot/projects/arm/src/bin/Makefile#2 integrate .. //depot/projects/arm/src/bin/uuidgen/Makefile#2 integrate .. //depot/projects/arm/src/contrib/bzip2/CHANGES#3 integrate .. //depot/projects/arm/src/contrib/bzip2/FREEBSD-upgrade#3 integrate .. //depot/projects/arm/src/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/arm/src/contrib/bzip2/LICENSE#3 integrate .. //depot/projects/arm/src/contrib/bzip2/Makefile#3 integrate .. //depot/projects/arm/src/contrib/bzip2/Makefile-libbz2_so#3 integrate .. //depot/projects/arm/src/contrib/bzip2/README#3 integrate .. //depot/projects/arm/src/contrib/bzip2/README.COMPILATION.PROBLEMS#3 integrate .. //depot/projects/arm/src/contrib/bzip2/blocksort.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/bzip2.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/bzip2recover.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/bzlib.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/bzlib.h#3 integrate .. //depot/projects/arm/src/contrib/bzip2/bzlib_private.h#3 integrate .. //depot/projects/arm/src/contrib/bzip2/compress.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/crctable.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/decompress.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/huffman.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/randtable.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/spewG.c#3 integrate .. //depot/projects/arm/src/contrib/bzip2/unzcrash.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/ChangeLog#3 integrate .. //depot/projects/arm/src/contrib/cvs/FAQ#3 integrate .. //depot/projects/arm/src/contrib/cvs/HACKING#3 integrate .. //depot/projects/arm/src/contrib/cvs/INSTALL#3 integrate .. //depot/projects/arm/src/contrib/cvs/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/NEWS#3 integrate .. //depot/projects/arm/src/contrib/cvs/README#3 integrate .. //depot/projects/arm/src/contrib/cvs/TODO#3 integrate .. //depot/projects/arm/src/contrib/cvs/aclocal.m4#3 integrate .. //depot/projects/arm/src/contrib/cvs/compile#2 integrate .. //depot/projects/arm/src/contrib/cvs/config.h.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/configure#3 integrate .. //depot/projects/arm/src/contrib/cvs/configure.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/contrib/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/depcomp#2 integrate .. //depot/projects/arm/src/contrib/cvs/diff/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/ChangeLog#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/arm/src/contrib/cvs/doc/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/cvs.1#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/cvs.texinfo#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/cvsclient.texi#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/mdate-sh#2 integrate .. //depot/projects/arm/src/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/arm/src/contrib/cvs/doc/stamp-1#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/stamp-vti#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/version-client.texi#3 integrate .. //depot/projects/arm/src/contrib/cvs/doc/version.texi#3 integrate .. //depot/projects/arm/src/contrib/cvs/install-sh#2 integrate .. //depot/projects/arm/src/contrib/cvs/lib/ChangeLog#3 integrate .. //depot/projects/arm/src/contrib/cvs/lib/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/lib/getdate#2 delete .. //depot/projects/arm/src/contrib/cvs/lib/xsize.h#2 integrate .. //depot/projects/arm/src/contrib/cvs/man/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/missing#2 integrate .. //depot/projects/arm/src/contrib/cvs/mkinstalldirs#2 integrate .. //depot/projects/arm/src/contrib/cvs/src/ChangeLog#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/Makefile.in#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/add.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/classify.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/client.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/client.h#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/cvs.h#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/edit.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/arm/src/contrib/cvs/src/hash.h#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/import.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/lock.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/log.c#4 integrate .. //depot/projects/arm/src/contrib/cvs/src/login.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/main.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/mkmodules.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/parseinfo.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/rcs.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/recurse.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/root.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/root.h#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/sanity.sh#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/server.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/update.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/src/vers_ts.c#3 integrate .. //depot/projects/arm/src/contrib/cvs/tools/Makefile.in#3 integrate .. //depot/projects/arm/src/etc/rc.d/zfs#4 integrate .. //depot/projects/arm/src/gnu/usr.bin/Makefile#7 integrate .. //depot/projects/arm/src/gnu/usr.bin/cvs/lib/Makefile#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/cvs/lib/config.h.proto#2 integrate .. //depot/projects/arm/src/lib/libarchive/Makefile#17 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#18 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.3#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.c#12 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.h#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_private.h#6 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_tar.c#16 integrate .. //depot/projects/arm/src/lib/libarchive/archive_string.h#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_string_sprintf.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_util.c#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#11 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_disk.c#12 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_private.h#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ar.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#9 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#10 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#12 integrate .. //depot/projects/arm/src/lib/libarchive/config_freebsd.h#6 integrate .. //depot/projects/arm/src/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/arm/src/lib/libarchive/test/Makefile#10 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_archive_api_feature.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_entry.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/arm/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/arm/src/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/arm/src/lib/libc/gen/scandir.c#3 integrate .. //depot/projects/arm/src/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.3#5 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.c#5 integrate .. //depot/projects/arm/src/lib/libfetch/common.c#3 integrate .. //depot/projects/arm/src/lib/libpmc/pmc.3#5 integrate .. //depot/projects/arm/src/lib/libsdp/sdp.h#4 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_affinity.c#2 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_create.c#7 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_exit.c#6 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_mutexattr.c#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_rtld.c#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_sig.c#7 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#26 integrate .. //depot/projects/arm/src/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/arm/src/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/arm/src/sbin/geom/class/multipath/gmultipath.8#4 integrate .. //depot/projects/arm/src/share/examples/cvsup/cvs-supfile#5 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/linux.4#3 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/arm/src/share/man/man9/Makefile#18 integrate .. //depot/projects/arm/src/share/man/man9/atomic.9#2 integrate .. //depot/projects/arm/src/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/arm/src/share/man/man9/rwlock.9#7 integrate .. //depot/projects/arm/src/share/man/man9/stack.9#2 integrate .. //depot/projects/arm/src/share/mk/bsd.cpu.mk#10 integrate .. //depot/projects/arm/src/sys/amd64/acpica/acpi_machdep.c#3 integrate .. //depot/projects/arm/src/sys/amd64/acpica/madt.c#10 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/arm/src/sys/amd64/amd64/legacy.c#5 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#24 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#28 integrate .. //depot/projects/arm/src/sys/amd64/amd64/mptable.c#7 integrate .. //depot/projects/arm/src/sys/amd64/amd64/nexus.c#13 integrate .. //depot/projects/arm/src/sys/amd64/include/atomic.h#5 integrate .. //depot/projects/arm/src/sys/amd64/include/intr_machdep.h#12 integrate .. //depot/projects/arm/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/arm/src/sys/amd64/isa/atpic.c#8 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_proto.h#21 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_syscall.h#21 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysent.c#21 integrate .. //depot/projects/arm/src/sys/amd64/linux32/syscalls.master#20 integrate .. //depot/projects/arm/src/sys/arm/arm/intr.c#13 integrate .. //depot/projects/arm/src/sys/arm/arm/machdep.c#10 integrate .. //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#16 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#9 integrate .. //depot/projects/arm/src/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/arm/src/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_ses.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#30 integrate .. //depot/projects/arm/src/sys/compat/svr4/svr4_fcntl.c#8 integrate .. //depot/projects/arm/src/sys/conf/NOTES#59 integrate .. //depot/projects/arm/src/sys/conf/files#85 integrate .. //depot/projects/arm/src/sys/conf/options#55 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#8 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/arm/src/sys/dev/aac/aac.c#9 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi.c#29 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpivar.h#14 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#19 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.h#18 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-disk.c#16 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-disk.h#5 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-raid.c#16 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_ael1002.c#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_common.h#8 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_version.h#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_ioctl.h#7 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#13 integrate .. //depot/projects/arm/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/arm/src/sys/dev/hwpmc/hwpmc_amd.c#4 integrate .. //depot/projects/arm/src/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/arm/src/sys/dev/ofw/ofw_console.c#7 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#16 integrate .. //depot/projects/arm/src/sys/dev/syscons/sysmouse.c#5 integrate .. //depot/projects/arm/src/sys/dev/usb/ehci.c#19 integrate .. //depot/projects/arm/src/sys/dev/usb/if_rum.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/if_zyd.c#5 integrate .. //depot/projects/arm/src/sys/dev/usb/ohci.c#17 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_quirks.c#18 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdevs#42 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdi.c#13 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdi.h#8 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdivar.h#6 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_rule.c#7 integrate .. //depot/projects/arm/src/sys/gdb/gdb_cons.c#3 integrate .. //depot/projects/arm/src/sys/geom/vinum/geom_vinum_drive.c#9 integrate .. //depot/projects/arm/src/sys/i386/acpica/acpi_machdep.c#10 integrate .. //depot/projects/arm/src/sys/i386/acpica/acpi_wakeup.c#9 integrate .. //depot/projects/arm/src/sys/i386/acpica/madt.c#11 integrate .. //depot/projects/arm/src/sys/i386/cpufreq/est.c#7 integrate .. //depot/projects/arm/src/sys/i386/cpufreq/p4tcc.c#3 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#15 integrate .. //depot/projects/arm/src/sys/i386/i386/legacy.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/local_apic.c#22 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#33 integrate .. //depot/projects/arm/src/sys/i386/i386/mp_machdep.c#21 integrate .. //depot/projects/arm/src/sys/i386/i386/mptable.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/nexus.c#12 integrate .. //depot/projects/arm/src/sys/i386/i386/vm_machdep.c#13 integrate .. //depot/projects/arm/src/sys/i386/include/atomic.h#6 integrate .. //depot/projects/arm/src/sys/i386/include/intr_machdep.h#12 integrate .. //depot/projects/arm/src/sys/i386/isa/atpic.c#8 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_proto.h#24 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_syscall.h#23 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_sysent.c#23 integrate .. //depot/projects/arm/src/sys/i386/linux/syscalls.master#23 integrate .. //depot/projects/arm/src/sys/i386/xbox/xbox.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#11 integrate .. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#21 integrate .. //depot/projects/arm/src/sys/ia64/ia64/nexus.c#9 integrate .. //depot/projects/arm/src/sys/ia64/ia64/sscdisk.c#3 integrate .. //depot/projects/arm/src/sys/ia64/include/atomic.h#5 integrate .. //depot/projects/arm/src/sys/ia64/isa/isa_dma.c#4 integrate .. //depot/projects/arm/src/sys/kern/init_main.c#22 integrate .. //depot/projects/arm/src/sys/kern/kern_alq.c#10 integrate .. //depot/projects/arm/src/sys/kern/kern_clock.c#18 integrate .. //depot/projects/arm/src/sys/kern/kern_conf.c#14 integrate .. //depot/projects/arm/src/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/arm/src/sys/kern/kern_descrip.c#28 integrate .. //depot/projects/arm/src/sys/kern/kern_event.c#16 integrate .. //depot/projects/arm/src/sys/kern/kern_exit.c#28 integrate .. //depot/projects/arm/src/sys/kern/kern_fork.c#25 integrate .. //depot/projects/arm/src/sys/kern/kern_idle.c#10 integrate .. //depot/projects/arm/src/sys/kern/kern_intr.c#18 integrate .. //depot/projects/arm/src/sys/kern/kern_kthread.c#8 integrate .. //depot/projects/arm/src/sys/kern/kern_linker.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_lockf.c#7 integrate .. //depot/projects/arm/src/sys/kern/kern_malloc.c#13 integrate .. //depot/projects/arm/src/sys/kern/kern_mbuf.c#19 integrate .. //depot/projects/arm/src/sys/kern/kern_module.c#8 integrate .. //depot/projects/arm/src/sys/kern/kern_ntptime.c#8 integrate .. //depot/projects/arm/src/sys/kern/kern_poll.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_proc.c#17 integrate .. //depot/projects/arm/src/sys/kern/kern_resource.c#22 integrate .. //depot/projects/arm/src/sys/kern/kern_shutdown.c#12 integrate .. //depot/projects/arm/src/sys/kern/kern_sig.c#29 integrate .. //depot/projects/arm/src/sys/kern/kern_switch.c#21 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#27 integrate .. //depot/projects/arm/src/sys/kern/kern_tc.c#10 integrate .. //depot/projects/arm/src/sys/kern/kern_thr.c#20 integrate .. //depot/projects/arm/src/sys/kern/kern_thread.c#25 integrate .. //depot/projects/arm/src/sys/kern/link_elf.c#11 integrate .. //depot/projects/arm/src/sys/kern/link_elf_obj.c#10 integrate .. //depot/projects/arm/src/sys/kern/sched_4bsd.c#26 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#32 integrate .. //depot/projects/arm/src/sys/kern/subr_autoconf.c#4 integrate .. //depot/projects/arm/src/sys/kern/subr_eventhandler.c#3 integrate .. //depot/projects/arm/src/sys/kern/subr_log.c#3 integrate .. //depot/projects/arm/src/sys/kern/subr_prof.c#6 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#19 integrate .. //depot/projects/arm/src/sys/kern/subr_smp.c#9 integrate .. //depot/projects/arm/src/sys/kern/subr_witness.c#25 integrate .. //depot/projects/arm/src/sys/kern/sys_generic.c#14 integrate .. //depot/projects/arm/src/sys/kern/sys_process.c#16 integrate .. //depot/projects/arm/src/sys/kern/tty.c#19 integrate .. //depot/projects/arm/src/sys/kern/tty_cons.c#9 integrate .. //depot/projects/arm/src/sys/kern/tty_pts.c#10 integrate .. //depot/projects/arm/src/sys/kern/tty_pty.c#12 integrate .. //depot/projects/arm/src/sys/kern/tty_subr.c#2 integrate .. //depot/projects/arm/src/sys/kern/tty_tty.c#6 integrate .. //depot/projects/arm/src/sys/kern/uipc_domain.c#9 integrate .. //depot/projects/arm/src/sys/kern/uipc_socket.c#41 integrate .. //depot/projects/arm/src/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/arm/src/sys/kern/vfs_bio.c#26 integrate .. //depot/projects/arm/src/sys/kern/vfs_cache.c#13 integrate .. //depot/projects/arm/src/sys/kern/vfs_hash.c#6 integrate .. //depot/projects/arm/src/sys/kern/vfs_lookup.c#22 integrate .. //depot/projects/arm/src/sys/kern/vfs_subr.c#42 integrate .. //depot/projects/arm/src/sys/net/bpf.c#25 integrate .. //depot/projects/arm/src/sys/net/ieee8023ad_lacp.c#9 integrate .. //depot/projects/arm/src/sys/net/ieee8023ad_lacp.h#8 integrate .. //depot/projects/arm/src/sys/net/if.c#25 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#31 integrate .. //depot/projects/arm/src/sys/net/if_gre.c#11 integrate .. //depot/projects/arm/src/sys/net/if_lagg.c#13 integrate .. //depot/projects/arm/src/sys/net/netisr.c#6 integrate .. //depot/projects/arm/src/sys/net/rtsock.c#12 integrate .. //depot/projects/arm/src/sys/netatm/ipatm/ipatm_load.c#4 integrate .. //depot/projects/arm/src/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/arm/src/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/arm/src/sys/netatm/uni/uni_load.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_base.c#18 integrate .. //depot/projects/arm/src/sys/netgraph/ng_l2tp.c#7 integrate .. //depot/projects/arm/src/sys/netinet/in_pcb.c#27 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#42 integrate .. //depot/projects/arm/src/sys/netinet/ip_ipsec.c#8 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_irc.c#5 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.c#5 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.h#4 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_output.c#12 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec.c#13 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec_output.c#8 integrate .. //depot/projects/arm/src/sys/netipsec/key.c#8 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_diskless.c#8 integrate .. //depot/projects/arm/src/sys/nfsserver/nfs_srvsock.c#13 integrate .. //depot/projects/arm/src/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/arm/src/sys/pc98/pc98/machdep.c#23 integrate .. //depot/projects/arm/src/sys/powerpc/aim/machdep.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/booke/machdep.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/booke/vm_machdep.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/include/atomic.h#6 integrate .. //depot/projects/arm/src/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/intr_machdep.c#12 integrate .. //depot/projects/arm/src/sys/security/audit/audit.c#24 integrate .. //depot/projects/arm/src/sys/sparc64/include/atomic.h#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/vm_machdep.c#6 integrate .. //depot/projects/arm/src/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/intr_machdep.c#7 integrate .. //depot/projects/arm/src/sys/sys/ata.h#10 integrate .. //depot/projects/arm/src/sys/sys/bus_dma.h#4 integrate .. //depot/projects/arm/src/sys/sys/conf.h#11 integrate .. //depot/projects/arm/src/sys/sys/eventhandler.h#7 integrate .. //depot/projects/arm/src/sys/sys/interrupt.h#7 integrate .. //depot/projects/arm/src/sys/sys/kernel.h#10 integrate .. //depot/projects/arm/src/sys/sys/module.h#4 integrate .. //depot/projects/arm/src/sys/sys/proc.h#35 integrate .. //depot/projects/arm/src/sys/sys/resourcevar.h#6 integrate .. //depot/projects/arm/src/sys/sys/runq.h#5 integrate .. //depot/projects/arm/src/sys/sys/rwlock.h#12 integrate .. //depot/projects/arm/src/sys/sys/sched.h#14 integrate .. //depot/projects/arm/src/sys/sys/sysctl.h#18 integrate .. //depot/projects/arm/src/sys/sys/taskqueue.h#4 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_snapshot.c#21 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_softdep.c#24 integrate .. //depot/projects/arm/src/sys/vm/vm_fault.c#26 integrate .. //depot/projects/arm/src/sys/vm/vm_glue.c#13 integrate .. //depot/projects/arm/src/sys/vm/vm_init.c#3 integrate .. //depot/projects/arm/src/sys/vm/vm_meter.c#13 integrate .. //depot/projects/arm/src/sys/vm/vm_mmap.c#14 integrate .. //depot/projects/arm/src/sys/vm/vm_page.c#36 integrate .. //depot/projects/arm/src/sys/vm/vm_page.h#16 integrate .. //depot/projects/arm/src/sys/vm/vm_pageout.c#16 integrate .. //depot/projects/arm/src/sys/vm/vm_pageq.c#15 delete .. //depot/projects/arm/src/sys/vm/vm_zeroidle.c#15 integrate .. //depot/projects/arm/src/tools/tools/README#5 integrate .. //depot/projects/arm/src/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/arm/src/tools/tools/mctest/mctest.cc#1 branch .. //depot/projects/arm/src/tools/tools/mctest/mctest.h#1 branch .. //depot/projects/arm/src/tools/tools/tinybsd/tinybsd#6 integrate .. //depot/projects/arm/src/tools/tools/track/Makefile#1 branch .. //depot/projects/arm/src/tools/tools/track/track.sh#1 branch .. //depot/projects/arm/src/usr.bin/Makefile#11 integrate .. //depot/projects/arm/src/usr.bin/ktrace/ktrace.c#3 integrate .. //depot/projects/arm/src/usr.bin/netstat/inet6.c#6 integrate .. //depot/projects/arm/src/usr.bin/ruptime/ruptime.c#2 integrate .. //depot/projects/arm/src/usr.bin/split/split.1#5 integrate .. //depot/projects/arm/src/usr.bin/split/split.c#4 integrate .. //depot/projects/arm/src/usr.bin/tar/Makefile#8 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.c#10 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.h#7 integrate .. //depot/projects/arm/src/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/arm/src/usr.bin/tar/matching.c#4 integrate .. //depot/projects/arm/src/usr.bin/tar/read.c#11 integrate .. //depot/projects/arm/src/usr.bin/tar/write.c#12 integrate .. //depot/projects/arm/src/usr.bin/uuidgen/Makefile#3 delete .. //depot/projects/arm/src/usr.bin/uuidgen/uuidgen.1#2 delete .. //depot/projects/arm/src/usr.bin/uuidgen/uuidgen.c#2 delete .. //depot/projects/arm/src/usr.sbin/adduser/adduser.8#6 integrate .. //depot/projects/arm/src/usr.sbin/arp/arp.8#3 integrate .. //depot/projects/arm/src/usr.sbin/arp/arp.c#6 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#4 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/lan.c#2 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/profile.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bluetooth/sdpd/profile.h#3 integrate .. //depot/projects/arm/src/usr.sbin/fifolog/lib/fifolog_int.c#2 integrate .. //depot/projects/arm/src/usr.sbin/fifolog/lib/fifolog_write_poll.c#2 integrate .. //depot/projects/arm/src/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/arm/src/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/mixer/mixer.8#3 integrate .. //depot/projects/arm/src/usr.sbin/mixer/mixer.c#2 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#33 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/arm/src/bin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/arm/src/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/arm/src/contrib/bzip2/CHANGES#3 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -312,3 +312,8 @@ * Fix minor doc/comment bugs. + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + ==== //depot/projects/arm/src/contrib/bzip2/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,12 +1,12 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://www.bzip.org/downloads.html Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ - src/contrib/bzip2 BZIP2 v1_0_4 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \ + src/contrib/bzip2 BZIP2 v1_0_5 Notes: The following log shows details of trimming: ==== //depot/projects/arm/src/contrib/bzip2/LICENSE#3 (text+ko) ==== @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -jseward@bzip.org -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- ==== //depot/projects/arm/src/contrib/bzip2/Makefile#3 (text+ko) ==== @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.4 +DISTNAME=bzip2-1.0.5 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) ==== //depot/projects/arm/src/contrib/bzip2/Makefile-libbz2_so#3 (text+ko) ==== @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. ==== //depot/projects/arm/src/contrib/bzip2/README#3 (text+ko) ==== @@ -6,8 +6,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -177,7 +177,11 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.5 ? + See the CHANGES file. + + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with @@ -203,3 +207,4 @@ 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) 20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) ==== //depot/projects/arm/src/contrib/bzip2/README.COMPILATION.PROBLEMS#3 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.4 should compile without problems on the vast majority of +bzip2-1.0.5 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file ==== //depot/projects/arm/src/contrib/bzip2/blocksort.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/bzip2.c#3 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,11 +1605,11 @@ "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" + " Copyright (C) 1996-2007 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" + " in the bzip2-1.0.5 source distribution.\n" " \n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ==== //depot/projects/arm/src/contrib/bzip2/bzip2recover.c#3 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -313,7 +313,7 @@ inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", ==== //depot/projects/arm/src/contrib/bzip2/bzlib.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $"); +__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $"); #include "bzlib_private.h" @@ -52,7 +52,7 @@ "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 15 February 2005.\n\n", + "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", errcode, BZ2_bzlibVersion() ); @@ -605,6 +605,7 @@ UInt32 c_tPos = s->tPos; char* cs_next_out = s->strm->next_out; unsigned int cs_avail_out = s->strm->avail_out; + Int32 ro_blockSize100k = s->blockSize100k; /* end restore */ UInt32 avail_out_INIT = cs_avail_out; ==== //depot/projects/arm/src/contrib/bzip2/bzlib.h#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/bzlib_private.h#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.4, 20-Dec-2006" +#define BZ_VERSION "1.0.5, 10-Dec-2007" typedef char Char; typedef unsigned char Bool; @@ -442,11 +442,15 @@ /*-- Macros for decompression. --*/ #define BZ_GET_FAST(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ s->tPos = s->tt[s->tPos]; \ cccc = (UChar)(s->tPos & 0xff); \ s->tPos >>= 8; #define BZ_GET_FAST_C(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \ c_tPos = c_tt[c_tPos]; \ cccc = (UChar)(c_tPos & 0xff); \ c_tPos >>= 8; @@ -469,8 +473,10 @@ (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16)) #define BZ_GET_SMALL(cccc) \ - cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ - s->tPos = GET_LL(s->tPos); + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ + cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ + s->tPos = GET_LL(s->tPos); /*-- externs for decompression. --*/ ==== //depot/projects/arm/src/contrib/bzip2/compress.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/crctable.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/decompress.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/huffman.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/randtable.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/spewG.c#3 (text+ko) ==== @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/bzip2/unzcrash.c#3 (text+ko) ==== @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/arm/src/contrib/cvs/ChangeLog#3 (text+ko) ==== @@ -1,3 +1,96 @@ +2008-03-10 Mark D. Baushke + + * NEWS: Note new IgnoreUnknownConfigKeys CVSROOT/config option. + +2008-01-30 Derek Price + + * NEWS: Note improved join of removals. + +2008-01-27 Mark D. Baushke + + * configure.in: Look for lshc rather than lsh to avoid problems + under Debian GNU/Linux. + * configure: Regenerated. + + * configure.in: Add support for --with-ssh and CVS_SSH. + * NEWS: Note that :extssh: looks to CVS_SSH rather tha CVS_RSH. + * Makefile.in, config.h.in, configure: Regenerated. + +2008-01-24 Mark D. Baushke + + * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an + alias for `cvs annotate' command. New `cvs log -n' switch to undo + a `log -N' entry in a .cvsrc file. + +2007-12-14 Larry Jones + + * configure.in: Add --disable-mmap. + * configure: Regenerated. + +2007-10-19 Derek Price + + * cvs.texinfo: Update Ximbiot's address and Copyright dates. + +2007-08-22 Derek Price + + * NEWS: Note `cvs server' accepts `--allow-root=PATH'. Note further + `cvs add' stops for `CVS' dirs. + + * HACKING, NEWS: Note new Autotool versions. + +2007-08-16 Derek Price + + * NEWS: Note backport of `cvs --allow-root=PATH server'. + +2007-06-18 Derek Price + + * NEWS: Note import now keeps metadata to itself. + +2007-06-15 Derek Price + + * NEWS: Note `cvs import CVS-/CVS' fix. + +2007-05-07 Derek Price + + * NEWS: Note removal of remote `cvs init'. + +2006-09-06 Derek Price + + * NEWS: Note apply_rcs_diff speedup. + +2006-08-28 Derek Price + + * NEWS: Note strstr ("/./") assertion fix. + +2006-08-25 Derek Price + + * TODO (216): Removed. + +2006-08-24 Derek Price + + [bug #17032] + * NEWS: Note patch w/Name keyword fix. + +2006-07-17 Derek Price + + * FAQ, INSTALL, README: Update Copyright notice. + * HACKING: Ditto. Update Savannah URLs. + +2006-06-29 Derek Price + + * NEWS: Note trailing slash fix. + +2006-06-28 Larry Jones + + * HACKING, NEWS: Note new Autoconf version. + * configure.in (AC_PREREQ): Require Autoconf 2.60. + * config.h.in, configure, **/Makefile.in: Regenerated. + +2006-06-28 Derek Price + + [bug #16961] + * NEWS: Note double-free fix. + 2006-06-09 Derek Price >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 20 21:24:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 920301065675; Thu, 20 Mar 2008 21:24:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4FE801065674 for ; Thu, 20 Mar 2008 21:24:27 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A3528FC1E for ; Thu, 20 Mar 2008 21:24:27 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2KLORd3081782 for ; Thu, 20 Mar 2008 21:24:27 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2KLOOu0081778 for perforce@freebsd.org; Thu, 20 Mar 2008 21:24:24 GMT (envelope-from imp@freebsd.org) Date: Thu, 20 Mar 2008 21:24:24 GMT Message-Id: <200803202124.m2KLOOu0081778@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 138211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 21:24:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=138211 Change 138211 by imp@imp_paco-paco on 2008/03/20 21:23:31 IFC @138195 Affected files ... .. //depot/projects/mips2/src/ObsoleteFiles.inc#15 integrate .. //depot/projects/mips2/src/bin/Makefile#2 integrate .. //depot/projects/mips2/src/bin/uuidgen/Makefile#2 integrate .. //depot/projects/mips2/src/contrib/bzip2/CHANGES#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/FREEBSD-upgrade#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/mips2/src/contrib/bzip2/LICENSE#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/Makefile#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/Makefile-libbz2_so#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/README#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/README.COMPILATION.PROBLEMS#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/blocksort.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/bzip2.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/bzip2recover.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/bzlib.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/bzlib.h#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/bzlib_private.h#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/compress.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/crctable.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/decompress.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/huffman.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/randtable.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/spewG.c#3 integrate .. //depot/projects/mips2/src/contrib/bzip2/unzcrash.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/ChangeLog#3 integrate .. //depot/projects/mips2/src/contrib/cvs/FAQ#3 integrate .. //depot/projects/mips2/src/contrib/cvs/HACKING#3 integrate .. //depot/projects/mips2/src/contrib/cvs/INSTALL#3 integrate .. //depot/projects/mips2/src/contrib/cvs/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/NEWS#3 integrate .. //depot/projects/mips2/src/contrib/cvs/README#3 integrate .. //depot/projects/mips2/src/contrib/cvs/TODO#3 integrate .. //depot/projects/mips2/src/contrib/cvs/aclocal.m4#3 integrate .. //depot/projects/mips2/src/contrib/cvs/compile#2 integrate .. //depot/projects/mips2/src/contrib/cvs/config.h.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/configure#3 integrate .. //depot/projects/mips2/src/contrib/cvs/configure.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/contrib/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/depcomp#2 integrate .. //depot/projects/mips2/src/contrib/cvs/diff/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/ChangeLog#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/mips2/src/contrib/cvs/doc/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/cvs.1#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/cvs.texinfo#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/cvsclient.texi#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/mdate-sh#2 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/stamp-1#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/stamp-vti#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/version-client.texi#3 integrate .. //depot/projects/mips2/src/contrib/cvs/doc/version.texi#3 integrate .. //depot/projects/mips2/src/contrib/cvs/install-sh#2 integrate .. //depot/projects/mips2/src/contrib/cvs/lib/ChangeLog#3 integrate .. //depot/projects/mips2/src/contrib/cvs/lib/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/lib/getdate#2 delete .. //depot/projects/mips2/src/contrib/cvs/lib/xsize.h#2 integrate .. //depot/projects/mips2/src/contrib/cvs/man/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/missing#2 integrate .. //depot/projects/mips2/src/contrib/cvs/mkinstalldirs#2 integrate .. //depot/projects/mips2/src/contrib/cvs/src/ChangeLog#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/add.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/classify.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/client.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/client.h#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/cvs.h#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/edit.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/mips2/src/contrib/cvs/src/hash.h#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/import.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/lock.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/log.c#4 integrate .. //depot/projects/mips2/src/contrib/cvs/src/login.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/main.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/mkmodules.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/parseinfo.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/rcs.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/recurse.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/root.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/root.h#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/sanity.sh#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/server.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/update.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/src/vers_ts.c#3 integrate .. //depot/projects/mips2/src/contrib/cvs/tools/Makefile.in#3 integrate .. //depot/projects/mips2/src/etc/rc.d/zfs#3 integrate .. //depot/projects/mips2/src/gnu/usr.bin/Makefile#6 integrate .. //depot/projects/mips2/src/gnu/usr.bin/cvs/lib/Makefile#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/cvs/lib/config.h.proto#2 integrate .. //depot/projects/mips2/src/lib/libarchive/Makefile#6 integrate .. //depot/projects/mips2/src/lib/libarchive/archive.h.in#6 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_entry.3#5 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_entry.c#7 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_entry.h#5 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_read_private.h#5 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_read_support_format_tar.c#8 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_string.h#4 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_string_sprintf.c#4 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_util.c#5 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write.c#4 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_disk.c#8 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_private.h#3 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_ar.c#5 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_cpio.c#6 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_pax.c#6 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_shar.c#4 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_ustar.c#6 integrate .. //depot/projects/mips2/src/lib/libarchive/config_freebsd.h#5 integrate .. //depot/projects/mips2/src/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/mips2/src/lib/libarchive/test/Makefile#6 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_archive_api_feature.c#3 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/mips2/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/mips2/src/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/mips2/src/lib/libc/gen/scandir.c#3 integrate .. //depot/projects/mips2/src/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/mips2/src/lib/libelf/elf_update.3#3 integrate .. //depot/projects/mips2/src/lib/libelf/elf_update.c#4 integrate .. //depot/projects/mips2/src/lib/libfetch/common.c#4 integrate .. //depot/projects/mips2/src/lib/libpmc/pmc.3#6 integrate .. //depot/projects/mips2/src/lib/libsdp/sdp.h#4 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_affinity.c#2 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_create.c#5 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_exit.c#5 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_mutexattr.c#3 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_rtld.c#3 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_sig.c#6 integrate .. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#13 integrate .. //depot/projects/mips2/src/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/mips2/src/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/mips2/src/sbin/geom/class/multipath/gmultipath.8#4 integrate .. //depot/projects/mips2/src/share/examples/cvsup/cvs-supfile#5 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/linux.4#3 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/mips2/src/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/mips2/src/share/man/man9/Makefile#11 integrate .. //depot/projects/mips2/src/share/man/man9/atomic.9#2 integrate .. //depot/projects/mips2/src/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/mips2/src/share/man/man9/rwlock.9#5 integrate .. //depot/projects/mips2/src/share/man/man9/stack.9#2 integrate .. //depot/projects/mips2/src/share/mk/bsd.cpu.mk#13 integrate .. //depot/projects/mips2/src/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/mips2/src/sys/amd64/acpica/madt.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/intr_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/legacy.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/local_apic.c#7 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/mptable.c#4 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/mips2/src/sys/amd64/include/intr_machdep.h#4 integrate .. //depot/projects/mips2/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/mips2/src/sys/amd64/isa/atpic.c#4 integrate .. //depot/projects/mips2/src/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/mips2/src/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/mips2/src/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/mips2/src/sys/arm/arm/intr.c#5 integrate .. //depot/projects/mips2/src/sys/arm/arm/machdep.c#4 integrate .. //depot/projects/mips2/src/sys/arm/arm/vm_machdep.c#8 integrate .. //depot/projects/mips2/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/mips2/src/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/mips2/src/sys/cam/scsi/scsi_ses.c#6 integrate .. //depot/projects/mips2/src/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/mips2/src/sys/compat/svr4/svr4_fcntl.c#6 integrate .. //depot/projects/mips2/src/sys/conf/NOTES#16 integrate .. //depot/projects/mips2/src/sys/conf/files#20 integrate .. //depot/projects/mips2/src/sys/conf/options#14 integrate .. //depot/projects/mips2/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/mips2/src/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/mips2/src/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/mips2/src/sys/dev/aac/aac.c#5 integrate .. //depot/projects/mips2/src/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/mips2/src/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-all.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-all.h#8 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-disk.c#6 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-disk.h#3 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-raid.c#4 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_ioctl.h#5 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_main.c#12 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/mips2/src/sys/dev/hwpmc/hwpmc_amd.c#3 integrate .. //depot/projects/mips2/src/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/mips2/src/sys/dev/ofw/ofw_console.c#4 integrate .. //depot/projects/mips2/src/sys/dev/syscons/syscons.c#7 integrate .. //depot/projects/mips2/src/sys/dev/syscons/sysmouse.c#3 integrate .. //depot/projects/mips2/src/sys/dev/usb/ehci.c#7 integrate .. //depot/projects/mips2/src/sys/dev/usb/if_rum.c#6 integrate .. //depot/projects/mips2/src/sys/dev/usb/if_zyd.c#5 integrate .. //depot/projects/mips2/src/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/usb_quirks.c#6 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdevs#13 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdi.c#5 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdi.h#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdivar.h#4 integrate .. //depot/projects/mips2/src/sys/fs/devfs/devfs_rule.c#4 integrate .. //depot/projects/mips2/src/sys/gdb/gdb_cons.c#2 integrate .. //depot/projects/mips2/src/sys/geom/vinum/geom_vinum_drive.c#3 integrate .. //depot/projects/mips2/src/sys/i386/acpica/acpi_machdep.c#4 integrate .. //depot/projects/mips2/src/sys/i386/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/mips2/src/sys/i386/acpica/madt.c#6 integrate .. //depot/projects/mips2/src/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/mips2/src/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/mips2/src/sys/i386/i386/intr_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/i386/i386/legacy.c#5 integrate .. //depot/projects/mips2/src/sys/i386/i386/local_apic.c#7 integrate .. //depot/projects/mips2/src/sys/i386/i386/machdep.c#11 integrate .. //depot/projects/mips2/src/sys/i386/i386/mp_machdep.c#8 integrate .. //depot/projects/mips2/src/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/mips2/src/sys/i386/i386/nexus.c#4 integrate .. //depot/projects/mips2/src/sys/i386/i386/vm_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/i386/include/atomic.h#3 integrate .. //depot/projects/mips2/src/sys/i386/include/intr_machdep.h#4 integrate .. //depot/projects/mips2/src/sys/i386/include/nexusvar.h#1 branch .. //depot/projects/mips2/src/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/mips2/src/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/mips2/src/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/mips2/src/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/mips2/src/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/mips2/src/sys/i386/xbox/xbox.c#3 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/machdep.c#10 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/nexus.c#4 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/sscdisk.c#2 integrate .. //depot/projects/mips2/src/sys/ia64/include/atomic.h#4 integrate .. //depot/projects/mips2/src/sys/ia64/isa/isa_dma.c#3 integrate .. //depot/projects/mips2/src/sys/kern/init_main.c#11 integrate .. //depot/projects/mips2/src/sys/kern/kern_alq.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_clock.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_conf.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/mips2/src/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/mips2/src/sys/kern/kern_event.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_exit.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_fork.c#8 integrate .. //depot/projects/mips2/src/sys/kern/kern_idle.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_intr.c#8 integrate .. //depot/projects/mips2/src/sys/kern/kern_kthread.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_linker.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/mips2/src/sys/kern/kern_malloc.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_mbuf.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_module.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_ntptime.c#4 integrate .. //depot/projects/mips2/src/sys/kern/kern_poll.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_proc.c#12 integrate .. //depot/projects/mips2/src/sys/kern/kern_resource.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_shutdown.c#8 integrate .. //depot/projects/mips2/src/sys/kern/kern_sig.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_switch.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_synch.c#9 integrate .. //depot/projects/mips2/src/sys/kern/kern_tc.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_thr.c#8 integrate .. //depot/projects/mips2/src/sys/kern/kern_thread.c#11 integrate .. //depot/projects/mips2/src/sys/kern/link_elf.c#7 integrate .. //depot/projects/mips2/src/sys/kern/link_elf_obj.c#6 integrate .. //depot/projects/mips2/src/sys/kern/sched_4bsd.c#10 integrate .. //depot/projects/mips2/src/sys/kern/sched_ule.c#13 integrate .. //depot/projects/mips2/src/sys/kern/subr_autoconf.c#4 integrate .. //depot/projects/mips2/src/sys/kern/subr_eventhandler.c#2 integrate .. //depot/projects/mips2/src/sys/kern/subr_log.c#2 integrate .. //depot/projects/mips2/src/sys/kern/subr_prof.c#4 integrate .. //depot/projects/mips2/src/sys/kern/subr_sleepqueue.c#9 integrate .. //depot/projects/mips2/src/sys/kern/subr_smp.c#8 integrate .. //depot/projects/mips2/src/sys/kern/subr_witness.c#11 integrate .. //depot/projects/mips2/src/sys/kern/sys_generic.c#9 integrate .. //depot/projects/mips2/src/sys/kern/sys_process.c#7 integrate .. //depot/projects/mips2/src/sys/kern/tty.c#5 integrate .. //depot/projects/mips2/src/sys/kern/tty_cons.c#6 integrate .. //depot/projects/mips2/src/sys/kern/tty_pts.c#4 integrate .. //depot/projects/mips2/src/sys/kern/tty_pty.c#7 integrate .. //depot/projects/mips2/src/sys/kern/tty_subr.c#2 integrate .. //depot/projects/mips2/src/sys/kern/tty_tty.c#4 integrate .. //depot/projects/mips2/src/sys/kern/uipc_domain.c#5 integrate .. //depot/projects/mips2/src/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/mips2/src/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/mips2/src/sys/kern/vfs_bio.c#13 integrate .. //depot/projects/mips2/src/sys/kern/vfs_cache.c#9 integrate .. //depot/projects/mips2/src/sys/kern/vfs_hash.c#3 integrate .. //depot/projects/mips2/src/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/mips2/src/sys/kern/vfs_subr.c#14 integrate .. //depot/projects/mips2/src/sys/net/bpf.c#10 integrate .. //depot/projects/mips2/src/sys/net/ieee8023ad_lacp.c#5 integrate .. //depot/projects/mips2/src/sys/net/ieee8023ad_lacp.h#4 integrate .. //depot/projects/mips2/src/sys/net/if.c#9 integrate .. //depot/projects/mips2/src/sys/net/if_ethersubr.c#10 integrate .. //depot/projects/mips2/src/sys/net/if_gre.c#5 integrate .. //depot/projects/mips2/src/sys/net/if_lagg.c#9 integrate .. //depot/projects/mips2/src/sys/net/netisr.c#4 integrate .. //depot/projects/mips2/src/sys/net/rtsock.c#5 integrate .. //depot/projects/mips2/src/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/mips2/src/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/mips2/src/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/mips2/src/sys/netatm/uni/uni_load.c#2 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_base.c#12 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_l2tp.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/in_pcb.c#9 integrate .. //depot/projects/mips2/src/sys/netinet/ip_fw2.c#10 integrate .. //depot/projects/mips2/src/sys/netinet/ip_ipsec.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/libalias/alias_irc.c#5 integrate .. //depot/projects/mips2/src/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/mips2/src/sys/netinet6/ip6_ipsec.h#4 integrate .. //depot/projects/mips2/src/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/mips2/src/sys/netipsec/ipsec.c#6 integrate .. //depot/projects/mips2/src/sys/netipsec/ipsec_output.c#4 integrate .. //depot/projects/mips2/src/sys/netipsec/key.c#4 integrate .. //depot/projects/mips2/src/sys/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/mips2/src/sys/nfsserver/nfs_srvsock.c#7 integrate .. //depot/projects/mips2/src/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/mips2/src/sys/pc98/pc98/machdep.c#11 integrate .. //depot/projects/mips2/src/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/mips2/src/sys/powerpc/booke/machdep.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/booke/vm_machdep.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/include/atomic.h#5 integrate .. //depot/projects/mips2/src/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/intr_machdep.c#10 integrate .. //depot/projects/mips2/src/sys/security/audit/audit.c#10 integrate .. //depot/projects/mips2/src/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/intr_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/mips2/src/sys/sun4v/sun4v/intr_machdep.c#3 integrate .. //depot/projects/mips2/src/sys/sys/ata.h#6 integrate .. //depot/projects/mips2/src/sys/sys/bus_dma.h#3 integrate .. //depot/projects/mips2/src/sys/sys/conf.h#5 integrate .. //depot/projects/mips2/src/sys/sys/eventhandler.h#5 integrate .. //depot/projects/mips2/src/sys/sys/interrupt.h#5 integrate .. //depot/projects/mips2/src/sys/sys/kernel.h#7 integrate .. //depot/projects/mips2/src/sys/sys/module.h#3 integrate .. //depot/projects/mips2/src/sys/sys/proc.h#14 integrate .. //depot/projects/mips2/src/sys/sys/resourcevar.h#3 integrate .. //depot/projects/mips2/src/sys/sys/runq.h#3 integrate .. //depot/projects/mips2/src/sys/sys/rwlock.h#5 integrate .. //depot/projects/mips2/src/sys/sys/sched.h#6 integrate .. //depot/projects/mips2/src/sys/sys/sysctl.h#9 integrate .. //depot/projects/mips2/src/sys/sys/taskqueue.h#2 integrate .. //depot/projects/mips2/src/sys/ufs/ffs/ffs_snapshot.c#7 integrate .. //depot/projects/mips2/src/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/mips2/src/sys/vm/vm_fault.c#9 integrate .. //depot/projects/mips2/src/sys/vm/vm_glue.c#6 integrate .. //depot/projects/mips2/src/sys/vm/vm_init.c#2 integrate .. //depot/projects/mips2/src/sys/vm/vm_meter.c#7 integrate .. //depot/projects/mips2/src/sys/vm/vm_mmap.c#7 integrate .. //depot/projects/mips2/src/sys/vm/vm_page.c#11 integrate .. //depot/projects/mips2/src/sys/vm/vm_page.h#5 integrate .. //depot/projects/mips2/src/sys/vm/vm_pageout.c#6 integrate .. //depot/projects/mips2/src/sys/vm/vm_pageq.c#5 delete .. //depot/projects/mips2/src/sys/vm/vm_zeroidle.c#5 integrate .. //depot/projects/mips2/src/tools/tools/README#4 integrate .. //depot/projects/mips2/src/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/mips2/src/tools/tools/mctest/mctest.cc#1 branch .. //depot/projects/mips2/src/tools/tools/mctest/mctest.h#1 branch .. //depot/projects/mips2/src/tools/tools/tinybsd/tinybsd#4 integrate .. //depot/projects/mips2/src/tools/tools/track/Makefile#1 branch .. //depot/projects/mips2/src/tools/tools/track/track.sh#1 branch .. //depot/projects/mips2/src/usr.bin/Makefile#10 integrate .. //depot/projects/mips2/src/usr.bin/ktrace/ktrace.c#3 integrate .. //depot/projects/mips2/src/usr.bin/netstat/inet6.c#6 integrate .. //depot/projects/mips2/src/usr.bin/ruptime/ruptime.c#2 integrate .. //depot/projects/mips2/src/usr.bin/split/split.1#3 integrate .. //depot/projects/mips2/src/usr.bin/split/split.c#3 integrate .. //depot/projects/mips2/src/usr.bin/tar/Makefile#6 integrate .. //depot/projects/mips2/src/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/mips2/src/usr.bin/tar/bsdtar.c#7 integrate .. //depot/projects/mips2/src/usr.bin/tar/bsdtar.h#5 integrate .. //depot/projects/mips2/src/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/mips2/src/usr.bin/tar/matching.c#3 integrate .. //depot/projects/mips2/src/usr.bin/tar/read.c#6 integrate .. //depot/projects/mips2/src/usr.bin/tar/write.c#6 integrate .. //depot/projects/mips2/src/usr.bin/uuidgen/Makefile#3 delete .. //depot/projects/mips2/src/usr.bin/uuidgen/uuidgen.1#2 delete .. //depot/projects/mips2/src/usr.bin/uuidgen/uuidgen.c#2 delete .. //depot/projects/mips2/src/usr.sbin/adduser/adduser.8#5 integrate .. //depot/projects/mips2/src/usr.sbin/arp/arp.8#3 integrate .. //depot/projects/mips2/src/usr.sbin/arp/arp.c#4 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#4 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/lan.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/profile.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/bluetooth/sdpd/profile.h#3 integrate .. //depot/projects/mips2/src/usr.sbin/fifolog/lib/fifolog_int.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/fifolog/lib/fifolog_write_poll.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/mips2/src/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/mips2/src/usr.sbin/mixer/mixer.8#3 integrate .. //depot/projects/mips2/src/usr.sbin/mixer/mixer.c#2 integrate Differences ... ==== //depot/projects/mips2/src/ObsoleteFiles.inc#15 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/mips2/src/bin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/mips2/src/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/mips2/src/contrib/bzip2/CHANGES#3 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -312,3 +312,8 @@ * Fix minor doc/comment bugs. + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + ==== //depot/projects/mips2/src/contrib/bzip2/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,12 +1,12 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://www.bzip.org/downloads.html Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ - src/contrib/bzip2 BZIP2 v1_0_4 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \ + src/contrib/bzip2 BZIP2 v1_0_5 Notes: The following log shows details of trimming: ==== //depot/projects/mips2/src/contrib/bzip2/LICENSE#3 (text+ko) ==== @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -jseward@bzip.org -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- ==== //depot/projects/mips2/src/contrib/bzip2/Makefile#3 (text+ko) ==== @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.4 +DISTNAME=bzip2-1.0.5 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) ==== //depot/projects/mips2/src/contrib/bzip2/Makefile-libbz2_so#3 (text+ko) ==== @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. ==== //depot/projects/mips2/src/contrib/bzip2/README#3 (text+ko) ==== @@ -6,8 +6,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -177,7 +177,11 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.5 ? + See the CHANGES file. + + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with @@ -203,3 +207,4 @@ 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) 20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) ==== //depot/projects/mips2/src/contrib/bzip2/README.COMPILATION.PROBLEMS#3 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.4 should compile without problems on the vast majority of +bzip2-1.0.5 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file ==== //depot/projects/mips2/src/contrib/bzip2/blocksort.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/bzip2.c#3 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,11 +1605,11 @@ "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" + " Copyright (C) 1996-2007 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" + " in the bzip2-1.0.5 source distribution.\n" " \n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ==== //depot/projects/mips2/src/contrib/bzip2/bzip2recover.c#3 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -313,7 +313,7 @@ inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", ==== //depot/projects/mips2/src/contrib/bzip2/bzlib.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $"); +__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $"); #include "bzlib_private.h" @@ -52,7 +52,7 @@ "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 15 February 2005.\n\n", + "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", errcode, BZ2_bzlibVersion() ); @@ -605,6 +605,7 @@ UInt32 c_tPos = s->tPos; char* cs_next_out = s->strm->next_out; unsigned int cs_avail_out = s->strm->avail_out; + Int32 ro_blockSize100k = s->blockSize100k; /* end restore */ UInt32 avail_out_INIT = cs_avail_out; ==== //depot/projects/mips2/src/contrib/bzip2/bzlib.h#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/bzlib_private.h#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.4, 20-Dec-2006" +#define BZ_VERSION "1.0.5, 10-Dec-2007" typedef char Char; typedef unsigned char Bool; @@ -442,11 +442,15 @@ /*-- Macros for decompression. --*/ #define BZ_GET_FAST(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ s->tPos = s->tt[s->tPos]; \ cccc = (UChar)(s->tPos & 0xff); \ s->tPos >>= 8; #define BZ_GET_FAST_C(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \ c_tPos = c_tt[c_tPos]; \ cccc = (UChar)(c_tPos & 0xff); \ c_tPos >>= 8; @@ -469,8 +473,10 @@ (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16)) #define BZ_GET_SMALL(cccc) \ - cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ - s->tPos = GET_LL(s->tPos); + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ + cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ + s->tPos = GET_LL(s->tPos); /*-- externs for decompression. --*/ ==== //depot/projects/mips2/src/contrib/bzip2/compress.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/crctable.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/decompress.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/huffman.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/randtable.c#3 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/spewG.c#3 (text+ko) ==== @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/bzip2/unzcrash.c#3 (text+ko) ==== @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2/src/contrib/cvs/ChangeLog#3 (text+ko) ==== @@ -1,3 +1,96 @@ +2008-03-10 Mark D. Baushke + + * NEWS: Note new IgnoreUnknownConfigKeys CVSROOT/config option. + +2008-01-30 Derek Price + + * NEWS: Note improved join of removals. + +2008-01-27 Mark D. Baushke + + * configure.in: Look for lshc rather than lsh to avoid problems + under Debian GNU/Linux. + * configure: Regenerated. + + * configure.in: Add support for --with-ssh and CVS_SSH. + * NEWS: Note that :extssh: looks to CVS_SSH rather tha CVS_RSH. + * Makefile.in, config.h.in, configure: Regenerated. + +2008-01-24 Mark D. Baushke + + * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an + alias for `cvs annotate' command. New `cvs log -n' switch to undo + a `log -N' entry in a .cvsrc file. + +2007-12-14 Larry Jones + + * configure.in: Add --disable-mmap. + * configure: Regenerated. + +2007-10-19 Derek Price + + * cvs.texinfo: Update Ximbiot's address and Copyright dates. + +2007-08-22 Derek Price + + * NEWS: Note `cvs server' accepts `--allow-root=PATH'. Note further + `cvs add' stops for `CVS' dirs. + + * HACKING, NEWS: Note new Autotool versions. + +2007-08-16 Derek Price + + * NEWS: Note backport of `cvs --allow-root=PATH server'. + +2007-06-18 Derek Price + + * NEWS: Note import now keeps metadata to itself. + +2007-06-15 Derek Price + + * NEWS: Note `cvs import CVS-/CVS' fix. + +2007-05-07 Derek Price + + * NEWS: Note removal of remote `cvs init'. + +2006-09-06 Derek Price + + * NEWS: Note apply_rcs_diff speedup. + +2006-08-28 Derek Price + + * NEWS: Note strstr ("/./") assertion fix. + +2006-08-25 Derek Price + + * TODO (216): Removed. + +2006-08-24 Derek Price + + [bug #17032] + * NEWS: Note patch w/Name keyword fix. + +2006-07-17 Derek Price + + * FAQ, INSTALL, README: Update Copyright notice. + * HACKING: Ditto. Update Savannah URLs. + +2006-06-29 Derek Price + + * NEWS: Note trailing slash fix. + +2006-06-28 Larry Jones + + * HACKING, NEWS: Note new Autoconf version. + * configure.in (AC_PREREQ): Require Autoconf 2.60. + * config.h.in, configure, **/Makefile.in: Regenerated. + +2006-06-28 Derek Price + + [bug #16961] + * NEWS: Note double-free fix. + 2006-06-09 Derek Price >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 20 22:28:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1708106566C; Thu, 20 Mar 2008 22:28:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E736106564A for ; Thu, 20 Mar 2008 22:28:37 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 676698FC20 for ; Thu, 20 Mar 2008 22:28:37 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2KMSb6a095634 for ; Thu, 20 Mar 2008 22:28:37 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2KMSYDB095632 for perforce@freebsd.org; Thu, 20 Mar 2008 22:28:34 GMT (envelope-from imp@freebsd.org) Date: Thu, 20 Mar 2008 22:28:34 GMT Message-Id: <200803202228.m2KMSYDB095632@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 138215 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2008 22:28:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=138215 Change 138215 by imp@imp_paco-paco on 2008/03/20 22:28:13 IFC @138211 Affected files ... .. //depot/projects/mips2-jnpr/src/ObsoleteFiles.inc#4 integrate .. //depot/projects/mips2-jnpr/src/bin/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/bin/uuidgen/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/CHANGES#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/FREEBSD-upgrade#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/mips2-jnpr/src/contrib/bzip2/LICENSE#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/Makefile-libbz2_so#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/README#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/blocksort.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/bzip2.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/bzip2recover.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib.h#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib_private.h#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/compress.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/crctable.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/decompress.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/huffman.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/randtable.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/spewG.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/bzip2/unzcrash.c#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/ChangeLog#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/FAQ#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/HACKING#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/INSTALL#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/NEWS#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/README#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/TODO#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/aclocal.m4#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/compile#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/config.h.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/configure#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/configure.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/contrib/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/depcomp#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/diff/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/ChangeLog#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/cvs.1#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/cvs.texinfo#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/cvsclient.texi#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/mdate-sh#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/stamp-1#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/stamp-vti#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/version-client.texi#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/doc/version.texi#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/install-sh#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/lib/ChangeLog#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/lib/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/lib/getdate#2 delete .. //depot/projects/mips2-jnpr/src/contrib/cvs/lib/xsize.h#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/man/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/missing#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/mkinstalldirs#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/ChangeLog#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/add.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/classify.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/client.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/client.h#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/cvs.h#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/edit.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/hash.h#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/import.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/lock.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/log.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/login.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/main.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/mkmodules.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/parseinfo.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/rcs.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/recurse.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/root.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/root.h#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/sanity.sh#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/server.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/update.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/src/vers_ts.c#3 integrate .. //depot/projects/mips2-jnpr/src/contrib/cvs/tools/Makefile.in#3 integrate .. //depot/projects/mips2-jnpr/src/etc/rc.d/zfs#2 integrate .. //depot/projects/mips2-jnpr/src/gnu/usr.bin/Makefile#3 integrate .. //depot/projects/mips2-jnpr/src/gnu/usr.bin/cvs/lib/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/gnu/usr.bin/cvs/lib/config.h.proto#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/Makefile#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive.h.in#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_entry.c#4 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_entry.h#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_read_private.h#4 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_read_support_format_tar.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_string.h#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_string_sprintf.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_util.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_disk.c#4 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_private.h#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_ar.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_cpio.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_cpio_newc.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_shar.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/config_freebsd.h#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/Makefile#4 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_archive_api_feature.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/mips2-jnpr/src/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/mips2-jnpr/src/lib/libc/gen/scandir.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libelf/elf_update.3#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libelf/elf_update.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libfetch/common.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libpmc/pmc.3#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libsdp/sdp.h#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_affinity.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_mutexattr.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/mips2-jnpr/src/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/projects/mips2-jnpr/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/mips2-jnpr/src/sbin/atacontrol/atacontrol.8#2 integrate .. //depot/projects/mips2-jnpr/src/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/mips2-jnpr/src/sbin/geom/class/multipath/gmultipath.8#3 integrate .. //depot/projects/mips2-jnpr/src/share/examples/cvsup/cvs-supfile#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/linux.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man9/Makefile#4 integrate .. //depot/projects/mips2-jnpr/src/share/man/man9/atomic.9#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man9/rwlock.9#2 integrate .. //depot/projects/mips2-jnpr/src/share/man/man9/stack.9#2 integrate .. //depot/projects/mips2-jnpr/src/share/mk/bsd.cpu.mk#6 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/acpica/madt.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/mips2-jnpr/src/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/mips2-jnpr/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/copy.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/cam/scsi/scsi_ses.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/compat/svr4/svr4_fcntl.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/conf/NOTES#5 integrate .. //depot/projects/mips2-jnpr/src/sys/conf/files#7 integrate .. //depot/projects/mips2-jnpr/src/sys/conf/options#5 integrate .. //depot/projects/mips2-jnpr/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/aac/aac.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/acpica/acpi.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ata/ata-all.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ata/ata-disk.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/common/cxgb_version.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/cxgb_ioctl.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/syscons/syscons.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/if_zyd.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/usbdi.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/dev/usb/usbdivar.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/gdb/gdb_cons.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/acpica/madt.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/legacy.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/include/nexusvar.h#1 branch .. //depot/projects/mips2-jnpr/src/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/mips2-jnpr/src/sys/i386/xbox/xbox.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/ia64/sscdisk.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ia64/isa/isa_dma.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/init_main.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_alq.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_clock.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_conf.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_descrip.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_event.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_exit.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_fork.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_idle.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_linker.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_module.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_proc.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_resource.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_sig.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_switch.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_synch.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_tc.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_thr.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/kern_thread.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/link_elf.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/sched_ule.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_autoconf.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_eventhandler.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_log.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_prof.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_smp.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/subr_witness.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/sys_generic.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/sys_process.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty_cons.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty_pts.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty_pty.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty_subr.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/tty_tty.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_acl.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_cache.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_lookup.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/net/bpf.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/if.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/if_gre.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/net/if_lagg.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/net/netisr.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/net/rtsock.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netatm/uni/uni_load.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netgraph/ng_base.c#6 integrate .. //depot/projects/mips2-jnpr/src/sys/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet/ip_fw2.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet/ip_ipsec.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet/libalias/alias_irc.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet6/ip6_ipsec.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/netipsec/ipsec.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/netipsec/ipsec_output.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/netipsec/key.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/nfsclient/nfs_diskless.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/nfsserver/nfs_srvsock.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/pc98/include/nexusvar.h#1 branch .. //depot/projects/mips2-jnpr/src/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/booke/machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/booke/vm_machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/powerpc/powerpc/intr_machdep.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/security/audit/audit.c#5 integrate .. //depot/projects/mips2-jnpr/src/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sparc64/sparc64/intr_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sun4v/include/atomic.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/ata.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/bus_dma.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/conf.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/eventhandler.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/interrupt.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/kernel.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/module.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/proc.h#5 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/resourcevar.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/runq.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/rwlock.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/sched.h#4 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/sysctl.h#3 integrate .. //depot/projects/mips2-jnpr/src/sys/sys/taskqueue.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_fault.c#4 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_glue.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_init.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_meter.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_page.c#3 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_page.h#2 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_pageout.c#2 integrate .. //depot/projects/mips2-jnpr/src/sys/vm/vm_pageq.c#2 delete .. //depot/projects/mips2-jnpr/src/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/mips2-jnpr/src/tools/tools/README#2 integrate .. //depot/projects/mips2-jnpr/src/tools/tools/editing/freebsd.vim#1 branch .. //depot/projects/mips2-jnpr/src/tools/tools/mctest/mctest.cc#1 branch .. //depot/projects/mips2-jnpr/src/tools/tools/mctest/mctest.h#1 branch .. //depot/projects/mips2-jnpr/src/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/mips2-jnpr/src/tools/tools/track/Makefile#1 branch .. //depot/projects/mips2-jnpr/src/tools/tools/track/track.sh#1 branch .. //depot/projects/mips2-jnpr/src/usr.bin/Makefile#5 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/ktrace/ktrace.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/netstat/inet6.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/ruptime/ruptime.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/split/split.1#2 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/split/split.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/Makefile#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/bsdtar.1#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/bsdtar.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/bsdtar.h#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/matching.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/read.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/tar/write.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.bin/uuidgen/Makefile#2 delete .. //depot/projects/mips2-jnpr/src/usr.bin/uuidgen/uuidgen.1#2 delete .. //depot/projects/mips2-jnpr/src/usr.bin/uuidgen/uuidgen.c#2 delete .. //depot/projects/mips2-jnpr/src/usr.sbin/adduser/adduser.8#3 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/arp/arp.8#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/arp/arp.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/gn.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/lan.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/nap.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/panu.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/profile.c#3 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/bluetooth/sdpd/profile.h#3 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/fifolog/lib/fifolog_int.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/fifolog/lib/fifolog_write_poll.c#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/fifolog/lib/miniobj.h#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/mixer/Makefile#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/mixer/mixer.8#2 integrate .. //depot/projects/mips2-jnpr/src/usr.sbin/mixer/mixer.c#2 integrate Differences ... ==== //depot/projects/mips2-jnpr/src/ObsoleteFiles.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.132 2008/03/08 21:59:43 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -27,6 +27,8 @@ # 20071207: Merged with fortunes-o.real OLD_FILES+=usr/share/games/fortune/fortunes2-o OLD_FILES+=usr/share/games/fortune/fortunes2-o.dat +# 20071201: Removal of XRPU driver +OLD_FILES+=usr/include/sys/xrpuio.h # 20071129: Disabled static versions of libkse by default .if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no" OLD_FILES+=usr/lib/libkse.a ==== //depot/projects/mips2-jnpr/src/bin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile,v 1.26 2006/03/17 18:54:20 ru Exp $ +# $FreeBSD: src/bin/Makefile,v 1.27 2008/03/13 17:38:06 obrien Exp $ .include @@ -37,7 +37,8 @@ sleep \ stty \ sync \ - test + test \ + uuidgen .if ${MK_RCMDS} != "no" _rcp= rcp ==== //depot/projects/mips2-jnpr/src/bin/uuidgen/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/bin/uuidgen/Makefile,v 1.3 2007/04/09 19:16:48 pjd Exp $ - -BINDIR= /bin +# $FreeBSD: src/bin/uuidgen/Makefile,v 1.4 2008/03/13 17:38:06 obrien Exp $ PROG= uuidgen WARNS?= 6 ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/CHANGES#2 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -312,3 +312,8 @@ * Fix minor doc/comment bugs. + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/FREEBSD-upgrade#2 (text+ko) ==== @@ -1,12 +1,12 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://www.bzip.org/downloads.html Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ - src/contrib/bzip2 BZIP2 v1_0_4 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \ + src/contrib/bzip2 BZIP2 v1_0_5 Notes: The following log shows details of trimming: ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -jseward@bzip.org -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/Makefile#2 (text+ko) ==== @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.4 +DISTNAME=bzip2-1.0.5 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ==== @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/README#2 (text+ko) ==== @@ -6,8 +6,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -177,7 +177,11 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.5 ? + See the CHANGES file. + + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with @@ -203,3 +207,4 @@ 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) 20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.4 should compile without problems on the vast majority of +bzip2-1.0.5 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/blocksort.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/bzip2.c#2 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,11 +1605,11 @@ "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" + " Copyright (C) 1996-2007 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" + " in the bzip2-1.0.5 source distribution.\n" " \n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/bzip2recover.c#2 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -313,7 +313,7 @@ inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $"); +__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $"); #include "bzlib_private.h" @@ -52,7 +52,7 @@ "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 15 February 2005.\n\n", + "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", errcode, BZ2_bzlibVersion() ); @@ -605,6 +605,7 @@ UInt32 c_tPos = s->tPos; char* cs_next_out = s->strm->next_out; unsigned int cs_avail_out = s->strm->avail_out; + Int32 ro_blockSize100k = s->blockSize100k; /* end restore */ UInt32 avail_out_INIT = cs_avail_out; ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib.h#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/bzlib_private.h#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.4, 20-Dec-2006" +#define BZ_VERSION "1.0.5, 10-Dec-2007" typedef char Char; typedef unsigned char Bool; @@ -442,11 +442,15 @@ /*-- Macros for decompression. --*/ #define BZ_GET_FAST(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ s->tPos = s->tt[s->tPos]; \ cccc = (UChar)(s->tPos & 0xff); \ s->tPos >>= 8; #define BZ_GET_FAST_C(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \ c_tPos = c_tt[c_tPos]; \ cccc = (UChar)(c_tPos & 0xff); \ c_tPos >>= 8; @@ -469,8 +473,10 @@ (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16)) #define BZ_GET_SMALL(cccc) \ - cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ - s->tPos = GET_LL(s->tPos); + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ + cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ + s->tPos = GET_LL(s->tPos); /*-- externs for decompression. --*/ ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/compress.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/crctable.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/decompress.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/huffman.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/randtable.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/spewG.c#2 (text+ko) ==== @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/bzip2/unzcrash.c#2 (text+ko) ==== @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/mips2-jnpr/src/contrib/cvs/ChangeLog#3 (text+ko) ==== @@ -1,3 +1,96 @@ +2008-03-10 Mark D. Baushke + + * NEWS: Note new IgnoreUnknownConfigKeys CVSROOT/config option. + +2008-01-30 Derek Price + + * NEWS: Note improved join of removals. + +2008-01-27 Mark D. Baushke + + * configure.in: Look for lshc rather than lsh to avoid problems + under Debian GNU/Linux. + * configure: Regenerated. + + * configure.in: Add support for --with-ssh and CVS_SSH. + * NEWS: Note that :extssh: looks to CVS_SSH rather tha CVS_RSH. + * Makefile.in, config.h.in, configure: Regenerated. + +2008-01-24 Mark D. Baushke + + * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an + alias for `cvs annotate' command. New `cvs log -n' switch to undo + a `log -N' entry in a .cvsrc file. + +2007-12-14 Larry Jones + + * configure.in: Add --disable-mmap. + * configure: Regenerated. + +2007-10-19 Derek Price + + * cvs.texinfo: Update Ximbiot's address and Copyright dates. + +2007-08-22 Derek Price + + * NEWS: Note `cvs server' accepts `--allow-root=PATH'. Note further + `cvs add' stops for `CVS' dirs. + + * HACKING, NEWS: Note new Autotool versions. + +2007-08-16 Derek Price + + * NEWS: Note backport of `cvs --allow-root=PATH server'. + +2007-06-18 Derek Price + + * NEWS: Note import now keeps metadata to itself. + +2007-06-15 Derek Price + + * NEWS: Note `cvs import CVS-/CVS' fix. + +2007-05-07 Derek Price + + * NEWS: Note removal of remote `cvs init'. + +2006-09-06 Derek Price + + * NEWS: Note apply_rcs_diff speedup. + +2006-08-28 Derek Price + + * NEWS: Note strstr ("/./") assertion fix. + +2006-08-25 Derek Price + + * TODO (216): Removed. + +2006-08-24 Derek Price + + [bug #17032] + * NEWS: Note patch w/Name keyword fix. + +2006-07-17 Derek Price + + * FAQ, INSTALL, README: Update Copyright notice. + * HACKING: Ditto. Update Savannah URLs. + +2006-06-29 Derek Price + + * NEWS: Note trailing slash fix. + +2006-06-28 Larry Jones + + * HACKING, NEWS: Note new Autoconf version. + * configure.in (AC_PREREQ): Require Autoconf 2.60. + * config.h.in, configure, **/Makefile.in: Regenerated. + +2006-06-28 Derek Price + + [bug #16961] + * NEWS: Note double-free fix. + 2006-06-09 Derek Price >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 21 01:08:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 408561065670; Fri, 21 Mar 2008 01:08:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F32C11065679 for ; Fri, 21 Mar 2008 01:08:26 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB64E8FC3B for ; Fri, 21 Mar 2008 01:08:26 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2L18Q9e070689 for ; Fri, 21 Mar 2008 01:08:26 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2L18Q6j070687 for perforce@freebsd.org; Fri, 21 Mar 2008 01:08:26 GMT (envelope-from imp@freebsd.org) Date: Fri, 21 Mar 2008 01:08:26 GMT Message-Id: <200803210108.m2L18Q6j070687@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 138222 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 01:08:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=138222 Change 138222 by imp@imp_paco-paco on 2008/03/21 01:07:27 IFC @138221 Affected files ... .. //depot/projects/arm/src/sys/amd64/amd64/nexus.c#14 integrate .. //depot/projects/arm/src/sys/amd64/isa/atpic.c#9 integrate .. //depot/projects/arm/src/sys/arm/conf/AVILA#19 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_futex.c#9 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_futex.h#3 integrate .. //depot/projects/arm/src/sys/dev/aac/aac.c#10 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-raid.c#17 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#14 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_sge.c#13 integrate .. //depot/projects/arm/src/sys/i386/i386/nexus.c#13 integrate .. //depot/projects/arm/src/sys/i386/isa/atpic.c#9 integrate .. //depot/projects/arm/src/sys/kern/bus_if.m#9 integrate .. //depot/projects/arm/src/sys/kern/subr_bus.c#25 integrate .. //depot/projects/arm/src/sys/sys/aac_ioctl.h#2 integrate .. //depot/projects/arm/src/sys/sys/bus.h#13 integrate .. //depot/projects/arm/src/tools/tools/tinybsd/tinybsd#7 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/nexus.c#6 integrate .. //depot/projects/mips2/src/sys/amd64/isa/atpic.c#5 integrate .. //depot/projects/mips2/src/sys/arm/conf/AVILA#7 integrate .. //depot/projects/mips2/src/sys/compat/linux/linux_futex.c#4 integrate .. //depot/projects/mips2/src/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/mips2/src/sys/dev/aac/aac.c#6 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-raid.c#5 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_main.c#13 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_sge.c#12 integrate .. //depot/projects/mips2/src/sys/i386/i386/nexus.c#5 integrate .. //depot/projects/mips2/src/sys/i386/isa/atpic.c#5 integrate .. //depot/projects/mips2/src/sys/kern/bus_if.m#4 integrate .. //depot/projects/mips2/src/sys/kern/subr_bus.c#10 integrate .. //depot/projects/mips2/src/sys/sys/aac_ioctl.h#2 integrate .. //depot/projects/mips2/src/sys/sys/bus.h#6 integrate .. //depot/projects/mips2/src/tools/tools/tinybsd/tinybsd#5 integrate .. //depot/user/imp/freebsd-imp/tools/tools/tinybsd/tinybsd#8 integrate Differences ... ==== //depot/projects/arm/src/sys/amd64/amd64/nexus.c#14 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.79 2008/03/13 20:39:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.80 2008/03/20 21:24:32 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -87,6 +87,9 @@ int unit); static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); +#ifdef SMP +static int nexus_bind_intr(device_t, device_t, struct resource *, int); +#endif static int nexus_config_intr(device_t, int, enum intr_trigger, enum intr_polarity); static int nexus_activate_resource(device_t, device_t, int, int, @@ -128,6 +131,9 @@ DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), +#ifdef SMP + DEVMETHOD(bus_bind_intr, nexus_bind_intr), +#endif DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), DEVMETHOD(bus_set_resource, nexus_set_resource), @@ -458,6 +464,14 @@ return (intr_remove_handler(ih)); } +#ifdef SMP +static int +nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu) +{ + return (intr_bind(rman_get_start(irq), cpu)); +} +#endif + static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig, enum intr_polarity pol) ==== //depot/projects/arm/src/sys/amd64/isa/atpic.c#9 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.23 2008/03/16 10:58:02 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.24 2008/03/20 21:53:27 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -44,7 +44,6 @@ #include #include #include -#include #include #include @@ -208,12 +207,12 @@ struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; struct atpic *ap = (struct atpic *)isrc->is_pic; - mtx_lock_spin(&icu_lock); + spinlock_enter(); if (*ap->at_imen & IMEN_MASK(ai)) { *ap->at_imen &= ~IMEN_MASK(ai); outb(ap->at_ioaddr + ICU_IMR_OFFSET, *ap->at_imen); } - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } static void @@ -222,7 +221,7 @@ struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; struct atpic *ap = (struct atpic *)isrc->is_pic; - mtx_lock_spin(&icu_lock); + spinlock_enter(); if (ai->at_trigger != INTR_TRIGGER_EDGE) { *ap->at_imen |= IMEN_MASK(ai); outb(ap->at_ioaddr + ICU_IMR_OFFSET, *ap->at_imen); @@ -240,16 +239,16 @@ _atpic_eoi_slave(isrc); } - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } static void atpic_eoi_master(struct intsrc *isrc) { #ifndef AUTO_EOI_1 - mtx_lock_spin(&icu_lock); + spinlock_enter(); _atpic_eoi_master(isrc); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); #endif } @@ -257,9 +256,9 @@ atpic_eoi_slave(struct intsrc *isrc) { #ifndef AUTO_EOI_2 - mtx_lock_spin(&icu_lock); + spinlock_enter(); _atpic_eoi_slave(isrc); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); #endif } @@ -351,10 +350,10 @@ if (bootverbose) printf("atpic: Programming IRQ%u as %s\n", vector, trig == INTR_TRIGGER_EDGE ? "edge/high" : "level/low"); - mtx_lock_spin(&icu_lock); + spinlock_enter(); elcr_write_trigger(atpic_vector(isrc), trig); ai->at_trigger = trig; - mtx_unlock_spin(&icu_lock); + spinlock_exit(); return (0); } @@ -375,7 +374,7 @@ int imr_addr; /* Reset the PIC and program with next four bytes. */ - mtx_lock_spin(&icu_lock); + spinlock_enter(); outb(pic->at_ioaddr, ICW1_RESET | ICW1_IC4); imr_addr = pic->at_ioaddr + ICU_IMR_OFFSET; @@ -407,7 +406,7 @@ /* OCW2_L1 sets priority order to 3-7, 0-2 (com2 first). */ if (!slave) outb(pic->at_ioaddr, OCW2_R | OCW2_SL | OCW2_L1); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } void @@ -521,11 +520,11 @@ * pending. Reset read register back to IRR when done. */ port = ((struct atpic *)isrc->is_pic)->at_ioaddr; - mtx_lock_spin(&icu_lock); + spinlock_enter(); outb(port, OCW3_SEL | OCW3_RR | OCW3_RIS); isr = inb(port); outb(port, OCW3_SEL | OCW3_RR); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); if ((isr & IRQ_MASK(7)) == 0) return; } ==== //depot/projects/arm/src/sys/arm/conf/AVILA#19 (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/arm/conf/AVILA,v 1.9 2008/03/12 10:11:55 jeff Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.10 2008/03/20 17:44:58 sam Exp $ machine arm ident AVILA @@ -91,7 +91,7 @@ device iicbb device iic -device ixpiic +device ixpiic # I2C bus glue device ixpwdog # watchdog timer device ds1672 # DS1672 on I2C bus device ad7418 # AD7418 on I2C bus @@ -126,9 +126,12 @@ # Wireless NIC cards device wlan # 802.11 support -#device wlan_wep # 802.11 WEP support -#device wlan_ccmp # 802.11 CCMP support -#device wlan_tkip # 802.11 TKIP support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_scan_sta +device wlan_scan_ap +device wlan_xauth device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) device ath_rate_sample # SampleRate tx rate control for ath @@ -138,12 +141,15 @@ #device cryptodev #device hifn # NB: Soekris minipci card known to work -#device usb -#options USB_DEBUG -#device uhci -#device ohci -#device ehci -#device ugen -#device umass -#device scbus # SCSI bus (required for SCSI) -#device da # Direct Access (disks) +device usb +options USB_DEBUG +device ohci +device ehci +device ugen +device umass +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) + +device ural +device zyd +device wlan_amrr ==== //depot/projects/arm/src/sys/compat/linux/linux_futex.c#9 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.11 2008/03/02 14:00:50 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.12 2008/03/20 17:03:55 rdivacky Exp $"); #if 0 __KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $"); #endif @@ -118,6 +118,15 @@ args->val, args->uaddr2, args->val3); #endif + /* + * Our implementation provides only privates futexes. Most of the apps + * should use private futexes but don't claim so. Therefore we treat + * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works + * in most cases (ie. when futexes are not shared on file descriptor + * or between different processes.). + */ + args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG); + switch (args->op) { case LINUX_FUTEX_WAIT: FUTEX_SYSTEM_LOCK; @@ -264,10 +273,11 @@ break; case LINUX_FUTEX_FD: - /* XXX: Linux plans to remove this operation */ +#ifdef DEBUG printf("linux_sys_futex: unimplemented op %d\n", args->op); - break; +#endif + return (ENOSYS); case LINUX_FUTEX_WAKE_OP: FUTEX_SYSTEM_LOCK; @@ -324,6 +334,18 @@ FUTEX_SYSTEM_UNLOCK; break; + case LINUX_FUTEX_LOCK_PI: + /* not yet implemented */ + return (ENOSYS); + + case LINUX_FUTEX_UNLOCK_PI: + /* not yet implemented */ + return (ENOSYS); + + case LINUX_FUTEX_TRYLOCK_PI: + /* not yet implemented */ + return (ENOSYS); + default: printf("linux_sys_futex: unknown op %d\n", args->op); ==== //depot/projects/arm/src/sys/compat/linux/linux_futex.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.2 2007/02/25 12:40:35 netchild Exp $ + * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.3 2008/03/20 17:03:55 rdivacky Exp $ */ #ifndef _LINUX_FUTEX_H @@ -42,6 +42,11 @@ #define LINUX_FUTEX_REQUEUE 3 #define LINUX_FUTEX_CMP_REQUEUE 4 #define LINUX_FUTEX_WAKE_OP 5 +#define LINUX_FUTEX_LOCK_PI 6 +#define LINUX_FUTEX_UNLOCK_PI 7 +#define LINUX_FUTEX_TRYLOCK_PI 8 + +#define LINUX_FUTEX_PRIVATE_FLAG 128 #define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */ #define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */ ==== //depot/projects/arm/src/sys/dev/aac/aac.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.128 2008/03/14 21:59:11 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.130 2008/03/20 20:33:48 emaste Exp $"); /* * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters. @@ -213,6 +213,7 @@ static d_ioctl_t aac_ioctl; static d_poll_t aac_poll; static int aac_ioctl_sendfib(struct aac_softc *sc, caddr_t ufib); +static int aac_ioctl_send_raw_srb(struct aac_softc *sc, caddr_t arg); static void aac_handle_aif(struct aac_softc *sc, struct aac_fib *fib); static int aac_rev_check(struct aac_softc *sc, caddr_t udata); @@ -1693,6 +1694,11 @@ sc->aac_max_fib_size = PAGE_SIZE; sc->aac_max_fibs_alloc = PAGE_SIZE / sc->aac_max_fib_size; + if (sc->aac_max_fib_size > sizeof(struct aac_fib)) { + sc->flags |= AAC_FLAGS_RAW_IO; + device_printf(sc->aac_dev, "Enable Raw I/O\n"); + } + return (0); } @@ -2039,7 +2045,7 @@ fib->Header.XferState |= xferstate; fib->Header.Command = command; fib->Header.StructType = AAC_FIBTYPE_TFIB; - fib->Header.Size = sizeof(struct aac_fib) + datasize; + fib->Header.Size = sizeof(struct aac_fib_header) + datasize; fib->Header.SenderSize = sizeof(struct aac_fib); fib->Header.SenderFibAddress = 0; /* Not needed */ fib->Header.ReceiverFibAddress = sc->aac_common_busaddr + @@ -2887,11 +2893,19 @@ break; case FSACTL_SENDFIB: + case FSACTL_SEND_LARGE_FIB: arg = *(caddr_t*)arg; case FSACTL_LNX_SENDFIB: + case FSACTL_LNX_SEND_LARGE_FIB: debug(1, "FSACTL_SENDFIB"); error = aac_ioctl_sendfib(sc, arg); break; + case FSACTL_SEND_RAW_SRB: + arg = *(caddr_t*)arg; + case FSACTL_LNX_SEND_RAW_SRB: + debug(1, "FSACTL_SEND_RAW_SRB"); + error = aac_ioctl_send_raw_srb(sc, arg); + break; case FSACTL_AIF_THREAD: case FSACTL_LNX_AIF_THREAD: debug(1, "FSACTL_AIF_THREAD"); @@ -3035,10 +3049,10 @@ sizeof(struct aac_fib_header))) != 0) goto out; size = cm->cm_fib->Header.Size + sizeof(struct aac_fib_header); - if (size > sizeof(struct aac_fib)) { - device_printf(sc->aac_dev, "incoming FIB oversized (%d > %zd)\n", - size, sizeof(struct aac_fib)); - size = sizeof(struct aac_fib); + if (size > sc->aac_max_fib_size) { + device_printf(sc->aac_dev, "incoming FIB oversized (%d > %d)\n", + size, sc->aac_max_fib_size); + size = sc->aac_max_fib_size; } if ((error = copyin(ufib, cm->cm_fib, size)) != 0) goto out; @@ -3061,10 +3075,10 @@ * Copy the FIB and data back out to the caller. */ size = cm->cm_fib->Header.Size; - if (size > sizeof(struct aac_fib)) { - device_printf(sc->aac_dev, "outbound FIB oversized (%d > %zd)\n", - size, sizeof(struct aac_fib)); - size = sizeof(struct aac_fib); + if (size > sc->aac_max_fib_size) { + device_printf(sc->aac_dev, "outbound FIB oversized (%d > %d)\n", + size, sc->aac_max_fib_size); + size = sc->aac_max_fib_size; } error = copyout(cm->cm_fib, ufib, size); @@ -3078,6 +3092,15 @@ } /* + * Send a passthrough FIB supplied from userspace + */ +static int +aac_ioctl_send_raw_srb(struct aac_softc *sc, caddr_t arg) +{ + return (EINVAL); +} + +/* * Handle an AIF sent to us by the controller; queue it for later reference. * If the queue fills up, then drop the older entries. */ @@ -3556,7 +3579,7 @@ vmi->IoctlCmd = GetBusInfo; error = aac_sync_fib(sc, ContainerCommand, 0, fib, - sizeof(struct aac_vmioctl)); + sizeof(struct aac_vmi_businf_resp)); if (error) { device_printf(sc->aac_dev, "Error %d sending VMIoctl command\n", error); ==== //depot/projects/arm/src/sys/dev/ata/ata-raid.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.125 2008/03/20 11:54:26 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.126 2008/03/20 21:21:31 sos Exp $"); #include "opt_ata.h" #include @@ -199,8 +199,9 @@ printf("using %s at ata%d-%s\n", device_get_nameunit(rdp->disks[disk].dev), device_get_unit(device_get_parent(rdp->disks[disk].dev)), - ata_unit2str((struct ata_device *) - device_get_softc(rdp->disks[disk].dev))); + (((struct ata_device *) + device_get_softc(rdp->disks[disk].dev))->unit == + ATA_MASTER) ? "master" : "slave"); } else if (rdp->disks[disk].flags & AR_DF_ASSIGNED) printf("DOWN\n"); @@ -1665,7 +1666,7 @@ struct ata_device *atadev = device_get_softc(parent); struct ata_channel *ch = device_get_softc(GRANDPARENT(dev)); int disk_number = (ch->unit << !(ch->flags & ATA_NO_SLAVE)) + - atadev->unit; + ATA_DEV(atadev->unit); raid->disks[disk_number].dev = parent; raid->disks[disk_number].sectors = @@ -2298,7 +2299,7 @@ bcopy(atadev->param.serial, meta->disk[disk].serial, sizeof(rdp->disks[disk].serial)); meta->disk[disk].sectors = rdp->disks[disk].sectors; - meta->disk[disk].id = (ch->unit << 16) | atadev->unit; + meta->disk[disk].id = (ch->unit << 16) | ATA_DEV(atadev->unit); } else meta->disk[disk].sectors = rdp->total_sectors / rdp->width; @@ -3323,7 +3324,7 @@ device_get_softc(device_get_parent(rdp->disks[disk].dev)); meta->raid.channel = ch->unit; - meta->raid.device = atadev->unit; + meta->raid.device = ATA_DEV(atadev->unit); meta->raid.disk_sectors = rdp->disks[disk].sectors; meta->raid.disk_offset = rdp->offset_sectors; } @@ -3411,7 +3412,7 @@ device_get_softc(rdp->disks[drive].dev); meta->raid.disk[drive].channel = ch->unit; - meta->raid.disk[drive].device = atadev->unit; + meta->raid.disk[drive].device = ATA_DEV(atadev->unit); } meta->raid.disk[drive].magic_0 = PR_MAGIC0(meta->raid.disk[drive]) | timestamp.tv_sec; @@ -3737,7 +3738,7 @@ struct ata_channel *ch = device_get_softc(device_get_parent(rdp->disks[disk].dev)); struct ata_device *atadev = device_get_softc(rdp->disks[disk].dev); - int disk_number = 1 + atadev->unit + (ch->unit << 1); + int disk_number = 1 + ATA_DEV(atadev->unit) + (ch->unit << 1); meta->disks |= disk_number << ((1 - disk) << 2); } @@ -3775,7 +3776,7 @@ bcopy(atadev->param.model, meta->model, sizeof(meta->model)); /* XXX SOS if total_disks > 2 this may not float */ - meta->disk_number = 1 + atadev->unit + (ch->unit << 1); + meta->disk_number = 1 + ATA_DEV(atadev->unit) + (ch->unit << 1); if (testing || bootverbose) ata_raid_sis_print_meta(meta); ==== //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#14 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.52 2008/03/19 20:56:51 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.53 2008/03/20 20:52:37 kmacy Exp $"); #include #include @@ -500,7 +500,7 @@ error = ENODEV; goto out; } - /* Allocate the BAR for doing MSI-X. If it succeeds, try to allocate + /* Allocate the BAR for doing MSI-X. If it succeeds, try to allocate * enough messages for the queue sets. If that fails, try falling * back to MSI. If that fails, then try falling back to the legacy * interrupt pin model. @@ -549,7 +549,9 @@ sc->cxgb_intr = t3b_intr; } - + if ((sc->flags & USING_MSIX) && !singleq) + port_qsets = min((SGE_QSETS/(sc)->params.nports), mp_ncpus); + /* Create a private taskqueue thread for handling driver events */ #ifdef TASKQUEUE_CURRENT sc->tq = taskqueue_create("cxgb_taskq", M_NOWAIT, @@ -594,9 +596,6 @@ sc->flags |= TPS_UPTODATE; } - if ((sc->flags & USING_MSIX) && !singleq) - port_qsets = min((SGE_QSETS/(sc)->params.nports), mp_ncpus); - /* * Create a child device for each MAC. The ethernet attachment * will be done in these children. ==== //depot/projects/arm/src/sys/dev/cxgb/cxgb_sge.c#13 (text+ko) ==== @@ -30,7 +30,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_sge.c,v 1.51 2008/02/25 19:28:27 keramida Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_sge.c,v 1.52 2008/03/20 20:52:37 kmacy Exp $"); #include #include @@ -83,10 +83,18 @@ int cxgb_cached; int cxgb_ext_freed = 0; int cxgb_ext_inited = 0; +int fl_q_size = 0; +int jumbo_q_size = 0; + extern int cxgb_use_16k_clusters; extern int cxgb_pcpu_cache_enable; +extern int nmbjumbo4; +extern int nmbjumbo9; +extern int nmbjumbo16; + + #define USE_GTS 0 #define SGE_RX_SM_BUF_SIZE 1536 @@ -360,8 +368,25 @@ void t3_sge_prep(adapter_t *adap, struct sge_params *p) { - int i; + int i, nqsets; + + nqsets = min(SGE_QSETS, mp_ncpus*4); + + fl_q_size = min(nmbclusters/(3*nqsets), FL_Q_SIZE); + while (!powerof2(fl_q_size)) + fl_q_size--; +#if __FreeBSD_version > 800000 + if (cxgb_use_16k_clusters) + jumbo_q_size = min(nmbjumbo16/(3*nqsets), JUMBO_Q_SIZE); + else + jumbo_q_size = min(nmbjumbo9/(3*nqsets), JUMBO_Q_SIZE); +#else + jumbo_q_size = min(nmbjumbo4/(3*nqsets), JUMBO_Q_SIZE); +#endif + while (!powerof2(jumbo_q_size)) + jumbo_q_size--; + /* XXX Does ETHER_ALIGN need to be accounted for here? */ p->max_pkt_size = adap->sge.qs[0].fl[1].buf_size - sizeof(struct cpl_rx_data); @@ -379,8 +404,8 @@ } q->polling = adap->params.rev > 0; q->rspq_size = RSPQ_Q_SIZE; - q->fl_size = FL_Q_SIZE; - q->jumbo_size = JUMBO_Q_SIZE; + q->fl_size = fl_q_size; + q->jumbo_size = jumbo_q_size; q->txq_size[TXQ_ETH] = TX_ETH_Q_SIZE; q->txq_size[TXQ_OFLD] = 1024; q->txq_size[TXQ_CTRL] = 256; ==== //depot/projects/arm/src/sys/i386/i386/nexus.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/nexus.c,v 1.74 2008/03/13 20:39:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/nexus.c,v 1.75 2008/03/20 21:24:32 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -91,6 +91,9 @@ int unit); static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); +#ifdef SMP +static int nexus_bind_intr(device_t, device_t, struct resource *, int); +#endif static int nexus_config_intr(device_t, int, enum intr_trigger, enum intr_polarity); static int nexus_activate_resource(device_t, device_t, int, int, @@ -134,6 +137,9 @@ DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), +#ifdef SMP + DEVMETHOD(bus_bind_intr, nexus_bind_intr), +#endif DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), DEVMETHOD(bus_set_resource, nexus_set_resource), @@ -505,6 +511,14 @@ return (intr_remove_handler(ih)); } +#ifdef SMP +static int +nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu) +{ + return (intr_bind(rman_get_start(irq), cpu)); +} +#endif + static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig, enum intr_polarity pol) ==== //depot/projects/arm/src/sys/i386/isa/atpic.c#9 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.29 2008/03/16 10:58:04 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.30 2008/03/20 21:53:27 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -44,7 +44,6 @@ #include #include #include -#include #include #include @@ -226,12 +225,12 @@ struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; struct atpic *ap = (struct atpic *)isrc->is_pic; - mtx_lock_spin(&icu_lock); + spinlock_enter(); if (*ap->at_imen & IMEN_MASK(ai)) { *ap->at_imen &= ~IMEN_MASK(ai); outb(ap->at_ioaddr + ICU_IMR_OFFSET, *ap->at_imen); } - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } static void @@ -240,7 +239,7 @@ struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; struct atpic *ap = (struct atpic *)isrc->is_pic; - mtx_lock_spin(&icu_lock); + spinlock_enter(); if (ai->at_trigger != INTR_TRIGGER_EDGE) { *ap->at_imen |= IMEN_MASK(ai); outb(ap->at_ioaddr + ICU_IMR_OFFSET, *ap->at_imen); @@ -258,16 +257,16 @@ _atpic_eoi_slave(isrc); } - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } static void atpic_eoi_master(struct intsrc *isrc) { #ifndef AUTO_EOI_1 - mtx_lock_spin(&icu_lock); + spinlock_enter(); _atpic_eoi_master(isrc); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); #endif } @@ -275,9 +274,9 @@ atpic_eoi_slave(struct intsrc *isrc) { #ifndef AUTO_EOI_2 - mtx_lock_spin(&icu_lock); + spinlock_enter(); _atpic_eoi_slave(isrc); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); #endif } @@ -382,10 +381,10 @@ if (bootverbose) printf("atpic: Programming IRQ%u as %s\n", vector, trig == INTR_TRIGGER_EDGE ? "edge/high" : "level/low"); - mtx_lock_spin(&icu_lock); + spinlock_enter(); elcr_write_trigger(atpic_vector(isrc), trig); ai->at_trigger = trig; - mtx_unlock_spin(&icu_lock); + spinlock_exit(); return (0); #endif /* PC98 */ } @@ -407,7 +406,7 @@ int imr_addr; /* Reset the PIC and program with next four bytes. */ - mtx_lock_spin(&icu_lock); + spinlock_enter(); #ifdef DEV_MCA /* MCA uses level triggered interrupts. */ if (MCA_system) @@ -447,7 +446,7 @@ if (!slave) outb(pic->at_ioaddr, OCW2_R | OCW2_SL | OCW2_L1); #endif - mtx_unlock_spin(&icu_lock); + spinlock_exit(); } void @@ -585,11 +584,11 @@ * pending. Reset read register back to IRR when done. */ port = ((struct atpic *)isrc->is_pic)->at_ioaddr; - mtx_lock_spin(&icu_lock); + spinlock_enter(); outb(port, OCW3_SEL | OCW3_RR | OCW3_RIS); isr = inb(port); outb(port, OCW3_SEL | OCW3_RR); - mtx_unlock_spin(&icu_lock); + spinlock_exit(); if ((isr & IRQ_MASK(7)) == 0) return; } ==== //depot/projects/arm/src/sys/kern/bus_if.m#9 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sys/kern/bus_if.m,v 1.34 2007/02/23 12:19:01 piso Exp $ +# $FreeBSD: src/sys/kern/bus_if.m,v 1.35 2008/03/20 21:24:32 jhb Exp $ # #include @@ -494,6 +494,23 @@ }; /** + * @brief Allow drivers to request that an interrupt be bound to a specific + * CPU. + * + * @param _dev the parent device of @p _child + * @param _child the device which allocated the resource + * @param _irq the resource representing the interrupt + * @param _cpu the CPU to bind the interrupt to + */ +METHOD int bind_intr { + device_t _dev; + device_t _child; + struct resource *_irq; + int _cpu; +} DEFAULT bus_generic_bind_intr; + + +/** * @brief Allow (bus) drivers to specify the trigger mode and polarity * of the specified interrupt. * ==== //depot/projects/arm/src/sys/kern/subr_bus.c#25 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.206 2008/03/10 01:48:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.207 2008/03/20 21:24:32 jhb Exp $"); #include "opt_bus.h" @@ -3229,6 +3229,23 @@ } /** + * @brief Helper function for implementing BUS_BIND_INTR(). + * + * This simple implementation of BUS_BIND_INTR() simply calls the + * BUS_BIND_INTR() method of the parent of @p dev. + */ +int +bus_generic_bind_intr(device_t dev, device_t child, struct resource *irq, + int cpu) +{ + + /* Propagate up the bus hierarchy until someone handles it. */ + if (dev->parent) + return (BUS_BIND_INTR(dev->parent, child, irq, cpu)); + return (EINVAL); +} + +/** * @brief Helper function for implementing BUS_CONFIG_INTR(). * * This simple implementation of BUS_CONFIG_INTR() simply calls the @@ -3536,6 +3553,20 @@ } /** + * @brief Wrapper function for BUS_BIND_INTR(). + * + * This function simply calls the BUS_BIND_INTR() method of the + * parent of @p dev. + */ +int +bus_bind_intr(device_t dev, struct resource *r, int cpu) +{ + if (dev->parent == NULL) + return (EINVAL); + return (BUS_BIND_INTR(dev->parent, dev, r, cpu)); +} + +/** * @brief Wrapper function for BUS_SET_RESOURCE(). * * This function simply calls the BUS_SET_RESOURCE() method of the ==== //depot/projects/arm/src/sys/sys/aac_ioctl.h#2 (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/sys/aac_ioctl.h,v 1.11 2004/12/09 22:20:25 scottl Exp $ + * $FreeBSD: src/sys/sys/aac_ioctl.h,v 1.12 2008/03/20 17:59:18 emaste Exp $ */ /* @@ -69,6 +69,8 @@ #define FSACTL_LNX_SENDFIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2050, \ METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSACTL_LNX_SEND_RAW_SRB CTL_CODE(FILE_DEVICE_CONTROLLER, 2067, \ + METHOD_BUFFERED, FILE_ANY_ACCESS) #define FSACTL_LNX_GET_COMM_PERF_DATA CTL_CODE(FILE_DEVICE_CONTROLLER, 2084, \ METHOD_BUFFERED, FILE_ANY_ACCESS) #define FSACTL_LNX_OPENCLS_COMM_PERF_DATA CTL_CODE(FILE_DEVICE_CONTROLLER, \ @@ -93,6 +95,8 @@ METHOD_NEITHER, FILE_ANY_ACCESS) #define FSACTL_LNX_AIF_THREAD CTL_CODE(FILE_DEVICE_CONTROLLER, 2127, \ METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSACTL_LNX_SEND_LARGE_FIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2138, \ + METHOD_BUFFERED, FILE_ANY_ACCESS) /* Why these don't follow the previous convention, I don't know */ #define FSACTL_LNX_NULL_IO_TEST 0x43 @@ -116,6 +120,7 @@ * command number. 9 is used for the odd overflow case. */ #define FSACTL_SENDFIB _IO('8', 2) +#define FSACTL_SEND_RAW_SRB _IO('8', 19) #define FSACTL_GET_COMM_PERF_DATA _IO('8', 36) #define FSACTL_OPENCLS_COMM_PERF_DATA _IO('8', 37) #define FSACTL_OPEN_GET_ADAPTER_FIB _IO('8', 52) @@ -128,6 +133,7 @@ #define FSACTL_GET_PCI_INFO _IO('8', 71) #define FSACTL_FORCE_DELETE_DISK _IO('8', 72) #define FSACTL_AIF_THREAD _IO('8', 79) +#define FSACTL_SEND_LARGE_FIB _IO('8', 90) #define FSACTL_NULL_IO_TEST _IO('8', 67) #define FSACTL_SIM_IO_TEST _IO('8', 83) ==== //depot/projects/arm/src/sys/sys/bus.h#13 (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/sys/bus.h,v 1.80 2008/03/09 05:10:22 imp Exp $ + * $FreeBSD: src/sys/sys/bus.h,v 1.81 2008/03/20 21:24:32 jhb Exp $ */ #ifndef _SYS_BUS_H_ @@ -286,6 +286,8 @@ int *rid, u_long start, u_long end, u_long count, u_int flags); int bus_generic_attach(device_t dev); +int bus_generic_bind_intr(device_t dev, device_t child, + struct resource *irq, int cpu); int bus_generic_child_present(device_t dev, device_t child); int bus_generic_config_intr(device_t, int, enum intr_trigger, enum intr_polarity); @@ -358,6 +360,7 @@ driver_filter_t filter, driver_intr_t handler, void *arg, void **cookiep); int bus_teardown_intr(device_t dev, struct resource *r, void *cookie); +int bus_bind_intr(device_t dev, struct resource *r, int cpu); int bus_set_resource(device_t dev, int type, int rid, u_long start, u_long count); int bus_get_resource(device_t dev, int type, int rid, ==== //depot/projects/arm/src/tools/tools/tinybsd/tinybsd#7 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 21 01:18:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F5B51065673; Fri, 21 Mar 2008 01:18:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F4A0106564A for ; Fri, 21 Mar 2008 01:18:38 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F25E08FC21 for ; Fri, 21 Mar 2008 01:18:37 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2L1IbLU072090 for ; Fri, 21 Mar 2008 01:18:37 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2L1IbQU072088 for perforce@freebsd.org; Fri, 21 Mar 2008 01:18:37 GMT (envelope-from imp@freebsd.org) Date: Fri, 21 Mar 2008 01:18:37 GMT Message-Id: <200803210118.m2L1IbQU072088@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 138223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 01:18:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=138223 Change 138223 by imp@imp_paco-paco on 2008/03/21 01:18:31 Tidy. Affected files ... .. //depot/projects/mips2/src/lib/libc/arm/net/htonl.S#3 delete .. //depot/projects/mips2/src/lib/libc/arm/net/htons.S#3 delete .. //depot/projects/mips2/src/lib/libc/arm/net/ntohl.S#3 delete .. //depot/projects/mips2/src/lib/libc/arm/net/ntohs.S#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Mar 21 01:52:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BA291065673; Fri, 21 Mar 2008 01:52:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B62C106566C for ; Fri, 21 Mar 2008 01:52:16 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AB6C8FC20 for ; Fri, 21 Mar 2008 01:52:16 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2L1qFHf075377 for ; Fri, 21 Mar 2008 01:52:15 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2L1qFNd075375 for perforce@freebsd.org; Fri, 21 Mar 2008 01:52:15 GMT (envelope-from imp@freebsd.org) Date: Fri, 21 Mar 2008 01:52:15 GMT Message-Id: <200803210152.m2L1qFNd075375@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 138224 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 01:52:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=138224 Change 138224 by imp@imp_paco-paco on 2008/03/21 01:51:54 vr moved. Affected files ... .. //depot/projects/mips2/src/sys/pci/if_vr.c#10 delete .. //depot/projects/mips2/src/sys/pci/if_vrreg.h#7 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Mar 21 01:53:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7E3F1065672; Fri, 21 Mar 2008 01:53:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65385106566C for ; Fri, 21 Mar 2008 01:53:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 348C48FC1E for ; Fri, 21 Mar 2008 01:53:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2L1rH40075399 for ; Fri, 21 Mar 2008 01:53:17 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2L1rHXJ075397 for perforce@freebsd.org; Fri, 21 Mar 2008 01:53:17 GMT (envelope-from imp@freebsd.org) Date: Fri, 21 Mar 2008 01:53:17 GMT Message-Id: <200803210153.m2L1rHXJ075397@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 138225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 01:53:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=138225 Change 138225 by imp@imp_paco-paco on 2008/03/21 01:52:46 This seems to have gone away Affected files ... .. //depot/projects/mips2/src/lib/libpthread/support/Makefile.inc#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Mar 21 20:30:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 629511065674; Fri, 21 Mar 2008 20:30:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21E3C1065672 for ; Fri, 21 Mar 2008 20:30:54 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 045B48FC13 for ; Fri, 21 Mar 2008 20:30:54 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2LKUrfr056712 for ; Fri, 21 Mar 2008 20:30:53 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2LKUr1h056706 for perforce@freebsd.org; Fri, 21 Mar 2008 20:30:53 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 21 Mar 2008 20:30:53 GMT Message-Id: <200803212030.m2LKUr1h056706@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 138254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 20:30:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=138254 Change 138254 by rwatson@rwatson_fledge on 2008/03/21 20:30:35 Credit Xin LI for his recent submission. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#65 edit .. //depot/projects/trustedbsd/openbsm/README#26 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#65 (text+ko) ==== @@ -9,6 +9,8 @@ - Fix a bug which resulted in host XML attributes not being printed while processing extended header tokens. This patch was submitted by Martin Voros. +- Constification of function arguments so that const strings can be passed + as arguments to tokens. This patch was submitted by Xin LI. OpenBSM 1.0 @@ -314,4 +316,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#64 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#65 $ ==== //depot/projects/trustedbsd/openbsm/README#26 (text+ko) ==== @@ -91,6 +91,7 @@ Diego Giagio Alex Samorukov Eric Hall + Xin LI In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -112,4 +113,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#25 $ +$P4: //depot/projects/trustedbsd/openbsm/README#26 $ From owner-p4-projects@FreeBSD.ORG Fri Mar 21 23:21:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED3691065672; Fri, 21 Mar 2008 23:21:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACEA21065670 for ; Fri, 21 Mar 2008 23:21:51 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8D61C8FC1D for ; Fri, 21 Mar 2008 23:21:51 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2LNLpKS041363 for ; Fri, 21 Mar 2008 23:21:51 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2LNLpju041361 for perforce@freebsd.org; Fri, 21 Mar 2008 23:21:51 GMT (envelope-from jb@freebsd.org) Date: Fri, 21 Mar 2008 23:21:51 GMT Message-Id: <200803212321.m2LNLpju041361@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138259 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 23:21:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=138259 Change 138259 by jb@jb_freebsd8 on 2008/03/21 23:21:42 Enable a couple of stack tests. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#26 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#26 (text+ko) ==== @@ -128,13 +128,9 @@ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d \ - ${TESTSRCDIR}/tst/common/stack/err.D_STACK_PROTO.bad.d \ - ${TESTSRCDIR}/tst/common/stack/err.D_STACK_SIZE.d \ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_FRAMES.bad.d \ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_PROTO.bad.d \ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_STRSIZE.bad.d \ - ${TESTSRCDIR}/tst/common/stack/tst.default.d \ - ${TESTSRCDIR}/tst/common/stackdepth/tst.default.d \ ${TESTSRCDIR}/tst/common/syscall/tst.args.c \ ${TESTSRCDIR}/tst/common/syscall/tst.args.d \ ${TESTSRCDIR}/tst/common/syscall/tst.openret.ksh \ From owner-p4-projects@FreeBSD.ORG Fri Mar 21 23:26:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B86A1065675; Fri, 21 Mar 2008 23:26:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF81E1065673 for ; Fri, 21 Mar 2008 23:25:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FCA08FC1C for ; Fri, 21 Mar 2008 23:25:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2LNPx7V041949 for ; Fri, 21 Mar 2008 23:25:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2LNPwAV041943 for perforce@freebsd.org; Fri, 21 Mar 2008 23:25:58 GMT (envelope-from jb@freebsd.org) Date: Fri, 21 Mar 2008 23:25:58 GMT Message-Id: <200803212325.m2LNPwAV041943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138260 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 23:26:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=138260 Change 138260 by jb@jb_freebsd8 on 2008/03/21 23:25:48 Disable probes when a panic is active like on Solaris. Include dtrace_isa.c (the Instruction Specific Architecture [?]) specific file using the include paths. This ensures that the i386 version is included rather than the amd64 one, although they could probably share the same file. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#42 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#42 (text) ==== @@ -487,7 +487,6 @@ \ if (addr + size <= dtrace_toxrange[i].dtt_base) \ continue; \ -dtrace_debug_printf("%s: 0x%lx <= addr 0x%lx <= 0x%lx\n", __func__,(u_long) dtrace_toxrange[i].dtt_base,(u_long) addr,(u_long) dtrace_toxrange[i].dtt_limit); \ \ /* \ * This address falls within a toxic region; return 0. \ @@ -5788,13 +5787,15 @@ #if defined(sun) if (panic_quiesce) { +#else + if (panicstr != NULL) { +#endif /* * We don't trace anything if we're panicking. */ dtrace_interrupt_enable(cookie); return; } -#endif now = dtrace_gethrtime(); vtime = dtrace_vtime_references != 0; @@ -6057,7 +6058,6 @@ size / sizeof (pc_t), probe->dtpr_aframes, DTRACE_ANCHORED(probe) ? NULL : (uint32_t *)arg0); - continue; case DTRACEACT_JSTACK: @@ -16313,9 +16313,7 @@ #include #include #include -#if defined(__amd64__) || defined(__i386__) -#include -#endif +#include SYSINIT(dtrace_load, SI_SUB_DTRACE, SI_ORDER_FIRST, dtrace_load, NULL); SYSUNINIT(dtrace_unload, SI_SUB_DTRACE, SI_ORDER_FIRST, dtrace_unload, NULL); From owner-p4-projects@FreeBSD.ORG Fri Mar 21 23:35:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 649931065670; Fri, 21 Mar 2008 23:35:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 243AD106564A for ; Fri, 21 Mar 2008 23:35:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 04C3E8FC1E for ; Fri, 21 Mar 2008 23:35:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2LNZ8iC043473 for ; Fri, 21 Mar 2008 23:35:08 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2LNZ8CW043471 for perforce@freebsd.org; Fri, 21 Mar 2008 23:35:08 GMT (envelope-from jb@freebsd.org) Date: Fri, 21 Mar 2008 23:35:08 GMT Message-Id: <200803212335.m2LNZ8CW043471@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138261 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2008 23:35:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=138261 Change 138261 by jb@jb_freebsd8 on 2008/03/21 23:34:38 Enable the stack() action on i386. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_isa.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_isa.c#7 (text+ko) ==== @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -57,26 +58,29 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { -#ifdef DOODAD int depth = 0; + register_t ebp; + struct i386_frame *frame; vm_offset_t callpc; - register_t ebp; - struct frame *frame; - pc_t caller = (pc_t)pcpu_find(curcpu)->pc_dtrace_caller; + pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; -/* if (intrpc != 0) - pcstack[depth++] = (pc_t)intrpc; -*/ + pcstack[depth++] = (pc_t) intrpc; + aframes++; - ebp = dtrace_getfp(); - frame = (struct frame *)ebp; - while(depth < pcstack_limit) { + + __asm __volatile("movl %%ebp,%0" : "=r" (ebp)); + + frame = (struct i386_frame *)ebp; + while (depth < pcstack_limit) { if (!INKERNEL(frame)) - break; - callpc = frame->fr_savpc; + break; + + callpc = frame->f_retaddr; + if (!INKERNEL(callpc)) break; + if (aframes > 0) { aframes--; if ((aframes == 0) && (caller != 0)) { @@ -86,18 +90,17 @@ else { pcstack[depth++] = callpc; } - - if ((struct frame *)frame->fr_savfp < frame || - (vm_offset_t)frame->fr_savfp >= - (vm_offset_t)ebp + KSTACK_PAGES * PAGE_SIZE) + + if (frame->f_frame <= frame || + (vm_offset_t)frame->f_frame >= + (vm_offset_t)ebp + KSTACK_PAGES * PAGE_SIZE) break; - frame = (struct frame *)frame->fr_savfp; + frame = frame->f_frame; } for (; depth < pcstack_limit; depth++) { pcstack[depth] = 0; } -#endif } #ifdef DOODAD From owner-p4-projects@FreeBSD.ORG Sat Mar 22 01:30:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FC20106566C; Sat, 22 Mar 2008 01:30:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E0CF1065672 for ; Sat, 22 Mar 2008 01:30:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1DB1F8FC1B for ; Sat, 22 Mar 2008 01:30:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2M1UBac075700 for ; Sat, 22 Mar 2008 01:30:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2M1UAIO075689 for perforce@freebsd.org; Sat, 22 Mar 2008 01:30:10 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Mar 2008 01:30:10 GMT Message-Id: <200803220130.m2M1UAIO075689@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138263 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 01:30:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=138263 Change 138263 by jb@jb_freebsd1 on 2008/03/22 01:29:31 IFC Affected files ... .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml#4 integrate .. //depot/projects/dtrace/ports/KNOBS#12 integrate .. //depot/projects/dtrace/ports/MOVED#72 integrate .. //depot/projects/dtrace/ports/UPDATING#58 integrate .. //depot/projects/dtrace/src/contrib/bzip2/CHANGES#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/FREEBSD-upgrade#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/dtrace/src/contrib/bzip2/LICENSE#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/Makefile#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/Makefile-libbz2_so#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/README#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/README.COMPILATION.PROBLEMS#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/blocksort.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/bzip2.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/bzip2recover.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/bzlib.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/bzlib.h#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/bzlib_private.h#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/compress.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/crctable.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/decompress.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/huffman.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/randtable.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/spewG.c#5 integrate .. //depot/projects/dtrace/src/contrib/bzip2/unzcrash.c#5 integrate .. //depot/projects/dtrace/src/lib/libarchive/Makefile#13 integrate .. //depot/projects/dtrace/src/lib/libfetch/common.c#7 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutexattr.c#6 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_rtld.c#4 integrate .. //depot/projects/dtrace/src/sbin/devd/token.l#4 integrate .. //depot/projects/dtrace/src/sbin/newfs/newfs.8#7 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/streams.4#5 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/nexus.c#11 integrate .. //depot/projects/dtrace/src/sys/amd64/isa/atpic.c#8 integrate .. //depot/projects/dtrace/src/sys/arm/conf/AVILA#7 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 edit .. //depot/projects/dtrace/src/sys/compat/linux/linux_futex.c#7 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_futex.h#4 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#42 integrate .. //depot/projects/dtrace/src/sys/conf/files#76 integrate .. //depot/projects/dtrace/src/sys/conf/options#43 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-raid.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_main.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_offload.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_sge.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/drm/drm_pciids.h#7 integrate .. //depot/projects/dtrace/src/sys/dev/drm/i915_dma.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/syscons/syscons.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ehci.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ohci.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#26 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdi.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdi.h#7 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdivar.h#6 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_rule.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/i386/nexus.c#10 integrate .. //depot/projects/dtrace/src/sys/i386/isa/atpic.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/bus_if.m#9 integrate .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#30 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/kern_switch.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thr.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#23 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#35 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#31 integrate .. //depot/projects/dtrace/src/sys/kern/subr_bus.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/subr_trap.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#22 integrate .. //depot/projects/dtrace/src/sys/net/if_ethersubr.c#15 integrate .. //depot/projects/dtrace/src/sys/net/if_gre.c#11 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_tee.c#5 integrate .. //depot/projects/dtrace/src/sys/netipsec/xform_tcp.c#4 integrate .. //depot/projects/dtrace/src/sys/sys/aac_ioctl.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/bus.h#10 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#39 integrate .. //depot/projects/dtrace/src/sys/sys/runq.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/sched.h#14 integrate .. //depot/projects/dtrace/src/sys/sys/sysctl.h#15 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vnops.c#16 integrate .. //depot/projects/dtrace/src/sys/vm/vm_mmap.c#12 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#32 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.h#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageout.c#12 integrate .. //depot/projects/dtrace/src/tools/tools/README#6 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/tinybsd#9 integrate .. //depot/projects/dtrace/src/tools/tools/track/Makefile#1 branch .. //depot/projects/dtrace/src/tools/tools/track/track.sh#1 branch .. //depot/projects/dtrace/src/usr.bin/ktrace/ktrace.c#5 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#12 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#22 integrate Differences ... ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -464,6 +464,11 @@ *Багц олон хувилбартай байна. + !СуулгагдÑан багц жагÑаалтад байгаа боловч + Ñмар нÑг шалтгааны ÑƒÐ»Ð¼Ð°Ð°Ñ pkg_version тушаал нь + ÑуулгагдÑан багцын хувилбарын дугаарыг жагÑаалт дахь харгалзах оруулгатай + харьцуулж чадахгүй байна. + ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/chapter.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -1447,10 +1447,9 @@ LPD нь Ñ…ÑвлÑгч бүрийг анхны тохируулгаараа - ердийн текÑтийг Ñ…ÑвлÑж чадна гÑж авч үздÑг. Ð­Ð½Ñ Ð½ÑŒ &postscript; ( - ÑÑвÑл буÑад програмын Ñ…Ñл дÑÑÑ€ үндÑÑлÑÑÑн Ñ…ÑвлÑгчид ) Ñ…ÑвлÑгч - зÑргийн ердийн текÑтийг шууд Ñ…ÑвлÑж чаддаггүй Ñ…ÑвлÑгчид дÑÑÑ€ хүндрÑл - гаргадаг. + ердийн текÑтийг Ñ…ÑвлÑж чадна гÑж авч үздÑг. Ð­Ð½Ñ Ð½ÑŒ ердийн текÑтийг + шууд Ñ…ÑвлÑж чаддаггүй &postscript; Ñ…ÑвлÑгчид (ÑÑвÑл буÑад програмын + Ñ…Ñл дÑÑÑ€ үндÑÑлÑÑÑн Ñ…ÑвлÑгчид ) дÑÑÑ€ хүндрÑл гаргадаг. &postscript; Ñ…ÑвлÑгчид дÑÑÑ€ ердийн текÑÑ‚ Ñ…ÑвлÑдÑг болох Ñ…ÑÑÑгт @@ -1558,7 +1557,7 @@ хувьд бүртгÑлтÑй тийм орчинд байгаа бол текÑÑ‚ шүүлтүүр нь Ñ…ÑвлÑгдÑÑн мөрүүдийн тоог тоолж Ñ‚ÑÑ€ тоогоо Ñ…ÑвлÑгчийн дÑмждÑг нÑг хуудÑан дахь мөрийн тоотой жишиж Ñ…ÑвлÑÑÑн хуудаÑнуудыг Ð±Ð°Ñ Ð±Ò¯Ñ€Ñ‚Ð³ÑÑ… Ñ‘Ñтой. - ТекÑÑ‚ шүүлтүүрийг дараах нÑмÑлт өгөгдлийн жагÑаалттай ÑхлүүлдÑг: + ТекÑÑ‚ шүүлтүүрийг дараах нÑмÑлт өгөгдлийн жагÑаалттай ÑхлүүлдÑг: filter-name @@ -1571,7 +1570,7 @@ acct-file - Ñнд байгаа + Ñнд байгаа @@ -1637,7 +1636,6 @@ - @@ -1654,7 +1652,8 @@ linkend="printing-advanced-convfilters">Хувиргах шүүлтүүрүүд Ñ…ÑÑÑг Ñ…Ñлж өгдөг. Ð¥ÑÑ€Ñв танд Ñ…ÑвлÑгчийн бүртгÑл хийлт Ñ…ÑÑ€ÑгтÑй бол хувиргах шүүлтүүрүүд Ð±Ð°Ñ Ð±Ò¯Ñ€Ñ‚Ð³Ñл хийх Ñ…ÑÑ€ÑгтÑй болно. Хувиргах шүүлтүүрүүдийг дараах нÑмÑлт өгөгдлүүдтÑй - ÑхлүүлдÑг: + ÑхлүүлдÑг: + filter-name @@ -1666,7 +1665,7 @@ acct-file - Ñнд байгаа pixel-width нь + Ñнд байгаа pixel-width нь px боломжийн утга (анхдагчаар 0) бөгөөд pixel-height нь py боломжийн утга юм (анхдагчаар 0). @@ -1675,11 +1674,11 @@ Гаралтын шүүлтүүр нь шүүх текÑÑ‚ байхгүй байх юм уу ÑÑвÑл толгой хуудаÑнууд идÑвхтÑй байх тохиолдолд зөвхөн ашиглагддаг. - Миний туршлага дÑÑÑ€ÑÑÑ Ñ…Ð°Ñ€Ð°Ñ…Ð°Ð´ гаралтын шүүлтүүрүүд ховор ашиглагддаг. + Бидний туршлага дÑÑÑ€ÑÑÑ Ñ…Ð°Ñ€Ð°Ñ…Ð°Ð´ гаралтын шүүлтүүрүүд ховор ашиглагддаг. Гаралтын шүүлтүүрүүд Ñ…ÑÑÑг Ñ‚ÑдгÑÑрийг тайлбарладаг. Гаралтын шүүлтүүрт зөвхөн хоёр нÑмÑлт өгөгдөл - байдаг: + байдаг: filter-name @@ -1687,7 +1686,7 @@ -l length - ÑдгÑÑÑ€ нь текÑÑ‚ шүүлтүүрийн болон + ÑдгÑÑÑ€ нь текÑÑ‚ шүүлтүүрийн болон нÑмÑлт өгөгдлүүдтÑй адил юм. ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -765,7 +765,7 @@ MacOS дÑÑрх VMWare - &mac;-д зориулÑан FMWare Fusion + &mac;-д зориулÑан VMWare Fusion нь &macos; 10.4.9 болон түүнÑÑÑ Ñ…Ð¾Ð¹ÑˆÑ… хувилбар бүхий &intel; дÑÑÑ€ тулгуурлаÑан &apple; &mac; компьютеруудад зориулагдÑан арилжааны програм хангамж бүтÑÑгдÑхүүн юм. ==== //depot/projects/dtrace/ports/KNOBS#12 (text+ko) ==== @@ -1,21 +1,20 @@ # -# KNOBS - A list of popular knobs and descriptions +# KNOBS - A list of popular knobs and their descriptions # -# $FreeBSD: ports/KNOBS,v 1.22 2007/12/11 21:21:20 lioux Exp $ +# $FreeBSD: ports/KNOBS,v 1.24 2008/03/20 12:34:56 danfe Exp $ # -# Rules to adding knobs: +# Rules for adding knobs: # # - Knob names must be 12 characters or less # - Knob descriptions must be 45 characters or less # # - Naming knobs: -# When a port has a lib-prefix (ie: libquicktime, libxine) -# the lib-prefix should be stripped from the knob name. -# (ie: QUICKTIME, XINE). +# When a port has a lib-prefix (e.g.: libquicktime, libxine) +# the lib-prefix should be stripped from the knob name +# (e.g.: QUICKTIME, XINE). # +# Keep this list sorted in alphabetical order. # -# Keep this list sorted in alphabetical order -# # Knob name: Knob description: # Length | | Length | @@ -59,7 +58,7 @@ IMAGEMAGICK ImageMagick graphics support IMAP Adds support for IMAP mail protocol IODBC Use IODBC as the ODBC driver -IPV6 IPv6 internet support +IPV6 IPv6 internet protocol support ISPELL Use textproc/ispell for spell checking JAVA Adds support for Java KDE Adds KDE support ==== //depot/projects/dtrace/ports/MOVED#72 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1562 2008/03/18 09:29:47 johans Exp $ +# $FreeBSD: ports/MOVED,v 1.1563 2008/03/21 16:27:29 miwi Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3436,3 +3436,7 @@ www/mod_dosevasise20||2008-03-14|Has expired: Use www/mod_evasive20 instead textproc/p5-Text-ParseWords||2008-03-16|Module included in core perl devel/hc12mem|devel/hcs12mem|2008-03-17|Project renamed +mail/claws-mail-maildir||2008-03-21|Has expired: no longer supported by developers +x11/e17-module-devian||2008-03-21|Has expired: abandoned by developer +x11/e17-module-engage||2008-03-21|Has expired: abandoned by developer +x11/e17-module-eveil||2008-03-21|Has expired: abandoned by developer ==== //depot/projects/dtrace/ports/UPDATING#58 (text+ko) ==== @@ -26,7 +26,7 @@ 3. Uninstall your current linux_base port 4. Unload linux kernel module (kldunload linux.ko) 5. Set appropriate sysctl (sysctl compat.linux.osrelease=2.6.16) - 6. Install emulation/linux_base-fc6 + 6. Install emulators/linux_base-fc6 4 Remount linprocfs (mount /compat/linux/proc) 5. Add compat.linux.osrelease=2.6.16 to etc/sysctl.conf @@ -6206,4 +6206,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.602 2008/03/18 19:52:50 beech Exp $ +$FreeBSD: ports/UPDATING,v 1.603 2008/03/20 12:11:56 lioux Exp $ ==== //depot/projects/dtrace/src/contrib/bzip2/CHANGES#5 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -312,3 +312,8 @@ * Fix minor doc/comment bugs. + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + ==== //depot/projects/dtrace/src/contrib/bzip2/FREEBSD-upgrade#5 (text+ko) ==== @@ -1,12 +1,12 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://www.bzip.org/downloads.html Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ - src/contrib/bzip2 BZIP2 v1_0_4 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \ + src/contrib/bzip2 BZIP2 v1_0_5 Notes: The following log shows details of trimming: ==== //depot/projects/dtrace/src/contrib/bzip2/LICENSE#5 (text+ko) ==== @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -jseward@bzip.org -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- ==== //depot/projects/dtrace/src/contrib/bzip2/Makefile#5 (text+ko) ==== @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.4 +DISTNAME=bzip2-1.0.5 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) ==== //depot/projects/dtrace/src/contrib/bzip2/Makefile-libbz2_so#5 (text+ko) ==== @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. ==== //depot/projects/dtrace/src/contrib/bzip2/README#5 (text+ko) ==== @@ -6,8 +6,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -177,7 +177,11 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.5 ? + See the CHANGES file. + + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with @@ -203,3 +207,4 @@ 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) 20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) ==== //depot/projects/dtrace/src/contrib/bzip2/README.COMPILATION.PROBLEMS#5 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.4 should compile without problems on the vast majority of +bzip2-1.0.5 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file ==== //depot/projects/dtrace/src/contrib/bzip2/blocksort.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/bzip2.c#5 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,11 +1605,11 @@ "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" + " Copyright (C) 1996-2007 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" + " in the bzip2-1.0.5 source distribution.\n" " \n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ==== //depot/projects/dtrace/src/contrib/bzip2/bzip2recover.c#5 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -313,7 +313,7 @@ inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", ==== //depot/projects/dtrace/src/contrib/bzip2/bzlib.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $"); +__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $"); #include "bzlib_private.h" @@ -52,7 +52,7 @@ "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 15 February 2005.\n\n", + "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", errcode, BZ2_bzlibVersion() ); @@ -605,6 +605,7 @@ UInt32 c_tPos = s->tPos; char* cs_next_out = s->strm->next_out; unsigned int cs_avail_out = s->strm->avail_out; + Int32 ro_blockSize100k = s->blockSize100k; /* end restore */ UInt32 avail_out_INIT = cs_avail_out; ==== //depot/projects/dtrace/src/contrib/bzip2/bzlib.h#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/bzlib_private.h#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.4, 20-Dec-2006" +#define BZ_VERSION "1.0.5, 10-Dec-2007" typedef char Char; typedef unsigned char Bool; @@ -442,11 +442,15 @@ /*-- Macros for decompression. --*/ #define BZ_GET_FAST(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ s->tPos = s->tt[s->tPos]; \ cccc = (UChar)(s->tPos & 0xff); \ s->tPos >>= 8; #define BZ_GET_FAST_C(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \ c_tPos = c_tt[c_tPos]; \ cccc = (UChar)(c_tPos & 0xff); \ c_tPos >>= 8; @@ -469,8 +473,10 @@ (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16)) #define BZ_GET_SMALL(cccc) \ - cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ - s->tPos = GET_LL(s->tPos); + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ + cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ + s->tPos = GET_LL(s->tPos); /*-- externs for decompression. --*/ ==== //depot/projects/dtrace/src/contrib/bzip2/compress.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/crctable.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/decompress.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/huffman.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/randtable.c#5 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/spewG.c#5 (text+ko) ==== @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/contrib/bzip2/unzcrash.c#5 (text+ko) ==== @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/dtrace/src/lib/libarchive/Makefile#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.83 2008/03/21 11:10:20 kaiw Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -214,6 +214,7 @@ MLINKS+= archive_util.3 archive_format.3 MLINKS+= archive_util.3 archive_format_name.3 MLINKS+= archive_util.3 archive_set_error.3 +MLINKS+= archive_write.3 archive_write_close.3 MLINKS+= archive_write.3 archive_write_data.3 MLINKS+= archive_write.3 archive_write_finish.3 MLINKS+= archive_write.3 archive_write_finish_entry.3 ==== //depot/projects/dtrace/src/lib/libfetch/common.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.54 2008/02/08 09:48:48 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.55 2008/03/20 09:55:27 des Exp $"); #include #include @@ -377,7 +377,7 @@ ssize_t fetch_read(conn_t *conn, char *buf, size_t len) { - struct timeval now, timeout, wait; + struct timeval now, timeout, delta; fd_set readfds; ssize_t rlen, total; int r; @@ -393,19 +393,19 @@ while (fetchTimeout && !FD_ISSET(conn->sd, &readfds)) { FD_SET(conn->sd, &readfds); gettimeofday(&now, NULL); - wait.tv_sec = timeout.tv_sec - now.tv_sec; - wait.tv_usec = timeout.tv_usec - now.tv_usec; - if (wait.tv_usec < 0) { - wait.tv_usec += 1000000; - wait.tv_sec--; + delta.tv_sec = timeout.tv_sec - now.tv_sec; + delta.tv_usec = timeout.tv_usec - now.tv_usec; + if (delta.tv_usec < 0) { + delta.tv_usec += 1000000; + delta.tv_sec--; } - if (wait.tv_sec < 0) { + if (delta.tv_sec < 0) { errno = ETIMEDOUT; fetch_syserr(); return (-1); } errno = 0; - r = select(conn->sd + 1, &readfds, NULL, NULL, &wait); + r = select(conn->sd + 1, &readfds, NULL, NULL, &delta); if (r == -1) { if (errno == EINTR && fetchRestartCalls) continue; @@ -503,7 +503,7 @@ ssize_t fetch_writev(conn_t *conn, struct iovec *iov, int iovcnt) { - struct timeval now, timeout, wait; + struct timeval now, timeout, delta; fd_set writefds; ssize_t wlen, total; int r; @@ -519,19 +519,19 @@ while (fetchTimeout && !FD_ISSET(conn->sd, &writefds)) { FD_SET(conn->sd, &writefds); gettimeofday(&now, NULL); - wait.tv_sec = timeout.tv_sec - now.tv_sec; - wait.tv_usec = timeout.tv_usec - now.tv_usec; - if (wait.tv_usec < 0) { - wait.tv_usec += 1000000; - wait.tv_sec--; + delta.tv_sec = timeout.tv_sec - now.tv_sec; + delta.tv_usec = timeout.tv_usec - now.tv_usec; + if (delta.tv_usec < 0) { + delta.tv_usec += 1000000; + delta.tv_sec--; } - if (wait.tv_sec < 0) { + if (delta.tv_sec < 0) { errno = ETIMEDOUT; fetch_syserr(); return (-1); } errno = 0; - r = select(conn->sd + 1, NULL, &writefds, NULL, &wait); + r = select(conn->sd + 1, NULL, &writefds, NULL, &delta); if (r == -1) { if (errno == EINTR && fetchRestartCalls) continue; ==== //depot/projects/dtrace/src/lib/libthr/thread/thr_mutexattr.c#6 (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/libthr/thread/thr_mutexattr.c,v 1.7 2007/01/12 07:26:20 imp Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_mutexattr.c,v 1.9 2008/03/20 11:47:08 ru Exp $ */ /* @@ -132,8 +132,7 @@ { int ret; if (attr == NULL || *attr == NULL || type >= PTHREAD_MUTEX_TYPE_MAX) { - errno = EINVAL; - ret = -1; + ret = EINVAL; } else { (*attr)->m_type = type; ret = 0; ==== //depot/projects/dtrace/src/lib/libthr/thread/thr_rtld.c#4 (text) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.4 2007/11/21 05:21:58 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.6 2008/03/21 02:31:55 davidxu Exp $ * */ @@ -36,6 +36,9 @@ #include "rtld_lock.h" #include "thr_private.h" +#undef errno +extern int errno; + #define CACHE_LINE_SIZE 64 #define WAFLAG 0x1 #define RC_INCR 0x2 @@ -88,20 +91,38 @@ free(l->base); } +#define SAVE_ERRNO() { \ + if (curthread != _thr_initial) \ + errsave = curthread->error; \ + else \ + errsave = errno; \ +} + +#define RESTORE_ERRNO() { \ + if (curthread != _thr_initial) \ + curthread->error = errsave; \ + else \ + errno = errsave; \ +} + static void _thr_rtld_rlock_acquire(void *lock) { struct pthread *curthread; struct rtld_lock *l; long v; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; THR_CRITICAL_ENTER(curthread); atomic_add_acq_int(&l->lock, RC_INCR); - if (!(l->lock & WAFLAG)) + if (!(l->lock & WAFLAG)) { + RESTORE_ERRNO(); return; + } v = l->rd_cv; atomic_add_int(&l->rd_waiters, 1); while (l->lock & WAFLAG) { @@ -109,6 +130,7 @@ v = l->rd_cv; } atomic_add_int(&l->rd_waiters, -1); + RESTORE_ERRNO(); } static void @@ -117,14 +139,18 @@ struct pthread *curthread; struct rtld_lock *l; long v; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; _thr_signal_block(curthread); for (;;) { - if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG)) + if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG)) { + RESTORE_ERRNO(); return; + } v = l->wr_cv; atomic_add_int(&l->wr_waiters, 1); while (l->lock != 0) { @@ -140,8 +166,10 @@ { struct pthread *curthread; struct rtld_lock *l; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; if ((l->lock & WAFLAG) == 0) { @@ -162,6 +190,7 @@ } _thr_signal_unblock(curthread); } + RESTORE_ERRNO(); } static int @@ -191,6 +220,9 @@ /* force to resolve _umtx_op PLT */ _umtx_op((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0); + + /* force to resolve errno() PLT */ + __error(); li.lock_create = _thr_rtld_lock_create; li.lock_destroy = _thr_rtld_lock_destroy; ==== //depot/projects/dtrace/src/sbin/devd/token.l#4 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Mar 22 01:43:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE5651065673; Sat, 22 Mar 2008 01:43:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7AD8B106564A for ; Sat, 22 Mar 2008 01:43:38 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 59EAD8FC18 for ; Sat, 22 Mar 2008 01:43:38 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2M1hcn2076967 for ; Sat, 22 Mar 2008 01:43:38 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2M1hOdk076952 for perforce@freebsd.org; Sat, 22 Mar 2008 01:43:24 GMT (envelope-from delphij@freebsd.org) Date: Sat, 22 Mar 2008 01:43:24 GMT Message-Id: <200803220143.m2M1hOdk076952@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 138264 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 01:43:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=138264 Change 138264 by delphij@charlie on 2008/03/22 01:42:25 IFC Affected files ... .. //depot/projects/delphij_fork/LOCKS#2 integrate .. //depot/projects/delphij_fork/MAINTAINERS#2 integrate .. //depot/projects/delphij_fork/Makefile#5 integrate .. //depot/projects/delphij_fork/Makefile.inc1#9 integrate .. //depot/projects/delphij_fork/ObsoleteFiles.inc#18 integrate .. //depot/projects/delphij_fork/UPDATING#9 integrate .. //depot/projects/delphij_fork/bin/Makefile#2 integrate .. //depot/projects/delphij_fork/bin/chflags/chflags.1#2 integrate .. //depot/projects/delphij_fork/bin/chflags/chflags.c#2 integrate .. //depot/projects/delphij_fork/bin/cp/cp.1#2 integrate .. //depot/projects/delphij_fork/bin/cp/cp.c#3 integrate .. //depot/projects/delphij_fork/bin/cp/utils.c#2 integrate .. //depot/projects/delphij_fork/bin/date/date.c#2 integrate .. //depot/projects/delphij_fork/bin/ps/ps.1#2 integrate .. //depot/projects/delphij_fork/bin/realpath/realpath.1#2 integrate .. //depot/projects/delphij_fork/bin/realpath/realpath.c#2 integrate .. //depot/projects/delphij_fork/bin/sh/cd.c#2 integrate .. //depot/projects/delphij_fork/bin/sh/mksyntax.c#2 integrate .. //depot/projects/delphij_fork/bin/uuidgen/Makefile#1 branch .. //depot/projects/delphij_fork/bin/uuidgen/uuidgen.1#1 branch .. //depot/projects/delphij_fork/bin/uuidgen/uuidgen.c#1 branch .. //depot/projects/delphij_fork/contrib/binutils/libiberty/cp-demangle.c#2 integrate .. //depot/projects/delphij_fork/contrib/bsnmp/snmpd/main.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/CHANGES#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/FREEBSD-upgrade#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/delphij_fork/contrib/bzip2/LICENSE#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/Makefile#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/Makefile-libbz2_so#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/README#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/blocksort.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/bzip2.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/bzip2recover.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/bzlib.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/bzlib.h#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/bzlib_private.h#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/compress.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/crctable.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/decompress.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/huffman.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/randtable.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/spewG.c#2 integrate .. //depot/projects/delphij_fork/contrib/bzip2/unzcrash.c#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/ChangeLog#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/FAQ#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/HACKING#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/INSTALL#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/NEWS#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/README#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/TODO#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/aclocal.m4#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/compile#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/config.h.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/configure#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/configure.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/contrib/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/depcomp#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/diff/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/ChangeLog#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/HACKING.DOCS#1 branch .. //depot/projects/delphij_fork/contrib/cvs/doc/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/cvs.1#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/cvs.texinfo#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/cvsclient.texi#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/mdate-sh#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/mkman.pl#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/stamp-1#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/stamp-vti#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/version-client.texi#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/doc/version.texi#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/install-sh#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/lib/ChangeLog#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/lib/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/lib/getdate#2 delete .. //depot/projects/delphij_fork/contrib/cvs/lib/xsize.h#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/man/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/missing#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/mkinstalldirs#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/ChangeLog#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/add.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/classify.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/client.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/client.h#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/cvs.h#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/edit.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/hash.h#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/import.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/lock.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/log.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/login.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/main.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/mkmodules.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/parseinfo.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/rcs.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/recurse.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/root.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/root.h#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/sanity.sh#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/server.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/update.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/src/vers_ts.c#3 integrate .. //depot/projects/delphij_fork/contrib/cvs/tools/Makefile.in#3 integrate .. //depot/projects/delphij_fork/contrib/file/FREEBSD-upgrade#2 integrate .. //depot/projects/delphij_fork/contrib/file/Magdir/bFLT#2 delete .. //depot/projects/delphij_fork/contrib/file/Magdir/chi#2 delete .. //depot/projects/delphij_fork/contrib/file/Magdir/cvs#2 delete .. //depot/projects/delphij_fork/contrib/file/Magdir/hdf#2 delete .. //depot/projects/delphij_fork/contrib/file/Magdir/impulse#2 delete .. //depot/projects/delphij_fork/contrib/file/Magdir/wordperfect#2 delete .. //depot/projects/delphij_fork/contrib/file/acconfig.h#2 delete .. //depot/projects/delphij_fork/contrib/file/magic.c#3 integrate .. //depot/projects/delphij_fork/contrib/file/missing#2 delete .. //depot/projects/delphij_fork/contrib/file/stamp-h.in#2 delete .. //depot/projects/delphij_fork/contrib/libiberty/cp-demangle.c#2 delete .. //depot/projects/delphij_fork/contrib/ncurses/FREEBSD-upgrade#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/delphij_fork/contrib/ncurses/MANIFEST#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/NEWS#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/dist.mk#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/form/frm_driver.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/include/curses.h.in#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/include/ncurses_defs#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/man/curs_clear.3x#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/delphij_fork/contrib/ncurses/man/man_db.renames#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/man/manlinks.sed#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/man/toe.1m#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/misc/terminfo.src#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/MKlib_gen.sh#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/MKunctrl.awk#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_addch.c#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_getch.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_insch.c#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_newterm.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_newwin.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_set_term.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_slk.c#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_slkclear.c#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/lib_slkinit.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/resizeterm.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/curses.priv.h#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/tinfo/lib_data.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/ncurses/tinfo/lib_setup.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/progs/infocmp.c#3 integrate .. //depot/projects/delphij_fork/contrib/ncurses/progs/toe.c#3 integrate .. //depot/projects/delphij_fork/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/delphij_fork/contrib/openpam/include/security/openpam_version.h#3 integrate .. //depot/projects/delphij_fork/contrib/pf/man/pf.conf.5#2 integrate .. //depot/projects/delphij_fork/contrib/tcpdump/print-802_11.c#3 integrate .. //depot/projects/delphij_fork/contrib/tcsh/sh.lex.c#3 integrate .. //depot/projects/delphij_fork/contrib/traceroute/as.c#1 branch .. //depot/projects/delphij_fork/contrib/traceroute/as.h#1 branch .. //depot/projects/delphij_fork/contrib/traceroute/traceroute.8#2 integrate .. //depot/projects/delphij_fork/contrib/traceroute/traceroute.c#2 integrate .. //depot/projects/delphij_fork/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/delphij_fork/crypto/openssh/FREEBSD-upgrade#2 integrate .. //depot/projects/delphij_fork/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/delphij_fork/etc/Makefile#5 integrate .. //depot/projects/delphij_fork/etc/ddb.conf#1 branch .. //depot/projects/delphij_fork/etc/defaults/rc.conf#8 integrate .. //depot/projects/delphij_fork/etc/devd.conf#2 integrate .. //depot/projects/delphij_fork/etc/mail/access.sample#2 integrate .. //depot/projects/delphij_fork/etc/namedb/named.root#3 integrate .. //depot/projects/delphij_fork/etc/netstart#2 integrate .. //depot/projects/delphij_fork/etc/periodic/security/100.chksetuid#3 integrate .. //depot/projects/delphij_fork/etc/rc#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/Makefile#6 integrate .. //depot/projects/delphij_fork/etc/rc.d/ddb#1 branch .. //depot/projects/delphij_fork/etc/rc.d/dhclient#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/hostid#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/ipfw#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/kerberos#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/mountcritlocal#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/mountlate#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/netif#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/ppp#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/root#3 integrate .. //depot/projects/delphij_fork/etc/rc.d/zfs#2 integrate .. //depot/projects/delphij_fork/etc/rc.subr#3 integrate .. //depot/projects/delphij_fork/etc/sendmail/freebsd.mc#3 integrate .. //depot/projects/delphij_fork/games/fortune/datfiles/fortunes#9 integrate .. //depot/projects/delphij_fork/games/fortune/strfile/strfile.c#2 integrate .. //depot/projects/delphij_fork/gnu/lib/csu/Makefile#3 integrate .. //depot/projects/delphij_fork/gnu/lib/libgcc/Makefile#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/Makefile#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/binutils/ar/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/binutils/ranlib/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/cvs/lib/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/cvs/lib/config.h.proto#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kgdb.h#4 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kld.c#1 branch .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kthr.c#4 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/main.c#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/trgt.c#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/trgt_i386.c#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/groff/tmac/mdoc.local#5 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/man/man/man.c#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/man/manpath/manpath.c#2 integrate .. //depot/projects/delphij_fork/include/fts.h#2 integrate .. //depot/projects/delphij_fork/include/pthread_np.h#4 integrate .. //depot/projects/delphij_fork/include/unistd.h#4 integrate .. //depot/projects/delphij_fork/lib/Makefile#6 integrate .. //depot/projects/delphij_fork/lib/libalias/libalias/Makefile#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/Makefile#7 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_endian.h#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_entry.c#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_entry.h#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_entry_strmode.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_platform.h#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read.3#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_open_filename.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_private.h#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_compression_bzip2.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_compression_gzip.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_ar.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_iso9660.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_tar.c#8 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_zip.c#7 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_string.h#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_string_sprintf.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_util.3#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_util.c#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write.3#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_disk.3#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_disk.c#7 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_open_filename.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_private.h#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_compression_compress.c#1 branch .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_compression_gzip.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_ar.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_cpio.c#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_cpio_newc.c#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_shar.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/config_freebsd.h#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/.cvsignore#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/Makefile#5 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/main.c#7 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test.h#6 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_archive_api_feature.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_compat_gtar.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_compat_tar_hardlink.c#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_compat_zip.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_empty_write.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_entry.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_pax_filename_encoding.c#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_read_format_ar.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_read_format_gtar_sparse.c#8 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_write_compress.c#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_write_format_ar.c#3 integrate .. //depot/projects/delphij_fork/lib/libc/db/test/btree.tests/main.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/db/test/dbtest.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/Makefile.inc#5 integrate .. //depot/projects/delphij_fork/lib/libc/gen/Symbol.map#3 integrate .. //depot/projects/delphij_fork/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/fts.3#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/fts.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/scandir.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/sem_timedwait.3#1 branch .. //depot/projects/delphij_fork/lib/libc/gen/sem_wait.3#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/sysconf.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/include/namespace.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/locale/wctype.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/net/getaddrinfo.c#3 integrate .. //depot/projects/delphij_fork/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/posix1e/mac_exec.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/flt_rounds.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/fpgetmask.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/fpgetround.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/fpgetsticky.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/fpsetmask.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/powerpc/gen/fpsetround.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/regex/grot/main.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/resolv/res_comp.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdio/fdopen.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdio/fopen.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdlib/getenv.c#4 integrate .. //depot/projects/delphij_fork/lib/libc/stdlib/malloc.3#5 integrate .. //depot/projects/delphij_fork/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/delphij_fork/lib/libc/sys/Makefile.inc#5 integrate .. //depot/projects/delphij_fork/lib/libc/sys/Symbol.map#3 integrate .. //depot/projects/delphij_fork/lib/libc/sys/access.2#4 integrate .. //depot/projects/delphij_fork/lib/libc/sys/clock_gettime.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/fcntl.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/kldunload.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_close.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_getattr.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_notify.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_open.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_receive.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_send.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/mq_setattr.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/readlink.2#2 integrate .. //depot/projects/delphij_fork/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/delphij_fork/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/delphij_fork/lib/libdisk/disk.c#2 integrate .. //depot/projects/delphij_fork/lib/libelf/elf_update.3#4 integrate .. //depot/projects/delphij_fork/lib/libelf/elf_update.c#3 integrate .. //depot/projects/delphij_fork/lib/libelf/gelf_fsize.3#2 integrate .. //depot/projects/delphij_fork/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/delphij_fork/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/delphij_fork/lib/libfetch/common.c#3 integrate .. //depot/projects/delphij_fork/lib/libfetch/fetch.3#3 integrate .. //depot/projects/delphij_fork/lib/libfetch/ftp.c#3 integrate .. //depot/projects/delphij_fork/lib/libfetch/http.c#3 integrate .. //depot/projects/delphij_fork/lib/libkse/Makefile#5 integrate .. //depot/projects/delphij_fork/lib/libkse/kse.map#3 integrate .. //depot/projects/delphij_fork/lib/libkse/sys/lock.c#4 integrate .. //depot/projects/delphij_fork/lib/libkse/thread/thr_mutex.c#5 integrate .. //depot/projects/delphij_fork/lib/libkvm/kvm_proc.c#4 integrate .. //depot/projects/delphij_fork/lib/libmilter/Makefile#2 integrate .. //depot/projects/delphij_fork/lib/libpmc/libpmc.c#3 integrate .. //depot/projects/delphij_fork/lib/libpmc/pmc.3#4 integrate .. //depot/projects/delphij_fork/lib/libpmc/pmc_capabilities.3#2 integrate .. //depot/projects/delphij_fork/lib/librpcsvc/Makefile#2 integrate .. //depot/projects/delphij_fork/lib/librpcsvc/xcrypt.c#2 integrate .. //depot/projects/delphij_fork/lib/libsdp/sdp.h#2 integrate .. //depot/projects/delphij_fork/lib/libthr/Makefile#6 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/ia64/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/projects/delphij_fork/lib/libthr/pthread.map#4 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/delphij_fork/lib/libthr/thread/thr_attr.c#2 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_init.c#3 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_mutex.c#7 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_mutexattr.c#2 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_private.h#6 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_rtld.c#3 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_sem.c#4 integrate .. //depot/projects/delphij_fork/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/projects/delphij_fork/lib/libthread_db/Makefile#2 integrate .. //depot/projects/delphij_fork/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/Makefile#5 integrate .. //depot/projects/delphij_fork/lib/msun/Symbol.map#5 integrate .. //depot/projects/delphij_fork/lib/msun/amd64/Makefile.inc#4 integrate .. //depot/projects/delphij_fork/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/delphij_fork/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/delphij_fork/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/delphij_fork/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/bsdsrc/b_log.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/bsdsrc/b_tgamma.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/i387/Makefile.inc#4 integrate .. //depot/projects/delphij_fork/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/delphij_fork/lib/msun/ld128/k_cosl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld128/k_sinl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld128/k_tanl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld128/s_exp2l.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/ld128/s_nanl.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/ld80/k_cosl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld80/k_sinl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld80/k_tanl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld80/s_exp2l.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/cos.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/j0.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/lgamma.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/sin.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/sqrt.3#3 integrate .. //depot/projects/delphij_fork/lib/msun/man/tan.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/powerpc/fenv.h#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_acos.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_acosf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_acosh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_acoshf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_asin.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_asinf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_atan2.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_atan2f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_atanh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_atanhf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_cosh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_coshf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_exp.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_expf.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_fmod.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_fmodf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_gamma.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_gamma_r.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_gammaf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_gammaf_r.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_hypot.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_hypotf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_j0.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_j0f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_j1.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_j1f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_jn.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_jnf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_lgamma.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_lgamma_r.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_lgammaf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_lgammaf_r.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_log.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_log10.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_log10f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_logf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_pow.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_powf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_rem_pio2.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_rem_pio2f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_remainder.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_scalb.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_scalbf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_sinh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_sinhf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/src/k_cos.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_cosf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_rem_pio2.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_sin.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_sinf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_tan.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_tanf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/math.h#5 integrate .. //depot/projects/delphij_fork/lib/msun/src/math_private.h#4 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_asinh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_asinhf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_atan.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_atanf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_cbrt.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_cbrtf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ceil.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ceilf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ceill.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_copysign.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_copysignf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_cos.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_cosf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_cosl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/src/s_erf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_erff.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_exp2.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_exp2f.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_fabsf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_finite.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_finitef.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_floor.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_floorf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_floorl.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_frexp.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_frexpf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ilogb.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ilogbf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_ilogbl.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_logb.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_logbf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_modff.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_nextafter.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_nextafterf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_nextafterl.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_nexttoward.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_nexttowardf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rint.c#4 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rintf.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rintl.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_significand.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_significandf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_sin.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_sinf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_sinl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/src/s_tan.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_tanf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_tanh.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_tanhf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_tanl.c#1 branch .. //depot/projects/delphij_fork/lib/msun/src/s_tgammaf.c#1 branch .. //depot/projects/delphij_fork/lib/msun/src/s_trunc.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/w_cabs.c#3 integrate .. //depot/projects/delphij_fork/lib/ncurses/ncurses/Makefile#5 integrate .. //depot/projects/delphij_fork/lib/ncurses/ncurses/ncurses_cfg.h#3 integrate .. //depot/projects/delphij_fork/release/Makefile#10 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/hardware/article.sgml#8 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#18 integrate .. //depot/projects/delphij_fork/release/doc/share/misc/dev.archlist.txt#7 integrate .. //depot/projects/delphij_fork/release/fixit.profile#4 integrate .. //depot/projects/delphij_fork/rescue/rescue/Makefile#5 integrate .. //depot/projects/delphij_fork/sbin/atacontrol/atacontrol.8#3 integrate .. //depot/projects/delphij_fork/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/delphij_fork/sbin/ddb/ddb.8#2 integrate .. //depot/projects/delphij_fork/sbin/ddb/ddb.c#2 integrate .. //depot/projects/delphij_fork/sbin/devd/token.l#2 integrate .. //depot/projects/delphij_fork/sbin/ffsinfo/ffsinfo.c#2 integrate .. //depot/projects/delphij_fork/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/delphij_fork/sbin/fsck_ffs/pass1.c#2 integrate .. //depot/projects/delphij_fork/sbin/fsck_ffs/pass2.c#2 integrate .. //depot/projects/delphij_fork/sbin/fsck_ffs/setup.c#2 integrate .. //depot/projects/delphij_fork/sbin/fsck_msdosfs/boot.c#3 integrate .. //depot/projects/delphij_fork/sbin/fsck_msdosfs/fat.c#2 integrate .. //depot/projects/delphij_fork/sbin/geom/Makefile#3 integrate .. //depot/projects/delphij_fork/sbin/geom/class/label/geom_label.c#2 integrate .. //depot/projects/delphij_fork/sbin/geom/class/multipath/gmultipath.8#2 integrate .. //depot/projects/delphij_fork/sbin/geom/core/geom.8#3 integrate .. //depot/projects/delphij_fork/sbin/geom/core/geom.c#4 integrate .. //depot/projects/delphij_fork/sbin/gpt/gpt.8#3 integrate .. //depot/projects/delphij_fork/sbin/gpt/gpt.c#4 integrate .. //depot/projects/delphij_fork/sbin/gpt/migrate.c#2 integrate .. //depot/projects/delphij_fork/sbin/gpt/show.c#3 integrate .. //depot/projects/delphij_fork/sbin/ifconfig/ifconfig.8#7 integrate .. //depot/projects/delphij_fork/sbin/ifconfig/ifieee80211.c#3 integrate .. //depot/projects/delphij_fork/sbin/ipfw/ipfw.8#6 integrate .. //depot/projects/delphij_fork/sbin/ipfw/ipfw2.c#7 integrate .. //depot/projects/delphij_fork/sbin/iscontrol/misc.c#2 integrate .. //depot/projects/delphij_fork/sbin/md5/md5.c#2 integrate .. //depot/projects/delphij_fork/sbin/mount/getmntopts.3#2 integrate .. //depot/projects/delphij_fork/sbin/mount/mount.8#4 integrate .. //depot/projects/delphij_fork/sbin/mount/mount.c#2 integrate .. //depot/projects/delphij_fork/sbin/mount_nfs/mount_nfs.8#2 integrate .. //depot/projects/delphij_fork/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/delphij_fork/sbin/natd/natd.8#4 integrate .. //depot/projects/delphij_fork/sbin/newfs/mkfs.c#3 integrate .. //depot/projects/delphij_fork/sbin/newfs/newfs.8#4 integrate .. //depot/projects/delphij_fork/sbin/ping6/ping6.c#3 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/Makefile#2 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/preen.c#3 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/quotacheck.8#2 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/quotacheck.c#4 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/delphij_fork/sbin/sconfig/sconfig.c#2 integrate .. //depot/projects/delphij_fork/secure/usr.bin/bdes/bdes.c#2 integrate .. //depot/projects/delphij_fork/secure/usr.bin/ssh/Makefile#2 integrate .. //depot/projects/delphij_fork/secure/usr.sbin/sshd/Makefile#2 integrate .. //depot/projects/delphij_fork/share/colldef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/delphij_fork/share/examples/cvsup/cvs-supfile#3 integrate .. //depot/projects/delphij_fork/share/man/man3/Makefile#3 integrate .. //depot/projects/delphij_fork/share/man/man4/Makefile#12 integrate .. //depot/projects/delphij_fork/share/man/man4/ath.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/atkbd.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/awi.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ciss.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/cmx.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/dcons.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ddb.4#4 integrate .. //depot/projects/delphij_fork/share/man/man4/ed.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/fwohci.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/geom_linux_lvm.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/hptiop.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/hptrr.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ip6.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/linux.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/pnp.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/snc.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/svr4.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/mxge.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/ng_nat.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/oldcard.4#2 delete .. //depot/projects/delphij_fork/share/man/man4/puc.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/rr232x.4#2 delete .. //depot/projects/delphij_fork/share/man/man4/sched_4bsd.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/sched_ule.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/sk.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/uart.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/uchcom.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/ucom.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ucycom.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/uscanner.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/uslcom.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/vr.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/wi.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/xl.4#2 integrate .. //depot/projects/delphij_fork/share/man/man5/fstab.5#3 integrate .. //depot/projects/delphij_fork/share/man/man5/rc.conf.5#6 integrate .. //depot/projects/delphij_fork/share/man/man9/DEVICE_PROBE.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/Makefile#9 integrate .. //depot/projects/delphij_fork/share/man/man9/VOP_LOCK.9#5 integrate .. //depot/projects/delphij_fork/share/man/man9/atomic.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/bus_space.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/ieee80211_radiotap.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/insmntque.9#1 branch .. //depot/projects/delphij_fork/share/man/man9/lock.9#5 integrate .. //depot/projects/delphij_fork/share/man/man9/mbuf.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/pci.9#3 integrate .. //depot/projects/delphij_fork/share/man/man9/rwlock.9#4 integrate .. //depot/projects/delphij_fork/share/man/man9/stack.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/style.9#3 integrate .. //depot/projects/delphij_fork/share/man/man9/vfs_mountedfrom.9#1 branch .. //depot/projects/delphij_fork/share/man/man9/vgone.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/vhold.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/vput.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/vref.9#2 integrate .. //depot/projects/delphij_fork/share/man/man9/vrefcnt.9#1 branch .. //depot/projects/delphij_fork/share/man/man9/vrele.9#2 integrate .. //depot/projects/delphij_fork/share/misc/bsd-family-tree#6 integrate .. //depot/projects/delphij_fork/share/misc/committers-doc.dot#4 integrate .. //depot/projects/delphij_fork/share/misc/committers-ports.dot#5 integrate .. //depot/projects/delphij_fork/share/misc/committers-src.dot#6 integrate .. //depot/projects/delphij_fork/share/mk/bsd.cpu.mk#3 integrate .. //depot/projects/delphij_fork/share/mk/bsd.dep.mk#2 integrate .. //depot/projects/delphij_fork/share/mk/bsd.libnames.mk#3 integrate .. //depot/projects/delphij_fork/share/mk/bsd.own.mk#5 integrate .. //depot/projects/delphij_fork/share/mk/sys.mk#7 integrate .. //depot/projects/delphij_fork/share/msgdef/Makefile#2 integrate .. //depot/projects/delphij_fork/share/msgdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/delphij_fork/share/msgdef/ko_KR.eucKR.src#2 integrate .. //depot/projects/delphij_fork/share/zoneinfo/leapseconds#5 integrate .. //depot/projects/delphij_fork/share/zoneinfo/southamerica#5 integrate .. //depot/projects/delphij_fork/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/amd64_mem.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/mem.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/nexus.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/conf/DEFAULTS#3 integrate .. //depot/projects/delphij_fork/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/delphij_fork/sys/amd64/conf/NOTES#8 integrate .. //depot/projects/delphij_fork/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/delphij_fork/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/delphij_fork/sys/amd64/include/proc.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/smp.h#3 integrate .. //depot/projects/delphij_fork/sys/amd64/include/specialreg.h#4 integrate .. //depot/projects/delphij_fork/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/delphij_fork/sys/arm/arm/busdma_machdep.c#5 integrate .. //depot/projects/delphij_fork/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/genassym.c#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/intr.c#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/locore.S#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/pmap.c#11 integrate .. //depot/projects/delphij_fork/sys/arm/arm/swtch.S#4 integrate .. //depot/projects/delphij_fork/sys/arm/arm/trap.c#4 integrate .. //depot/projects/delphij_fork/sys/arm/arm/uio_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/delphij_fork/sys/arm/conf/AVILA#4 integrate .. //depot/projects/delphij_fork/sys/arm/include/_bus.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/delphij_fork/sys/arm/include/atomic.h#3 integrate .. //depot/projects/delphij_fork/sys/arm/include/pmap.h#3 integrate .. //depot/projects/delphij_fork/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/delphij_fork/sys/boot/common/dev_net.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/delphij_fork/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/delphij_fork/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/delphij_fork/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/delphij_fork/sys/boot/ofw/libofw/ofw_console.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/delphij_fork/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/boot/pc98/libpc98/biosdisk.c#3 integrate .. //depot/projects/delphij_fork/sys/boot/powerpc/Makefile#3 integrate .. //depot/projects/delphij_fork/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/metadata.c#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/delphij_fork/sys/boot/powerpc/uboot/version#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/Makefile#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/common/main.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/Makefile#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/console.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/copy.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/disk.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/glue.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/module.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/net.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/delphij_fork/sys/boot/uboot/lib/time.c#1 branch .. //depot/projects/delphij_fork/sys/cam/cam_periph.c#2 integrate .. //depot/projects/delphij_fork/sys/cam/cam_xpt.c#5 integrate .. //depot/projects/delphij_fork/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/delphij_fork/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/delphij_fork/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/delphij_fork/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/delphij_fork/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/delphij_fork/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/delphij_fork/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/delphij_fork/sys/compat/opensolaris/sys/kmem.h#3 integrate .. //depot/projects/delphij_fork/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/delphij_fork/sys/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/delphij_fork/sys/conf/Makefile.arm#3 integrate .. //depot/projects/delphij_fork/sys/conf/NOTES#16 integrate .. //depot/projects/delphij_fork/sys/conf/files#18 integrate .. //depot/projects/delphij_fork/sys/conf/files.amd64#9 integrate .. //depot/projects/delphij_fork/sys/conf/files.i386#9 integrate .. //depot/projects/delphij_fork/sys/conf/files.powerpc#5 integrate .. //depot/projects/delphij_fork/sys/conf/files.sparc64#3 integrate .. //depot/projects/delphij_fork/sys/conf/kern.post.mk#2 integrate .. //depot/projects/delphij_fork/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/delphij_fork/sys/conf/kmod.mk#5 integrate .. //depot/projects/delphij_fork/sys/conf/ldscript.powerpc#2 integrate .. //depot/projects/delphij_fork/sys/conf/options#11 integrate .. //depot/projects/delphij_fork/sys/conf/options.powerpc#3 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/delphij_fork/sys/ddb/db_capture.c#2 integrate .. //depot/projects/delphij_fork/sys/ddb/db_command.c#3 integrate .. //depot/projects/delphij_fork/sys/ddb/db_examine.c#3 integrate .. //depot/projects/delphij_fork/sys/ddb/db_input.c#3 integrate .. //depot/projects/delphij_fork/sys/ddb/db_textdump.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/aac/aac.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_thermal.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpivar.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/amr/amr.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/amr/amrreg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/amr/amrvar.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bcefw.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/ciss/ciss.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/cmx/cmx.c#1 branch .. //depot/projects/delphij_fork/sys/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/delphij_fork/sys/dev/cmx/cmxreg.h#1 branch .. //depot/projects/delphij_fork/sys/dev/cmx/cmxvar.h#1 branch .. //depot/projects/delphij_fork/sys/dev/coretemp/coretemp.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_ctl_defs.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_adapter.h#11 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_l2t.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_l2t.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_main.c#11 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_multiq.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_offload.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_offload.h#6 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_osdep.h#7 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_sge.c#11 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/cxgb_support.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/mbufq.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/delphij_fork/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/delphij_fork/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/drm/i915_dma.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/em/LICENSE#2 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_80003es2lan.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_80003es2lan.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82540.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82541.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82541.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82542.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82543.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82543.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82571.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82571.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_82575.c#3 delete .. //depot/projects/delphij_fork/sys/dev/em/e1000_82575.h#3 delete .. //depot/projects/delphij_fork/sys/dev/em/e1000_api.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_api.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_defines.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_hw.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_ich8lan.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_ich8lan.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_mac.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_mac.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_manage.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_manage.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_nvm.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_nvm.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_osdep.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_phy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_phy.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/e1000_regs.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/em/if_em.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/em/if_em.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/gem/if_gem.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptiop/hptiop.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptrr_osm_bsd.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/hwpmc/hwpmc_amd.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ic/quicc.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/delphij_fork/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/md/md.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/mfi/mfi.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/mfi/mfireg.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/mii/amphy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mii/miidevs#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/nsphy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/delphij_fork/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/delphij_fork/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/msk/if_msk.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfe.c#8 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfevar.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/ofw/ofw_console.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/pccard/pccarddevs#4 integrate .. //depot/projects/delphij_fork/sys/dev/pci/pci.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/delphij_fork/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/delphij_fork/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/delphij_fork/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/delphij_fork/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/re/if_re.c#13 integrate .. //depot/projects/delphij_fork/sys/dev/rr232x/LICENSE#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/README#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/array.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/him.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/hptintf.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/ldm.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/list.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/osm.h#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/osm_bsd.c#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/delphij_fork/sys/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/delphij_fork/sys/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/delphij_fork/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/delphij_fork/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/syscons/syscons.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/syscons/syscons.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/tsec/if_tsec.c#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Mar 22 02:45:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C72FD1065673; Sat, 22 Mar 2008 02:45:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83741106564A for ; Sat, 22 Mar 2008 02:45:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 538148FC16 for ; Sat, 22 Mar 2008 02:45:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2M2jfZ9085079 for ; Sat, 22 Mar 2008 02:45:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2M2jfdd085077 for perforce@freebsd.org; Sat, 22 Mar 2008 02:45:41 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Mar 2008 02:45:41 GMT Message-Id: <200803220245.m2M2jfdd085077@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138265 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 02:45:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=138265 Change 138265 by jb@jb_freebsd1 on 2008/03/22 02:45:19 Add another USB device to my nodevice list. USB modules only for me. Affected files ... .. //depot/projects/dtrace/src/sys/i386/conf/YABBA#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/conf/YABBA#3 (text+ko) ==== @@ -18,6 +18,7 @@ nodevice umass # Disks/Mass storage - Requires scbus and da nodevice ums # Mouse nodevice ural # Ralink Technology RT2500USB wireless NICs +nodevice uslcom nodevice rum # Ralink Technology RT2501USB wireless NICs nodevice urio # Diamond Rio 500 MP3 player nodevice uscanner # Scanners From owner-p4-projects@FreeBSD.ORG Sat Mar 22 14:59:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7132E1065675; Sat, 22 Mar 2008 14:59:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14D971065671 for ; Sat, 22 Mar 2008 14:59:16 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0C84F8FC1D for ; Sat, 22 Mar 2008 14:59:16 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MExFfb022184 for ; Sat, 22 Mar 2008 14:59:15 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MExFxk022182 for perforce@freebsd.org; Sat, 22 Mar 2008 14:59:15 GMT (envelope-from andre@freebsd.org) Date: Sat, 22 Mar 2008 14:59:15 GMT Message-Id: <200803221459.m2MExFxk022182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 138280 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 14:59:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=138280 Change 138280 by andre@andre_flirtbox on 2008/03/22 14:58:56 Undo overly complex FIN handling in reassembly queue. It's a can of worms and based on a discussion on TCPM not necessary in this complexity. A simpler approach to follow. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#18 edit .. //depot/projects/tcp_reass/netinet/tcp_var.h#8 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#18 (text+ko) ==== @@ -198,7 +198,7 @@ * Store TCP header information in local variables as * we may lose access to it after mbuf compacting. */ - thflags = (th->th_flags & TH_FIN); + thflags = th->th_flags; th_seq = th->th_seq; th = NULL; /* Prevent further use. */ @@ -210,6 +210,7 @@ } /* XXX: should not happen, but does for some reason. */ + /* XXX: May get FIN on otherwise empty segment. */ if (*tlenp == 0) { m_freem(m); return (0); @@ -230,15 +231,13 @@ KASSERT(tqen == NULL || SEQ_LT(tqe->trq_seq + tqe->trq_len, tqen->trq_seq), ("%s: overlapping blocks", __func__)); - KASSERT(!(thflags & TH_FIN) || tqe == TAILQ_LAST(&tp->t_trq, trq_head), - ("%s: FIN on block before last one", __func__)); i++; } LIST_FOREACH(tqe, &tp->t_trq_sack, trq_s) { i--; } KASSERT(i == 0, ("%s: SEQ# ordered tailq and arrival ordered " - "list are not equally long", __func__)); + "SACK list are not equally long", __func__)); #endif /* @@ -287,30 +286,14 @@ mcnt += (n->m_flags & M_EXT) ? n->m_ext.ext_size + MSIZE : MSIZE; - /* Check if we've already received FIN; we can't accept data beyond it. */ tqe = TAILQ_LAST(&tp->t_trq, trq_head); - if (tqe && (tqe->trq_thflags & TH_FIN) && SEQ_LEQ(tqe->trq_seq, th_seq)) { - /* Properly count retransmitted perfect matching FIN. */ - if (tqe->trq_seq == th_seq && *tlenp > 0) - tcpstat.tcps_rcvoopack++; - else { - tcpstat.tcps_rcvpackafterfin++; - tcpstat.tcps_rcvbyteafterfin += *tlenp; - } - m_freem(m); - *tlenp = 0; - return (0); - } - /* Check if this segments FIN is before the end of the last block. */ - if (tqe && (thflags & TH_FIN) && - SEQ_GT(tqe->trq_seq + tqe->trq_len, th_seq + *tlenp)) { - /* TCP statistics. */ - tcpstat.tcps_rcvpackafterfin++; - tcpstat.tcps_rcvbyteafterfin += *tlenp; - m_freem(m); - *tlenp = 0; - return (0); + /* + * FIN handling is a bit tricky. + * We only accept a FIN if it matches the right side of the sequence + * space. + */ + if (thflags & TH_FIN) { } /* Check if this segment directly attaches to the end. */ @@ -321,7 +304,6 @@ tcp_reass_mcnt += mcnt; tqe->trq_ml->m_next = m; tqe->trq_ml = m_last(m); - tqe->trq_thflags |= thflags; if (LIST_FIRST(&tp->t_trq_sack) != tqe) { LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); @@ -392,7 +374,6 @@ tcpstat.tcps_rcvduppack++; tcpstat.tcps_rcvdupbyte += *tlenp; tcpstat.tcps_reass_covered++; - tqe->trq_thflags |= thflags; /* XXXAO: What to SACK report when duplicate? */ if (LIST_FIRST(&tp->t_trq_sack) != tqe) { LIST_REMOVE(tqe, trq_s); @@ -416,7 +397,6 @@ tqe->trq_seq = th_seq; tqe->trq_m = m; tqe->trq_ml = m_last(m); - tqe->trq_thflags |= thflags; /* Check if segment bridges next block to merge. */ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) @@ -481,7 +461,6 @@ tcp_reass_mcnt += mcnt; tqe->trq_ml->m_next = m; tqe->trq_ml = m_last(m); - tqe->trq_thflags |= thflags; /* Check if segment bridges two blocks to merge. */ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) @@ -522,7 +501,6 @@ tcp_reass_mcnt += mcnt; tqen->trq_m = m; tqen->trq_ml = m_last(m); - tqen->trq_thflags |= thflags; /* Where to insert. */ if (tqe != NULL && SEQ_LT(tqe->trq_seq + tqe->trq_len, th_seq)) @@ -569,7 +547,6 @@ else sbappendstream_locked(&so->so_rcv, tqe->trq_m); tp->rcv_nxt += tqe->trq_len; - thflags = tqe->trq_thflags; KASSERT(!(thflags & TH_FIN) || tqe == TAILQ_LAST(&tp->t_trq, trq_head), ("%s: FIN not on last block", __func__)); tp->t_trqmcnt -= tqe->trq_mcnt; ==== //depot/projects/tcp_reass/netinet/tcp_var.h#8 (text+ko) ==== @@ -47,7 +47,6 @@ tcp_seq trq_seq; /* start of block */ int trq_len; /* length of block */ int trq_mcnt; /* gross mbuf size of block */ - int trq_thflags; /* thflags for segment chain */ struct mbuf *trq_m; /* mbuf chain of data */ struct mbuf *trq_ml; /* last mbuf in chain of data */ }; From owner-p4-projects@FreeBSD.ORG Sat Mar 22 15:05:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB4401065676; Sat, 22 Mar 2008 15:05:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B3731065672 for ; Sat, 22 Mar 2008 15:05:22 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 634308FC19 for ; Sat, 22 Mar 2008 15:05:22 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MF5M2Q025358 for ; Sat, 22 Mar 2008 15:05:22 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MF5MBa025356 for perforce@freebsd.org; Sat, 22 Mar 2008 15:05:22 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 22 Mar 2008 15:05:22 GMT Message-Id: <200803221505.m2MF5MBa025356@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 138282 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 15:05:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=138282 Change 138282 by gonzo@gonzo_jeeves on 2008/03/22 15:05:05 o Merge fix for "string merging bug" from binutils 2.18. Some details can be found here: http://www.sourceware.org/ml/binutils/2004-01/msg00248.html Affected files ... .. //depot/projects/mips2-jnpr/src/contrib/binutils/gas/config/tc-mips.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/contrib/binutils/gas/config/tc-mips.c#2 (text+ko) ==== @@ -281,6 +281,9 @@ #define HAVE_64BIT_OBJECTS (mips_abi == N64_ABI) +/* True if relocations are stored in-place. */ +#define HAVE_IN_PLACE_ADDENDS (!HAVE_NEWABI) + /* We can only have 64bit addresses if the object file format supports it. */ #define HAVE_32BIT_ADDRESSES \ @@ -13020,6 +13023,26 @@ if (fixp->fx_addsy == NULL) return 1; + /* If symbol SYM is in a mergeable section, relocations of the form + SYM + 0 can usually be made section-relative. The mergeable data + is then identified by the section offset rather than by the symbol. + + However, if we're generating REL LO16 relocations, the offset is split + between the LO16 and parterning high part relocation. The linker will + need to recalculate the complete offset in order to correctly identify + the merge data. + + The linker has traditionally not looked for the parterning high part + relocation, and has thus allowed orphaned R_MIPS_LO16 relocations to be + placed anywhere. Rather than break backwards compatibility by changing + this, it seems better not to force the issue, and instead keep the + original symbol. This will work with either linker behavior. */ + if ((fixp->fx_r_type == BFD_RELOC_LO16 + || reloc_needs_lo_p (fixp->fx_r_type)) + && HAVE_IN_PLACE_ADDENDS + && (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_MERGE) != 0) + return 0; + #ifdef OBJ_ELF if (OUTPUT_FLAVOR == bfd_target_elf_flavour && S_GET_OTHER (fixp->fx_addsy) == STO_MIPS16 From owner-p4-projects@FreeBSD.ORG Sat Mar 22 15:22:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B5561065670; Sat, 22 Mar 2008 15:22:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCF91106564A for ; Sat, 22 Mar 2008 15:22:50 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2D5A8FC1D for ; Sat, 22 Mar 2008 15:22:50 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MFMonx028556 for ; Sat, 22 Mar 2008 15:22:50 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MFMe95028546 for perforce@freebsd.org; Sat, 22 Mar 2008 15:22:40 GMT (envelope-from andre@freebsd.org) Date: Sat, 22 Mar 2008 15:22:40 GMT Message-Id: <200803221522.m2MFMe95028546@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 138285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 15:22:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=138285 Change 138285 by andre@andre_flirtbox on 2008/03/22 15:21:46 Integrate. Affected files ... .. //depot/projects/tcp_reass/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/madt.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/amd64_mem.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/legacy.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mem.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mptable.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/nexus.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/pmap.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/trap.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/amd64/conf/NOTES#2 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/tcp_reass/amd64/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/nexusvar.h#1 branch .. //depot/projects/tcp_reass/amd64/include/pmap.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/proc.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/smp.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/specialreg.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/atpic.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/tcp_reass/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/genassym.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/intr.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/locore.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/nexus.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/swtch.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/trap.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/uio_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA#2 integrate .. //depot/projects/tcp_reass/arm/include/_bus.h#2 integrate .. //depot/projects/tcp_reass/arm/include/asmacros.h#2 integrate .. //depot/projects/tcp_reass/arm/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/arm/include/pmap.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sysarch.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/tcp_reass/boot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/common/bootstrap.h#2 integrate .. //depot/projects/tcp_reass/boot/common/dev_net.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_console.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/metadata.c#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/tcp_reass/boot/powerpc/uboot/version#1 branch .. //depot/projects/tcp_reass/boot/uboot/Makefile#1 branch .. //depot/projects/tcp_reass/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/tcp_reass/boot/uboot/common/main.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/Makefile#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/console.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/copy.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/disk.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/glue.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/glue.h#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/module.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/net.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/tcp_reass/boot/uboot/lib/time.c#1 branch .. //depot/projects/tcp_reass/cam/cam_periph.c#2 integrate .. //depot/projects/tcp_reass/cam/cam_xpt.c#2 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/tcp_reass/compat/linux/linux_futex.c#2 integrate .. //depot/projects/tcp_reass/compat/linux/linux_futex.h#2 integrate .. //depot/projects/tcp_reass/compat/linux/linux_misc.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_misc.h#2 integrate .. //depot/projects/tcp_reass/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/tcp_reass/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/tcp_reass/compat/opensolaris/sys/kmem.h#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_fcntl.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/tcp_reass/conf/Makefile.arm#2 integrate .. //depot/projects/tcp_reass/conf/NOTES#2 integrate .. //depot/projects/tcp_reass/conf/files#3 integrate .. //depot/projects/tcp_reass/conf/files.amd64#2 integrate .. //depot/projects/tcp_reass/conf/files.i386#2 integrate .. //depot/projects/tcp_reass/conf/files.powerpc#2 integrate .. //depot/projects/tcp_reass/conf/files.sparc64#2 integrate .. //depot/projects/tcp_reass/conf/kern.post.mk#2 integrate .. //depot/projects/tcp_reass/conf/kern.pre.mk#2 integrate .. //depot/projects/tcp_reass/conf/kmod.mk#2 integrate .. //depot/projects/tcp_reass/conf/ldscript.powerpc#2 integrate .. //depot/projects/tcp_reass/conf/options#2 integrate .. //depot/projects/tcp_reass/conf/options.powerpc#2 integrate .. //depot/projects/tcp_reass/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/tcp_reass/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/tcp_reass/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/tcp_reass/contrib/opensolaris/uts/common/os/callb.c#2 integrate .. //depot/projects/tcp_reass/contrib/opensolaris/uts/common/os/taskq.c#2 integrate .. //depot/projects/tcp_reass/ddb/db_capture.c#2 integrate .. //depot/projects/tcp_reass/ddb/db_command.c#2 integrate .. //depot/projects/tcp_reass/ddb/db_examine.c#2 integrate .. //depot/projects/tcp_reass/ddb/db_input.c#2 integrate .. //depot/projects/tcp_reass/ddb/db_textdump.c#2 integrate .. //depot/projects/tcp_reass/dev/aac/aac.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpivar.h#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_i810.c#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/tcp_reass/dev/amr/amr.c#2 integrate .. //depot/projects/tcp_reass/dev/amr/amrreg.h#2 integrate .. //depot/projects/tcp_reass/dev/amr/amrvar.h#2 integrate .. //depot/projects/tcp_reass/dev/an/if_an.c#2 integrate .. //depot/projects/tcp_reass/dev/an/if_an_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/an/if_anreg.h#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.h#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-disk.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-disk.h#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-pci.h#2 integrate .. //depot/projects/tcp_reass/dev/ata/ata-raid.c#2 integrate .. //depot/projects/tcp_reass/dev/atkbdc/psm.c#2 integrate .. //depot/projects/tcp_reass/dev/bce/if_bce.c#2 integrate .. //depot/projects/tcp_reass/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/tcp_reass/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/tcp_reass/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/tcp_reass/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/tcp_reass/dev/bge/if_bge.c#2 integrate .. //depot/projects/tcp_reass/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/tcp_reass/dev/ciss/ciss.c#2 integrate .. //depot/projects/tcp_reass/dev/cmx/cmx.c#1 branch .. //depot/projects/tcp_reass/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/tcp_reass/dev/cmx/cmxreg.h#1 branch .. //depot/projects/tcp_reass/dev/cmx/cmxvar.h#1 branch .. //depot/projects/tcp_reass/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/tcp_reass/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_mc5.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_l2t.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_l2t.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/tcp_reass/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/tcp_reass/dev/cxgb/sys/cxgb_support.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/mbufq.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/tcp_reass/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/tcp_reass/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/tcp_reass/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/tcp_reass/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/tcp_reass/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/tcp_reass/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/tcp_reass/dev/drm/i915_dma.c#2 integrate .. //depot/projects/tcp_reass/dev/em/LICENSE#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82540.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82541.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82541.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82542.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82543.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82543.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82571.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82571.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_82575.c#2 delete .. //depot/projects/tcp_reass/dev/em/e1000_82575.h#2 delete .. //depot/projects/tcp_reass/dev/em/e1000_api.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_api.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_defines.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_hw.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_mac.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_mac.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_manage.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_manage.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_phy.c#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_phy.h#2 integrate .. //depot/projects/tcp_reass/dev/em/e1000_regs.h#2 integrate .. //depot/projects/tcp_reass/dev/em/if_em.c#2 integrate .. //depot/projects/tcp_reass/dev/em/if_em.h#2 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem.c#3 integrate .. //depot/projects/tcp_reass/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/tcp_reass/dev/hptiop/hptiop.c#2 integrate .. //depot/projects/tcp_reass/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/array.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/him.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptrr_osm_bsd.c#3 integrate .. //depot/projects/tcp_reass/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/ldm.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/list.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/tcp_reass/dev/hptrr/osm.h#2 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/tcp_reass/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/tcp_reass/dev/ic/quicc.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_82575.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_82575.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_api.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_api.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_defines.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_hw.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_mac.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_mac.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_manage.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_manage.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_phy.c#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_phy.h#1 branch .. //depot/projects/tcp_reass/dev/igb/e1000_regs.h#1 branch .. //depot/projects/tcp_reass/dev/igb/if_igb.c#1 branch .. //depot/projects/tcp_reass/dev/igb/if_igb.h#1 branch .. //depot/projects/tcp_reass/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/tcp_reass/dev/lge/if_lge.c#2 integrate .. //depot/projects/tcp_reass/dev/md/md.c#3 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi.c#2 integrate .. //depot/projects/tcp_reass/dev/mfi/mfireg.h#2 integrate .. //depot/projects/tcp_reass/dev/mii/amphy.c#2 integrate .. //depot/projects/tcp_reass/dev/mii/brgphy.c#2 integrate .. //depot/projects/tcp_reass/dev/mii/ciphy.c#2 integrate .. //depot/projects/tcp_reass/dev/mii/miidevs#2 integrate .. //depot/projects/tcp_reass/dev/mii/nsphy.c#2 integrate .. //depot/projects/tcp_reass/dev/mii/nsphyter.c#1 branch .. //depot/projects/tcp_reass/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/tcp_reass/dev/mii/rgephy.c#2 integrate .. //depot/projects/tcp_reass/dev/msk/if_msk.c#3 integrate .. //depot/projects/tcp_reass/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/tcp_reass/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/tcp_reass/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/tcp_reass/dev/pccard/pccarddevs#2 integrate .. //depot/projects/tcp_reass/dev/pci/pci.c#2 integrate .. //depot/projects/tcp_reass/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/tcp_reass/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/tcp_reass/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/tcp_reass/dev/quicc/quicc_core.c#1 branch .. //depot/projects/tcp_reass/dev/ral/rt2560.c#2 integrate .. //depot/projects/tcp_reass/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/tcp_reass/dev/ral/rt2560var.h#2 integrate .. //depot/projects/tcp_reass/dev/re/if_re.c#3 integrate .. //depot/projects/tcp_reass/dev/rr232x/LICENSE#2 delete .. //depot/projects/tcp_reass/dev/rr232x/README#2 delete .. //depot/projects/tcp_reass/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/tcp_reass/dev/rr232x/array.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/him.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/hptintf.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/tcp_reass/dev/rr232x/ldm.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/list.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/tcp_reass/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/osm.h#2 delete .. //depot/projects/tcp_reass/dev/rr232x/osm_bsd.c#2 delete .. //depot/projects/tcp_reass/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/tcp_reass/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/tcp_reass/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/tcp_reass/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/tcp_reass/dev/scc/scc_bus.h#2 integrate .. //depot/projects/tcp_reass/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/tcp_reass/dev/sf/if_sf.c#1 branch .. //depot/projects/tcp_reass/dev/sf/if_sfreg.h#1 branch .. //depot/projects/tcp_reass/dev/sf/starfire_rx.h#1 branch .. //depot/projects/tcp_reass/dev/sf/starfire_tx.h#1 branch .. //depot/projects/tcp_reass/dev/sk/if_sk.c#2 integrate .. //depot/projects/tcp_reass/dev/sk/if_skreg.h#2 integrate .. //depot/projects/tcp_reass/dev/stge/if_stge.c#3 integrate .. //depot/projects/tcp_reass/dev/syscons/syscons.c#2 integrate .. //depot/projects/tcp_reass/dev/syscons/syscons.h#2 integrate .. //depot/projects/tcp_reass/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/tcp_reass/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/ti/if_ti.c#2 integrate .. //depot/projects/tcp_reass/dev/tsec/if_tsec.c#1 branch .. //depot/projects/tcp_reass/dev/tsec/if_tsec.h#1 branch .. //depot/projects/tcp_reass/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/tcp_reass/dev/twe/twe.c#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart.h#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/tcp_reass/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart_cpu_powerpc.c#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/tcp_reass/dev/usb/ehci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/if_axe.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/if_rum.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/if_udav.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/if_zyd.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/ohci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/uark.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/ubsa.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/ucom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/uftdi.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/uftdireg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/umass.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/ums.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdevs#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdi.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdi.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdivar.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/uscanner.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/uslcom.c#1 branch .. //depot/projects/tcp_reass/dev/vr/if_vr.c#1 branch .. //depot/projects/tcp_reass/dev/vr/if_vrreg.h#1 branch .. //depot/projects/tcp_reass/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/tcp_reass/dev/wpi/if_wpireg.h#2 integrate .. //depot/projects/tcp_reass/dev/wpi/if_wpivar.h#2 integrate .. //depot/projects/tcp_reass/fs/cd9660/cd9660_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/TODO#2 integrate .. //depot/projects/tcp_reass/fs/coda/cnode.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_io.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_kernel.h#2 delete .. //depot/projects/tcp_reass/fs/coda/coda_namecache.c#2 delete .. //depot/projects/tcp_reass/fs/coda/coda_namecache.h#2 delete .. //depot/projects/tcp_reass/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_subr.c#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_subr.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_venus.c#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_venus.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/tcp_reass/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/tcp_reass/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/hpfs/hpfs_subr.h#2 integrate .. //depot/projects/tcp_reass/fs/hpfs/hpfs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/tcp_reass/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/tcp_reass/fs/nullfs/null_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/nullfs/null_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/tcp_reass/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/tcp_reass/fs/procfs/procfs_ctl.c#2 integrate .. //depot/projects/tcp_reass/fs/procfs/procfs_dbregs.c#2 integrate .. //depot/projects/tcp_reass/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/tcp_reass/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/tcp_reass/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/tcp_reass/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/tcp_reass/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/tcp_reass/fs/smbfs/smbfs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/tcp_reass/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/udf/udf_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_vfsops.c#3 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_vnops.c#3 integrate .. //depot/projects/tcp_reass/gdb/gdb_cons.c#2 integrate .. //depot/projects/tcp_reass/gdb/gdb_main.c#2 integrate .. //depot/projects/tcp_reass/geom/geom_disk.c#2 integrate .. //depot/projects/tcp_reass/geom/linux_lvm/g_linux_lvm.c#1 branch .. //depot/projects/tcp_reass/geom/linux_lvm/g_linux_lvm.h#1 branch .. //depot/projects/tcp_reass/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/tcp_reass/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/tcp_reass/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/ext2fs/ext2_vfsops.c#3 integrate .. //depot/projects/tcp_reass/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/tcp_reass/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/tcp_reass/i386/acpica/madt.c#2 integrate .. //depot/projects/tcp_reass/i386/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/i386/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/i386/conf/NOTES#2 integrate .. //depot/projects/tcp_reass/i386/cpufreq/est.c#2 integrate .. //depot/projects/tcp_reass/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/geode.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/i686_mem.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/identcpu.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/initcpu.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/k6_mem.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/legacy.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/local_apic.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/minidump_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/mptable.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/nexus.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/sys_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/trap.c#2 integrate .. //depot/projects/tcp_reass/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/tcp_reass/i386/include/_types.h#2 integrate .. //depot/projects/tcp_reass/i386/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/i386/include/float.h#2 integrate .. //depot/projects/tcp_reass/i386/include/intr_machdep.h#2 integrate .. //depot/projects/tcp_reass/i386/include/nexusvar.h#1 branch .. //depot/projects/tcp_reass/i386/include/proc.h#2 integrate .. //depot/projects/tcp_reass/i386/include/smp.h#2 integrate .. //depot/projects/tcp_reass/i386/include/specialreg.h#2 integrate .. //depot/projects/tcp_reass/i386/isa/atpic.c#2 integrate .. //depot/projects/tcp_reass/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/linux/linux_proto.h#2 integrate .. //depot/projects/tcp_reass/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/tcp_reass/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/tcp_reass/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/tcp_reass/i386/linux/syscalls.master#2 integrate .. //depot/projects/tcp_reass/i386/svr4/svr4_machdep.c#2 integrate .. //depot/projects/tcp_reass/i386/xbox/xbox.c#2 integrate .. //depot/projects/tcp_reass/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/ia64/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/locore.S#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/machdep.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/nexus.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/pmap.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/sscdisk.c#2 integrate .. //depot/projects/tcp_reass/ia64/ia64/trap.c#2 integrate .. //depot/projects/tcp_reass/ia64/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/ia64/include/md_var.h#2 integrate .. //depot/projects/tcp_reass/ia64/include/ucontext.h#2 integrate .. //depot/projects/tcp_reass/ia64/isa/isa_dma.c#2 integrate .. //depot/projects/tcp_reass/kern/bus_if.m#2 integrate .. //depot/projects/tcp_reass/kern/genassym.sh#2 integrate .. //depot/projects/tcp_reass/kern/imgact_elf.c#3 integrate .. //depot/projects/tcp_reass/kern/init_main.c#2 integrate .. //depot/projects/tcp_reass/kern/init_sysent.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_alq.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_clock.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_condvar.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_conf.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_cpuset.c#1 branch .. //depot/projects/tcp_reass/kern/kern_descrip.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_event.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_exec.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_exit.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_fork.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_idle.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_intr.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_jail.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_kse.c#2 delete .. //depot/projects/tcp_reass/kern/kern_kthread.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_ktrace.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_linker.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_lock.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_lockf.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_malloc.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_mbuf.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_mib.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_module.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_mutex.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_ntptime.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_poll.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_priv.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_proc.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_resource.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_rwlock.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_shutdown.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_sig.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_switch.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_sx.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_synch.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_tc.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_thr.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_thread.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_time.c#2 integrate .. //depot/projects/tcp_reass/kern/kern_timeout.c#2 integrate .. //depot/projects/tcp_reass/kern/link_elf.c#3 integrate .. //depot/projects/tcp_reass/kern/link_elf_obj.c#3 integrate .. //depot/projects/tcp_reass/kern/p1003_1b.c#2 integrate .. //depot/projects/tcp_reass/kern/sched_4bsd.c#2 integrate .. //depot/projects/tcp_reass/kern/sched_ule.c#3 integrate .. //depot/projects/tcp_reass/kern/subr_autoconf.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_bus.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_eventhandler.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_lock.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_log.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_prof.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_smp.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_trap.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_turnstile.c#2 integrate .. //depot/projects/tcp_reass/kern/subr_witness.c#2 integrate .. //depot/projects/tcp_reass/kern/sys_generic.c#2 integrate .. //depot/projects/tcp_reass/kern/sys_process.c#2 integrate .. //depot/projects/tcp_reass/kern/syscalls.c#2 integrate .. //depot/projects/tcp_reass/kern/syscalls.master#2 integrate .. //depot/projects/tcp_reass/kern/systrace_args.c#2 integrate .. //depot/projects/tcp_reass/kern/sysv_shm.c#2 integrate .. //depot/projects/tcp_reass/kern/tty.c#2 integrate .. //depot/projects/tcp_reass/kern/tty_cons.c#3 integrate .. //depot/projects/tcp_reass/kern/tty_pts.c#2 integrate .. //depot/projects/tcp_reass/kern/tty_pty.c#2 integrate .. //depot/projects/tcp_reass/kern/tty_subr.c#2 integrate .. //depot/projects/tcp_reass/kern/tty_tty.c#2 integrate .. //depot/projects/tcp_reass/kern/uipc_cow.c#2 integrate .. //depot/projects/tcp_reass/kern/uipc_domain.c#2 integrate .. //depot/projects/tcp_reass/kern/uipc_mbuf.c#3 integrate .. //depot/projects/tcp_reass/kern/uipc_shm.c#3 integrate .. //depot/projects/tcp_reass/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/tcp_reass/kern/uipc_socket.c#2 integrate .. //depot/projects/tcp_reass/kern/uipc_syscalls.c#3 integrate .. //depot/projects/tcp_reass/kern/uipc_usrreq.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_acl.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_aio.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_bio.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_cache.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_cluster.c#2 integrate .. //depot/projects/tcp_reass/kern/vfs_default.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_hash.c#2 integrate .. //depot/projects/tcp_reass/kern/vfs_lookup.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_mount.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_subr.c#3 integrate .. //depot/projects/tcp_reass/kern/vfs_syscalls.c#3 integrate .. //depot/projects/tcp_reass/kern/vnode_if.src#3 integrate .. //depot/projects/tcp_reass/libkern/cmpdi2.c#1 branch .. //depot/projects/tcp_reass/libkern/quad.h#2 integrate .. //depot/projects/tcp_reass/modules/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/cmx/Makefile#1 branch .. //depot/projects/tcp_reass/modules/coda/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/coda5/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/cxgb/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/cxgb/cxgb/Makefile#3 integrate .. //depot/projects/tcp_reass/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/tcp_reass/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/em/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/geom/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/tcp_reass/modules/geom/geom_eli/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/tcp_reass/modules/geom/geom_linux_lvm/Makefile#1 branch .. //depot/projects/tcp_reass/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/tcp_reass/modules/hwpmc/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/igb/Makefile#1 branch .. //depot/projects/tcp_reass/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/tcp_reass/modules/mii/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/rr232x/Makefile#2 delete .. //depot/projects/tcp_reass/modules/sf/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/uslcom/Makefile#1 branch .. //depot/projects/tcp_reass/modules/vr/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/zfs/Makefile#2 integrate .. //depot/projects/tcp_reass/net/bpf.c#2 integrate .. //depot/projects/tcp_reass/net/bpf_filter.c#2 integrate .. //depot/projects/tcp_reass/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/tcp_reass/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/tcp_reass/net/if.c#2 integrate .. //depot/projects/tcp_reass/net/if_bridge.c#3 integrate .. //depot/projects/tcp_reass/net/if_ethersubr.c#2 integrate .. //depot/projects/tcp_reass/net/if_gif.c#2 integrate .. //depot/projects/tcp_reass/net/if_gre.c#2 integrate .. //depot/projects/tcp_reass/net/if_lagg.c#2 integrate .. //depot/projects/tcp_reass/net/netisr.c#2 integrate .. //depot/projects/tcp_reass/net/route.c#2 integrate .. //depot/projects/tcp_reass/net/rtsock.c#2 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_input.c#2 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/tcp_reass/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/tcp_reass/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/tcp_reass/netatm/spans/spans_if.c#2 integrate .. //depot/projects/tcp_reass/netatm/uni/uni_load.c#2 integrate .. //depot/projects/tcp_reass/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/tcp_reass/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/tcp_reass/netgraph/netgraph.h#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_base.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_bpf.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_iface.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_ksocket.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_nat.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_nat.h#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_ppp.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_pred1.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_socket.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_tee.c#2 integrate .. //depot/projects/tcp_reass/netinet/in.c#2 integrate .. //depot/projects/tcp_reass/netinet/in.h#2 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.c#2 integrate .. //depot/projects/tcp_reass/netinet/in_rmx.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_carp.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_dummynet.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_fw.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_fw2.c#3 integrate .. //depot/projects/tcp_reass/netinet/ip_fw_nat.c#1 branch .. //depot/projects/tcp_reass/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_id.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_ipsec.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_options.c#2 integrate .. //depot/projects/tcp_reass/netinet/ip_output.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias.h#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_db.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_irc.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_local.h#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_old.c#2 delete .. //depot/projects/tcp_reass/netinet/libalias/alias_proxy.c#2 integrate .. //depot/projects/tcp_reass/netinet/libalias/alias_smedia.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_auth.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_indata.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_input.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_output.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_pcb.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/tcp_reass/netinet/sctputil.c#2 integrate .. //depot/projects/tcp_reass/netinet/tcp_input.c#5 integrate .. //depot/projects/tcp_reass/netinet/tcp_output.c#3 integrate .. //depot/projects/tcp_reass/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/tcp_reass/netinet/tcp_var.h#9 integrate .. //depot/projects/tcp_reass/netinet6/in6.c#2 integrate .. //depot/projects/tcp_reass/netinet6/in6_src.c#2 integrate .. //depot/projects/tcp_reass/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/tcp_reass/netinet6/ip6_ipsec.h#2 integrate .. //depot/projects/tcp_reass/netinet6/ip6_output.c#2 integrate .. //depot/projects/tcp_reass/netinet6/ip6_var.h#2 integrate .. //depot/projects/tcp_reass/netinet6/raw_ip6.c#2 integrate .. //depot/projects/tcp_reass/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/tcp_reass/netipsec/ipsec.c#2 integrate .. //depot/projects/tcp_reass/netipsec/ipsec.h#2 integrate .. //depot/projects/tcp_reass/netipsec/ipsec6.h#2 integrate .. //depot/projects/tcp_reass/netipsec/ipsec_output.c#2 integrate .. //depot/projects/tcp_reass/netipsec/key.c#2 integrate .. //depot/projects/tcp_reass/netipsec/key_debug.c#2 integrate .. //depot/projects/tcp_reass/netipsec/xform_tcp.c#2 integrate .. //depot/projects/tcp_reass/netncp/ncp_conn.c#2 integrate .. //depot/projects/tcp_reass/netncp/ncp_conn.h#2 integrate .. //depot/projects/tcp_reass/netsmb/smb_conn.c#2 integrate .. //depot/projects/tcp_reass/netsmb/smb_conn.h#2 integrate .. //depot/projects/tcp_reass/netsmb/smb_iod.c#2 integrate .. //depot/projects/tcp_reass/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/tcp_reass/nfs4client/nfs4_vfsops.c#3 integrate .. //depot/projects/tcp_reass/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_node.c#2 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfsm_subs.h#2 integrate .. //depot/projects/tcp_reass/nfsclient/nfsnode.h#2 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvsock.c#2 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvsubs.c#3 integrate .. //depot/projects/tcp_reass/pc98/cbus/sio.c#2 integrate .. //depot/projects/tcp_reass/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/pc98/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/pc98/include/nexusvar.h#1 branch .. //depot/projects/tcp_reass/pc98/pc98/machdep.c#2 integrate .. //depot/projects/tcp_reass/pci/amdsmb.c#2 integrate .. //depot/projects/tcp_reass/pci/if_rl.c#2 integrate .. //depot/projects/tcp_reass/pci/if_rlreg.h#3 integrate .. //depot/projects/tcp_reass/pci/if_sf.c#2 delete .. //depot/projects/tcp_reass/pci/if_sfreg.h#2 delete .. //depot/projects/tcp_reass/pci/if_vr.c#2 delete .. //depot/projects/tcp_reass/pci/if_vrreg.h#2 delete .. //depot/projects/tcp_reass/pci/if_wb.c#2 integrate .. //depot/projects/tcp_reass/pci/nfsmb.c#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/locore.S#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/ofw_machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/swtch.S#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/trap.c#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/tcp_reass/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/booke/clock.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/copyinout.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/interrupt.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/locore.S#1 branch .. //depot/projects/tcp_reass/powerpc/booke/machdep.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/pmap.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/support.S#1 branch .. //depot/projects/tcp_reass/powerpc/booke/swtch.S#1 branch .. //depot/projects/tcp_reass/powerpc/booke/trap.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/tcp_reass/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/tcp_reass/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/tcp_reass/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/powerpc/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/powerpc/conf/MPC85XX#1 branch .. //depot/projects/tcp_reass/powerpc/conf/NOTES#2 integrate .. //depot/projects/tcp_reass/powerpc/fpu/fpu_add.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_arith.h#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_compare.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_div.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_emu.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_emu.h#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_explode.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_extern.h#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_implode.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_instr.h#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_mul.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_sqrt.c#1 branch .. //depot/projects/tcp_reass/powerpc/fpu/fpu_subr.c#1 branch .. //depot/projects/tcp_reass/powerpc/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/bootinfo.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/float.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/frame.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/gdb_machdep.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/hid.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/intr_machdep.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/kdb.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/md_var.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/metadata.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/ocpbus.h#1 branch .. //depot/projects/tcp_reass/powerpc/include/openpicreg.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/openpicvar.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/pcb.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/pcpu.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/pmap.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/psl.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/pte.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/spr.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/tlb.h#1 branch .. //depot/projects/tcp_reass/powerpc/include/trap.h#2 integrate .. //depot/projects/tcp_reass/powerpc/include/trap_aim.h#1 branch .. //depot/projects/tcp_reass/powerpc/include/trap_booke.h#1 branch .. //depot/projects/tcp_reass/powerpc/include/vmparam.h#2 integrate .. //depot/projects/tcp_reass/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/tcp_reass/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powermac/openpic_macio.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/autoconf.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/intr_machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/pic_if.m#2 integrate .. //depot/projects/tcp_reass/powerpc/psim/openpic_iobus.c#2 integrate .. //depot/projects/tcp_reass/security/audit/audit.c#2 integrate .. //depot/projects/tcp_reass/security/audit/audit_arg.c#3 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm.c#2 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/tcp_reass/security/audit/audit_private.h#2 integrate .. //depot/projects/tcp_reass/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/tcp_reass/security/audit/audit_trigger.c#2 integrate .. //depot/projects/tcp_reass/security/audit/audit_worker.c#3 integrate .. //depot/projects/tcp_reass/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/tcp_reass/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/sparc64/conf/GENERIC#2 integrate .. //depot/projects/tcp_reass/sparc64/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/sparc64/include/md_var.h#2 integrate .. //depot/projects/tcp_reass/sparc64/include/tlb.h#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/tcp_reass/sparc64/sparc64/cache.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/cheetah.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/intr_machdep.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/iommu.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/spitfire.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/tlb.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/sun4v/include/atomic.h#2 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/tcp_reass/sys/_types.h#2 integrate .. //depot/projects/tcp_reass/sys/aac_ioctl.h#2 integrate .. //depot/projects/tcp_reass/sys/ata.h#2 integrate .. //depot/projects/tcp_reass/sys/buf.h#2 integrate .. //depot/projects/tcp_reass/sys/bufobj.h#2 integrate .. //depot/projects/tcp_reass/sys/bus.h#2 integrate .. //depot/projects/tcp_reass/sys/bus_dma.h#2 integrate .. //depot/projects/tcp_reass/sys/condvar.h#2 integrate .. //depot/projects/tcp_reass/sys/conf.h#2 integrate .. //depot/projects/tcp_reass/sys/cpuset.h#1 branch .. //depot/projects/tcp_reass/sys/disklabel.h#2 integrate .. //depot/projects/tcp_reass/sys/event.h#2 integrate .. //depot/projects/tcp_reass/sys/eventhandler.h#2 integrate .. //depot/projects/tcp_reass/sys/fcntl.h#2 integrate .. //depot/projects/tcp_reass/sys/interrupt.h#2 integrate .. //depot/projects/tcp_reass/sys/ipc.h#2 integrate .. //depot/projects/tcp_reass/sys/kernel.h#2 integrate .. //depot/projects/tcp_reass/sys/kse.h#2 delete .. //depot/projects/tcp_reass/sys/ktrace.h#2 integrate .. //depot/projects/tcp_reass/sys/lock.h#2 integrate .. //depot/projects/tcp_reass/sys/lockmgr.h#2 integrate .. //depot/projects/tcp_reass/sys/mbuf.h#3 integrate .. //depot/projects/tcp_reass/sys/module.h#2 integrate .. //depot/projects/tcp_reass/sys/mount.h#2 integrate .. //depot/projects/tcp_reass/sys/param.h#3 integrate .. //depot/projects/tcp_reass/sys/pcpu.h#2 integrate .. //depot/projects/tcp_reass/sys/priv.h#2 integrate .. //depot/projects/tcp_reass/sys/proc.h#2 integrate .. //depot/projects/tcp_reass/sys/resourcevar.h#2 integrate .. //depot/projects/tcp_reass/sys/runq.h#2 integrate .. //depot/projects/tcp_reass/sys/rwlock.h#2 integrate .. //depot/projects/tcp_reass/sys/sched.h#2 integrate .. //depot/projects/tcp_reass/sys/shm.h#2 integrate .. //depot/projects/tcp_reass/sys/signal.h#2 integrate .. //depot/projects/tcp_reass/sys/sleepqueue.h#2 integrate .. //depot/projects/tcp_reass/sys/smp.h#2 integrate .. //depot/projects/tcp_reass/sys/socket.h#2 integrate .. //depot/projects/tcp_reass/sys/socketvar.h#2 integrate .. //depot/projects/tcp_reass/sys/syscall.h#2 integrate .. //depot/projects/tcp_reass/sys/syscall.mk#2 integrate .. //depot/projects/tcp_reass/sys/syscallsubr.h#2 integrate .. //depot/projects/tcp_reass/sys/sysctl.h#2 integrate .. //depot/projects/tcp_reass/sys/sysproto.h#2 integrate .. //depot/projects/tcp_reass/sys/systm.h#2 integrate .. //depot/projects/tcp_reass/sys/taskqueue.h#2 integrate .. //depot/projects/tcp_reass/sys/time.h#2 integrate .. //depot/projects/tcp_reass/sys/types.h#2 integrate .. //depot/projects/tcp_reass/sys/user.h#2 integrate .. //depot/projects/tcp_reass/sys/vnode.h#3 integrate .. //depot/projects/tcp_reass/sys/vtoc.h#1 branch .. //depot/projects/tcp_reass/tools/embed_mfs.sh#1 branch .. //depot/projects/tcp_reass/ufs/ffs/ffs_inode.c#2 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/tcp_reass/ufs/ufs/extattr.h#2 integrate .. //depot/projects/tcp_reass/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_fault.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_glue.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_init.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_map.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_map.h#2 integrate .. //depot/projects/tcp_reass/vm/vm_meter.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_mmap.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_object.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_page.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_page.h#2 integrate .. //depot/projects/tcp_reass/vm/vm_pageout.c#2 integrate .. //depot/projects/tcp_reass/vm/vm_pageq.c#2 delete .. //depot/projects/tcp_reass/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/tcp_reass/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.45 2007/07/12 21:04:55 rwatson Exp $ +# $FreeBSD: src/sys/Makefile,v 1.46 2008/01/23 08:50:34 maxim Exp $ .include @@ -8,11 +8,11 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= bsm cam compat conf contrib crypto ddb dev fs geom gnu \ +CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ - netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ - ufs vm ${ARCHDIR} + netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \ + pci rpc security sys ufs vm ${ARCHDIR} ARCHDIR ?= ${MACHINE} ==== //depot/projects/tcp_reass/amd64/acpica/acpi_machdep.c#2 (text+ko) ==== @@ -25,14 +25,18 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.17 2005/09/11 18:39:00 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.18 2008/03/13 20:39:02 jhb Exp $"); #include #include +#include +#include #include #include +#include + static int intr_model = ACPI_INTR_PIC; int >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Mar 22 16:31:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44D9F1065675; Sat, 22 Mar 2008 16:31:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 049D9106566C for ; Sat, 22 Mar 2008 16:31:02 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F00F18FC20 for ; Sat, 22 Mar 2008 16:31:01 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MGV1S5040219 for ; Sat, 22 Mar 2008 16:31:01 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MGV1Y5040217 for perforce@freebsd.org; Sat, 22 Mar 2008 16:31:01 GMT (envelope-from andre@freebsd.org) Date: Sat, 22 Mar 2008 16:31:01 GMT Message-Id: <200803221631.m2MGV1Y5040217@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 138288 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 16:31:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=138288 Change 138288 by andre@andre_flirtbox on 2008/03/22 16:30:22 Simplified FIN handling based on discussion on TCPM mailing list. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#19 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#19 (text+ko) ==== @@ -286,15 +286,29 @@ mcnt += (n->m_flags & M_EXT) ? n->m_ext.ext_size + MSIZE : MSIZE; - tqe = TAILQ_LAST(&tp->t_trq, trq_head); - /* * FIN handling is a bit tricky. - * We only accept a FIN if it matches the right side of the sequence - * space. + * We cannot trust a FIN that goes into the reassembly queue. + * It can be easily spoofed as it may be anywhere in the receive + * window (see RST attack mitigation in tcp-secure). + * For this reason (and complexity avoidance) we generally ignore + * any FIN arriving at the reassembly queue with one exception; + * When it exactly matches rcv_nxt together with any data in the + * same segment we can conclude it to be genuine and proceed with + * flushing any other data waiting in the reassembly queue. + * A FIN is part of the sequence space and will get retransmitted + * if it was genuine. + * This approach is based on a discussion on TCPM mailing list. */ - if (thflags & TH_FIN) { - } + if ((thflags & TH_FIN) && tp->rcv_nxt == th_seq) { + tcp_reass_qfree(tp); + tqe = NULL; + goto insert; + } else + thflags &= ~TH_FIN; + + /* Starting point for the following tests. */ + tqe = TAILQ_LAST(&tp->t_trq, trq_head); /* Check if this segment directly attaches to the end. */ if (tqe && tqe->trq_seq + tqe->trq_len == th_seq) { @@ -525,7 +539,7 @@ return (0); present: /* - * Present data to user, advancing rcv_nxt through + * Present data to user, advancing rcv_nxt through the * completed sequence space. */ KASSERT(!TAILQ_EMPTY(&tp->t_trq), @@ -533,6 +547,7 @@ KASSERT((TAILQ_FIRST(&tp->t_trq))->trq_seq == tp->rcv_nxt, ("%s: first block does not match rcv_nxt", __func__)); tcpstat.tcps_reass_missingseg++; + SOCKBUF_LOCK(&so->so_rcv); TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { KASSERT(SEQ_GEQ(tqe->trq_seq, tp->rcv_nxt), @@ -540,6 +555,7 @@ KASSERT(tqen == NULL || SEQ_LEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq), ("%s: block overlaps into next one", __func__)); + if (tqe->trq_seq != tp->rcv_nxt) break; if (so->so_rcv.sb_state & SBS_CANTRCVMORE) @@ -547,8 +563,6 @@ else sbappendstream_locked(&so->so_rcv, tqe->trq_m); tp->rcv_nxt += tqe->trq_len; - KASSERT(!(thflags & TH_FIN) || tqe == TAILQ_LAST(&tp->t_trq, trq_head), - ("%s: FIN not on last block", __func__)); tp->t_trqmcnt -= tqe->trq_mcnt; tcp_reass_mcnt -= tqe->trq_mcnt; TAILQ_REMOVE(&tp->t_trq, tqe, trq_q); @@ -557,7 +571,7 @@ uma_zfree(tcp_reass_zone, tqe); tcp_reass_qsize--; } - /* NB: sorwakeup_locked() does an implicit socket buffer unlock. */ + /* NB: sorwakeup_locked() does a implicit socket buffer unlock. */ sorwakeup_locked(so); /* From owner-p4-projects@FreeBSD.ORG Sat Mar 22 16:47:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 755891065676; Sat, 22 Mar 2008 16:47:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3456C1065672 for ; Sat, 22 Mar 2008 16:47:19 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2C83C8FC16 for ; Sat, 22 Mar 2008 16:47:19 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MGlJ1j053140 for ; Sat, 22 Mar 2008 16:47:19 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MGlJRA053136 for perforce@freebsd.org; Sat, 22 Mar 2008 16:47:19 GMT (envelope-from andre@freebsd.org) Date: Sat, 22 Mar 2008 16:47:19 GMT Message-Id: <200803221647.m2MGlJRA053136@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 138292 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 16:47:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=138292 Change 138292 by andre@andre_flirtbox on 2008/03/22 16:47:08 Add net.inet.tcp.reass.queue_timeout sysctl to activate timeout based reassembly queue flushing and to specify the multiple based on the current retransmit timeout. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#20 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#20 (text+ko) ==== @@ -129,6 +129,11 @@ &tcp_reass_mcnt, 0, "Global gross memory size of all mbufs currently in Reassembly Queue"); +static int tcp_reass_qtimo = 0; +SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, queue_timeout, CTLFLAG_RW, + &tcp_reass_qtimo, 0, + "Reassembly Queue Timeout in multiples of the Retransmission Timeout"); + static void tcp_reass_merge(struct tcpcb *, struct trq *, struct trq *); uma_zone_t tcp_reass_zone; @@ -526,11 +531,13 @@ ("%s: first element queue not empty", __func__)); TAILQ_INSERT_HEAD(&tp->t_trq, tqen, trq_q); /* - * Flush the reassembly queue after four times the + * Flush the reassembly queue after x times the * current retransmit interval measured from the * arrival time of the first segment. */ - tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); + if (tcp_reass_qtimo) + tcp_timer_activate(tp, TT_REASS, + tp->t_rxtcur * tcp_reass_qtimo); } LIST_INSERT_HEAD(&tp->t_trq_sack, tqen, trq_s); @@ -579,8 +586,9 @@ * the sequence space and if queue is not empty. Otherwise * deactivate it. */ - if (!TAILQ_EMPTY(&tp->t_trq)) - tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); + if (tcp_reass_qtimo && !TAILQ_EMPTY(&tp->t_trq)) + tcp_timer_activate(tp, TT_REASS, + tp->t_rxtcur * tcp_reass_qtimo); else tcp_timer_activate(tp, TT_REASS, 0); From owner-p4-projects@FreeBSD.ORG Sat Mar 22 18:19:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DEFB1065672; Sat, 22 Mar 2008 18:19:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D30A1065680 for ; Sat, 22 Mar 2008 18:19:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B4D68FC20 for ; Sat, 22 Mar 2008 18:19:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MIJsA5091896 for ; Sat, 22 Mar 2008 18:19:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MIJsXd091893 for perforce@freebsd.org; Sat, 22 Mar 2008 18:19:54 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Mar 2008 18:19:54 GMT Message-Id: <200803221819.m2MIJsXd091893@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 18:19:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=138299 Change 138299 by jb@jb_freebsd1 on 2008/03/22 18:19:52 nodevice another USB device from my 'GENERIC'. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/conf/YABBA#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/conf/YABBA#4 (text+ko) ==== @@ -20,6 +20,7 @@ nodevice umass # Disks/Mass storage - Requires scbus and da nodevice ums # Mouse nodevice ural # Ralink Technology RT2500USB wireless NICs +nodevice uslcom nodevice rum # Ralink Technology RT2501USB wireless NICs nodevice urio # Diamond Rio 500 MP3 player nodevice uscanner # Scanners From owner-p4-projects@FreeBSD.ORG Sat Mar 22 18:21:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB3FD106566C; Sat, 22 Mar 2008 18:21:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 604AB106564A for ; Sat, 22 Mar 2008 18:21:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 587E18FC14 for ; Sat, 22 Mar 2008 18:21:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MILvEk093054 for ; Sat, 22 Mar 2008 18:21:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MILvWJ093052 for perforce@freebsd.org; Sat, 22 Mar 2008 18:21:57 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Mar 2008 18:21:57 GMT Message-Id: <200803221821.m2MILvWJ093052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138300 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 18:21:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=138300 Change 138300 by jb@jb_freebsd1 on 2008/03/22 18:21:39 Move the dtrace_gethrtime() functions back into DTrace central. These need to be expanded to be multi-cpu aware so that the time value takes into account skew between processes. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/amd64/tsc.c#6 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#9 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#12 edit .. //depot/projects/dtrace/src/sys/i386/i386/tsc.c#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/amd64/tsc.c#6 (text+ko) ==== @@ -28,7 +28,6 @@ __FBSDID("$FreeBSD: src/sys/amd64/amd64/tsc.c,v 1.208 2007/06/04 18:25:01 dwmalone Exp $"); #include "opt_clock.h" -#include "opt_kdtrace.h" #include #include @@ -45,10 +44,6 @@ #include #include -#ifdef KDTRACE_HOOKS -#include -#endif - #include "cpufreq_if.h" uint64_t tsc_freq; @@ -225,18 +220,3 @@ { return (rdtsc()); } - -#ifdef KDTRACE_HOOKS -/* - * DTrace needs a high resolution time function which can - * be called from a probe context and guaranteed not to have - * instrumented with probes itself. - * - * Returns nanoseconds since boot. - */ -uint64_t -dtrace_gethrtime() -{ - return (rdtsc() * (uint64_t) 1000000000 / tsc_freq); -} -#endif ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#9 (text+ko) ==== @@ -377,6 +377,19 @@ } #endif +/* + * DTrace needs a high resolution time function which can + * be called from a probe context and guaranteed not to have + * instrumented with probes itself. + * + * Returns nanoseconds since boot. + */ +uint64_t +dtrace_gethrtime() +{ + return (rdtsc() * (uint64_t) 1000000000 / tsc_freq); +} + uint64_t dtrace_gethrestime(void) { ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#12 (text+ko) ==== @@ -376,6 +376,19 @@ } #endif +/* + * DTrace needs a high resolution time function which can + * be called from a probe context and guaranteed not to have + * instrumented with probes itself. + * + * Returns nanoseconds since boot. + */ +uint64_t +dtrace_gethrtime() +{ + return (rdtsc() * (uint64_t) 1000000000 / tsc_freq); +} + uint64_t dtrace_gethrestime(void) { ==== //depot/projects/dtrace/src/sys/i386/i386/tsc.c#12 (text+ko) ==== @@ -28,7 +28,6 @@ __FBSDID("$FreeBSD: src/sys/i386/i386/tsc.c,v 1.208 2007/06/04 18:25:06 dwmalone Exp $"); #include "opt_clock.h" -#include "opt_kdtrace.h" #include #include @@ -45,10 +44,6 @@ #include #include -#ifdef KDTRACE_HOOKS -#include -#endif - #include "cpufreq_if.h" uint64_t tsc_freq; @@ -249,18 +244,3 @@ { return (rdtsc()); } - -#ifdef KDTRACE_HOOKS -/* - * DTrace needs a high resolution time function which can - * be called from a probe context and guaranteed not to have - * instrumented with probes itself. - * - * Returns nanoseconds since boot. - */ -uint64_t -dtrace_gethrtime() -{ - return (rdtsc() * (uint64_t) 1000000000 / tsc_freq); -} -#endif From owner-p4-projects@FreeBSD.ORG Sat Mar 22 18:22:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC8391065671; Sat, 22 Mar 2008 18:22:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC39D106564A for ; Sat, 22 Mar 2008 18:22:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A4ACF8FC25 for ; Sat, 22 Mar 2008 18:22:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MIMwcA093159 for ; Sat, 22 Mar 2008 18:22:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MIMwP3093157 for perforce@freebsd.org; Sat, 22 Mar 2008 18:22:58 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Mar 2008 18:22:58 GMT Message-Id: <200803221822.m2MIMwP3093157@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 138302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 18:22:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=138302 Change 138302 by jb@jb_freebsd1 on 2008/03/22 18:22:34 i386 -> amd64 changes. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#3 (text+ko) ==== @@ -41,9 +41,6 @@ extern uintptr_t kernbase; uintptr_t kernelbase = (uintptr_t) &kernbase; -#define INKERNEL(va) (((vm_offset_t)(va)) >= USRSTACK && \ - ((vm_offset_t)(va)) < VM_MAX_KERNEL_ADDRESS) - struct frame { greg_t fr_savfp; /* saved frame pointer */ greg_t fr_savpc; /* saved program counter */ @@ -59,7 +56,7 @@ uint32_t *intrpc) { int depth = 0; - register_t ebp; + register_t rbp; struct amd64_frame *frame; vm_offset_t callpc; pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; @@ -69,11 +66,11 @@ aframes++; - __asm __volatile("movl %%ebp,%0" : "=r" (ebp)); + __asm __volatile("movq %%rbp,%0" : "=r" (rbp)); - frame = (struct amd64_frame *)ebp; + frame = (struct amd64_frame *)rbp; while (depth < pcstack_limit) { - if (!INKERNEL(frame)) + if (!INKERNEL((long) frame)) break; callpc = frame->f_retaddr; @@ -93,7 +90,7 @@ if (frame->f_frame <= frame || (vm_offset_t)frame->f_frame >= - (vm_offset_t)ebp + KSTACK_PAGES * PAGE_SIZE) + (vm_offset_t)rbp + KSTACK_PAGES * PAGE_SIZE) break; frame = frame->f_frame; } From owner-p4-projects@FreeBSD.ORG Sat Mar 22 19:29:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2209F1065681; Sat, 22 Mar 2008 19:29:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4AFE106567D for ; Sat, 22 Mar 2008 19:29:06 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CBE5F8FC1B for ; Sat, 22 Mar 2008 19:29:06 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2MJT6bI017939 for ; Sat, 22 Mar 2008 19:29:06 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2MJT6cB017937 for perforce@freebsd.org; Sat, 22 Mar 2008 19:29:06 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 22 Mar 2008 19:29:06 GMT Message-Id: <200803221929.m2MJT6cB017937@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 138303 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2008 19:29:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=138303 Change 138303 by pgj@disznohal on 2008/03/22 19:28:10 Add initial Hungarian translation of Chapter 24: Serial Communications. Raw translation of Part IV is now completed, so the whole handbook is translated. Some MFen and corrections still needed, but I think it is a milestone in our efforts to have a Hungarian FreeBSD Handbook. Thank you for having my submits, and good night! Affected files ... .. //depot/projects/docproj_hu/books/handbook/serialcomms/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/serialcomms/chapter.sgml#3 (text+ko) ==== @@ -4,58 +4,83 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.120 2007/12/28 11:11:43 remko Exp $ --> + + - Serial Communications + Soros vonali kommunikáció - Synopsis + Áttekintés + + soros + kommunikáció + + A &unix; mindig is támogatta a soros vonali + kommunikációt. Tulajdonképpen az elsõ + &unix;-os gépek is soros vonalon kapták a + felhasználóktól a bemenetet és + ugyanígy küldték vissza a kimenetet. Sokat + változtak már az idõk azóta, hogy egy + átlagos terminál mindössze egy + 10 karakter per másodperc sebességû soros + nyomtatóból és egy billentyûzetbõl + állt. Ebben a fejezetben ismertetünk + néhány olyan megoldást, amivel a &os; + képes soros vonalon keresztül + kommunikálni. - serial communications - &unix; has always had support for serial communications. In fact, - the very first &unix; machines relied on serial lines for user input - and output. Things have changed a lot from the days when the average - terminal consisted of a 10-character-per-second serial - printer and a keyboard. This chapter will cover some of the ways in - which FreeBSD uses serial communications. + A fejezet elolvasása során + megismerjük: - After reading this chapter, you will know: - How to connect terminals to your FreeBSD - system. - How to use a modem to dial out to remote - hosts. - How to allow remote users to login to your - system with a modem. - How to boot your system from a serial - console. + hogyan kapcsoljunk terminálokat a &os; + rendszerünkre + hogyan tárcsázzunk modem + segítségével távoli + számítógépeket + hogyan tegyük lehetõvé + gépünkre a bejelentkezést távoli + felhasználók + számára + hogyan indítsuk a rendszerünket soros + konzolról - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: + - Know how to configure and install a new kernel (egy új rendszermag + beállításának és + telepítésének ismerete (). - Understand &unix; permissions and processes (). - Have access to the technical manual for the - serial hardware (modem or multi-port card) that you would like - to use with FreeBSD. + a &unix;-os engedélyek és a benne + futtatott programok mûködtetésének + megértése (). + annak a soros vonali hardver (modem vagy + többportos kártya) kézikönyve, amit a + &os;-vel használni szeretnénk + - Introduction - - + Bevezetés - Terminology + Alapfogalmak - bits-per-second + bit per + másodperc + bps - Bits per Second — the rate at which data is - transmitted + Bit per másodperc — az adatátvitel + sebessége @@ -63,8 +88,9 @@ DTE DTE - Data Terminal Equipment — for example, your - computer + Adatterminál eszköz (Data Terminal + Equipment) — ez például a + számítógépünk @@ -72,76 +98,109 @@ DCE DCE - Data Communications Equipment — your modem + Adatkommunikációs eszköz (Data + Communications Equipment) — ez a modem RS-232 - RS-232C cables + RS-232C kábel - EIA standard for hardware serial communications + a hardveres soros vonali kommunikációhoz + szükséges EIA szabványú + kábel - When talking about communications data rates, this section - does not use the term baud. Baud refers to the - number of electrical state transitions that may be made in a - period of time, while bps (bits per second) is - the correct term to use (at least it does not - seem to bother the curmudgeons quite as much). + Amikor ebben a fejezetben az adatátvitel + sebességérõl beszélünk, akkor + szándékosan nem használjuk a + baud fogalmát. A baud ugyanis a + kommunikációs eszközben adott idõ alatt + lezajló jelváltások + mennyiségét jelöli, miközben itt a + bps (bit per másodperc) kifejezés + használata a helyes (vagy + legalább is a szõrszálhasogatók + egyelõre megnyugodhatnak). + - Cables and Ports + Kábelek és portok - To connect a modem or terminal to your FreeBSD system, you - will need a serial port on your computer and the proper cable to connect - to your serial device. If you are already familiar with your - hardware and the cable it requires, you can safely skip this - section. + Ha a &os; rendszerünkhöz egy modemet vagy egy + terminált akarunk csatlakoztatni, akkor ahhoz a + számítógépünkben + szükség lesz egy szabad soros portra és egy + megfelelõ típusú kábelre. Ha + már tisztában vagyunk a rendelkezésre + álló hardverrel és a + hozzátartozó kábellel, akkor nyugodtan + átléphetjük ezt a részt. - Cables + A kábelek fajtái - There are several different kinds of serial cables. The - two most common types for our purposes are null-modem cables - and standard (straight) RS-232 cables. The documentation - for your hardware should describe the type of cable - required. + A soros kábeleknek több + különbözõ típusa van. + Közülük a céljainkhoz leginkább + illesztedõ két legismertebb változatuk az + ún. null-modem és a szabványos + (egyenes) RS-232-es soros kábelek. A + hardverhez tartozó dokumentációban + megtaláljuk, hogy pontosan melyik típus tartozik + hozzá. - Null-modem Cables + A null-modem kábelek + + null-modem + kábel - - null-modem cable - - A null-modem cable passes some signals, such as Signal - Ground, straight through, but switches other signals. For - example, the Transmitted Data pin on one end goes to the - Received Data pin on the other end. + Egy null-modem kábel bizonyos jeleket, + többek közt a földet (Signal + Ground, SG), egyenesen küldi, másokat viszont + felcserélten. Például az + átküldött adat (Transmitted + Data, TD) jelzésû tû a kábel + másik végen a fogadott adat + (Received Data, RD) tûhöz fut be. - You can also construct your own null-modem cable for use with - terminals (e.g., for quality purposes). This table shows the RS-232C - signals and the pin - numbers on a DB-25 connector. Note that the standard also calls for a - straight-through pin 1 to pin 1 Protective Ground - line, but it is often omitted. Some terminals work OK using only - pins 2, 3 and 7, while others require different configurations than - the examples shown below. + A terminálokhoz akár saját magunk + is le tudunk gyártani egy null-modem kábelt (pl. + ha a boltiakkal nem vagyunk megelégedve). A + következõ táblázatban az RS-232C + jeleit + és érintkezõinek + számozását láthatjuk egy + DB-25-ös csatlakozó esetében. + Vegyük észre, hogy a szabvány a + kábel két 1-es tûjét + összekapcsoló vonalat + védõföldnek + (Protective Ground, PD) nevezi, de ezt gyakran el is + hagyják. Némely terminál remekül + mûködik mindössze a 2-es, 3-as és 7-es + tûk használatával, miközben + mások az iménti példától + eltérõ kiosztást + igényelnek. - DB-25 to DB-25 Null-Modem Cable + DB-25 DB-25 közti null-modem + kábel - Signal - Pin # + Jel + - Pin # - Signal + + Jel @@ -149,7 +208,7 @@ SG 7 - connects to + párja: 7 SG @@ -157,7 +216,7 @@ TD 2 - connects to + párja: 3 RD @@ -165,7 +224,7 @@ RD 3 - connects to + párja: 2 TD @@ -173,7 +232,7 @@ RTS 4 - connects to + párja: 5 CTS @@ -181,7 +240,7 @@ CTS 5 - connects to + párja: 4 RTS @@ -189,7 +248,7 @@ DTR 20 - connects to + párja: 6 DSR @@ -197,7 +256,7 @@ DTR 20 - connects to + párja: 8 DCD @@ -205,7 +264,7 @@ DSR 6 - connects to + párja: 20 DTR @@ -213,7 +272,7 @@ DCD 8 - connects to + párja: 20 DTR @@ -221,19 +280,20 @@
- Here are two other schemes more common nowadays. + Íme a mostanság elterjedt másik + két séma. - DB-9 to DB-9 Null-Modem Cable + DB-9 DB-9 null-modem kábel - Signal - Pin # + Jel + - Pin # - Signal + + Jel @@ -241,7 +301,7 @@ RD 2 - connects to + párja: 3 TD @@ -249,7 +309,7 @@ TD 3 - connects to + párja: 2 RD @@ -257,7 +317,7 @@ DTR 4 - connects to + párja: 6 DSR @@ -265,7 +325,7 @@ DTR 4 - connects to + párja: 1 DCD @@ -273,7 +333,7 @@ SG 5 - connects to + párja: 5 SG @@ -281,7 +341,7 @@ DSR 6 - connects to + párja: 4 DTR @@ -289,7 +349,7 @@ DCD 1 - connects to + párja: 4 DTR @@ -297,7 +357,7 @@ RTS 7 - connects to + párja: 8 CTS @@ -305,7 +365,7 @@ CTS 8 - connects to + párja: 7 RTS @@ -314,16 +374,16 @@
- DB-9 to DB-25 Null-Modem Cable + DB-9 DB-25 null-modem kábel - Signal - Pin # + Jel + - Pin # - Signal + + Jel @@ -331,7 +391,7 @@ RD 2 - connects to + párja: 2 TD @@ -339,7 +399,7 @@ TD 3 - connects to + párja: 3 RD @@ -347,7 +407,7 @@ DTR 4 - connects to + párja: 6 DSR @@ -355,7 +415,7 @@ DTR 4 - connects to + párja: 8 DCD @@ -363,7 +423,7 @@ SG 5 - connects to + párja: 7 SG @@ -371,7 +431,7 @@ DSR 6 - connects to + párja: 20 DTR @@ -379,7 +439,7 @@ DCD 1 - connects to + párja: 20 DTR @@ -387,7 +447,7 @@ RTS 7 - connects to + párja: 5 CTS @@ -395,7 +455,7 @@ CTS 8 - connects to + párja: 4 RTS @@ -404,127 +464,185 @@
- When one pin at one end connects to a pair of pins - at the other end, it is usually implemented with one short - wire between the pair of pins in their connector and a - long wire to the other single pin. + Amikor egy tû az átellenes oldalon + két másik tûhöz csatlakozik, akkor + azt általában úgy + valósítják meg, hogy a két + tût a saját oldalukon összekötik, + majd ezt hozzákapcsolják a harmadik + tûhöz. - The above designs seems to be the most popular. In another - variation (explained in the book RS-232 Made - Easy) SG connects to SG, TD connects to RD, RTS and - CTS connect to DCD, DTR connects to DSR, and vice-versa. + Ezek a megoldások a legnépszerûbbek. + Természetesen a tûk + összekötésének több más + variációja is létezik (amirõl az + RS-232 Made Easy c. könyvben + olvashatunk bõvebben), ahol az SG párja az SG, a + TD párja az RD, a RTS és a CTS párja az + DCD, a DTR párja a DSR és ugyanezek + fordítva. +
- Standard RS-232C Cables - RS-232C cables + Szabványos RS-232C kábelek + + RS-232C kábel + + A szabványos soros kábel az összes + RS-232C jelet közvetlenül átküldi. + Vagyis a kábel egyik végén levõ + átküldött adat tû a + másik végén is az + átküldött adat + tûhöz csatlakozik. Az ilyen típusú + kábeleket többnyire a + számítógépek és a modemek + között alkalmazzák, de egyes + terminál esetében is kellhet. - A standard serial cable passes all of the RS-232C signals - straight through. That is, the Transmitted Data pin on one - end of the cable goes to the Transmitted Data pin on the - other end. This is the type of cable to use to connect a modem to your - FreeBSD system, and is also appropriate for some - terminals.
- Ports + A portok - Serial ports are the devices through which data is transferred - between the FreeBSD host computer and the terminal. This section - describes the kinds of ports that exist and how they are addressed - in FreeBSD. + A soros port olyan eszköz, amiken keresztül a + &os;-s gép és a terminál között + adatokat tudunk közvetíteni. Ebben a szakaszban + az ilyen portok különféle típusait + és ezek használatát ismertetjük &os; + alatt. - Kinds of Ports + A portok típusai + + A soros portoknak több típusa + létezik. Mielõtt vásárolnánk + egy készítenénk egy soros + kábelt, mindenképpen gyõzödjünk + meg róla, hogy csatlakoztatni tudjuk-e a &os;-s + rendszerünkhöz és a + terminálhoz. - Several kinds of serial ports exist. Before you purchase or - construct a cable, you need to make sure it will fit the ports on - your terminal and on the FreeBSD system. + A legtöbb terminálon DB-25-ös portot + találunk. A személyi + számítógépek, köztük + azok, amelyeken &os; fut, DB-25-ös és DB-9es + portokkal rendelkeznek. Ha a gépünkben egy + többportos soros kártya van, akkor rajtuk + kívül még RJ-12-es és + RJ-45-ös portjaink is lehetnek. - Most terminals will have DB-25 ports. Personal computers, - including PCs running FreeBSD, will have DB-25 or DB-9 ports. If you - have a multiport serial card for your PC, you may have RJ-12 or - RJ-45 ports. + A hardverhez tartozó + dokumentációból tudjuk kideríteni + az adott port konkrét fajtáját, de + gyakran a port vizuális vizsgálata is + segíthet eldönteni a + kérdést. - See the documentation that accompanied the hardware for - specifications on the kind of port in use. A visual inspection of - the port often works too. - Port Names + A portok nevei - In FreeBSD, you access each serial port through an entry in - the /dev directory. There are two different - kinds of entries: + &os; alatt az egyes soros portokat a + /dev könyvtárban + található eszközleírókon + keresztül tudjuk elérni. Ezeknek két + típusa van: - Call-in ports are named + A behíváshoz használt portok + nevei /dev/ttydN - where N is the port number, - starting from zero. Generally, you use the call-in port for - terminals. Call-in ports require that the serial line assert - the data carrier detect (DCD) signal to work correctly. + alakúak, ahol az N a + port sorszáma, ami nullától indul. + A behívó portok alapvetõen a + terminál esetében használatosak. A + behívó portok használatához + a soros vonalon az vonal + észlelése (Data Carrier Detect, + DCD) jelnek kell megbízhatóan + mûködnie. - Call-out ports are named - /dev/cuadN. - You usually do not use the call-out port for terminals, just - for modems. You may use the call-out port if the serial cable - or the terminal does not support the carrier detect - signal. + A híváshoz használt portok + nevei + /dev/cuadN + alakúak. A hívó portokat + terminálok esetében ritkán + alkalmazzák, helyettük inkább csak + modemekhez. A hívó portokat akkor + érdemes használni, ha a soros kábel + vagy a terminál nem ismeri a DCD jelet. - Call-out ports are named - /dev/cuaaN in - &os; 5.X and older. + + A &os; 5.X és korábbi + változataiban a hívó portok neve + /dev/cuaaN + formátumú. + - If you have connected a terminal to the first serial port - (COM1 in &ms-dos;), then you will - use /dev/ttyd0 to refer to the terminal. If - the terminal is on the second serial port (also known as - COM2), use - /dev/ttyd1, and so forth. + Ha a terminált az elsõ soros portra (ami + &ms-dos;-ban a COM1) csatlakoztattuk, + akkor a /dev/ttyd0 + segítségével fogunk rá + hivatkozni. Ha viszont a második soros porton + (más néven a + COM2-ön) + található, akkor a + /dev/ttyd1 eszközt + használjuk, és így + tovább.
- Kernel Configuration + A rendszermag beállítása - FreeBSD supports four serial ports by default. In the - &ms-dos; world, these are known as - COM1, - COM2, - COM3, and - COM4. FreeBSD currently supports - dumb multiport serial interface cards, such as - the BocaBoard 1008 and 2016, as well as more - intelligent multi-port cards such as those made by Digiboard - and Stallion Technologies. However, the default kernel only looks - for the standard COM ports. + A &os; alapból négy soros portot + támogat. Az &ms-dos; világban ezeket rendre + COM1, COM2, + COM3 és + COM4 portoknak nevezik. A &os; jelen + pillanatban ismeri még a butább + többportos soros csatolókártyákat is, + például a BocaBoard 1008 és 2016 + típusokat, valamint több intelligensebb + többportos kártyát, mondjuk a Digiboard + és a Stallion Technologies gyártmányait. + Azonban az alap rendszermag csak a szabványos COM + portokat keresi. - To see if your kernel recognizes any of your serial ports, watch - for messages while the kernel is booting, or use the - /sbin/dmesg command to replay the kernel's boot - messages. In particular, look for messages that start with the - characters sio. + Ha ellenõrizni akarjuk, hogy a rendszermag rendben + megtalálta a soros portokat, akkor figyelmesen olvassuk + el a rendszerindítás során megjelenõ + üzeneteket, vagy az /sbin/dmesg parancs + kiadásával játsszuk vissza a rendszermag + üzeneteit. Különösen a + sio kezdetû sorokra kell + figyelnünk. - To view just the messages that have the word - sio, use the command: + + Az alábbi paranccsal tudjuk leszûrni a + sio szövegrészt + tartalmazó sorokat: - &prompt.root; /sbin/dmesg | grep 'sio' + &prompt.root; /sbin/dmesg | grep 'sio' - For example, on a system with four serial ports, these are the - serial-port specific kernel boot messages: + Például ha négy soros port + található a rendszerünkben, akkor a + rájuk vonatkozó rendszerüzenetek a + következõk lesznek: sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A @@ -535,116 +653,174 @@ sio3 at 0x2e8-0x2ef irq 9 on isa sio3: type 16550A - If your kernel does not recognize all of your serial - ports, you will probably need to configure your kernel - in the /boot/device.hints file. You can - also comment-out or completely remove lines for devices you do not - have. + Ha a rendszermagunk nem ismerte volna fel az összes + soros portot, akkor valószínûleg a + /boot/device.hints állományt + kell módosítanunk. Tegyük + megjegyzésbe vagy akár teljesen + távolítsuk is el azokat az eszközöket, + amikkel nem rendelkezünk. - Please refer to the &man.sio.4; manual page for - more information on serial ports and multiport boards configuration. - Be careful if you are using a configuration - file that was previously used for a different version of - FreeBSD because the device flags and the syntax have changed between - versions. + A soros portok és a többportos + kártyák beállításával + kapcsolatban a &man.sio.4; man oldalát olvassuk el. + Óvatosan bánjunk a &os; megelõzõ + változataiból származó + konfigurációs állományokkal, mert az + eszközök vonatkozó + beállításokat és azok + formátuma megváltozhatott azóta. - port IO_COM1 is a substitution for - port 0x3f8, IO_COM2 is - 0x2f8, IO_COM3 is - 0x3e8, and IO_COM4 is - 0x2e8, which are fairly common port addresses for - their respective serial ports; interrupts 4, 3, 5, and 9 are fairly - common interrupt request lines. Also note that regular serial ports - cannot share interrupts on ISA-bus PCs - (multiport boards have on-board electronics that allow all the - 16550A's on the board to share one or two interrupt request - lines). + Az port IO_COM1 a port + 0x3f8, az IO_COM2 a + 0x2f8, az IO_COM3 a + 0x3e8 és az + IO_COM4 a 0x2e8 + beállítást helyettesíti. Ezek az + adott porthoz tartozó gyakori címeket + képviselik. A 4-es, 3-as, 5-ös és 9 + megszakítások is igen általánosak + ezeknél. Azonban szeretnénk hozzátenni, + hogy a hagyományos soros portok az ISA buszos PC-ken + nem képesek a + megszakításokon osztozni. (A többportos + kártyák azonban lehetõvé teszik az + összes 16550A számára, hogy mindössze + egy vagy két megszakítást + használjon.) - Device Special Files + Speciális + eszközállományok + + A rendszermagban található legtöbb + eszköz az ún. speciális + eszközállományokon keresztül + érhetõ el, melyek a /dev + könyvtárban találhatóak. A + sio eszközök a + /dev/ttydN + (behívó portok) és + /dev/cuadN + (hívó portok) állományok + használatával érhetõek el. A &os; + ezenkívül még külön + eszközállományokat biztosít az + inicializációhoz + (/dev/ttydN.init + és + /dev/cuadN.init + a &os; 6.X változata alatt, + /dev/ttyidN + és + /dev/cuaiaN a + &os; 5.X változata esetén) és a + zároláshoz + (/dev/ttydN.lock + és + /dev/cuadN.lock + &os; 6.X alatt, + /dev/ttyldN + és + /dev/cualaN + &os; 5.X alatt) Az inicializációs + állományokat a port megnyitásakor + használhatóak a hozzátartozó + paraméterek beállítására, + például így tudjuk elküldeni a + crtscts utasítást az olyan + modemeknek, amelyek a forgalom + irányítását + RTS/CTS jelezéssel + valósítják meg. A zároló + állományokkal a portokra vonatkozó + zárolásokat állíthatjuk be, + így a felhasználók vagy a programok nem + lesznek képesek bizonyos paraméterek + megváltoztatni. A &man.termios.4;, &man.sio.4; és + &man.stty.1; man oldalakon olvashatunk részletesebben a + terminálok beállításairól, + valamint az eszközök + zárolásáról és + inicializálásáról. - Most devices in the kernel are accessed through device - special files, which are located in the - /dev directory. The sio - devices are accessed through the - /dev/ttydN (dial-in) - and /dev/cuadN - (call-out) devices. FreeBSD also provides initialization devices - (/dev/ttydN.init and - /dev/cuadN.init on - &os; 6.X, - /dev/ttyidN and - /dev/cuaiaN on - &os; 5.X) and - locking devices - (/dev/ttydN.lock and - /dev/cuadN.lock on - &os; 6.X, - /dev/ttyldN and - /dev/cualaN on - &os; 5.X). The - initialization devices are used to initialize communications port - parameters each time a port is opened, such as - crtscts for modems which use - RTS/CTS signaling for flow control. The locking - devices are used to lock flags on ports to prevent users or programs - changing certain parameters; see the manual pages &man.termios.4;, >>> TRUNCATED FOR MAIL (1000 lines) <<<