From owner-svn-src-projects@FreeBSD.ORG Sun Jan 6 01:01:58 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 64ADF9CA; Sun, 6 Jan 2013 01:01:58 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 35F1CCED; Sun, 6 Jan 2013 01:01:58 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0611wmP034105; Sun, 6 Jan 2013 01:01:58 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0611wQ6034103; Sun, 6 Jan 2013 01:01:58 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301060101.r0611wQ6034103@svn.freebsd.org> From: Neel Natu Date: Sun, 6 Jan 2013 01:01:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245085 - projects/x2apic X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:01:58 -0000 Author: neel Date: Sun Jan 6 01:01:57 2013 New Revision: 245085 URL: http://svnweb.freebsd.org/changeset/base/245085 Log: Create projects branch for x2apic changes. Added: - copied from r245084, head/ Directory Properties: projects/x2apic/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Sun Jan 6 04:58:49 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 35838E2C; Sun, 6 Jan 2013 04:58:49 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 22BDF21B; Sun, 6 Jan 2013 04:58:49 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r064wnsg004376; Sun, 6 Jan 2013 04:58:49 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r064wmKb004372; Sun, 6 Jan 2013 04:58:48 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301060458.r064wmKb004372@svn.freebsd.org> From: Neel Natu Date: Sun, 6 Jan 2013 04:58:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245099 - in projects/x2apic/sys: amd64/amd64 amd64/include x86/x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 04:58:49 -0000 Author: neel Date: Sun Jan 6 04:58:47 2013 New Revision: 245099 URL: http://svnweb.freebsd.org/changeset/base/245099 Log: Add support for x2apic mode of accessing the local apic. The default setting is to enable the x2apic only if executing inside a virtual machine. However this may be controlled by using the 'machdep.x2apic_desired' tunable. The sysctl 'machdep.x2apic' can be inspected to determine whether or not the kernel has selected x2apic mode. Obtained from: NetApp (by way of projects/bhyve) Modified: projects/x2apic/sys/amd64/amd64/apic_vector.S projects/x2apic/sys/amd64/amd64/mp_machdep.c projects/x2apic/sys/amd64/include/apicvar.h projects/x2apic/sys/x86/x86/local_apic.c Modified: projects/x2apic/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/x2apic/sys/amd64/amd64/apic_vector.S Sun Jan 6 04:40:07 2013 (r245098) +++ projects/x2apic/sys/amd64/amd64/apic_vector.S Sun Jan 6 04:58:47 2013 (r245099) @@ -57,8 +57,15 @@ IDTVEC(vec_name) ; \ PUSH_FRAME ; \ FAKE_MCOUNT(TF_RIP(%rsp)) ; \ movq lapic, %rdx ; /* pointer to local APIC */ \ + testq %rdx, %rdx; \ + jnz 3f; \ + movl $MSR_APIC_ISR ## index, %ecx; \ + rdmsr; \ + jmp 4f; \ +3: ; \ movl LA_ISR + 16 * (index)(%rdx), %eax ; /* load ISR */ \ - bsrl %eax, %eax ; /* index of highest set bit in ISR */ \ +4: ; \ + bsrl %eax, %eax ; /* index of highset set bit in ISR */ \ jz 1f ; \ addl $(32 * index),%eax ; \ movq %rsp, %rsi ; \ @@ -129,6 +136,26 @@ IDTVEC(errorint) jmp doreti #ifdef SMP + +/* + * We assume that %rax is being saved/restored outside of this macro + */ +#define DO_EOI \ + movq lapic, %rax; \ + testq %rax, %rax; \ + jz 8f; \ + movl $0, LA_EOI(%rax); \ + jmp 9f; \ +8:; \ + pushq %rcx; \ + pushq %rdx; \ + xorl %edx, %edx; /* eax is already zero */ \ + movl $MSR_APIC_EOI, %ecx; \ + wrmsr; \ + popq %rdx; \ + popq %rcx; \ +9: + /* * Global address space TLB shootdown. */ @@ -153,8 +180,7 @@ IDTVEC(invltlb) movq %cr3, %rax /* invalidate the TLB */ movq %rax, %cr3 - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI lock incl smp_tlb_wait @@ -186,8 +212,7 @@ IDTVEC(invlpg) movq smp_tlb_addr1, %rax invlpg (%rax) /* invalidate single page */ - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI lock incl smp_tlb_wait @@ -224,8 +249,7 @@ IDTVEC(invlrng) cmpq %rax, %rdx jb 1b - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI lock incl smp_tlb_wait @@ -252,8 +276,7 @@ IDTVEC(invlcache) wbinvd - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI lock incl smp_tlb_wait @@ -269,9 +292,8 @@ IDTVEC(invlcache) IDTVEC(ipi_intr_bitmap_handler) PUSH_FRAME - movq lapic, %rdx - movl $0, LA_EOI(%rdx) /* End Of Interrupt to APIC */ - + DO_EOI + FAKE_MCOUNT(TF_RIP(%rsp)) call ipi_bitmap_handler @@ -286,8 +308,7 @@ IDTVEC(ipi_intr_bitmap_handler) IDTVEC(cpustop) PUSH_FRAME - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI call cpustop_handler jmp doreti @@ -301,8 +322,7 @@ IDTVEC(cpususpend) PUSH_FRAME call cpususpend_handler - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI jmp doreti /* @@ -320,7 +340,6 @@ IDTVEC(rendezvous) incq (%rax) #endif call smp_rendezvous_action - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ + DO_EOI jmp doreti #endif /* SMP */ Modified: projects/x2apic/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/x2apic/sys/amd64/amd64/mp_machdep.c Sun Jan 6 04:40:07 2013 (r245098) +++ projects/x2apic/sys/amd64/amd64/mp_machdep.c Sun Jan 6 04:58:47 2013 (r245099) @@ -688,6 +688,8 @@ init_secondary(void) wrmsr(MSR_STAR, msr); wrmsr(MSR_SF_MASK, PSL_NT|PSL_T|PSL_I|PSL_C|PSL_D); + lapic_init_ap(); + /* Disable local APIC just to be sure. */ lapic_disable(); Modified: projects/x2apic/sys/amd64/include/apicvar.h ============================================================================== --- projects/x2apic/sys/amd64/include/apicvar.h Sun Jan 6 04:40:07 2013 (r245098) +++ projects/x2apic/sys/amd64/include/apicvar.h Sun Jan 6 04:58:47 2013 (r245099) @@ -209,6 +209,7 @@ int lapic_enable_pmc(void); void lapic_eoi(void); int lapic_id(void); void lapic_init(vm_paddr_t addr); +void lapic_init_ap(void); int lapic_intr_pending(u_int vector); void lapic_ipi_raw(register_t icrlo, u_int dest); void lapic_ipi_vectored(u_int vector, int dest); Modified: projects/x2apic/sys/x86/x86/local_apic.c ============================================================================== --- projects/x2apic/sys/x86/x86/local_apic.c Sun Jan 6 04:40:07 2013 (r245098) +++ projects/x2apic/sys/x86/x86/local_apic.c Sun Jan 6 04:58:47 2013 (r245099) @@ -50,12 +50,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -159,6 +161,15 @@ vm_paddr_t lapic_paddr; static u_long lapic_timer_divisor; static struct eventtimer lapic_et; +static int x2apic; +SYSCTL_INT(_machdep, OID_AUTO, x2apic, CTLFLAG_RD, &x2apic, 0, "x2apic mode"); + +static int x2apic_desired = -1; /* enable only if running in a VM */ +TUNABLE_INT("machdep.x2apic_desired", &x2apic_desired); +SYSCTL_INT(_machdep, OID_AUTO, x2apic_desired, CTLFLAG_RDTUN, + &x2apic_desired, 0, + "0 (disable), 1 (enable), -1 (leave it up to the kernel)"); + static void lapic_enable(void); static void lapic_resume(struct pic *pic); static void lapic_timer_oneshot(struct lapic *, @@ -171,6 +182,37 @@ static uint32_t lvt_mode(struct lapic *l static int lapic_et_start(struct eventtimer *et, struct bintime *first, struct bintime *period); static int lapic_et_stop(struct eventtimer *et); +static uint32_t lapic_version(void); +static uint32_t lapic_ldr(void); +static uint32_t lapic_dfr(void); +static uint32_t lapic_lvt_lint0(void); +static void lapic_set_lvt_lint0(uint32_t value); +static uint32_t lapic_lvt_lint1(void); +static void lapic_set_lvt_lint1(uint32_t value); +static uint32_t lapic_tpr(void); +static uint32_t lapic_svr(void); +static void lapic_set_svr(uint32_t value); +static uint32_t lapic_lvt_timer(void); +static void lapic_set_lvt_timer(uint32_t value); +static uint32_t lapic_lvt_thermal(void); +static uint32_t lapic_lvt_error(void); +static void lapic_set_lvt_error(uint32_t value); +static uint32_t lapic_lvt_pcint(void); +static void lapic_set_lvt_pcint(uint32_t value); +static uint32_t lapic_lvt_cmci(void); +static void lapic_set_lvt_cmci(uint32_t value); +static uint32_t lapic_esr(void); +static void lapic_set_esr(uint32_t value); +static uint32_t lapic_ccr_timer(void); +static void lapic_set_dcr_timer(uint32_t value); +static void lapic_set_icr_timer(uint32_t value); +uint32_t lapic_irr(int num); +uint32_t lapic_tmr(int num); +uint32_t lapic_isr(int num); +static uint32_t lapic_icr_lo(void); +static uint32_t lapic_icr_hi(void); +static void lapic_set_icr(uint64_t value); +static boolean_t lapic_missing(void); struct pic lapic_pic = { .pic_resume = lapic_resume }; @@ -215,6 +257,17 @@ lvt_mode(struct lapic *la, u_int pin, ui return (value); } +static void +x2apic_init(void) +{ + uint64_t apic_base; + + apic_base = rdmsr(MSR_APICBASE); + + if ((apic_base & APICBASE_X2APIC) == 0) + wrmsr(MSR_APICBASE, apic_base | APICBASE_X2APIC); +} + /* * Map the local APIC and setup necessary interrupt vectors. */ @@ -224,11 +277,29 @@ lapic_init(vm_paddr_t addr) u_int regs[4]; int i, arat; - /* Map the local APIC and setup the spurious interrupt handler. */ - KASSERT(trunc_page(addr) == addr, - ("local APIC not aligned on a page boundary")); - lapic = pmap_mapdev(addr, sizeof(lapic_t)); - lapic_paddr = addr; + if ((cpu_feature2 & CPUID2_X2APIC) != 0) { + if (rdmsr(MSR_APICBASE) & APICBASE_X2APIC) + x2apic = 1; + else if (x2apic_desired != 0) { + /* + * The default behavior is to enable x2apic only if + * the kernel is executing inside a virtual machine. + */ + if (vm_guest != VM_GUEST_NO || x2apic_desired == 1) + x2apic = 1; + } + } + + if (x2apic) { + x2apic_init(); + if (bootverbose) + printf("Local APIC access using x2APIC MSRs\n"); + } else { + KASSERT(trunc_page(addr) == addr, + ("local APIC not aligned on a page boundary")); + lapic = pmap_mapdev(addr, sizeof(lapic_t)); + lapic_paddr = addr; + } setidt(APIC_SPURIOUS_INT, IDTVEC(spuriousint), SDT_APIC, SEL_KPL, GSEL_APIC); @@ -279,6 +350,14 @@ lapic_init(vm_paddr_t addr) } } +void +lapic_init_ap(void) +{ + + if (x2apic) + x2apic_init(); +} + /* * Create a local APIC instance. */ @@ -330,19 +409,19 @@ lapic_dump(const char* str) { uint32_t maxlvt; - maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; printf("cpu%d %s:\n", PCPU_GET(cpuid), str); printf(" ID: 0x%08x VER: 0x%08x LDR: 0x%08x DFR: 0x%08x\n", - lapic->id, lapic->version, lapic->ldr, lapic->dfr); + lapic_id(), lapic_version(), lapic_ldr(), lapic_dfr()); printf(" lint0: 0x%08x lint1: 0x%08x TPR: 0x%08x SVR: 0x%08x\n", - lapic->lvt_lint0, lapic->lvt_lint1, lapic->tpr, lapic->svr); + lapic_lvt_lint0(), lapic_lvt_lint1(), lapic_tpr(), lapic_svr()); printf(" timer: 0x%08x therm: 0x%08x err: 0x%08x", - lapic->lvt_timer, lapic->lvt_thermal, lapic->lvt_error); + lapic_lvt_timer(), lapic_lvt_thermal(), lapic_lvt_error()); if (maxlvt >= LVT_PMC) - printf(" pmc: 0x%08x", lapic->lvt_pcint); + printf(" pmc: 0x%08x", lapic_lvt_pcint()); printf("\n"); if (maxlvt >= LVT_CMCI) - printf(" cmci: 0x%08x\n", lapic->lvt_cmci); + printf(" cmci: 0x%08x\n", lapic_lvt_cmci()); } void @@ -356,7 +435,7 @@ lapic_setup(int boot) la = &lapics[lapic_id()]; KASSERT(la->la_present, ("missing APIC structure")); saveintr = intr_disable(); - maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; /* Initialize the TPR to allow all interrupts. */ lapic_set_tpr(0); @@ -365,16 +444,16 @@ lapic_setup(int boot) lapic_enable(); /* Program LINT[01] LVT entries. */ - lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0); - lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1); + lapic_set_lvt_lint0(lvt_mode(la, LVT_LINT0, lapic_lvt_lint0())); + lapic_set_lvt_lint1(lvt_mode(la, LVT_LINT1, lapic_lvt_lint1())); /* Program the PMC LVT entry if present. */ if (maxlvt >= LVT_PMC) - lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); + lapic_set_lvt_pcint(lvt_mode(la, LVT_PMC, lapic_lvt_pcint())); /* Program timer LVT and setup handler. */ - la->lvt_timer_cache = lapic->lvt_timer = - lvt_mode(la, LVT_TIMER, lapic->lvt_timer); + la->lvt_timer_cache = lvt_mode(la, LVT_TIMER, lapic_lvt_timer()); + lapic_set_lvt_timer(la->lvt_timer_cache); if (boot) { snprintf(buf, sizeof(buf), "cpu%d:timer", PCPU_GET(cpuid)); intrcnt_add(buf, &la->la_timer_count); @@ -392,14 +471,14 @@ lapic_setup(int boot) } /* Program error LVT and clear any existing errors. */ - lapic->lvt_error = lvt_mode(la, LVT_ERROR, lapic->lvt_error); - lapic->esr = 0; + lapic_set_lvt_error(lvt_mode(la, LVT_ERROR, lapic_lvt_error())); + lapic_set_esr(0); /* XXX: Thermal LVT */ /* Program the CMCI LVT entry if present. */ if (maxlvt >= LVT_CMCI) - lapic->lvt_cmci = lvt_mode(la, LVT_CMCI, lapic->lvt_cmci); + lapic_set_lvt_cmci(lvt_mode(la, LVT_CMCI, lapic_lvt_cmci())); intr_restore(saveintr); } @@ -410,9 +489,9 @@ lapic_reenable_pmc(void) #ifdef HWPMC_HOOKS uint32_t value; - value = lapic->lvt_pcint; + value = lapic_lvt_pcint(); value &= ~APIC_LVT_M; - lapic->lvt_pcint = value; + lapic_set_lvt_pcint(value); #endif } @@ -423,7 +502,7 @@ lapic_update_pmc(void *dummy) struct lapic *la; la = &lapics[lapic_id()]; - lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); + lapic_set_lvt_pcint(lvt_mode(la, LVT_PMC, lapic_lvt_pcint())); } #endif @@ -434,11 +513,11 @@ lapic_enable_pmc(void) u_int32_t maxlvt; /* Fail if the local APIC is not present. */ - if (lapic == NULL) + if (lapic_missing()) return (0); /* Fail if the PMC LVT is not present. */ - maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; if (maxlvt < LVT_PMC) return (0); @@ -468,11 +547,11 @@ lapic_disable_pmc(void) u_int32_t maxlvt; /* Fail if the local APIC is not present. */ - if (lapic == NULL) + if (lapic_missing()) return; /* Fail if the PMC LVT is not present. */ - maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; if (maxlvt < LVT_PMC) return; @@ -502,7 +581,7 @@ lapic_et_start(struct eventtimer *et, lapic_timer_set_divisor(lapic_timer_divisor); lapic_timer_oneshot(la, APIC_TIMER_MAX_COUNT, 0); DELAY(1000000); - value = APIC_TIMER_MAX_COUNT - lapic->ccr_timer; + value = APIC_TIMER_MAX_COUNT - lapic_ccr_timer(); if (value != APIC_TIMER_MAX_COUNT) break; lapic_timer_divisor <<= 1; @@ -556,9 +635,9 @@ lapic_disable(void) uint32_t value; /* Software disable the local APIC. */ - value = lapic->svr; + value = lapic_svr(); value &= ~APIC_SVR_SWEN; - lapic->svr = value; + lapic_set_svr(value); } static void @@ -567,10 +646,10 @@ lapic_enable(void) u_int32_t value; /* Program the spurious vector to enable the local APIC. */ - value = lapic->svr; + value = lapic_svr(); value &= ~(APIC_SVR_VECTOR | APIC_SVR_FOCUS); value |= (APIC_SVR_FEN | APIC_SVR_SWEN | APIC_SPURIOUS_INT); - lapic->svr = value; + lapic_set_svr(value); } /* Reset the local APIC on the BSP during resume. */ @@ -581,19 +660,369 @@ lapic_resume(struct pic *pic) lapic_setup(0); } +static uint32_t +lapic_version(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_VERSION)); + else + return (lapic->version); +} + +static uint32_t +lapic_ldr(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LDR)); + else + return (lapic->ldr); +} + +static uint32_t +lapic_dfr(void) +{ + + if (x2apic) + return (0xffffffff); /* DFR not available in x2APIC mode */ + else + return (lapic->dfr); +} + +static uint32_t +lapic_lvt_lint0(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_LINT0)); + else + return (lapic->lvt_lint0); +} + +static void +lapic_set_lvt_lint0(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_LINT0, value); + else + lapic->lvt_lint0 = value; +} + +static uint32_t +lapic_lvt_lint1(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_LINT1)); + else + return (lapic->lvt_lint1); +} + +static void +lapic_set_lvt_lint1(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_LINT1, value); + else + lapic->lvt_lint1 = value; +} + +static uint32_t +lapic_tpr(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_TPR)); + else + return (lapic->tpr); +} + +static uint32_t +lapic_svr(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_SVR)); + else + return (lapic->svr); +} + +static void +lapic_set_svr(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_SVR, value); + else + lapic->svr = value; +} + +static uint32_t +lapic_lvt_timer(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_TIMER)); + else + return (lapic->lvt_timer); +} + +static void +lapic_set_lvt_timer(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_TIMER, value); + else + lapic->lvt_timer = value; +} + +static uint32_t +lapic_lvt_thermal(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_THERMAL)); + else + return (lapic->lvt_thermal); +} + +static uint32_t +lapic_lvt_error(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_ERROR)); + else + return (lapic->lvt_error); +} + +static void +lapic_set_lvt_error(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_ERROR, value); + else + lapic->lvt_error = value; +} + +static uint32_t +lapic_lvt_pcint(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_PCINT)); + else + return (lapic->lvt_pcint); +} + +static void +lapic_set_lvt_pcint(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_PCINT, value); + else + lapic->lvt_pcint = value; +} + +static uint32_t +lapic_lvt_cmci(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_LVT_CMCI)); + else + return (lapic->lvt_cmci); +} + +static void +lapic_set_lvt_cmci(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_LVT_CMCI, value); + else + lapic->lvt_cmci = value; +} + +static uint32_t +lapic_esr(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_ESR)); + else + return (lapic->esr); +} + +static void +lapic_set_esr(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_ESR, value); + else + lapic->esr = value; +} + +static uint32_t +lapic_ccr_timer(void) +{ + + if (x2apic) + return (rdmsr(MSR_APIC_CCR_TIMER)); + else + return (lapic->ccr_timer); +} + +static void +lapic_set_dcr_timer(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_DCR_TIMER, value); + else + lapic->dcr_timer = value; +} + +static void +lapic_set_icr_timer(uint32_t value) +{ + + if (x2apic) + wrmsr(MSR_APIC_ICR_TIMER, value); + else + lapic->icr_timer = value; +} + +uint32_t +lapic_tmr(int num) +{ + int msr; + volatile uint32_t *regptr; + + KASSERT(num >= 0 && num < 8, ("lapic_tmr: invalid num %d", num)); + + if (x2apic) { + msr = MSR_APIC_TMR0 + num; + return (rdmsr(msr)); + } else { + regptr = &lapic->tmr0; + return (regptr[num * 4]); + } +} + +uint32_t +lapic_irr(int num) +{ + int msr; + volatile uint32_t *regptr; + + KASSERT(num >= 0 && num < 8, ("lapic_irr: invalid num %d", num)); + + if (x2apic) { + msr = MSR_APIC_IRR0 + num; + return (rdmsr(msr)); + } else { + regptr = &lapic->irr0; + return (regptr[num * 4]); + } +} + +uint32_t +lapic_isr(int num) +{ + int msr; + volatile uint32_t *regptr; + + KASSERT(num >= 0 && num < 8, ("lapic_isr: invalid num %d", num)); + + if (x2apic) { + msr = MSR_APIC_ISR0 + num; + return (rdmsr(msr)); + } else { + regptr = &lapic->isr0; + return (regptr[num * 4]); + } +} + +static uint32_t +lapic_icr_lo(void) +{ + + if (x2apic) + return (0); + else + return (lapic->icr_lo); +} + +static uint32_t +lapic_icr_hi(void) +{ + + if (x2apic) + return (0); + else + return (lapic->icr_hi); +} + +static void +lapic_set_icr(uint64_t value) +{ + + /* + * Access to x2apic MSR registers is not a serializing condition. + * + * A number of IPI handlers (e.g. rendezvous, tlb shootdown) + * depend on shared state in memory between the cpu that + * originated the IPI and the cpus that are the target. + * + * Insert a memory barrier to ensure that changes to memory + * are globally visible to the other cpus. + */ + if (x2apic) { + /* + * XXX + * Intel's architecture spec seems to suggest that an + * "sfence" should be sufficient here but empirically + * an "mfence" is required to do the job. + */ + mb(); + wrmsr(MSR_APIC_ICR, value); + } else { + lapic->icr_hi = value >> 32; + lapic->icr_lo = value; + } +} + +static boolean_t +lapic_missing(void) +{ + + if (x2apic == 0 && lapic == NULL) + return (TRUE); + else + return (FALSE); +} + int lapic_id(void) { - KASSERT(lapic != NULL, ("local APIC is not mapped")); - return (lapic->id >> APIC_ID_SHIFT); + if (x2apic) + return (rdmsr(MSR_APIC_ID)); + else + return (lapic->id >> APIC_ID_SHIFT); } int lapic_intr_pending(u_int vector) { - volatile u_int32_t *irr; - /* * The IRR registers are an array of 128-bit registers each of * which only describes 32 interrupts in the low 32 bits.. Thus, @@ -603,8 +1032,7 @@ lapic_intr_pending(u_int vector) * modulus the vector by 32 to determine the individual bit to * test. */ - irr = &lapic->irr0; - return (irr[(vector / 32) * 4] & 1 << (vector % 32)); + return (lapic_irr(vector / 32) & 1 << (vector % 32)); } void @@ -760,13 +1188,19 @@ void lapic_set_tpr(u_int vector) { #ifdef CHEAP_TPR - lapic->tpr = vector; + if (x2apic) + wrmsr(MSR_APIC_TPR, vector); + else + lapic->tpr = vector; #else u_int32_t tpr; - tpr = lapic->tpr & ~APIC_TPR_PRIO; + tpr = lapic_tpr() & ~APIC_TPR_PRIO; tpr |= vector; - lapic->tpr = tpr; + if (x2apic) + wrmsr(MSR_APIC_TPR, tpr); + else + lapic->tpr = tpr; #endif } @@ -774,7 +1208,10 @@ void lapic_eoi(void) { - lapic->eoi = 0; + if (x2apic) + wrmsr(MSR_APIC_EOI, 0); + else + lapic->eoi = 0; } void @@ -836,7 +1273,7 @@ lapic_timer_set_divisor(u_int divisor) KASSERT(powerof2(divisor), ("lapic: invalid divisor %u", divisor)); KASSERT(ffs(divisor) <= sizeof(lapic_timer_divisors) / sizeof(u_int32_t), ("lapic: invalid divisor %u", divisor)); - lapic->dcr_timer = lapic_timer_divisors[ffs(divisor) - 1]; + lapic_set_dcr_timer(lapic_timer_divisors[ffs(divisor) - 1]); } static void @@ -849,8 +1286,8 @@ lapic_timer_oneshot(struct lapic *la, u_ value |= APIC_LVTT_TM_ONE_SHOT; if (enable_int) value &= ~APIC_LVT_M; - lapic->lvt_timer = value; - lapic->icr_timer = count; + lapic_set_lvt_timer(value); + lapic_set_icr_timer(count); } static void @@ -863,8 +1300,8 @@ lapic_timer_periodic(struct lapic *la, u value |= APIC_LVTT_TM_PERIODIC; if (enable_int) value &= ~APIC_LVT_M; - lapic->lvt_timer = value; - lapic->icr_timer = count; + lapic_set_lvt_timer(value); + lapic_set_icr_timer(count); } static void @@ -875,7 +1312,7 @@ lapic_timer_stop(struct lapic *la) value = la->lvt_timer_cache; value &= ~APIC_LVTT_TM; value |= APIC_LVT_M; - lapic->lvt_timer = value; + lapic_set_lvt_timer(value); } void @@ -921,8 +1358,8 @@ lapic_handle_error(void) * to update its value to indicate any errors that have * occurred since the previous write to the register. */ - lapic->esr = 0; - esr = lapic->esr; + lapic_set_esr(0); + esr = lapic_esr(); printf("CPU%d: local APIC error 0x%x\n", PCPU_GET(cpuid), esr); lapic_eoi(); @@ -1190,17 +1627,17 @@ DB_SHOW_COMMAND(lapic, db_show_lapic) uint32_t v; db_printf("lapic ID = %d\n", lapic_id()); - v = lapic->version; + v = lapic_version(); db_printf("version = %d.%d\n", (v & APIC_VER_VERSION) >> 4, v & 0xf); db_printf("max LVT = %d\n", (v & APIC_VER_MAXLVT) >> MAXLVTSHIFT); - v = lapic->svr; + v = lapic_svr(); db_printf("SVR = %02x (%s)\n", v & APIC_SVR_VECTOR, v & APIC_SVR_ENABLE ? "enabled" : "disabled"); - db_printf("TPR = %02x\n", lapic->tpr); + db_printf("TPR = %02x\n", lapic_tpr()); #define dump_field(prefix, index) \ - dump_mask(__XSTRING(prefix ## index), lapic->prefix ## index, \ + dump_mask(__XSTRING(prefix ## index), lapic_ ## prefix(index), \ index * 32) db_printf("In-service Interrupts:\n"); @@ -1404,7 +1841,7 @@ lapic_ipi_wait(int delay) } else incr = 1; for (x = 0; x < delay; x += incr) { - if ((lapic->icr_lo & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE) + if ((lapic_icr_lo() & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE) return (1); ia32_pause(); } @@ -1414,10 +1851,11 @@ lapic_ipi_wait(int delay) void lapic_ipi_raw(register_t icrlo, u_int dest) { - register_t value, saveintr; + register_t saveintr; + uint32_t hi, lo; /* XXX: Need more sanity checking of icrlo? */ - KASSERT(lapic != NULL, ("%s called too early", __func__)); + KASSERT(!lapic_missing(), ("%s called too early", __func__)); KASSERT((dest & ~(APIC_ID_MASK >> APIC_ID_SHIFT)) == 0, ("%s: invalid dest field", __func__)); KASSERT((icrlo & APIC_ICRLO_RESV_MASK) == 0, @@ -1426,17 +1864,21 @@ lapic_ipi_raw(register_t icrlo, u_int de /* Set destination in ICR HI register if it is being used. */ saveintr = intr_disable(); if ((icrlo & APIC_DEST_MASK) == APIC_DEST_DESTFLD) { - value = lapic->icr_hi; - value &= ~APIC_ID_MASK; - value |= dest << APIC_ID_SHIFT; - lapic->icr_hi = value; - } + if (x2apic) { + hi = dest; + } else { + hi = lapic_icr_hi(); + hi &= ~APIC_ID_MASK; + hi |= dest << APIC_ID_SHIFT; + } + } else + hi = 0; /* Program the contents of the IPI and dispatch it. */ - value = lapic->icr_lo; - value &= APIC_ICRLO_RESV_MASK; - value |= icrlo; - lapic->icr_lo = value; + lo = lapic_icr_lo(); + lo &= APIC_ICRLO_RESV_MASK; + lo |= icrlo; + lapic_set_icr((uint64_t)hi << 32 | lo); intr_restore(saveintr); } @@ -1513,7 +1955,7 @@ lapic_ipi_vectored(u_int vector, int des printf("APIC: IPI might be stuck\n"); #else /* !needsattention */ /* Wait until mesage is sent without a timeout. */ - while (lapic->icr_lo & APIC_DELSTAT_PEND) + while (lapic_icr_lo() & APIC_DELSTAT_PEND) ia32_pause(); #endif /* needsattention */ } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Jan 6 05:37:27 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9C55F215; Sun, 6 Jan 2013 05:37:27 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 820A5294; Sun, 6 Jan 2013 05:37:27 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r065bRHl016187; Sun, 6 Jan 2013 05:37:27 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r065bQY8016181; Sun, 6 Jan 2013 05:37:26 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301060537.r065bQY8016181@svn.freebsd.org> From: Neel Natu Date: Sun, 6 Jan 2013 05:37:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245100 - in projects/bhyve/sys: amd64/amd64 amd64/include x86/x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 05:37:27 -0000 Author: neel Date: Sun Jan 6 05:37:26 2013 New Revision: 245100 URL: http://svnweb.freebsd.org/changeset/base/245100 Log: Revert changes for x2apic support from projects/bhyve. During the early days of bhyve it did not support instruction emulation which necessitated the use of x2apic to access the local apic. This is no longer the case and the dependency on x2apic has gone away. The x2apic patches can be considered independently of bhyve and will be merged into head via projects/x2apic. Discussed with: grehan Modified: projects/bhyve/sys/amd64/amd64/apic_vector.S projects/bhyve/sys/amd64/amd64/mp_machdep.c projects/bhyve/sys/amd64/include/apicvar.h projects/bhyve/sys/x86/x86/local_apic.c Modified: projects/bhyve/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/bhyve/sys/amd64/amd64/apic_vector.S Sun Jan 6 04:58:47 2013 (r245099) +++ projects/bhyve/sys/amd64/amd64/apic_vector.S Sun Jan 6 05:37:26 2013 (r245100) @@ -57,15 +57,8 @@ IDTVEC(vec_name) ; \ PUSH_FRAME ; \ FAKE_MCOUNT(TF_RIP(%rsp)) ; \ movq lapic, %rdx ; /* pointer to local APIC */ \ - testq %rdx, %rdx; \ - jnz 3f; \ - movl $MSR_APIC_ISR ## index, %ecx; \ - rdmsr; \ - jmp 4f; \ -3: ; \ movl LA_ISR + 16 * (index)(%rdx), %eax ; /* load ISR */ \ -4: ; \ - bsrl %eax, %eax ; /* index of highset set bit in ISR */ \ + bsrl %eax, %eax ; /* index of highest set bit in ISR */ \ jz 1f ; \ addl $(32 * index),%eax ; \ movq %rsp, %rsi ; \ @@ -136,26 +129,6 @@ IDTVEC(errorint) jmp doreti #ifdef SMP - -/* - * We assume that %rax is being saved/restored outside of this macro - */ -#define DO_EOI \ - movq lapic, %rax; \ - testq %rax, %rax; \ - jz 8f; \ - movl $0, LA_EOI(%rax); \ - jmp 9f; \ -8:; \ - pushq %rcx; \ - pushq %rdx; \ - xorl %edx, %edx; /* eax is already zero */ \ - movl $MSR_APIC_EOI, %ecx; \ - wrmsr; \ - popq %rdx; \ - popq %rcx; \ -9: - /* * Global address space TLB shootdown. */ @@ -180,7 +153,8 @@ IDTVEC(invltlb) movq %cr3, %rax /* invalidate the TLB */ movq %rax, %cr3 - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ lock incl smp_tlb_wait @@ -212,7 +186,8 @@ IDTVEC(invlpg) movq smp_tlb_addr1, %rax invlpg (%rax) /* invalidate single page */ - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ lock incl smp_tlb_wait @@ -249,7 +224,8 @@ IDTVEC(invlrng) cmpq %rax, %rdx jb 1b - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ lock incl smp_tlb_wait @@ -276,7 +252,8 @@ IDTVEC(invlcache) wbinvd - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ lock incl smp_tlb_wait @@ -292,8 +269,9 @@ IDTVEC(invlcache) IDTVEC(ipi_intr_bitmap_handler) PUSH_FRAME - DO_EOI - + movq lapic, %rdx + movl $0, LA_EOI(%rdx) /* End Of Interrupt to APIC */ + FAKE_MCOUNT(TF_RIP(%rsp)) call ipi_bitmap_handler @@ -308,7 +286,8 @@ IDTVEC(ipi_intr_bitmap_handler) IDTVEC(cpustop) PUSH_FRAME - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ call cpustop_handler jmp doreti @@ -322,7 +301,8 @@ IDTVEC(cpususpend) PUSH_FRAME call cpususpend_handler - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ jmp doreti /* @@ -340,6 +320,7 @@ IDTVEC(rendezvous) incq (%rax) #endif call smp_rendezvous_action - DO_EOI + movq lapic, %rax + movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ jmp doreti #endif /* SMP */ Modified: projects/bhyve/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/bhyve/sys/amd64/amd64/mp_machdep.c Sun Jan 6 04:58:47 2013 (r245099) +++ projects/bhyve/sys/amd64/amd64/mp_machdep.c Sun Jan 6 05:37:26 2013 (r245100) @@ -688,8 +688,6 @@ init_secondary(void) wrmsr(MSR_STAR, msr); wrmsr(MSR_SF_MASK, PSL_NT|PSL_T|PSL_I|PSL_C|PSL_D); - lapic_init_ap(); - /* Disable local APIC just to be sure. */ lapic_disable(); Modified: projects/bhyve/sys/amd64/include/apicvar.h ============================================================================== --- projects/bhyve/sys/amd64/include/apicvar.h Sun Jan 6 04:58:47 2013 (r245099) +++ projects/bhyve/sys/amd64/include/apicvar.h Sun Jan 6 05:37:26 2013 (r245100) @@ -209,7 +209,6 @@ int lapic_enable_pmc(void); void lapic_eoi(void); int lapic_id(void); void lapic_init(vm_paddr_t addr); -void lapic_init_ap(void); int lapic_intr_pending(u_int vector); void lapic_ipi_raw(register_t icrlo, u_int dest); void lapic_ipi_vectored(u_int vector, int dest); Modified: projects/bhyve/sys/x86/x86/local_apic.c ============================================================================== --- projects/bhyve/sys/x86/x86/local_apic.c Sun Jan 6 04:58:47 2013 (r245099) +++ projects/bhyve/sys/x86/x86/local_apic.c Sun Jan 6 05:37:26 2013 (r245100) @@ -50,14 +50,12 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include #include -#include #include #include #include @@ -161,15 +159,6 @@ vm_paddr_t lapic_paddr; static u_long lapic_timer_divisor; static struct eventtimer lapic_et; -static int x2apic; -SYSCTL_INT(_machdep, OID_AUTO, x2apic, CTLFLAG_RD, &x2apic, 0, "x2apic mode"); - -static int x2apic_desired = -1; /* enable only if running in a VM */ -TUNABLE_INT("machdep.x2apic_desired", &x2apic_desired); -SYSCTL_INT(_machdep, OID_AUTO, x2apic_desired, CTLFLAG_RDTUN, - &x2apic_desired, 0, - "0 (disable), 1 (enable), -1 (leave it up to the kernel)"); - static void lapic_enable(void); static void lapic_resume(struct pic *pic); static void lapic_timer_oneshot(struct lapic *, @@ -182,37 +171,6 @@ static uint32_t lvt_mode(struct lapic *l static int lapic_et_start(struct eventtimer *et, struct bintime *first, struct bintime *period); static int lapic_et_stop(struct eventtimer *et); -static uint32_t lapic_version(void); -static uint32_t lapic_ldr(void); -static uint32_t lapic_dfr(void); -static uint32_t lapic_lvt_lint0(void); -static void lapic_set_lvt_lint0(uint32_t value); -static uint32_t lapic_lvt_lint1(void); -static void lapic_set_lvt_lint1(uint32_t value); -static uint32_t lapic_tpr(void); -static uint32_t lapic_svr(void); -static void lapic_set_svr(uint32_t value); -static uint32_t lapic_lvt_timer(void); -static void lapic_set_lvt_timer(uint32_t value); -static uint32_t lapic_lvt_thermal(void); -static uint32_t lapic_lvt_error(void); -static void lapic_set_lvt_error(uint32_t value); -static uint32_t lapic_lvt_pcint(void); -static void lapic_set_lvt_pcint(uint32_t value); -static uint32_t lapic_lvt_cmci(void); -static void lapic_set_lvt_cmci(uint32_t value); -static uint32_t lapic_esr(void); -static void lapic_set_esr(uint32_t value); -static uint32_t lapic_ccr_timer(void); -static void lapic_set_dcr_timer(uint32_t value); -static void lapic_set_icr_timer(uint32_t value); -uint32_t lapic_irr(int num); -uint32_t lapic_tmr(int num); -uint32_t lapic_isr(int num); -static uint32_t lapic_icr_lo(void); -static uint32_t lapic_icr_hi(void); -static void lapic_set_icr(uint64_t value); -static boolean_t lapic_missing(void); struct pic lapic_pic = { .pic_resume = lapic_resume }; @@ -257,17 +215,6 @@ lvt_mode(struct lapic *la, u_int pin, ui return (value); } -static void -x2apic_init(void) -{ - uint64_t apic_base; - - apic_base = rdmsr(MSR_APICBASE); - - if ((apic_base & APICBASE_X2APIC) == 0) - wrmsr(MSR_APICBASE, apic_base | APICBASE_X2APIC); -} - /* * Map the local APIC and setup necessary interrupt vectors. */ @@ -277,29 +224,11 @@ lapic_init(vm_paddr_t addr) u_int regs[4]; int i, arat; - if ((cpu_feature2 & CPUID2_X2APIC) != 0) { - if (rdmsr(MSR_APICBASE) & APICBASE_X2APIC) - x2apic = 1; - else if (x2apic_desired != 0) { - /* - * The default behavior is to enable x2apic only if - * the kernel is executing inside a virtual machine. - */ - if (vm_guest != VM_GUEST_NO || x2apic_desired == 1) - x2apic = 1; - } - } - - if (x2apic) { - x2apic_init(); - if (bootverbose) - printf("Local APIC access using x2APIC MSRs\n"); - } else { - KASSERT(trunc_page(addr) == addr, - ("local APIC not aligned on a page boundary")); - lapic = pmap_mapdev(addr, sizeof(lapic_t)); - lapic_paddr = addr; - } + /* Map the local APIC and setup the spurious interrupt handler. */ + KASSERT(trunc_page(addr) == addr, + ("local APIC not aligned on a page boundary")); + lapic = pmap_mapdev(addr, sizeof(lapic_t)); + lapic_paddr = addr; setidt(APIC_SPURIOUS_INT, IDTVEC(spuriousint), SDT_APIC, SEL_KPL, GSEL_APIC); @@ -350,14 +279,6 @@ lapic_init(vm_paddr_t addr) } } -void -lapic_init_ap(void) -{ - - if (x2apic) - x2apic_init(); -} - /* * Create a local APIC instance. */ @@ -409,19 +330,19 @@ lapic_dump(const char* str) { uint32_t maxlvt; - maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; printf("cpu%d %s:\n", PCPU_GET(cpuid), str); printf(" ID: 0x%08x VER: 0x%08x LDR: 0x%08x DFR: 0x%08x\n", - lapic_id(), lapic_version(), lapic_ldr(), lapic_dfr()); + lapic->id, lapic->version, lapic->ldr, lapic->dfr); printf(" lint0: 0x%08x lint1: 0x%08x TPR: 0x%08x SVR: 0x%08x\n", - lapic_lvt_lint0(), lapic_lvt_lint1(), lapic_tpr(), lapic_svr()); + lapic->lvt_lint0, lapic->lvt_lint1, lapic->tpr, lapic->svr); printf(" timer: 0x%08x therm: 0x%08x err: 0x%08x", - lapic_lvt_timer(), lapic_lvt_thermal(), lapic_lvt_error()); + lapic->lvt_timer, lapic->lvt_thermal, lapic->lvt_error); if (maxlvt >= LVT_PMC) - printf(" pmc: 0x%08x", lapic_lvt_pcint()); + printf(" pmc: 0x%08x", lapic->lvt_pcint); printf("\n"); if (maxlvt >= LVT_CMCI) - printf(" cmci: 0x%08x\n", lapic_lvt_cmci()); + printf(" cmci: 0x%08x\n", lapic->lvt_cmci); } void @@ -435,7 +356,7 @@ lapic_setup(int boot) la = &lapics[lapic_id()]; KASSERT(la->la_present, ("missing APIC structure")); saveintr = intr_disable(); - maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; /* Initialize the TPR to allow all interrupts. */ lapic_set_tpr(0); @@ -444,16 +365,16 @@ lapic_setup(int boot) lapic_enable(); /* Program LINT[01] LVT entries. */ - lapic_set_lvt_lint0(lvt_mode(la, LVT_LINT0, lapic_lvt_lint0())); - lapic_set_lvt_lint1(lvt_mode(la, LVT_LINT1, lapic_lvt_lint1())); + lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0); + lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1); /* Program the PMC LVT entry if present. */ if (maxlvt >= LVT_PMC) - lapic_set_lvt_pcint(lvt_mode(la, LVT_PMC, lapic_lvt_pcint())); + lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); /* Program timer LVT and setup handler. */ - la->lvt_timer_cache = lvt_mode(la, LVT_TIMER, lapic_lvt_timer()); - lapic_set_lvt_timer(la->lvt_timer_cache); + la->lvt_timer_cache = lapic->lvt_timer = + lvt_mode(la, LVT_TIMER, lapic->lvt_timer); if (boot) { snprintf(buf, sizeof(buf), "cpu%d:timer", PCPU_GET(cpuid)); intrcnt_add(buf, &la->la_timer_count); @@ -471,14 +392,14 @@ lapic_setup(int boot) } /* Program error LVT and clear any existing errors. */ - lapic_set_lvt_error(lvt_mode(la, LVT_ERROR, lapic_lvt_error())); - lapic_set_esr(0); + lapic->lvt_error = lvt_mode(la, LVT_ERROR, lapic->lvt_error); + lapic->esr = 0; /* XXX: Thermal LVT */ /* Program the CMCI LVT entry if present. */ if (maxlvt >= LVT_CMCI) - lapic_set_lvt_cmci(lvt_mode(la, LVT_CMCI, lapic_lvt_cmci())); + lapic->lvt_cmci = lvt_mode(la, LVT_CMCI, lapic->lvt_cmci); intr_restore(saveintr); } @@ -489,9 +410,9 @@ lapic_reenable_pmc(void) #ifdef HWPMC_HOOKS uint32_t value; - value = lapic_lvt_pcint(); + value = lapic->lvt_pcint; value &= ~APIC_LVT_M; - lapic_set_lvt_pcint(value); + lapic->lvt_pcint = value; #endif } @@ -502,7 +423,7 @@ lapic_update_pmc(void *dummy) struct lapic *la; la = &lapics[lapic_id()]; - lapic_set_lvt_pcint(lvt_mode(la, LVT_PMC, lapic_lvt_pcint())); + lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); } #endif @@ -513,11 +434,11 @@ lapic_enable_pmc(void) u_int32_t maxlvt; /* Fail if the local APIC is not present. */ - if (lapic_missing()) + if (lapic == NULL) return (0); /* Fail if the PMC LVT is not present. */ - maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; if (maxlvt < LVT_PMC) return (0); @@ -547,11 +468,11 @@ lapic_disable_pmc(void) u_int32_t maxlvt; /* Fail if the local APIC is not present. */ - if (lapic_missing()) + if (lapic == NULL) return; /* Fail if the PMC LVT is not present. */ - maxlvt = (lapic_version() & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; if (maxlvt < LVT_PMC) return; @@ -581,7 +502,7 @@ lapic_et_start(struct eventtimer *et, lapic_timer_set_divisor(lapic_timer_divisor); lapic_timer_oneshot(la, APIC_TIMER_MAX_COUNT, 0); DELAY(1000000); - value = APIC_TIMER_MAX_COUNT - lapic_ccr_timer(); + value = APIC_TIMER_MAX_COUNT - lapic->ccr_timer; if (value != APIC_TIMER_MAX_COUNT) break; lapic_timer_divisor <<= 1; @@ -635,9 +556,9 @@ lapic_disable(void) uint32_t value; /* Software disable the local APIC. */ - value = lapic_svr(); + value = lapic->svr; value &= ~APIC_SVR_SWEN; - lapic_set_svr(value); + lapic->svr = value; } static void @@ -646,10 +567,10 @@ lapic_enable(void) u_int32_t value; /* Program the spurious vector to enable the local APIC. */ - value = lapic_svr(); + value = lapic->svr; value &= ~(APIC_SVR_VECTOR | APIC_SVR_FOCUS); value |= (APIC_SVR_FEN | APIC_SVR_SWEN | APIC_SPURIOUS_INT); - lapic_set_svr(value); + lapic->svr = value; } /* Reset the local APIC on the BSP during resume. */ @@ -660,369 +581,19 @@ lapic_resume(struct pic *pic) lapic_setup(0); } -static uint32_t -lapic_version(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_VERSION)); - else - return (lapic->version); -} - -static uint32_t -lapic_ldr(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LDR)); - else - return (lapic->ldr); -} - -static uint32_t -lapic_dfr(void) -{ - - if (x2apic) - return (0xffffffff); /* DFR not available in x2APIC mode */ - else - return (lapic->dfr); -} - -static uint32_t -lapic_lvt_lint0(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_LINT0)); - else - return (lapic->lvt_lint0); -} - -static void -lapic_set_lvt_lint0(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_LINT0, value); - else - lapic->lvt_lint0 = value; -} - -static uint32_t -lapic_lvt_lint1(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_LINT1)); - else - return (lapic->lvt_lint1); -} - -static void -lapic_set_lvt_lint1(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_LINT1, value); - else - lapic->lvt_lint1 = value; -} - -static uint32_t -lapic_tpr(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_TPR)); - else - return (lapic->tpr); -} - -static uint32_t -lapic_svr(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_SVR)); - else - return (lapic->svr); -} - -static void -lapic_set_svr(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_SVR, value); - else - lapic->svr = value; -} - -static uint32_t -lapic_lvt_timer(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_TIMER)); - else - return (lapic->lvt_timer); -} - -static void -lapic_set_lvt_timer(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_TIMER, value); - else - lapic->lvt_timer = value; -} - -static uint32_t -lapic_lvt_thermal(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_THERMAL)); - else - return (lapic->lvt_thermal); -} - -static uint32_t -lapic_lvt_error(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_ERROR)); - else - return (lapic->lvt_error); -} - -static void -lapic_set_lvt_error(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_ERROR, value); - else - lapic->lvt_error = value; -} - -static uint32_t -lapic_lvt_pcint(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_PCINT)); - else - return (lapic->lvt_pcint); -} - -static void -lapic_set_lvt_pcint(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_PCINT, value); - else - lapic->lvt_pcint = value; -} - -static uint32_t -lapic_lvt_cmci(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_LVT_CMCI)); - else - return (lapic->lvt_cmci); -} - -static void -lapic_set_lvt_cmci(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_LVT_CMCI, value); - else - lapic->lvt_cmci = value; -} - -static uint32_t -lapic_esr(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_ESR)); - else - return (lapic->esr); -} - -static void -lapic_set_esr(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_ESR, value); - else - lapic->esr = value; -} - -static uint32_t -lapic_ccr_timer(void) -{ - - if (x2apic) - return (rdmsr(MSR_APIC_CCR_TIMER)); - else - return (lapic->ccr_timer); -} - -static void -lapic_set_dcr_timer(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_DCR_TIMER, value); - else - lapic->dcr_timer = value; -} - -static void -lapic_set_icr_timer(uint32_t value) -{ - - if (x2apic) - wrmsr(MSR_APIC_ICR_TIMER, value); - else - lapic->icr_timer = value; -} - -uint32_t -lapic_tmr(int num) -{ - int msr; - volatile uint32_t *regptr; - - KASSERT(num >= 0 && num < 8, ("lapic_tmr: invalid num %d", num)); - - if (x2apic) { - msr = MSR_APIC_TMR0 + num; - return (rdmsr(msr)); - } else { - regptr = &lapic->tmr0; - return (regptr[num * 4]); - } -} - -uint32_t -lapic_irr(int num) -{ - int msr; - volatile uint32_t *regptr; - - KASSERT(num >= 0 && num < 8, ("lapic_irr: invalid num %d", num)); - - if (x2apic) { - msr = MSR_APIC_IRR0 + num; - return (rdmsr(msr)); - } else { - regptr = &lapic->irr0; - return (regptr[num * 4]); - } -} - -uint32_t -lapic_isr(int num) -{ - int msr; - volatile uint32_t *regptr; - - KASSERT(num >= 0 && num < 8, ("lapic_isr: invalid num %d", num)); - - if (x2apic) { - msr = MSR_APIC_ISR0 + num; - return (rdmsr(msr)); - } else { - regptr = &lapic->isr0; - return (regptr[num * 4]); - } -} - -static uint32_t -lapic_icr_lo(void) -{ - - if (x2apic) - return (0); - else - return (lapic->icr_lo); -} - -static uint32_t -lapic_icr_hi(void) -{ - - if (x2apic) - return (0); - else - return (lapic->icr_hi); -} - -static void -lapic_set_icr(uint64_t value) -{ - - /* - * Access to x2apic MSR registers is not a serializing condition. - * - * A number of IPI handlers (e.g. rendezvous, tlb shootdown) - * depend on shared state in memory between the cpu that - * originated the IPI and the cpus that are the target. - * - * Insert a memory barrier to ensure that changes to memory - * are globally visible to the other cpus. - */ - if (x2apic) { - /* - * XXX - * Intel's architecture spec seems to suggest that an - * "sfence" should be sufficient here but empirically - * an "mfence" is required to do the job. - */ - mb(); - wrmsr(MSR_APIC_ICR, value); - } else { - lapic->icr_hi = value >> 32; - lapic->icr_lo = value; - } -} - -static boolean_t -lapic_missing(void) -{ - - if (x2apic == 0 && lapic == NULL) - return (TRUE); - else - return (FALSE); -} - int lapic_id(void) { - if (x2apic) - return (rdmsr(MSR_APIC_ID)); - else - return (lapic->id >> APIC_ID_SHIFT); + KASSERT(lapic != NULL, ("local APIC is not mapped")); + return (lapic->id >> APIC_ID_SHIFT); } int lapic_intr_pending(u_int vector) { + volatile u_int32_t *irr; + /* * The IRR registers are an array of 128-bit registers each of * which only describes 32 interrupts in the low 32 bits.. Thus, @@ -1032,7 +603,8 @@ lapic_intr_pending(u_int vector) * modulus the vector by 32 to determine the individual bit to * test. */ - return (lapic_irr(vector / 32) & 1 << (vector % 32)); + irr = &lapic->irr0; + return (irr[(vector / 32) * 4] & 1 << (vector % 32)); } void @@ -1188,19 +760,13 @@ void lapic_set_tpr(u_int vector) { #ifdef CHEAP_TPR - if (x2apic) - wrmsr(MSR_APIC_TPR, vector); - else - lapic->tpr = vector; + lapic->tpr = vector; #else u_int32_t tpr; - tpr = lapic_tpr() & ~APIC_TPR_PRIO; + tpr = lapic->tpr & ~APIC_TPR_PRIO; tpr |= vector; - if (x2apic) - wrmsr(MSR_APIC_TPR, tpr); - else - lapic->tpr = tpr; + lapic->tpr = tpr; #endif } @@ -1208,10 +774,7 @@ void lapic_eoi(void) { - if (x2apic) - wrmsr(MSR_APIC_EOI, 0); - else - lapic->eoi = 0; + lapic->eoi = 0; } void @@ -1273,7 +836,7 @@ lapic_timer_set_divisor(u_int divisor) KASSERT(powerof2(divisor), ("lapic: invalid divisor %u", divisor)); KASSERT(ffs(divisor) <= sizeof(lapic_timer_divisors) / sizeof(u_int32_t), ("lapic: invalid divisor %u", divisor)); - lapic_set_dcr_timer(lapic_timer_divisors[ffs(divisor) - 1]); + lapic->dcr_timer = lapic_timer_divisors[ffs(divisor) - 1]; } static void @@ -1286,8 +849,8 @@ lapic_timer_oneshot(struct lapic *la, u_ value |= APIC_LVTT_TM_ONE_SHOT; if (enable_int) value &= ~APIC_LVT_M; - lapic_set_lvt_timer(value); - lapic_set_icr_timer(count); + lapic->lvt_timer = value; + lapic->icr_timer = count; } static void @@ -1300,8 +863,8 @@ lapic_timer_periodic(struct lapic *la, u value |= APIC_LVTT_TM_PERIODIC; if (enable_int) value &= ~APIC_LVT_M; - lapic_set_lvt_timer(value); - lapic_set_icr_timer(count); + lapic->lvt_timer = value; + lapic->icr_timer = count; } static void @@ -1312,7 +875,7 @@ lapic_timer_stop(struct lapic *la) value = la->lvt_timer_cache; value &= ~APIC_LVTT_TM; value |= APIC_LVT_M; - lapic_set_lvt_timer(value); + lapic->lvt_timer = value; } void @@ -1358,8 +921,8 @@ lapic_handle_error(void) * to update its value to indicate any errors that have * occurred since the previous write to the register. */ - lapic_set_esr(0); - esr = lapic_esr(); + lapic->esr = 0; + esr = lapic->esr; printf("CPU%d: local APIC error 0x%x\n", PCPU_GET(cpuid), esr); lapic_eoi(); @@ -1627,17 +1190,17 @@ DB_SHOW_COMMAND(lapic, db_show_lapic) uint32_t v; db_printf("lapic ID = %d\n", lapic_id()); - v = lapic_version(); + v = lapic->version; db_printf("version = %d.%d\n", (v & APIC_VER_VERSION) >> 4, v & 0xf); db_printf("max LVT = %d\n", (v & APIC_VER_MAXLVT) >> MAXLVTSHIFT); - v = lapic_svr(); + v = lapic->svr; db_printf("SVR = %02x (%s)\n", v & APIC_SVR_VECTOR, v & APIC_SVR_ENABLE ? "enabled" : "disabled"); - db_printf("TPR = %02x\n", lapic_tpr()); + db_printf("TPR = %02x\n", lapic->tpr); #define dump_field(prefix, index) \ - dump_mask(__XSTRING(prefix ## index), lapic_ ## prefix(index), \ + dump_mask(__XSTRING(prefix ## index), lapic->prefix ## index, \ index * 32) db_printf("In-service Interrupts:\n"); @@ -1841,7 +1404,7 @@ lapic_ipi_wait(int delay) } else incr = 1; for (x = 0; x < delay; x += incr) { - if ((lapic_icr_lo() & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE) + if ((lapic->icr_lo & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE) return (1); ia32_pause(); } @@ -1851,11 +1414,10 @@ lapic_ipi_wait(int delay) void lapic_ipi_raw(register_t icrlo, u_int dest) { - register_t saveintr; - uint32_t hi, lo; + register_t value, saveintr; /* XXX: Need more sanity checking of icrlo? */ - KASSERT(!lapic_missing(), ("%s called too early", __func__)); + KASSERT(lapic != NULL, ("%s called too early", __func__)); KASSERT((dest & ~(APIC_ID_MASK >> APIC_ID_SHIFT)) == 0, ("%s: invalid dest field", __func__)); KASSERT((icrlo & APIC_ICRLO_RESV_MASK) == 0, @@ -1864,21 +1426,17 @@ lapic_ipi_raw(register_t icrlo, u_int de /* Set destination in ICR HI register if it is being used. */ saveintr = intr_disable(); if ((icrlo & APIC_DEST_MASK) == APIC_DEST_DESTFLD) { - if (x2apic) { - hi = dest; - } else { - hi = lapic_icr_hi(); - hi &= ~APIC_ID_MASK; - hi |= dest << APIC_ID_SHIFT; - } - } else - hi = 0; + value = lapic->icr_hi; + value &= ~APIC_ID_MASK; + value |= dest << APIC_ID_SHIFT; + lapic->icr_hi = value; + } /* Program the contents of the IPI and dispatch it. */ - lo = lapic_icr_lo(); - lo &= APIC_ICRLO_RESV_MASK; - lo |= icrlo; - lapic_set_icr((uint64_t)hi << 32 | lo); + value = lapic->icr_lo; + value &= APIC_ICRLO_RESV_MASK; + value |= icrlo; + lapic->icr_lo = value; intr_restore(saveintr); } @@ -1955,7 +1513,7 @@ lapic_ipi_vectored(u_int vector, int des printf("APIC: IPI might be stuck\n"); #else /* !needsattention */ /* Wait until mesage is sent without a timeout. */ - while (lapic_icr_lo() & APIC_DELSTAT_PEND) + while (lapic->icr_lo & APIC_DELSTAT_PEND) ia32_pause(); #endif /* needsattention */ } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 03:48:00 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C014E214 for ; Mon, 7 Jan 2013 03:48:00 +0000 (UTC) (envelope-from marcel@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A40A471E for ; Mon, 7 Jan 2013 03:48:00 +0000 (UTC) Received: from marcel (uid 782) (envelope-from marcel@svn.freebsd.org) id 1f49 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 03:47:59 +0000 From: Marcel Moolenaar Date: Mon, 7 Jan 2013 03:47:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245122 - in projects/altix2/sys: ia64/include ia64/sgisn kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea456f.1f49.19d5564c@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 03:48:00 -0000 Author: marcel Date: Mon Jan 7 03:47:59 2013 New Revision: 245122 URL: http://svnweb.freebsd.org/changeset/base/245122 Log: o Add a work-around for the race condition between PIO read and DMA. This is implemented by using a new busdma_iommu_sync method that busses can implement. The method is implemented by the SGI PCI HC driver to make sure the DMA has completely landed in memory by triggering an interrupt and waiting for it to arrive in the designated memory location. Any outstanding DMA transactions will have completed if that happens. The work-around is derived from Linux. The upshot of using a new method is that either nexus or root_bus can implement the CPU cache flushing and/or invalidation and in a way suitable for the platform. Thus: the method provides the MI abstraction we need. o Change the existing busdma_iommu_* methods to take the bus device as the first argument. These methods can now access bus softc structures and other "local" information in order to implement xlate, map and unmap. This also applies to the new sync method. o Add a flags field to the mtag structure to hold platform flags. Platform flags are a way for different devices to communicate with each other, as well as provide a means for drivers to handle very platform specific hacks/kluges. The platform-specific flags are saved in the memory descriptor so that they can be used to communicate between different methods as well. Introduce a new platform flag called BUSDMA_MD_IA64_DIRECT32. The flag is used by the SGI SHub and PCI drivers to implement 32-bit direct-mapped DMA. The flag is set in the PCI's xlate method and used by the SHub's xlate and map method, as well as the PCI's map method. o Reimplement busdma_sync() as a wrapper around busdma_sync_range() with address 0 and size ~0. o In _busdma_iommu_xlate() always align and round to the cache line size. Since we're allocating DMA memory, we can and should avoid complications or performance reductions that come from having to maintain coherence -- either in S/W or H/W. Modified: projects/altix2/sys/ia64/include/sgisn.h projects/altix2/sys/ia64/sgisn/sgisn_pcib.c projects/altix2/sys/ia64/sgisn/sgisn_shub.c projects/altix2/sys/kern/busdma_if.m projects/altix2/sys/kern/subr_busdma.c projects/altix2/sys/sys/busdma.h Modified: projects/altix2/sys/ia64/include/sgisn.h ============================================================================== --- projects/altix2/sys/ia64/include/sgisn.h Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/ia64/include/sgisn.h Mon Jan 7 03:47:59 2013 (r245122) @@ -41,6 +41,7 @@ #define SAL_SGISN_IOHUB_INFO 0x02000055 #define SAL_SGISN_IOBUS_INFO 0x02000056 #define SAL_SGISN_IODEV_INFO 0x02000057 +#define SAL_SGISN_IOBUS_FLUSH 0x02000058 #define SAL_SGISN_FEATURE_GET_PROM 0x02000065 #define SAL_SGISN_FEATURE_SET_OS 0x02000066 #define SAL_SGISN_SET_CPUID 0x02000068 @@ -50,7 +51,7 @@ #define SHUB_IVAR_PCIBUS 1 #define SHUB_IVAR_PCISEG 2 -#define SHUB_IVAR_EVENT 3 +#define SHUB_IVAR_NASID 3 #define SHUB_EVENT_CONSOLE 0x100000 @@ -107,7 +108,7 @@ struct sgisn_fwbus { struct sgisn_widget *bus_wgt_info; }; -struct sgisn_fwflush_dev { +struct sgisn_fwflush { uint32_t fld_bus; uint32_t fld_slot; uint32_t fld_pin; @@ -116,25 +117,21 @@ struct sgisn_fwflush_dev { uint64_t start; uint64_t end; } fld_bar[6]; - uint64_t *fld_intr; + uint32_t *fld_intr; uint64_t fld_value; - uint64_t *fld_flush; + uint64_t *fld_addr; uint32_t fld_pci_bus; uint32_t fld_pci_segment; struct sgisn_fwbus *fld_parent; uint64_t fld_xxx; }; -struct sgisn_fwflush_widget { - struct sgisn_fwflush_dev flw_dev[32]; -}; - struct sgisn_fwhub { struct sgisn_geoid hub_geoid; uint16_t hub_nasid; uint16_t hub_peer_nasid; uint32_t _pad; - struct sgisn_fwflush_widget *hub_flush; + struct sgisn_fwflush **hub_flush; uint64_t hub_dma_itte[SGISN_HUB_NITTES]; struct sgisn_widget hub_widget[SGISN_HUB_NWIDGETS]; Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Mon Jan 7 03:47:59 2013 (r245122) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -68,6 +69,8 @@ struct sgisn_pcib_softc { u_int sc_busnr; struct rman sc_ioport; struct rman sc_iomem; + uint32_t *sc_flush_intr[PCI_SLOTMAX + 1]; + uint64_t *sc_flush_addr[PCI_SLOTMAX + 1]; }; static int sgisn_pcib_attach(device_t); @@ -99,8 +102,11 @@ static uint32_t sgisn_pcib_cfgread(devic static void sgisn_pcib_cfgwrite(device_t, u_int, u_int, u_int, u_int, uint32_t, int); -static int sgisn_pcib_iommu_xlate(device_t, busdma_mtag_t); -static int sgisn_pcib_iommu_map(device_t, busdma_md_t, u_int, bus_addr_t *); +static int sgisn_pcib_iommu_xlate(device_t, device_t, busdma_mtag_t); +static int sgisn_pcib_iommu_map(device_t, device_t, busdma_md_t, u_int, + bus_addr_t *); +static int sgisn_pcib_iommu_sync(device_t, device_t, busdma_md_t, u_int, + bus_addr_t, bus_size_t); /* * Bus interface definitions. @@ -134,6 +140,7 @@ static device_method_t sgisn_pcib_method /* busdma interface */ DEVMETHOD(busdma_iommu_xlate, sgisn_pcib_iommu_xlate), DEVMETHOD(busdma_iommu_map, sgisn_pcib_iommu_map), + DEVMETHOD(busdma_iommu_sync, sgisn_pcib_iommu_sync), { 0, 0 } }; @@ -414,19 +421,22 @@ sgisn_pcib_rm_init(struct sgisn_pcib_sof static int sgisn_pcib_attach(device_t dev) { + struct ia64_sal_result r; struct sgisn_pcib_softc *sc; + struct sgisn_fwflush *fwflush; device_t parent; - uintptr_t addr, bus, seg; + size_t fwflushsz; + uintptr_t addr, ivar; int error; sc = device_get_softc(dev); sc->sc_dev = dev; parent = device_get_parent(dev); - BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCIBUS, &bus); - sc->sc_busnr = bus; - BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCISEG, &seg); - sc->sc_domain = seg; + BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCIBUS, &ivar); + sc->sc_busnr = ivar; + BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCISEG, &ivar); + sc->sc_domain = ivar; error = sgisn_pcib_rm_init(sc, &sc->sc_ioport, "port"); if (error) @@ -437,7 +447,7 @@ sgisn_pcib_attach(device_t dev) return (error); } - (void)ia64_sal_entry(SAL_SGISN_IOBUS_INFO, seg, bus, + (void)ia64_sal_entry(SAL_SGISN_IOBUS_INFO, sc->sc_domain, sc->sc_busnr, ia64_tpa((uintptr_t)&addr), 0, 0, 0, 0); sc->sc_fwbus = (void *)IA64_PHYS_TO_RR7(addr); sc->sc_ioaddr = IA64_RR_MASK(sc->sc_fwbus->fw_common.bus_base); @@ -446,9 +456,32 @@ sgisn_pcib_attach(device_t dev) &sc->sc_hndl); if (bootverbose) - device_printf(dev, "ASIC=%x, XID=%u\n", + device_printf(dev, "ASIC=%x, XID=%u, TYPE=%u, MODE=%u\n", sc->sc_fwbus->fw_common.bus_asic, - sc->sc_fwbus->fw_common.bus_xid); + sc->sc_fwbus->fw_common.bus_xid, + sc->sc_fwbus->fw_type, sc->sc_fwbus->fw_mode); + + fwflushsz = (PCI_SLOTMAX + 1) * sizeof(struct sgisn_fwflush); + fwflush = contigmalloc(fwflushsz, M_TEMP, M_ZERO, 0UL, ~0UL, 16, 0); + BUS_READ_IVAR(parent, dev, SHUB_IVAR_NASID, &ivar); + r = ia64_sal_entry(SAL_SGISN_IOBUS_FLUSH, ivar, + sc->sc_fwbus->fw_common.bus_xid, ia64_tpa((uintptr_t)fwflush), + 0, 0, 0, 0); + if (r.sal_status == 0) { + int i, slot; + + for (i = 0; i <= PCI_SLOTMAX; i++) { + if (fwflush[i].fld_pci_segment != sc->sc_domain || + fwflush[i].fld_pci_bus != sc->sc_busnr) + continue; + slot = fwflush[i].fld_slot; + sc->sc_flush_intr[slot] = fwflush[i].fld_intr; + sc->sc_flush_addr[slot] = fwflush[i].fld_addr; + device_printf(dev, "slot=%d: flush addr=%p, intr=%p\n", + slot, fwflush[i].fld_addr, fwflush[i].fld_intr); + } + } + contigfree(fwflush, fwflushsz, M_TEMP); device_add_child(dev, "pci", -1); error = bus_generic_attach(dev); @@ -485,17 +518,21 @@ sgisn_pcib_write_ivar(device_t dev, devi } static int -sgisn_pcib_iommu_xlate(device_t dev, busdma_mtag_t mtag) +sgisn_pcib_iommu_xlate(device_t bus, device_t dev, busdma_mtag_t mtag) { + struct sgisn_pcib_softc *sc = device_get_softc(bus); vm_paddr_t bndry = 0x80000000UL; /* * Use a 31-bit direct-mapped window for PCI devices that are not - * 64-bit capable. In that case we also make sure allocations do - * not cross the 2G boundary so that the whole segment can be - * direct mapped. + * 64-bit capable and we're not in PCI-X mode. + * For 31-bit direct-mapped DMA we need to make sure allocations + * do not cross the 2G boundary. */ - if (mtag->dmt_maxaddr < ~0UL) { + if (mtag->dmt_maxaddr < ~0UL && (sc->sc_fwbus->fw_mode & 1) == 0) + mtag->dmt_flags |= BUSDMA_MD_IA64_DIRECT32; + + if (mtag->dmt_flags & BUSDMA_MD_IA64_DIRECT32) { mtag->dmt_maxaddr &= (bndry - 1); if (mtag->dmt_bndry == 0 || mtag->dmt_bndry > bndry) mtag->dmt_bndry = bndry; @@ -504,27 +541,60 @@ sgisn_pcib_iommu_xlate(device_t dev, bus } static int -sgisn_pcib_iommu_map(device_t dev, busdma_md_t md, u_int idx, bus_addr_t *ba_p) +sgisn_pcib_iommu_map(device_t bus, device_t dev, busdma_md_t md, u_int idx, + bus_addr_t *ba_p) { - struct sgisn_pcib_softc *sc = device_get_softc(dev); + struct sgisn_pcib_softc *sc = device_get_softc(bus); busdma_tag_t tag; bus_addr_t maxaddr = 0x80000000UL; bus_addr_t ba; + u_int flags; ba = *ba_p; - if (ba < maxaddr) { - ba |= maxaddr; - *ba_p = ba; + + flags = busdma_md_get_flags(md); + if ((flags & BUSDMA_MD_IA64_DIRECT32) && ba < maxaddr) { + *ba_p = ba | maxaddr; return (0); } tag = busdma_md_get_tag(md); maxaddr = busdma_tag_get_maxaddr(tag); if (maxaddr == ~0UL) { - ba |= ((u_long)sc->sc_fwbus->fw_hub_xid << 60) | (1UL << 59); - *ba_p = ba; + *ba_p = ba | ((u_long)sc->sc_fwbus->fw_hub_xid << 60) | + (1UL << 59); return (0); } + /* XXX 32-bit mapped DMA */ return (ENXIO); } + +static int +sgisn_pcib_iommu_sync(device_t bus, device_t dev, busdma_md_t md, u_int op, + bus_addr_t addr, bus_size_t size) +{ + struct sgisn_pcib_softc *sc = device_get_softc(bus); + volatile uint64_t *fladdr; + volatile uint32_t *flintr; + uintptr_t slot; + int error; + + if ((op & BUSDMA_SYNC_POSTREAD) != BUSDMA_SYNC_POSTREAD) + return (0); + + error = BUS_READ_IVAR(device_get_parent(dev), dev, PCI_IVAR_SLOT, + &slot); + if (error) + return (error); + + fladdr = sc->sc_flush_addr[slot]; + flintr = sc->sc_flush_intr[slot]; + if (fladdr != NULL && flintr != NULL) { + *fladdr = 0; + *flintr = 1; + while (*fladdr != 0x10f) + cpu_spinwait(); + } + return (0); +} Modified: projects/altix2/sys/ia64/sgisn/sgisn_shub.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_shub.c Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/ia64/sgisn/sgisn_shub.c Mon Jan 7 03:47:59 2013 (r245122) @@ -91,8 +91,9 @@ static int sgisn_shub_set_resource(devic u_long); static int sgisn_shub_write_ivar(device_t, device_t, int, uintptr_t); -static int sgisn_shub_iommu_xlate(device_t, busdma_mtag_t); -static int sgisn_shub_iommu_map(device_t, busdma_md_t, u_int, bus_addr_t *); +static int sgisn_shub_iommu_xlate(device_t, device_t, busdma_mtag_t); +static int sgisn_shub_iommu_map(device_t, device_t, busdma_md_t, u_int, + bus_addr_t *); /* * Bus interface definitions. @@ -486,16 +487,22 @@ sgisn_shub_attach(device_t dev) static int sgisn_shub_read_ivar(device_t dev, device_t child, int which, uintptr_t *res) { + struct sgisn_shub_softc *sc; uintptr_t ivars; - ivars = (uintptr_t)device_get_ivars(child); switch (which) { case SHUB_IVAR_PCIBUS: + ivars = (uintptr_t)device_get_ivars(child); *res = ivars & 0xff; return (0); case SHUB_IVAR_PCISEG: + ivars = (uintptr_t)device_get_ivars(child); *res = ivars >> 8; return (0); + case SHUB_IVAR_NASID: + sc = device_get_softc(dev); + *res = sc->sc_nasid; + return (0); } return (ENOENT); } @@ -508,16 +515,16 @@ sgisn_shub_write_ivar(device_t dev, devi } static int -sgisn_shub_iommu_xlate(device_t dev, busdma_mtag_t mtag) +sgisn_shub_iommu_xlate(device_t bus, device_t dev, busdma_mtag_t mtag) { struct sgisn_shub_softc *sc; vm_paddr_t maxaddr; - sc = device_get_softc(dev); + sc = device_get_softc(bus); /* - * Always limit the maximum address to the maximum offset within - * this node's cacheable memory space. + * Limit the maximum address to the maximum node offset within an + * address space. */ maxaddr = (1UL << (sc->sc_nasid_shft - 2)) - 1; if (mtag->dmt_maxaddr > maxaddr) @@ -525,7 +532,8 @@ sgisn_shub_iommu_xlate(device_t dev, bus /* * Transpose the address range into the current node's cacheable - * memory space. + * memory space. This makes sure DMA memory is allocated close to + * the device (= within the same node). */ mtag->dmt_minaddr += sc->sc_membase; mtag->dmt_maxaddr += sc->sc_membase; @@ -533,17 +541,34 @@ sgisn_shub_iommu_xlate(device_t dev, bus } static int -sgisn_shub_iommu_map(device_t dev, busdma_md_t md, u_int idx, bus_addr_t *ba_p) +sgisn_shub_iommu_map(device_t bus, device_t dev, busdma_md_t md, u_int idx, + bus_addr_t *ba_p) { struct sgisn_shub_softc *sc; - bus_addr_t ba; + bus_addr_t ba, mask; + u_int flags; - sc = device_get_softc(dev); + sc = device_get_softc(bus); ba = *ba_p; - if (ba >= sc->sc_membase && ba < sc->sc_membase + sc->sc_memsize) { - ba -= sc->sc_membase; - *ba_p = ba; + + /* + * Return the node offset when doing 32-bit direct-mapped DMA. + * The PCI bridge maps this somewhere in the cacheable memory + * of this node. + */ + flags = busdma_md_get_flags(md); + if ((flags & BUSDMA_MD_IA64_DIRECT32) && ba >= sc->sc_membase && + ba < sc->sc_membase + sc->sc_memsize) { + *ba_p = ba - sc->sc_membase; + return (0); } + + /* + * For all other memory addresses, map to a fully qualified bus + * address. + */ + mask = (1UL << (sc->sc_nasid_shft - 2)) - 1; + *ba_p = ((ba >> 2) & ~mask) | (ba & mask); return (0); } Modified: projects/altix2/sys/kern/busdma_if.m ============================================================================== --- projects/altix2/sys/kern/busdma_if.m Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/kern/busdma_if.m Mon Jan 7 03:47:59 2013 (r245122) @@ -34,31 +34,40 @@ INTERFACE busdma; # Default implementations CODE { static int - default_iommu_xlate(device_t dev, busdma_mtag_t mtag) + default_iommu_xlate(device_t bus, device_t dev, busdma_mtag_t mtag) { return (0); } static int - default_iommu_map(device_t dev, busdma_md_t md, u_int idx, - bus_addr_t *ba_p) + default_iommu_map(device_t bus, device_t dev, busdma_md_t md, + u_int idx, bus_addr_t *ba_p) { return (0); } static int - default_iommu_unmap(device_t dev, busdma_md_t md) + default_iommu_unmap(device_t bus, device_t dev, busdma_md_t md) + { + return (0); + } + + static int + default_iommu_sync(device_t bus, device_t dev, busdma_md_t md, + u_int op, bus_addr_t addr, bus_size_t size) { return (0); } }; METHOD int iommu_xlate { + device_t bus; device_t dev; busdma_mtag_t mtag; } DEFAULT default_iommu_xlate; METHOD int iommu_map { + device_t bus; device_t dev; busdma_md_t md; u_int idx; @@ -66,6 +75,17 @@ METHOD int iommu_map { } DEFAULT default_iommu_map; METHOD int iommu_unmap { + device_t bus; device_t dev; busdma_md_t md; } DEFAULT default_iommu_unmap; + +METHOD int iommu_sync { + device_t bus; + device_t dev; + busdma_md_t md; + u_int op; + bus_addr_t addr; + bus_size_t size; +} DEFAULT default_iommu_sync; + Modified: projects/altix2/sys/kern/subr_busdma.c ============================================================================== --- projects/altix2/sys/kern/subr_busdma.c Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/kern/subr_busdma.c Mon Jan 7 03:47:59 2013 (r245122) @@ -166,9 +166,9 @@ _busdma_mtag_dump(const char *func, devi { #ifdef BUSDMA_DEBUG - printf("[%s: %s: min=%#jx, max=%#jx, size=%#jx, align=%#jx, " + printf("[%s: %s: flags=%x, min=%#jx, max=%#jx, size=%#jx, align=%#jx, " "bndry=%#jx]\n", __func__, - (dev != NULL) ? device_get_nameunit(dev) : "*", + (dev != NULL) ? device_get_nameunit(dev) : "*", mtag->dmt_flags, (uintmax_t)mtag->dmt_minaddr, (uintmax_t)mtag->dmt_maxaddr, (uintmax_t)mtag->dmt_maxsz, (uintmax_t)mtag->dmt_align, (uintmax_t)mtag->dmt_bndry); @@ -227,8 +227,9 @@ _busdma_data_dump(const char *func, stru bus_addr_t pa; int sz; - printf("[%s: %s: md=%p {\n", func, - device_get_nameunit(md->md_tag->dt_device), md); + printf("[%s: %s: md=%p, addr=%#jx, size=%#jx {\n", func, + device_get_nameunit(md->md_tag->dt_device), md, + (uintmax_t)addr, (uintmax_t)len); TAILQ_FOREACH(seg, &md->md_seg, mds_chain) { if (seg->mds_busaddr + seg->mds_size <= addr || addr + len <= seg->mds_busaddr) @@ -348,30 +349,38 @@ _busdma_md_create(struct busdma_tag *tag } static int -_busdma_iommu_xlate(device_t leaf, struct busdma_mtag *mtag) +_busdma_iommu_xlate(device_t dev, struct busdma_mtag *mtag) { - device_t dev; + device_t bus; int error; error = 0; - dev = device_get_parent(leaf); - while (!error && dev != root_bus) { - _busdma_mtag_dump(__func__, dev, mtag); - error = BUSDMA_IOMMU_XLATE(dev, mtag); + bus = device_get_parent(dev); + while (!error && bus != root_bus) { + _busdma_mtag_dump(__func__, bus, mtag); + error = BUSDMA_IOMMU_XLATE(bus, dev, mtag); if (!error) - dev = device_get_parent(dev); + bus = device_get_parent(bus); } - _busdma_mtag_dump(__func__, dev, mtag); + + /* + * Always align allocated memory on cache line boundaries and round + * the size up to the next cache line. + */ + mtag->dmt_align = MAX(mtag->dmt_align, CACHE_LINE_SIZE); + mtag->dmt_maxsz = roundup2(mtag->dmt_maxsz, CACHE_LINE_SIZE); + + _busdma_mtag_dump(__func__, bus, mtag); return (error); } static int -_busdma_iommu_map_r(device_t dev, struct busdma_md *md, +_busdma_iommu_map_r(device_t bus, device_t dev, struct busdma_md *md, struct busdma_md_seg *seg) { int error; - if (dev == root_bus) { + if (bus == root_bus) { /* * A bus address and a physical address are one and the same * at this level. @@ -380,35 +389,71 @@ _busdma_iommu_map_r(device_t dev, struct return (0); } - error = _busdma_iommu_map_r(device_get_parent(dev), md, seg); + error = _busdma_iommu_map_r(device_get_parent(bus), dev, md, seg); if (!error) - error = BUSDMA_IOMMU_MAP(dev, md, seg->mds_idx, + error = BUSDMA_IOMMU_MAP(bus, dev, md, seg->mds_idx, &seg->mds_busaddr); return (error); } static int -_busdma_iommu_map(device_t leaf, struct busdma_md *md) +_busdma_iommu_map(device_t dev, struct busdma_md *md) { struct busdma_md_seg *seg; - device_t dev; + device_t bus; int error; _busdma_md_dump(__func__, root_bus, md); - dev = device_get_parent(leaf); + bus = device_get_parent(dev); error = 0; TAILQ_FOREACH(seg, &md->md_seg, mds_chain) { - error = _busdma_iommu_map_r(dev, md, seg); + error = _busdma_iommu_map_r(bus, dev, md, seg); if (error) break; } - if (!error) { - _busdma_md_dump(__func__, leaf, md); - } + if (!error) + _busdma_md_dump(__func__, dev, md); + return (error); +} + +static int +_busdma_iommu_unmap(device_t dev, struct busdma_md *md) +{ + device_t bus; + int error; + + bus = device_get_parent(dev); + error = BUSDMA_IOMMU_UNMAP(bus, dev, md); + if (error) + printf("%s: error=%d\n", __func__, error); + return (error); } static int +_busdma_iommu_sync(device_t dev, struct busdma_md *md, u_int op, + bus_addr_t addr, bus_size_t size) +{ + device_t bus; + int error; + + error = 0; + bus = device_get_parent(dev); + while (!error && bus != root_bus) { + error = BUSDMA_IOMMU_SYNC(bus, dev, md, op, addr, size); + if (!error) + bus = device_get_parent(bus); + } + if (error) + return (error); + + if ((op & BUSDMA_SYNC_PREWRITE) == BUSDMA_SYNC_PREWRITE || + (op & BUSDMA_SYNC_POSTREAD) == BUSDMA_SYNC_POSTREAD) + _busdma_data_dump(__func__, md, addr, size); + return (0); +} + +static int _busdma_md_load(struct busdma_md *md, pmap_t pm, vm_offset_t va, vm_size_t len) { struct busdma_md_seg *seg; @@ -603,6 +648,15 @@ busdma_md_get_busaddr(struct busdma_md * } u_int +busdma_md_get_flags(struct busdma_md *md) +{ + + CTR2(KTR_BUSDMA, "%s: md=%p", __func__, md); + + return ((md != NULL) ? md->md_flags : 0); +} + +u_int busdma_md_get_nsegs(struct busdma_md *md) { @@ -715,7 +769,6 @@ int busdma_md_unload(struct busdma_md *md) { struct busdma_md_seg *seg; - device_t bus; int error; CTR2(KTR_BUSDMA, "%s: md=%p", __func__, md); @@ -728,10 +781,9 @@ busdma_md_unload(struct busdma_md *md) if (md->md_nsegs == 0) return (0); - bus = device_get_parent(md->md_tag->dt_device); - error = BUSDMA_IOMMU_UNMAP(bus, md); + error = _busdma_iommu_unmap(md->md_tag->dt_device, md); if (error) - printf("BUSDMA_IOMMU_UNMAP: error=%d\n", error); + return (error); while ((seg = TAILQ_FIRST(&md->md_seg)) != NULL) { TAILQ_REMOVE(&md->md_seg, seg, mds_chain); @@ -761,6 +813,7 @@ busdma_mem_alloc(struct busdma_tag *tag, if (md == NULL) return (ENOMEM); + mtag.dmt_flags = flags & BUSDMA_MD_PLATFORM_FLAGS; mtag.dmt_minaddr = tag->dt_minaddr; mtag.dmt_maxaddr = tag->dt_maxaddr; mtag.dmt_maxsz = tag->dt_maxsegsz; @@ -773,8 +826,8 @@ busdma_mem_alloc(struct busdma_tag *tag, goto fail; } - mflags = 0; - mflags |= (flags & BUSDMA_ALLOC_ZERO) ? M_ZERO : 0; + md->md_flags |= mtag.dmt_flags & BUSDMA_MD_PLATFORM_FLAGS; + mflags = (flags & BUSDMA_ALLOC_ZERO) ? M_ZERO : 0; idx = 0; maxsz = tag->dt_maxsz; @@ -822,7 +875,6 @@ int busdma_mem_free(struct busdma_md *md) { struct busdma_md_seg *seg; - device_t bus; int error; CTR2(KTR_BUSDMA, "%s: md=%p", __func__, md); @@ -832,10 +884,9 @@ busdma_mem_free(struct busdma_md *md) if ((md->md_flags & BUSDMA_MD_FLAG_ALLOCATED) == 0) return (EINVAL); - bus = device_get_parent(md->md_tag->dt_device); - error = BUSDMA_IOMMU_UNMAP(bus, md); + error = _busdma_iommu_unmap(md->md_tag->dt_device, md); if (error) - printf("BUSDMA_IOMMU_UNMAP: error=%d\n", error); + return (error); while ((seg = TAILQ_FIRST(&md->md_seg)) != NULL) { kmem_free(kernel_map, seg->mds_vaddr, seg->mds_size); @@ -846,26 +897,15 @@ busdma_mem_free(struct busdma_md *md) return (0); } -void -busdma_sync(struct busdma_md *md, u_int op) -{ - - CTR3(KTR_BUSDMA, "%s: md=%p, op=%#x", __func__, md, op); - - if ((op & BUSDMA_SYNC_PREWRITE) == BUSDMA_SYNC_PREWRITE || - (op & BUSDMA_SYNC_POSTREAD) == BUSDMA_SYNC_POSTREAD) - _busdma_data_dump(__func__, md, 0UL, ~0UL); -} - -void +int busdma_sync_range(struct busdma_md *md, u_int op, bus_addr_t addr, - bus_size_t len) + bus_size_t size) { + int error; - CTR5(KTR_BUSDMA, "%s: md=%p, op=%#x, addr=%#jx, len=%#jx", __func__, - md, op, (uintmax_t)addr, (uintmax_t)len); + CTR5(KTR_BUSDMA, "%s: md=%p, op=%#x, addr=%#jx, size=%#jx", __func__, + md, op, (uintmax_t)addr, (uintmax_t)size); - if ((op & BUSDMA_SYNC_PREWRITE) == BUSDMA_SYNC_PREWRITE || - (op & BUSDMA_SYNC_POSTREAD) == BUSDMA_SYNC_POSTREAD) - _busdma_data_dump(__func__, md, addr, len); + error = _busdma_iommu_sync(md->md_tag->dt_device, md, op, addr, size); + return (error); } Modified: projects/altix2/sys/sys/busdma.h ============================================================================== --- projects/altix2/sys/sys/busdma.h Mon Jan 7 03:36:32 2013 (r245121) +++ projects/altix2/sys/sys/busdma.h Mon Jan 7 03:47:59 2013 (r245122) @@ -38,6 +38,7 @@ struct busdma_md; typedef struct busdma_md *busdma_md_t; struct busdma_mtag { + u_int dmt_flags; vm_paddr_t dmt_minaddr; vm_paddr_t dmt_maxaddr; vm_size_t dmt_maxsz; @@ -113,6 +114,7 @@ int busdma_md_load_phys(busdma_md_t md, int busdma_md_load_uio(busdma_md_t md, struct uio *uio, busdma_callback_f cb, void *arg, u_int flags); int busdma_md_unload(busdma_md_t md); +u_int busdma_md_get_flags(busdma_md_t md); u_int busdma_md_get_nsegs(busdma_md_t md); busdma_tag_t busdma_md_get_tag(busdma_md_t md); bus_addr_t busdma_md_get_busaddr(busdma_md_t md, u_int idx); @@ -127,6 +129,16 @@ busdma_md_get_pointer(busdma_md_t md, u_ } /* + * Platform-specific flags kept in the memory descriptor and used + * by the machine-dependent code. They're exposed here to make it + * possible for drivers to use them as well if so needed. + */ +#define BUSDMA_MD_PLATFORM_FLAGS 0xffff + +/* SGI Altix 350 - Map the MD using a 32-bit direct-mapped address. */ +#define BUSDMA_MD_IA64_DIRECT32 0x0001 + +/* * busdma_mem_alloc * returns: errno value * arguments: @@ -136,7 +148,8 @@ busdma_md_get_pointer(busdma_md_t md, u_ */ int busdma_mem_alloc(busdma_tag_t tag, u_int flags, busdma_md_t *md_p); -#define BUSDMA_ALLOC_ZERO 0x10000 +/* Allocate pre-zeroed memory. */ +#define BUSDMA_ALLOC_ZERO 0x10000 /* * busdma_mem_free @@ -148,8 +161,15 @@ int busdma_mem_free(busdma_md_t md); int busdma_start(busdma_md_t md, u_int); int busdma_stop(busdma_md_t md); -void busdma_sync(busdma_md_t md, u_int); -void busdma_sync_range(busdma_md_t md, u_int, vm_paddr_t, vm_size_t); + +int busdma_sync_range(busdma_md_t md, u_int, bus_addr_t, bus_size_t); + +static __inline int +busdma_sync(busdma_md_t md, u_int op) +{ + + return (busdma_sync_range(md, op, 0UL, ~0UL)); +} #define BUSDMA_SYNC_READ 0x10000 #define BUSDMA_SYNC_WRITE 0x20000 From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 04:51:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 59B57D55 for ; Mon, 7 Jan 2013 04:51:44 +0000 (UTC) (envelope-from grehan@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 44763926 for ; Mon, 7 Jan 2013 04:51:44 +0000 (UTC) Received: from grehan (uid 953) (envelope-from grehan@svn.freebsd.org) id 1b8e by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 04:51:44 +0000 From: Peter Grehan Date: Mon, 7 Jan 2013 04:51:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245123 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea5460.1b8e.75385f2d@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 04:51:44 -0000 Author: grehan Date: Mon Jan 7 04:51:43 2013 New Revision: 245123 URL: http://svnweb.freebsd.org/changeset/base/245123 Log: Use 64-bit arithmetic throughout, and lock accesses to globals. With this change, dbench with >= 4 processes runs without getting weird jumps forward in time when the APCI pmtimer is the default timecounter. Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyve/pmtmr.c Modified: projects/bhyve/usr.sbin/bhyve/pmtmr.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pmtmr.c Mon Jan 7 03:47:59 2013 (r245122) +++ projects/bhyve/usr.sbin/bhyve/pmtmr.c Mon Jan 7 04:51:43 2013 (r245123) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "inout.h" @@ -51,36 +52,42 @@ __FBSDID("$FreeBSD$"); #define PMTMR_FREQ 3579545 /* 3.579545MHz */ -static uint32_t pmtmr_tscf; -static uint32_t pmtmr_old; +static pthread_mutex_t pmtmr_mtx; +static uint64_t pmtmr_tscf; +static uint64_t pmtmr_old; static uint64_t pmtmr_tsc_old; static uint32_t pmtmr_val(void) { uint64_t pmtmr_tsc_new; - uint32_t pmtmr_new; + uint64_t pmtmr_new; static int inited = 0; if (!inited) { size_t len; + uint32_t tmpf; inited = 1; - len = sizeof(pmtmr_tscf); - sysctlbyname("machdep.tsc_freq", &pmtmr_tscf, &len, + pthread_mutex_init(&pmtmr_mtx, NULL); + len = sizeof(tmpf); + sysctlbyname("machdep.tsc_freq", &tmpf, &len, NULL, 0); + pmtmr_tscf = tmpf; pmtmr_tsc_old = rdtsc(); pmtmr_old = pmtmr_tsc_old / pmtmr_tscf * PMTMR_FREQ; return (pmtmr_old); } + pthread_mutex_lock(&pmtmr_mtx); pmtmr_tsc_new = rdtsc(); pmtmr_new = (pmtmr_tsc_new - pmtmr_tsc_old) * PMTMR_FREQ / pmtmr_tscf + pmtmr_old; pmtmr_old = pmtmr_new; pmtmr_tsc_old = pmtmr_tsc_new; + pthread_mutex_unlock(&pmtmr_mtx); - return (pmtmr_old); + return (pmtmr_new); } static int From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 06:37:22 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D13D0803 for ; Mon, 7 Jan 2013 06:37:22 +0000 (UTC) (envelope-from neel@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 97F35C12 for ; Mon, 7 Jan 2013 06:37:22 +0000 (UTC) Received: from neel (uid 1208) (envelope-from neel@svn.freebsd.org) id 11bb by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 06:37:22 +0000 From: Neel Natu Date: Mon, 7 Jan 2013 06:37:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245124 - projects/bhyve/share/man/man4 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea6d22.11bb.19689c1b@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 06:37:22 -0000 Author: neel Date: Mon Jan 7 06:37:22 2013 New Revision: 245124 URL: http://svnweb.freebsd.org/changeset/base/245124 Log: Add man page for bhyve(4). The project as well as the man page is a work-in-progress. This is the first man page I have written so apologies in advance if it offends anybody's sensibilities :-) Reviewed by: grehan Obtained from: NetApp Added: projects/bhyve/share/man/man4/bhyve.4 (contents, props changed) Added: projects/bhyve/share/man/man4/bhyve.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve/share/man/man4/bhyve.4 Mon Jan 7 06:37:22 2013 (r245124) @@ -0,0 +1,68 @@ +.\" +.\" Copyright (c) 2012 NetApp Inc +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 5, 2013 +.Dt BHYVE 4 +.Os +.Sh NAME +.Nm bhyve +.Nd virtual machine monitor +.Sh SYNOPSIS +.Cd "/usr/sbin/bhyve" +.Cd "/usr/sbin/bhyveload" +.Cd "/usr/sbin/bhyvectl" +.Cd "/boot/kernel/vmm.ko" +.Sh DESCRIPTION +.Nm +is a virtual machine monitor that is hosted by FreeBSD. It is used to host +unmodified guest operating systems on top of FreeBSD. +.Pp +.Nm +relies heavily on hardware assist provided by the CPU and chipset to virtualize +processor and memory resources. +.Sh SEE ALSO +.Xr bhyve 8 , +.Xr bhyveload 8 , +.Xr bhyvectl 8 , +.Xr vmm 4 +.Sh HISTORY +.Nm +first appeared in +.Fx 10.0 , +and was developed at NetApp Inc. +.Sh AUTHORS +.Nm +was developed by +.An -nosplit +.An "Peter Grehan" Aq grehan@FreeBSD.org +and +.An "Neel Natu" Aq neel@FreeBSD.org +at NetApp Inc. +.Sh BUGS +.Nm +is considered experimental in +.Fx . From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 07:05:57 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9DF02F49 for ; Mon, 7 Jan 2013 07:05:57 +0000 (UTC) (envelope-from marcel@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9269AE6F for ; Mon, 7 Jan 2013 07:05:57 +0000 (UTC) Received: from marcel (uid 782) (envelope-from marcel@svn.freebsd.org) id 1e6b by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 07:05:57 +0000 From: Marcel Moolenaar Date: Mon, 7 Jan 2013 07:05:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245125 - projects/altix2/sys/ia64/sgisn X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea73d5.1e6b.14f134e3@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 07:05:57 -0000 Author: marcel Date: Mon Jan 7 07:05:57 2013 New Revision: 245125 URL: http://svnweb.freebsd.org/changeset/base/245125 Log: Print the revision of the SHub under bootverbose. Modified: projects/altix2/sys/ia64/sgisn/sgisn_shub.c Modified: projects/altix2/sys/ia64/sgisn/sgisn_shub.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_shub.c Mon Jan 7 06:37:22 2013 (r245124) +++ projects/altix2/sys/ia64/sgisn/sgisn_shub.c Mon Jan 7 07:05:57 2013 (r245125) @@ -377,6 +377,7 @@ sgisn_shub_attach(device_t dev) ACPI_TABLE_HEADER *tbl; device_t child; void *ptr; + uint64_t id; u_long addr; u_int bus, seg, wdgt; @@ -421,8 +422,11 @@ sgisn_shub_attach(device_t dev) sc->sc_tag = IA64_BUS_SPACE_MEM; bus_space_map(sc->sc_tag, sc->sc_mmraddr, 1UL << 32, 0, &sc->sc_hndl); - if (bootverbose) - device_printf(dev, "NASID=%#x\n", sc->sc_nasid); + if (bootverbose) { + id = bus_space_read_8(sc->sc_tag, sc->sc_hndl, SHUB_MMR_ID); + device_printf(dev, "Revision=%u, NASID=%#x\n", + (u_int)((id >> 28) & 0xf), sc->sc_nasid); + } /* * Allocate contiguous memory, local to the SHub, for collecting From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 07:33:48 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CD4CA5EE for ; Mon, 7 Jan 2013 07:33:48 +0000 (UTC) (envelope-from grehan@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A699FF69 for ; Mon, 7 Jan 2013 07:33:48 +0000 (UTC) Received: from grehan (uid 953) (envelope-from grehan@svn.freebsd.org) id 19f3 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 07:33:48 +0000 From: Peter Grehan Date: Mon, 7 Jan 2013 07:33:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245127 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea7a5c.19f3.7682b587@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 07:33:48 -0000 Author: grehan Date: Mon Jan 7 07:33:48 2013 New Revision: 245127 URL: http://svnweb.freebsd.org/changeset/base/245127 Log: Don't completely drain the read file descriptor. Instead, only fill up to the uart's rx fifo size, and leave any remaining input for when the rx fifo is read. This allows cut'n'paste of long lines to be done into the bhyve console without truncation. Also, introduce a mutex since the file input will run in the mevent thread context and may corrupt state accessed by a vCPU thread. Reviewed by: neel Approved by: NetApp Modified: projects/bhyve/usr.sbin/bhyve/pci_uart.c Modified: projects/bhyve/usr.sbin/bhyve/pci_uart.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pci_uart.c Mon Jan 7 07:30:41 2013 (r245126) +++ projects/bhyve/usr.sbin/bhyve/pci_uart.c Mon Jan 7 07:33:48 2013 (r245127) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "bhyverun.h" #include "pci_emul.h" @@ -97,6 +98,7 @@ struct fifo { struct pci_uart_softc { struct pci_devinst *pi; + pthread_mutex_t mtx; /* protects all softc elements */ uint8_t data; /* Data register (R/W) */ uint8_t ier; /* Interrupt enable register (R/W) */ uint8_t lcr; /* Line control register (R/W) */ @@ -214,6 +216,13 @@ fifo_numchars(struct fifo *fifo) return (fifo->num); } +static int +fifo_available(struct fifo *fifo) +{ + + return (fifo->num < fifo->size); +} + static void pci_uart_opentty(struct pci_uart_softc *sc) { @@ -304,19 +313,25 @@ pci_uart_drain(int fd, enum ev_type ev, assert(fd == STDIN_FILENO); assert(ev == EVF_READ); + + /* + * This routine is called in the context of the mevent thread + * to take out the softc lock to protect against concurrent + * access from a vCPU i/o exit + */ + pthread_mutex_lock(&sc->mtx); - while ((ch = ttyread()) != -1) { - /* - * If we are in loopback mode then drop this character. - */ - if ((sc->mcr & MCR_LOOPBACK) != 0) - continue; - - if (fifo_putchar(&sc->rxfifo, ch) != 0) - sc->lsr |= LSR_OE; + if ((sc->mcr & MCR_LOOPBACK) != 0) { + (void) ttyread(); + } else { + while (fifo_available(&sc->rxfifo) && + ((ch = ttyread()) != -1)) { + fifo_putchar(&sc->rxfifo, ch); + } + pci_uart_toggle_intr(sc); } - pci_uart_toggle_intr(sc); + pthread_mutex_unlock(&sc->mtx); } static void @@ -337,6 +352,8 @@ pci_uart_write(struct vmctx *ctx, int vc pci_uart_opentty(sc); sc->opened = 1; } + + pthread_mutex_lock(&sc->mtx); /* * Take care of the special case DLAB accesses first @@ -458,6 +475,7 @@ pci_uart_write(struct vmctx *ctx, int vc done: pci_uart_toggle_intr(sc); + pthread_mutex_unlock(&sc->mtx); } uint64_t @@ -479,6 +497,8 @@ pci_uart_read(struct vmctx *ctx, int vcp sc->opened = 1; } + pthread_mutex_lock(&sc->mtx); + /* * Take care of the special case DLAB accesses first */ @@ -554,6 +574,8 @@ pci_uart_read(struct vmctx *ctx, int vcp done: pci_uart_toggle_intr(sc); + pthread_mutex_unlock(&sc->mtx); + return (reg); } @@ -570,6 +592,8 @@ pci_uart_init(struct vmctx *ctx, struct pi->pi_arg = sc; sc->pi = pi; + pthread_mutex_init(&sc->mtx, NULL); + /* initialize config space */ pci_set_cfgdata16(pi, PCIR_DEVICE, COM_DEV); pci_set_cfgdata16(pi, PCIR_VENDOR, COM_VENDOR); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 14:11:12 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D1BA44CD for ; Mon, 7 Jan 2013 14:11:12 +0000 (UTC) (envelope-from rmacklem@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B8C5EC32 for ; Mon, 7 Jan 2013 14:11:12 +0000 (UTC) Received: from rmacklem (uid 1196) (envelope-from rmacklem@svn.freebsd.org) id 7f18 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 14:11:10 +0000 From: Rick Macklem Date: Mon, 7 Jan 2013 14:11:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245130 - in projects/nfsv4-packrats/sys: amd64/conf arm/arm arm/broadcom/bcm2835 arm/conf arm/include arm/ti/cpsw arm/ti/omap4 arm/versatile boot/fdt/dts conf contrib/octeon-sdk dev/ag... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ead77e.7f18.72ee35c1@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 14:11:12 -0000 Author: rmacklem Date: Mon Jan 7 14:11:10 2013 New Revision: 245130 URL: http://svnweb.freebsd.org/changeset/base/245130 Log: Merge in an up to date kernel. Added: projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r245129, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c projects/nfsv4-packrats/sys/dev/ath/if_ath_spectral.c - copied unchanged from r245129, head/sys/dev/ath/if_ath_spectral.c projects/nfsv4-packrats/sys/dev/ath/if_ath_spectral.h - copied unchanged from r245129, head/sys/dev/ath/if_ath_spectral.h Deleted: projects/nfsv4-packrats/sys/dev/xen/evtchn/ projects/nfsv4-packrats/sys/dev/xen/xenpci/machine_reboot.c Modified: projects/nfsv4-packrats/sys/amd64/conf/GENERIC projects/nfsv4-packrats/sys/arm/arm/busdma_machdep-v6.c projects/nfsv4-packrats/sys/arm/arm/machdep.c projects/nfsv4-packrats/sys/arm/arm/pl310.c projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/nfsv4-packrats/sys/arm/conf/BEAGLEBONE projects/nfsv4-packrats/sys/arm/include/machdep.h projects/nfsv4-packrats/sys/arm/include/pl310.h projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpsw.c projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpswreg.h projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpswvar.h projects/nfsv4-packrats/sys/arm/ti/omap4/omap4_l2cache.c projects/nfsv4-packrats/sys/arm/ti/omap4/omap4_smc.h projects/nfsv4-packrats/sys/arm/versatile/versatile_clcd.c projects/nfsv4-packrats/sys/boot/fdt/dts/pandaboard.dts projects/nfsv4-packrats/sys/conf/files projects/nfsv4-packrats/sys/conf/options.mips projects/nfsv4-packrats/sys/contrib/octeon-sdk/cvmx-app-init.h projects/nfsv4-packrats/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/nfsv4-packrats/sys/dev/agp/agp_ali.c projects/nfsv4-packrats/sys/dev/agp/agp_amd.c projects/nfsv4-packrats/sys/dev/agp/agp_amd64.c projects/nfsv4-packrats/sys/dev/agp/agp_ati.c projects/nfsv4-packrats/sys/dev/agp/agp_intel.c projects/nfsv4-packrats/sys/dev/agp/agp_sis.c projects/nfsv4-packrats/sys/dev/agp/agp_via.c projects/nfsv4-packrats/sys/dev/ahci/ahci.c projects/nfsv4-packrats/sys/dev/ata/ata-pci.h projects/nfsv4-packrats/sys/dev/ata/chipsets/ata-intel.c projects/nfsv4-packrats/sys/dev/ath/ath_dfs/null/dfs_null.c projects/nfsv4-packrats/sys/dev/ath/ath_hal/ah.c projects/nfsv4-packrats/sys/dev/ath/ath_hal/ah.h projects/nfsv4-packrats/sys/dev/ath/ath_hal/ah_internal.h projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/nfsv4-packrats/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/nfsv4-packrats/sys/dev/ath/if_ath.c projects/nfsv4-packrats/sys/dev/ath/if_ath_rx.c projects/nfsv4-packrats/sys/dev/ath/if_athdfs.h projects/nfsv4-packrats/sys/dev/ath/if_athioctl.h projects/nfsv4-packrats/sys/dev/ath/if_athvar.h projects/nfsv4-packrats/sys/dev/fdt/fdtbus.c projects/nfsv4-packrats/sys/dev/ichsmb/ichsmb_pci.c projects/nfsv4-packrats/sys/dev/ichwd/ichwd.c projects/nfsv4-packrats/sys/dev/ichwd/ichwd.h projects/nfsv4-packrats/sys/dev/pci/pci.c projects/nfsv4-packrats/sys/dev/sound/pci/hda/hdac.c projects/nfsv4-packrats/sys/dev/sound/pci/hda/hdac.h projects/nfsv4-packrats/sys/dev/usb/serial/u3g.c projects/nfsv4-packrats/sys/dev/usb/usbdevs projects/nfsv4-packrats/sys/dev/usb/wlan/if_run.c projects/nfsv4-packrats/sys/dev/xen/control/control.c projects/nfsv4-packrats/sys/dev/xen/netfront/netfront.c projects/nfsv4-packrats/sys/fs/ext2fs/ext2_dinode.h projects/nfsv4-packrats/sys/fs/nandfs/nandfs_segment.c projects/nfsv4-packrats/sys/fs/nullfs/null.h projects/nfsv4-packrats/sys/fs/nullfs/null_subr.c projects/nfsv4-packrats/sys/fs/nullfs/null_vfsops.c projects/nfsv4-packrats/sys/fs/nullfs/null_vnops.c projects/nfsv4-packrats/sys/fs/tmpfs/tmpfs.h projects/nfsv4-packrats/sys/fs/tmpfs/tmpfs_subr.c projects/nfsv4-packrats/sys/fs/tmpfs/tmpfs_vfsops.c projects/nfsv4-packrats/sys/fs/tmpfs/tmpfs_vnops.c projects/nfsv4-packrats/sys/i386/conf/GENERIC projects/nfsv4-packrats/sys/i386/xen/xen_machdep.c projects/nfsv4-packrats/sys/ia64/conf/GENERIC projects/nfsv4-packrats/sys/kern/kern_exit.c projects/nfsv4-packrats/sys/kern/kern_lock.c projects/nfsv4-packrats/sys/kern/kern_synch.c projects/nfsv4-packrats/sys/kern/subr_param.c projects/nfsv4-packrats/sys/kern/vfs_mount.c projects/nfsv4-packrats/sys/kern/vfs_vnops.c projects/nfsv4-packrats/sys/mips/atheros/ar71xx_pci.c projects/nfsv4-packrats/sys/mips/beri/beri_machdep.c projects/nfsv4-packrats/sys/mips/conf/OCTEON1 projects/nfsv4-packrats/sys/modules/ath/Makefile projects/nfsv4-packrats/sys/net/zlib.c projects/nfsv4-packrats/sys/net/zlib.h projects/nfsv4-packrats/sys/net80211/ieee80211_hostap.c projects/nfsv4-packrats/sys/net80211/ieee80211_hwmp.c projects/nfsv4-packrats/sys/netinet/in.c projects/nfsv4-packrats/sys/netinet6/in6.c projects/nfsv4-packrats/sys/pc98/conf/GENERIC projects/nfsv4-packrats/sys/powerpc/conf/GENERIC projects/nfsv4-packrats/sys/powerpc/conf/GENERIC64 projects/nfsv4-packrats/sys/sparc64/conf/GENERIC projects/nfsv4-packrats/sys/sparc64/sparc64/interrupt.S projects/nfsv4-packrats/sys/sys/copyright.h projects/nfsv4-packrats/sys/sys/mount.h projects/nfsv4-packrats/sys/sys/vnode.h projects/nfsv4-packrats/sys/ufs/ffs/ffs_snapshot.c projects/nfsv4-packrats/sys/x86/include/specialreg.h Directory Properties: projects/nfsv4-packrats/sys/ (props changed) projects/nfsv4-packrats/sys/boot/ (props changed) projects/nfsv4-packrats/sys/conf/ (props changed) projects/nfsv4-packrats/sys/contrib/octeon-sdk/ (props changed) Modified: projects/nfsv4-packrats/sys/amd64/conf/GENERIC ============================================================================== --- projects/nfsv4-packrats/sys/amd64/conf/GENERIC Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/amd64/conf/GENERIC Mon Jan 7 14:11:10 2013 (r245130) @@ -35,6 +35,7 @@ options SOFTUPDATES # Enable FFS soft options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS options MD_ROOT # MD is a potential root device options NFSCL # New Network Filesystem Client options NFSD # New Network Filesystem Server @@ -317,15 +318,6 @@ device usb # USB Bus (required) device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus and da -# FireWire support -device firewire # FireWire bus code -# sbp(4) works for some systems but causes boot failure on others -#device sbp # SCSI over FireWire (Requires scbus and da) -device fwe # Ethernet over FireWire (non-standard!) -device fwip # IP over FireWire (RFC 2734,3146) -device dcons # Dumb console driver -device dcons_crom # Configuration ROM for dcons - # Sound support device sound # Generic sound driver (required) device snd_cmi # CMedia CMI8338/CMI8738 Modified: projects/nfsv4-packrats/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/arm/busdma_machdep-v6.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/arm/busdma_machdep-v6.c Mon Jan 7 14:11:10 2013 (r245130) @@ -1347,35 +1347,49 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus while (sl != NULL) { /* write back the unaligned portions */ vm_paddr_t physaddr; + register_t s = 0; + buf = sl->vaddr; len = sl->datacount; physaddr = sl->busaddr; bbuf = buf & ~arm_dcache_align_mask; ebuf = buf + len; physaddr = physaddr & ~arm_dcache_align_mask; - unalign = buf & arm_dcache_align_mask; - if (unalign) { - memcpy(_tmp_cl, (void *)bbuf, unalign); - len += unalign; /* inv entire cache line */ - } - unalign = ebuf & arm_dcache_align_mask; - if (unalign) { - unalign = arm_dcache_align - unalign; - memcpy(_tmp_clend, (void *)ebuf, unalign); - len += unalign; /* inv entire cache line */ + + + if ((buf & arm_dcache_align_mask) || + (ebuf & arm_dcache_align_mask)) { + s = intr_disable(); + unalign = buf & arm_dcache_align_mask; + if (unalign) { + memcpy(_tmp_cl, (void *)bbuf, unalign); + len += unalign; /* inv entire cache line */ + } + + unalign = ebuf & arm_dcache_align_mask; + if (unalign) { + unalign = arm_dcache_align - unalign; + memcpy(_tmp_clend, (void *)ebuf, unalign); + len += unalign; /* inv entire cache line */ + } } - /* inv are cache length aligned */ + + /* inv are cache length aligned */ cpu_dcache_inv_range(bbuf, len); l2cache_inv_range(bbuf, physaddr, len); - unalign = (vm_offset_t)buf & arm_dcache_align_mask; - if (unalign) { - memcpy((void *)bbuf, _tmp_cl, unalign); - } - unalign = ebuf & arm_dcache_align_mask; - if (unalign) { - unalign = arm_dcache_align - unalign; - memcpy((void *)ebuf, _tmp_clend, unalign); + if ((buf & arm_dcache_align_mask) || + (ebuf & arm_dcache_align_mask)) { + unalign = (vm_offset_t)buf & arm_dcache_align_mask; + if (unalign) + memcpy((void *)bbuf, _tmp_cl, unalign); + + unalign = ebuf & arm_dcache_align_mask; + if (unalign) + memcpy((void *)ebuf, _tmp_clend, + arm_dcache_align - unalign); + + intr_restore(s); } sl = STAILQ_NEXT(sl, slinks); } Modified: projects/nfsv4-packrats/sys/arm/arm/machdep.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/arm/machdep.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/arm/machdep.c Mon Jan 7 14:11:10 2013 (r245130) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -162,8 +163,6 @@ const struct pmap_devmap *pmap_devmap_bo uint32_t board_id; struct arm_lbabi_tag *atag_list; -uint32_t revision; -uint64_t serial; char linux_command_line[LBABI_MAX_COMMAND_LINE + 1]; char atags[LBABI_MAX_COMMAND_LINE * 2]; uint32_t memstart[LBABI_MAX_BANKS]; @@ -171,6 +170,31 @@ uint32_t memsize[LBABI_MAX_BANKS]; uint32_t membanks; #endif +static uint32_t board_revision; +/* hex representation of uint64_t */ +static char board_serial[32]; + +SYSCTL_NODE(_hw, OID_AUTO, board, CTLFLAG_RD, 0, "Board attributes"); +SYSCTL_UINT(_hw_board, OID_AUTO, revision, CTLFLAG_RD, + &board_revision, 0, "Board revision"); +SYSCTL_STRING(_hw_board, OID_AUTO, serial, CTLFLAG_RD, + board_serial, 0, "Board serial"); + +void +board_set_serial(uint64_t serial) +{ + + snprintf(board_serial, sizeof(board_serial)-1, + "%016jx", serial); +} + +void +board_set_revision(uint32_t revision) +{ + + board_revision = revision; +} + void sendsig(catcher, ksi, mask) sig_t catcher; @@ -849,6 +873,8 @@ vm_offset_t linux_parse_boot_param(struct arm_boot_params *abp) { struct arm_lbabi_tag *walker; + uint32_t revision; + uint64_t serial; /* * Linux boot ABI: r0 = 0, r1 is the board type (!= 0) and r2 @@ -883,9 +909,11 @@ linux_parse_boot_param(struct arm_boot_p case ATAG_SERIAL: serial = walker->u.tag_sn.low | ((uint64_t)walker->u.tag_sn.high << 32); + board_set_serial(serial); break; case ATAG_REVISION: revision = walker->u.tag_rev.rev; + board_set_revision(revision); break; case ATAG_CMDLINE: /* XXX open question: Parse this for boothowto? */ Modified: projects/nfsv4-packrats/sys/arm/arm/pl310.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/arm/pl310.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/arm/pl310.c Mon Jan 7 14:11:10 2013 (r245130) @@ -39,62 +39,39 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include + #include +#include #include #include #include #include -/** - * PL310 - L2 Cache Controller register offsets. - * +/* + * Define this if you need to disable PL310 for debugging purpose + * Spec: + * http://infocenter.arm.com/help/topic/com.arm.doc.ddi0246e/DDI0246E_l2c310_r3p1_trm.pdf + */ + +/* + * Hardcode errata for now + * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0246b/pr01s02s02.html */ -#define PL310_CACHE_ID 0x000 -#define PL310_CACHE_TYPE 0x004 -#define PL310_CTRL 0x100 -#define PL310_AUX_CTRL 0x104 -#define PL310_EVENT_COUNTER_CTRL 0x200 -#define PL310_EVENT_COUNTER1_CONF 0x204 -#define PL310_EVENT_COUNTER0_CONF 0x208 -#define PL310_EVENT_COUNTER1_VAL 0x20C -#define PL310_EVENT_COUNTER0_VAL 0x210 -#define PL310_INTR_MASK 0x214 -#define PL310_MASKED_INTR_STAT 0x218 -#define PL310_RAW_INTR_STAT 0x21C -#define PL310_INTR_CLEAR 0x220 -#define PL310_CACHE_SYNC 0x730 -#define PL310_INV_LINE_PA 0x770 -#define PL310_INV_WAY 0x77C -#define PL310_CLEAN_LINE_PA 0x7B0 -#define PL310_CLEAN_LINE_IDX 0x7B8 -#define PL310_CLEAN_WAY 0x7BC -#define PL310_CLEAN_INV_LINE_PA 0x7F0 -#define PL310_CLEAN_INV_LINE_IDX 0x7F8 -#define PL310_CLEAN_INV_WAY 0x7FC -#define PL310_LOCKDOWN_D_WAY(x) (0x900 + ((x) * 8)) -#define PL310_LOCKDOWN_I_WAY(x) (0x904 + ((x) * 8)) -#define PL310_LOCKDOWN_LINE_ENABLE 0x950 -#define PL310_UNLOCK_ALL_LINES_WAY 0x954 -#define PL310_ADDR_FILTER_START 0xC00 -#define PL310_ADDR_FILTER_END 0xC04 -#define PL310_DEBUG_CTRL 0xF40 - - -#define PL310_AUX_CTRL_MASK 0xc0000fff -#define PL310_AUX_CTRL_ASSOCIATIVITY_SHIFT 16 -#define PL310_AUX_CTRL_WAY_SIZE_SHIFT 17 -#define PL310_AUX_CTRL_WAY_SIZE_MASK (0x7 << 17) -#define PL310_AUX_CTRL_SHARE_OVERRIDE_SHIFT 22 -#define PL310_AUX_CTRL_NS_LOCKDOWN_SHIFT 26 -#define PL310_AUX_CTRL_NS_INT_CTRL_SHIFT 27 -#define PL310_AUX_CTRL_DATA_PREFETCH_SHIFT 28 -#define PL310_AUX_CTRL_INSTR_PREFETCH_SHIFT 29 -#define PL310_AUX_CTRL_EARLY_BRESP_SHIFT 30 +#define PL310_ERRATA_588369 +#define PL310_ERRATA_753970 +#define PL310_ERRATA_727915 + +#define PL310_LOCK(sc) do { \ + mtx_lock_spin(&(sc)->sc_mtx); \ +} while(0); + +#define PL310_UNLOCK(sc) do { \ + mtx_unlock_spin(&(sc)->sc_mtx); \ +} while(0); +static int pl310_enabled = 1; +TUNABLE_INT("pl310.enabled", &pl310_enabled); void omap4_l2cache_wbinv_range(vm_paddr_t physaddr, vm_size_t size); void omap4_l2cache_inv_range(vm_paddr_t physaddr, vm_size_t size); @@ -112,34 +89,31 @@ static uint32_t g_l2cache_size; static struct pl310_softc *pl310_softc; -/** - * pl310_read4 - read a 32-bit value from the PL310 registers - * pl310_write4 - write a 32-bit value from the PL310 registers - * @off: byte offset within the register set to read from - * @val: the value to write into the register - * - * - * LOCKING: - * None - * - * RETURNS: - * nothing in case of write function, if read function returns the value read. - */ -static __inline uint32_t -pl310_read4(bus_size_t off) -{ - return bus_read_4(pl310_softc->sc_mem_res, off); -} -static __inline void -pl310_write4(bus_size_t off, uint32_t val) +static int +pl310_filter(void *arg) { - bus_write_4(pl310_softc->sc_mem_res, off, val); + struct pl310_softc *sc = arg; + uint32_t intr; + + intr = pl310_read4(sc, PL310_INTR_MASK); + + if (!sc->sc_enabled && (intr & INTR_MASK_ECNTR)) { + /* + * This is for debug purpose, so be blunt about it + * We disable PL310 only when something fishy is going + * on and we need to make sure L2 cache is 100% disabled + */ + panic("pl310: caches disabled but cache event detected\n"); + } + + return (FILTER_HANDLED); } static __inline void pl310_wait_background_op(uint32_t off, uint32_t mask) { - while (pl310_read4(off) & mask); + + while (pl310_read4(pl310_softc, off) & mask); } @@ -157,29 +131,51 @@ pl310_wait_background_op(uint32_t off, u static __inline void pl310_cache_sync(void) { - pl310_write4(PL310_CACHE_SYNC, 0); + if ((pl310_softc == NULL) || !pl310_softc->sc_enabled) + return; + +#ifdef PL310_ERRATA_753970 + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) + /* Write uncached PL310 register */ + pl310_write4(pl310_softc, 0x740, 0xffffffff); + else +#endif + pl310_write4(pl310_softc, PL310_CACHE_SYNC, 0xffffffff); } static void pl310_wbinv_all(void) { -#if 1 - pl310_write4(PL310_DEBUG_CTRL, 3); + + if ((pl310_softc == NULL) || !pl310_softc->sc_enabled) + return; + + PL310_LOCK(pl310_softc); +#ifdef PL310_ERRATA_727915 + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 3); #endif - pl310_write4(PL310_CLEAN_INV_WAY, g_l2cache_way_mask); + pl310_write4(pl310_softc, PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_wait_background_op(PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_cache_sync(); -#if 1 - pl310_write4(PL310_DEBUG_CTRL, 0); +#ifdef PL310_ERRATA_727915 + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 0); #endif - + PL310_UNLOCK(pl310_softc); } static void pl310_wbinv_range(vm_paddr_t start, vm_size_t size) { - + + if ((pl310_softc == NULL) || !pl310_softc->sc_enabled) + return; + + PL310_LOCK(pl310_softc); if (start & g_l2cache_align_mask) { size += start & g_l2cache_align_mask; start &= ~g_l2cache_align_mask; @@ -188,61 +184,73 @@ pl310_wbinv_range(vm_paddr_t start, vm_s size &= ~g_l2cache_align_mask; size += g_l2cache_line_size; } -#if 1 - pl310_write4(PL310_DEBUG_CTRL, 3); + +#ifdef PL310_ERRATA_727915 + platform_pl310_write_debug(pl310_softc, 3); #endif while (size > 0) { -#if 1 - /* - * Errata 588369 says that clean + inv may keep the - * cache line if it was clean, the recommanded workaround - * is to clean then invalidate the cache line, with - * write-back and cache linefill disabled - */ - - pl310_write4(PL310_CLEAN_LINE_PA, start); - pl310_write4(PL310_INV_LINE_PA, start); -#else - pl310_write4(PL310_CLEAN_INV_LINE_PA, start); +#ifdef PL310_ERRATA_588369 + if (pl310_softc->sc_rtl_revision <= CACHE_ID_RELEASE_r1p0) { + /* + * Errata 588369 says that clean + inv may keep the + * cache line if it was clean, the recommanded + * workaround is to clean then invalidate the cache + * line, with write-back and cache linefill disabled. + */ + pl310_write4(pl310_softc, PL310_CLEAN_LINE_PA, start); + pl310_write4(pl310_softc, PL310_INV_LINE_PA, start); + } else #endif + pl310_write4(pl310_softc, PL310_CLEAN_INV_LINE_PA, + start); start += g_l2cache_line_size; size -= g_l2cache_line_size; } -#if 1 - pl310_write4(PL310_DEBUG_CTRL, 0); +#ifdef PL310_ERRATA_727915 + platform_pl310_write_debug(pl310_softc, 0); #endif - pl310_wait_background_op(PL310_CLEAN_INV_LINE_PA, 1); + pl310_cache_sync(); - + PL310_UNLOCK(pl310_softc); } static void pl310_wb_range(vm_paddr_t start, vm_size_t size) { - + + if ((pl310_softc == NULL) || !pl310_softc->sc_enabled) + return; + + PL310_LOCK(pl310_softc); if (start & g_l2cache_align_mask) { size += start & g_l2cache_align_mask; start &= ~g_l2cache_align_mask; } + if (size & g_l2cache_align_mask) { size &= ~g_l2cache_align_mask; size += g_l2cache_line_size; } + while (size > 0) { - pl310_write4(PL310_CLEAN_LINE_PA, start); + pl310_write4(pl310_softc, PL310_CLEAN_LINE_PA, start); start += g_l2cache_line_size; size -= g_l2cache_line_size; } - pl310_cache_sync(); - pl310_wait_background_op(PL310_CLEAN_LINE_PA, 1); + pl310_cache_sync(); + PL310_UNLOCK(pl310_softc); } static void pl310_inv_range(vm_paddr_t start, vm_size_t size) { + if ((pl310_softc == NULL) || !pl310_softc->sc_enabled) + return; + + PL310_LOCK(pl310_softc); if (start & g_l2cache_align_mask) { size += start & g_l2cache_align_mask; start &= ~g_l2cache_align_mask; @@ -252,13 +260,13 @@ pl310_inv_range(vm_paddr_t start, vm_siz size += g_l2cache_line_size; } while (size > 0) { - pl310_write4(PL310_INV_LINE_PA, start); + pl310_write4(pl310_softc, PL310_INV_LINE_PA, start); start += g_l2cache_line_size; size -= g_l2cache_line_size; } - pl310_cache_sync(); - pl310_wait_background_op(PL310_INV_LINE_PA, 1); + pl310_cache_sync(); + PL310_UNLOCK(pl310_softc); } static int @@ -280,39 +288,100 @@ pl310_attach(device_t dev) uint32_t way_size; uint32_t ways_assoc; uint32_t ctrl_value; + uint32_t cache_id; + sc->sc_dev = dev; sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->sc_mem_res == NULL) panic("%s: Cannot map registers", device_get_name(dev)); + + /* Allocate an IRQ resource */ + rid = 0; + sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, + RF_ACTIVE | RF_SHAREABLE); + if (sc->sc_irq_res == NULL) { + panic("Cannot allocate IRQ\n"); + } + pl310_softc = sc; + mtx_init(&sc->sc_mtx, "pl310lock", NULL, MTX_SPIN); + sc->sc_enabled = pl310_enabled; - platform_init_pl310(sc); - aux_value = pl310_read4(PL310_AUX_CTRL); - way_size = (aux_value & PL310_AUX_CTRL_WAY_SIZE_MASK) >> - PL310_AUX_CTRL_WAY_SIZE_SHIFT; + /* activate the interrupt */ + bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + pl310_filter, NULL, sc, &sc->sc_irq_h); + + cache_id = pl310_read4(sc, PL310_CACHE_ID); + sc->sc_rtl_revision = (cache_id >> CACHE_ID_RELEASE_SHIFT) & + CACHE_ID_RELEASE_MASK; + device_printf(dev, "Part number: 0x%x, release: 0x%x\n", + (cache_id >> CACHE_ID_PARTNUM_SHIFT) & CACHE_ID_PARTNUM_MASK, + (cache_id >> CACHE_ID_RELEASE_SHIFT) & CACHE_ID_RELEASE_MASK); + aux_value = pl310_read4(sc, PL310_AUX_CTRL); + way_size = (aux_value & AUX_CTRL_WAY_SIZE_MASK) >> + AUX_CTRL_WAY_SIZE_SHIFT; way_size = 1 << (way_size + 13); - if (aux_value & (1 << PL310_AUX_CTRL_ASSOCIATIVITY_SHIFT)) + if (aux_value & (1 << AUX_CTRL_ASSOCIATIVITY_SHIFT)) ways_assoc = 16; else ways_assoc = 8; g_l2cache_way_mask = (1 << ways_assoc) - 1; g_l2cache_size = way_size * ways_assoc; /* Print the information */ - printf(" L2 Cache: %uKB/%dB %d ways\n", (g_l2cache_size / 1024), + device_printf(dev, "L2 Cache: %uKB/%dB %d ways\n", (g_l2cache_size / 1024), g_l2cache_line_size, ways_assoc); - ctrl_value = pl310_read4(PL310_CTRL); - if (!(ctrl_value & 0x1)) { + + ctrl_value = pl310_read4(sc, PL310_CTRL); + + if (sc->sc_enabled && !(ctrl_value & CTRL_ENABLED)) { /* Enable the L2 cache if disabled */ - pl310_write4(PL310_CTRL, ctrl_value & 0x1); + platform_pl310_write_ctrl(sc, CTRL_ENABLED); + } + + if (!sc->sc_enabled && (ctrl_value & CTRL_ENABLED)) { + /* + * Set counters so when cache event happens + * we'll get interrupt and be warned that something + * is off + */ + + /* Cache Line Eviction for Counter 0 */ + pl310_write4(sc, PL310_EVENT_COUNTER0_CONF, + EVENT_COUNTER_CONF_INCR | EVENT_COUNTER_CONF_CO); + /* Data Read Request for Counter 1 */ + pl310_write4(sc, PL310_EVENT_COUNTER1_CONF, + EVENT_COUNTER_CONF_INCR | EVENT_COUNTER_CONF_DRREQ); + + /* Temporary switch on for final flush*/ + sc->sc_enabled = 1; + pl310_wbinv_all(); + sc->sc_enabled = 0; + platform_pl310_write_ctrl(sc, CTRL_DISABLED); + + /* Enable and clear pending interrupts */ + pl310_write4(sc, PL310_INTR_CLEAR, INTR_MASK_ECNTR); + pl310_write4(sc, PL310_INTR_MASK, INTR_MASK_ALL); + + /* Enable counters and reset C0 and C1 */ + pl310_write4(sc, PL310_EVENT_COUNTER_CTRL, + EVENT_COUNTER_CTRL_ENABLED | + EVENT_COUNTER_CTRL_C0_RESET | + EVENT_COUNTER_CTRL_C1_RESET); + } + + if (sc->sc_enabled) + platform_pl310_init(sc); + pl310_wbinv_all(); - + /* Set the l2 functions in the set of cpufuncs */ cpufuncs.cf_l2cache_wbinv_all = pl310_wbinv_all; cpufuncs.cf_l2cache_wbinv_range = pl310_wbinv_range; cpufuncs.cf_l2cache_inv_range = pl310_inv_range; cpufuncs.cf_l2cache_wb_range = pl310_wb_range; + return (0); } @@ -330,4 +399,3 @@ static driver_t pl310_driver = { static devclass_t pl310_devclass; DRIVER_MODULE(pl310, simplebus, pl310_driver, pl310_devclass, 0, 0); - Modified: projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_fb.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_fb.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_fb.c Mon Jan 7 14:11:10 2013 (r245130) @@ -891,7 +891,7 @@ bcmfb_putc(video_adapter_t *adp, vm_offs + (sc->depth/8) * (col + sc->xmargin); fg = a & 0xf ; - bg = (a >> 8) & 0xf; + bg = (a >> 4) & 0xf; for (i = 0; i < BCMFB_FONT_HEIGHT; i++) { for (j = 0, k = 7; j < 8; j++, k--) { Modified: projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_machdep.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Mon Jan 7 14:11:10 2013 (r245130) @@ -78,6 +78,25 @@ initarm_gpio_init(void) void initarm_late_init(void) { + phandle_t system; + pcell_t cells[2]; + int len; + + /* + * It seems there is no way to let syscons framework know + * that framebuffer resolution has changed. So just try + * to fetch data from FDT and go with defaults if failed + */ + system = OF_finddevice("/system"); + if (system != 0) { + len = OF_getprop(system, "linux,serial", &cells, sizeof(cells)); + if (len > 0) + board_set_serial(fdt64_to_cpu(*((uint64_t *)cells))); + + len = OF_getprop(system, "linux,revision", &cells, sizeof(cells)); + if (len > 0) + board_set_revision(fdt32_to_cpu(*((uint32_t *)cells))); + } } #define FDT_DEVMAP_MAX (2) // FIXME Modified: projects/nfsv4-packrats/sys/arm/conf/BEAGLEBONE ============================================================================== --- projects/nfsv4-packrats/sys/arm/conf/BEAGLEBONE Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/conf/BEAGLEBONE Mon Jan 7 14:11:10 2013 (r245130) @@ -62,11 +62,11 @@ options WITNESS_SKIPSPIN #Don't run wit # NFS support #options NFSCL -#options NFSSERVER #Network Filesystem Server -#options NFSCLIENT #Network Filesystem Client +#options NFSD +#options NFSLOCKD # Uncomment this for NFS root -#options NFS_ROOT #NFS usable as /, requires NFSCLIENT +#options NFS_ROOT #NFS usable as /, requires NFSCL #options BOOTP_NFSROOT #options BOOTP_COMPAT #options BOOTP Modified: projects/nfsv4-packrats/sys/arm/include/machdep.h ============================================================================== --- projects/nfsv4-packrats/sys/arm/include/machdep.h Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/include/machdep.h Mon Jan 7 14:11:10 2013 (r245130) @@ -37,6 +37,10 @@ void initarm_gpio_init(void); void initarm_late_init(void); int platform_devmap_init(void); +/* Board-specific attributes */ +void board_set_serial(uint64_t); +void board_set_revision(uint32_t); + /* Needs to be initialised by platform_devmap_init */ extern const struct pmap_devmap *pmap_devmap_bootstrap_table; Modified: projects/nfsv4-packrats/sys/arm/include/pl310.h ============================================================================== --- projects/nfsv4-packrats/sys/arm/include/pl310.h Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/include/pl310.h Mon Jan 7 14:11:10 2013 (r245130) @@ -29,10 +29,140 @@ #ifndef PL310_H_ #define PL310_H_ + +/** + * PL310 - L2 Cache Controller register offsets. + * + */ +#define PL310_CACHE_ID 0x000 +#define CACHE_ID_RELEASE_SHIFT 0 +#define CACHE_ID_RELEASE_MASK 0x3f +#define CACHE_ID_RELEASE_r0p0 0x00 +#define CACHE_ID_RELEASE_r1p0 0x02 +#define CACHE_ID_RELEASE_r2p0 0x04 +#define CACHE_ID_RELEASE_r3p0 0x05 +#define CACHE_ID_RELEASE_r3p1 0x06 +#define CACHE_ID_RELEASE_r3p2 0x08 +#define CACHE_ID_RELEASE_r3p3 0x09 +#define CACHE_ID_PARTNUM_SHIFT 6 +#define CACHE_ID_PARTNUM_MASK 0xf +#define CACHE_ID_PARTNUM_VALUE 0x3 +#define PL310_CACHE_TYPE 0x004 +#define PL310_CTRL 0x100 +#define CTRL_ENABLED 0x01 +#define CTRL_DISABLED 0x00 +#define PL310_AUX_CTRL 0x104 +#define AUX_CTRL_MASK 0xc0000fff +#define AUX_CTRL_ASSOCIATIVITY_SHIFT 16 +#define AUX_CTRL_WAY_SIZE_SHIFT 17 +#define AUX_CTRL_WAY_SIZE_MASK (0x7 << 17) +#define AUX_CTRL_SHARE_OVERRIDE (1 << 22) +#define AUX_CTRL_NS_LOCKDOWN (1 << 26) +#define AUX_CTRL_NS_INT_CTRL (1 << 27) +#define AUX_CTRL_DATA_PREFETCH (1 << 28) +#define AUX_CTRL_INSTR_PREFETCH (1 << 29) +#define AUX_CTRL_EARLY_BRESP (1 << 30) +#define PL310_EVENT_COUNTER_CTRL 0x200 +#define EVENT_COUNTER_CTRL_ENABLED (1 << 0) +#define EVENT_COUNTER_CTRL_C0_RESET (1 << 1) +#define EVENT_COUNTER_CTRL_C1_RESET (1 << 2) +#define PL310_EVENT_COUNTER1_CONF 0x204 +#define PL310_EVENT_COUNTER0_CONF 0x208 +#define EVENT_COUNTER_CONF_NOINTR 0 +#define EVENT_COUNTER_CONF_INCR 1 +#define EVENT_COUNTER_CONF_OVFW 2 +#define EVENT_COUNTER_CONF_NOEV (0 << 2) +#define EVENT_COUNTER_CONF_CO (1 << 2) +#define EVENT_COUNTER_CONF_DRHIT (2 << 2) +#define EVENT_COUNTER_CONF_DRREQ (3 << 2) +#define EVENT_COUNTER_CONF_DWHIT (4 << 2) +#define EVENT_COUNTER_CONF_DWREQ (5 << 2) +#define EVENT_COUNTER_CONF_DWTREQ (6 << 2) +#define EVENT_COUNTER_CONF_DIRHIT (7 << 2) +#define EVENT_COUNTER_CONF_DIRREQ (8 << 2) +#define EVENT_COUNTER_CONF_WA (9 << 2) +#define PL310_EVENT_COUNTER1_VAL 0x20C +#define PL310_EVENT_COUNTER0_VAL 0x210 +#define PL310_INTR_MASK 0x214 +#define PL310_MASKED_INTR_STAT 0x218 +#define PL310_RAW_INTR_STAT 0x21C +#define PL310_INTR_CLEAR 0x220 +#define INTR_MASK_ALL ((1 << 9) - 1) +#define INTR_MASK_ECNTR (1 << 0) +#define INTR_MASK_PARRT (1 << 1) +#define INTR_MASK_PARRD (1 << 2) +#define INTR_MASK_ERRWT (1 << 3) +#define INTR_MASK_ERRWD (1 << 4) +#define INTR_MASK_ERRRT (1 << 5) +#define INTR_MASK_ERRRD (1 << 6) +#define INTR_MASK_SLVERR (1 << 7) +#define INTR_MASK_DECERR (1 << 8) +#define PL310_CACHE_SYNC 0x730 +#define PL310_INV_LINE_PA 0x770 +#define PL310_INV_WAY 0x77C +#define PL310_CLEAN_LINE_PA 0x7B0 +#define PL310_CLEAN_LINE_IDX 0x7B8 +#define PL310_CLEAN_WAY 0x7BC +#define PL310_CLEAN_INV_LINE_PA 0x7F0 +#define PL310_CLEAN_INV_LINE_IDX 0x7F8 +#define PL310_CLEAN_INV_WAY 0x7FC +#define PL310_LOCKDOWN_D_WAY(x) (0x900 + ((x) * 8)) +#define PL310_LOCKDOWN_I_WAY(x) (0x904 + ((x) * 8)) +#define PL310_LOCKDOWN_LINE_ENABLE 0x950 +#define PL310_UNLOCK_ALL_LINES_WAY 0x954 +#define PL310_ADDR_FILTER_STAR 0xC00 +#define PL310_ADDR_FILTER_END 0xC04 +#define PL310_DEBUG_CTRL 0xF40 +#define PL310_PREFETCH_CTRL 0xF60 +#define PREFETCH_CTRL_OFFSET_MASK (0x1f) +#define PREFETCH_CTRL_NOTSAMEID (1 << 21) +#define PREFETCH_CTRL_INCR_DL (1 << 23) +#define PREFETCH_CTRL_PREFETCH_DROP (1 << 24) +#define PREFETCH_CTRL_DL_ON_WRAP (1 << 27) +#define PREFETCH_CTRL_DATA_PREFETCH (1 << 28) +#define PREFETCH_CTRL_INSTR_PREFETCH (1 << 29) +#define PREFETCH_CTRL_DL (1 << 30) +#define PL310_POWER_CTRL 0xF60 + struct pl310_softc { + device_t sc_dev; struct resource *sc_mem_res; + struct resource *sc_irq_res; + void* sc_irq_h; + int sc_enabled; + struct mtx sc_mtx; + u_int sc_rtl_revision; }; -void platform_init_pl310(struct pl310_softc *sc); +/** + * pl310_read4 - read a 32-bit value from the PL310 registers + * pl310_write4 - write a 32-bit value from the PL310 registers + * @off: byte offset within the register set to read from + * @val: the value to write into the register + * + * + * LOCKING: + * None + * + * RETURNS: + * nothing in case of write function, if read function returns the value read. + */ +static __inline uint32_t +pl310_read4(struct pl310_softc *sc, bus_size_t off) +{ + + return bus_read_4(sc->sc_mem_res, off); +} + +static __inline void +pl310_write4(struct pl310_softc *sc, bus_size_t off, uint32_t val) +{ + + bus_write_4(sc->sc_mem_res, off, val); +} + +void platform_pl310_init(struct pl310_softc *); +void platform_pl310_write_ctrl(struct pl310_softc *, uint32_t); +void platform_pl310_write_debug(struct pl310_softc *, uint32_t); #endif /* PL310_H_ */ Modified: projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpsw.c ============================================================================== --- projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpsw.c Mon Jan 7 11:12:09 2013 (r245129) +++ projects/nfsv4-packrats/sys/arm/ti/cpsw/if_cpsw.c Mon Jan 7 14:11:10 2013 (r245130) @@ -95,10 +95,10 @@ static void cpsw_start(struct ifnet *ifp static void cpsw_start_locked(struct ifnet *ifp); static void cpsw_stop_locked(struct cpsw_softc *sc); static int cpsw_ioctl(struct ifnet *ifp, u_long command, caddr_t data); -static int cpsw_allocate_dma(struct cpsw_softc *sc); -static int cpsw_free_dma(struct cpsw_softc *sc); -static int cpsw_new_rxbuf(struct cpsw_softc *sc, uint32_t i, uint32_t next); -static void cpsw_watchdog(struct cpsw_softc *sc); +static int cpsw_init_slot_lists(struct cpsw_softc *sc); +static void cpsw_free_slot(struct cpsw_softc *sc, struct cpsw_slot *slot); +static void cpsw_fill_rx_queue_locked(struct cpsw_softc *sc); +static void cpsw_tx_watchdog(struct cpsw_softc *sc); static void cpsw_intr_rx_thresh(void *arg); static void cpsw_intr_rx(void *arg); @@ -156,10 +156,10 @@ static struct { driver_intr_t *handler; char * description; } cpsw_intrs[CPSW_INTR_COUNT + 1] = { - { cpsw_intr_rx_thresh,"CPSW RX threshold interrupt" }, + { cpsw_intr_rx_thresh, "CPSW RX threshold interrupt" }, { cpsw_intr_rx, "CPSW RX interrupt" }, { cpsw_intr_tx, "CPSW TX interrupt" }, - { cpsw_intr_misc,"CPSW misc interrupt" }, + { cpsw_intr_misc, "CPSW misc interrupt" }, }; /* Locking macros */ @@ -199,6 +199,34 @@ static struct { } while (0) +#include +static void +cpsw_debugf_head(const char *funcname) +{ + int t = (int)(time_second % (24 * 60 * 60)); + + printf("%02d:%02d:%02d %s ", t / (60 * 60), (t / 60) % 60, t % 60, funcname); +} + +static void +cpsw_debugf(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vprintf(fmt, ap); + va_end(ap); + printf("\n"); + +} + +#define CPSW_DEBUGF(a) do { \ + if (sc->cpsw_if_flags & IFF_DEBUG) { \ + cpsw_debugf_head(__func__); \ + cpsw_debugf a; \ + } \ +} while (0) + static int cpsw_probe(device_t dev) { @@ -213,18 +241,20 @@ cpsw_probe(device_t dev) static int cpsw_attach(device_t dev) { - struct cpsw_softc *sc; + struct cpsw_softc *sc = device_get_softc(dev); struct mii_softc *miisc; struct ifnet *ifp; + void *phy_sc; int i, error, phy; uint32_t reg; - sc = device_get_softc(dev); + CPSW_DEBUGF(("")); + sc->dev = dev; sc->node = ofw_bus_get_node(dev); /* Get phy address from fdt */ - if (fdt_get_phyaddr(sc->node, sc->dev, &phy, (void **)&sc->phy_sc) != 0) { + if (fdt_get_phyaddr(sc->node, sc->dev, &phy, &phy_sc) != 0) { device_printf(dev, "failed to get PHY address from FDT\n"); return (ENXIO); } @@ -246,14 +276,32 @@ cpsw_attach(device_t dev) device_printf(dev, "Version %d.%d (%d)\n", (reg >> 8 & 0x7), reg & 0xFF, (reg >> 11) & 0x1F); - /* Allocate DMA, buffers, buffer descriptors */ - error = cpsw_allocate_dma(sc); + //cpsw_add_sysctls(sc); TODO + + /* Allocate a busdma tag and DMA safe memory for mbufs. */ + error = bus_dma_tag_create( + bus_get_dma_tag(sc->dev), /* parent */ + 1, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filtfunc, filtfuncarg */ + MCLBYTES, 1, /* maxsize, nsegments */ + MCLBYTES, 0, /* maxsegsz, flags */ + NULL, NULL, /* lockfunc, lockfuncarg */ + &sc->mbuf_dtag); /* dmatag */ if (error) { + device_printf(dev, "bus_dma_tag_create failed\n"); cpsw_detach(dev); - return (ENXIO); + return (ENOMEM); } - //cpsw_add_sysctls(sc); TODO + /* Initialize the tx_avail and rx_avail lists. */ + error = cpsw_init_slot_lists(sc); + if (error) { + device_printf(dev, "failed to allocate dmamaps\n"); + cpsw_detach(dev); + return (ENOMEM); + } /* Allocate network interface */ ifp = sc->ifp = if_alloc(IFT_ETHER); @@ -294,7 +342,7 @@ cpsw_attach(device_t dev) /* Initialze MDIO - ENABLE, PREAMBLE=0, FAULTENB, CLKDIV=0xFF */ /* TODO Calculate MDCLK=CLK/(CLKDIV+1) */ - cpsw_write_4(MDIOCONTROL, (1<<30) | (1<<18) | 0xFF); + cpsw_write_4(MDIOCONTROL, 1 << 30 | 1 << 18 | 0xFF); /* Attach PHY(s) */ error = mii_attach(dev, &sc->miibus, ifp, cpsw_ifmedia_upd, @@ -310,7 +358,7 @@ cpsw_attach(device_t dev) miisc = LIST_FIRST(&sc->mii->mii_phys); /* Select PHY and enable interrupts */ - cpsw_write_4(MDIOUSERPHYSEL0, (1 << 6) | (miisc->mii_phy & 0x1F)); + cpsw_write_4(MDIOUSERPHYSEL0, 1 << 6 | (miisc->mii_phy & 0x1F)); /* Attach interrupt handlers */ for (i = 1; i <= CPSW_INTR_COUNT; ++i) { @@ -332,17 +380,22 @@ cpsw_attach(device_t dev) static int cpsw_detach(device_t dev) { - struct cpsw_softc *sc; - int error,i; + struct cpsw_softc *sc = device_get_softc(dev); + int error, i; - sc = device_get_softc(dev); + CPSW_DEBUGF(("")); /* Stop controller and free TX queue */ - if (sc->ifp) - cpsw_shutdown(dev); + if (device_is_attached(dev)) { + ether_ifdetach(sc->ifp); + CPSW_GLOBAL_LOCK(sc); + cpsw_stop_locked(sc); + CPSW_GLOBAL_UNLOCK(sc); + callout_drain(&sc->wd_callout); + } - /* Wait for stopping ticks */ - callout_drain(&sc->wd_callout); + bus_generic_detach(dev); + device_delete_child(dev, sc->miibus); /* Stop and release all interrupts */ for (i = 0; i < CPSW_INTR_COUNT; ++i) { @@ -355,14 +408,17 @@ cpsw_detach(device_t dev) cpsw_intrs[i + 1].description); } - /* Detach network interface */ - if (sc->ifp) { - ether_ifdetach(sc->ifp); - if_free(sc->ifp); + /* Free dmamaps and mbufs */ + for (i = 0; i < CPSW_MAX_TX_BUFFERS; i++) { + cpsw_free_slot(sc, &sc->_tx_slots[i]); + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jan 7 23:35:41 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CA634D8A; Mon, 7 Jan 2013 23:35:41 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BCD30D49; Mon, 7 Jan 2013 23:35:41 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07NZf2Z027627; Mon, 7 Jan 2013 23:35:41 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07NZfUw027620; Mon, 7 Jan 2013 23:35:41 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301072335.r07NZfUw027620@svn.freebsd.org> From: Brooks Davis Date: Mon, 7 Jan 2013 23:35:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245138 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 23:35:41 -0000 Author: brooks Date: Mon Jan 7 23:35:40 2013 New Revision: 245138 URL: http://svnweb.freebsd.org/changeset/base/245138 Log: Implement the -M option and related -D , -h , and -T options from NetBSD. Obtained from: NetBSD Modified: projects/mtree/usr.bin/xinstall/Makefile projects/mtree/usr.bin/xinstall/install.1 projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/Makefile ============================================================================== --- projects/mtree/usr.bin/xinstall/Makefile Mon Jan 7 23:30:53 2013 (r245137) +++ projects/mtree/usr.bin/xinstall/Makefile Mon Jan 7 23:35:40 2013 (r245138) @@ -10,7 +10,7 @@ MAN= install.1 CFLAGS+= -I${.CURDIR}/../../contrib/mtree CFLAGS+= -I${.CURDIR}/../../lib/libnetbsd -DPADD+= ${LIBUTIL} -LDADD+= -lutil +DPADD+= ${LIBUTIL} ${LIBMD} +LDADD+= -lutil -lmd .include Modified: projects/mtree/usr.bin/xinstall/install.1 ============================================================================== --- projects/mtree/usr.bin/xinstall/install.1 Mon Jan 7 23:30:53 2013 (r245137) +++ projects/mtree/usr.bin/xinstall/install.1 Mon Jan 7 23:35:40 2013 (r245138) @@ -38,30 +38,41 @@ .Nm .Op Fl bCcMpSsUv .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group +.Op Fl h Ar hash .Op Fl l Ar linkflags +.Op Fl M Ar metalog .Op Fl m Ar mode .Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar file1 file2 .Nm .Op Fl bCcMpSsUv .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group +.Op Fl h Ar hash .Op Fl l Ar linkflags +.Op Fl M Ar metalog .Op Fl m Ar mode .Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar file1 ... fileN directory .Nm .Fl d .Op Fl Uv +.Op Fl D Ar destdir .Op Fl g Ar group +.Op Fl M Ar metalog .Op Fl m Ar mode .Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar directory ... .Sh DESCRIPTION The file(s) are copied @@ -112,6 +123,17 @@ This is actually the default. The .Fl c option is only included for backwards compatibility. +.It Fl D Ar destdir +Specify the +.Ev DESTDIR +(top of the file hierarchy) that the items are installed in to. +If +.Fl M Ar metalog +is in use, a leading string of +.Dq Ar destdir +will be removed from the file names logged to the +.Ar metalog . +This option does not affect where the actual files are installed. .It Fl d Create directories. Missing parent directories are created as required. @@ -122,6 +144,31 @@ for a list of possible flags and their m .It Fl g Specify a group. A numeric GID is allowed. +.It Fl h Ar hash +When copying, calculate the digest of the files with +.Ar hash +to store in the +.Fl M Ar metalog . +Supported digests: +.Bl -tag -width rmd160 -offset indent +.It Sy none +No hash. +This is the default. +.It Sy md5 +The MD5 cryptographic message digest. +.It Sy rmd160 +The RMD-160 cryptographic message digest. +.It Sy sha1 +The SHA-1 cryptographic message digest. +.It Sy sha256 +The 256-bits +.Tn SHA-2 +cryptographic message digest of the file. +.It Sy sha512 +The 512-bits +.Tn SHA-2 +cryptographic message digest of the file. +.El .It Fl l Ar linkflags Instead of copying the file make a link to the source. The type of the link is determined by the @@ -146,6 +193,15 @@ are hard links for files on the same fil .It Fl M Disable all use of .Xr mmap 2 . +.It Fl M Ar metalog +Write the metadata associated with each item installed to +.Ar metalog +in an +.Xr mtree 8 +.Dq full path +specification line. +The metadata includes: the file name and file type, and depending upon +other options, the owner, group, file flags, modification time, and tags. .It Fl m Specify an alternate mode. The default mode is set to rwxr-xr-x (0755). @@ -196,9 +252,17 @@ number of systems and binary types. See below for how .Nm can be instructed to use another program to strip binaries. +.It Fl T Ar tags +Specify the +.Xr mtree 8 +tags to write out for the file when using +.Fl M Ar metalog . .It Fl U Indicate that install is running unprivileged, and that it should not try to change the owner, the group, or the file flags of the destination. +The information that would have been updated can be stored in a log +file with +.Fl M Ar metalog . .It Fl v Cause .Nm Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Mon Jan 7 23:30:53 2013 (r245137) +++ projects/mtree/usr.bin/xinstall/xinstall.c Mon Jan 7 23:35:40 2013 (r245138) @@ -54,14 +54,20 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include +#include +#include +#include #include #include #include #include #include #include +#include #include "mtree.h" @@ -83,22 +89,50 @@ __FBSDID("$FreeBSD$"); #define NOCHANGEBITS (UF_IMMUTABLE | UF_APPEND | SF_IMMUTABLE | SF_APPEND) #define BACKUP_SUFFIX ".old" +typedef union { + MD5_CTX MD5; + RIPEMD160_CTX RIPEMD160; + SHA1_CTX SHA1; + SHA256_CTX SHA256; + SHA512_CTX SHA512; +} DIGEST_CTX; + static gid_t gid; static uid_t uid; static int dobackup, docompare, dodir, dolink, dopreserve, dostrip, dounpriv, - nommap, safecopy, verbose; + safecopy, verbose; static mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; +static FILE *metafp; +static const char *group, *owner; static const char *suffix = BACKUP_SUFFIX; +static char *destdir, *digest, *fflags, *metafile, *tags; -static int compare(int, const char *, size_t, int, const char *, size_t); -static void copy(int, const char *, int, const char *, off_t); +enum { + DIGEST_NONE = 0, + DIGEST_MD5, + DIGEST_RIPEMD160, + DIGEST_SHA1, + DIGEST_SHA256, + DIGEST_SHA512, +} digesttype = DIGEST_NONE; + +static int compare(int, const char *, size_t, int, const char *, size_t, + char **); +static char *copy(int, const char *, int, const char *, off_t); static int create_newfile(const char *, int, struct stat *); static int create_tempfile(const char *, char *, size_t); +static char *quiet_mktemp(char *template); +static char *digest_file(const char *); +static void digest_init(DIGEST_CTX *); +static void digest_update(DIGEST_CTX *, const unsigned char *, size_t); +static char *digest_end(DIGEST_CTX *, char *); static int do_link(const char *, const char *, const struct stat *); static void do_symlink(const char *, const char *, const struct stat *); static void makelink(const char *, const char *, const struct stat *); static void install(const char *, const char *, u_long, u_int); static void install_dir(char *); +static void metadata_log(const char *, const char *, struct timeval *, + const char *, const char *, off_t); static int parseid(const char *, id_t *); static void strip(const char *); static int trymmap(int); @@ -112,13 +146,13 @@ main(int argc, char *argv[]) u_long fset; int ch, no_target; u_int iflags; - char *flags, *p; - const char *group, *owner, *to_name; + char *p; + const char *to_name; - flags = NULL; iflags = 0; group = owner = NULL; - while ((ch = getopt(argc, argv, "B:bCcdf:g:l:Mm:N:o:pSsUv")) != -1) + while ((ch = getopt(argc, argv, "B:bCcD:df:g:h:l:M:m:N:o:pSsT:Uv")) != + -1) switch((char)ch) { case 'B': suffix = optarg; @@ -132,15 +166,21 @@ main(int argc, char *argv[]) case 'c': /* For backwards compatibility. */ break; + case 'D': + destdir = optarg; + break; case 'd': dodir = 1; break; case 'f': - flags = optarg; + fflags = optarg; break; case 'g': group = optarg; break; + case 'h': + digest = optarg; + break; case 'l': for (p = optarg; *p; p++) switch (*p) { @@ -170,7 +210,7 @@ main(int argc, char *argv[]) } break; case 'M': - nommap = 1; + metafile = optarg; break; case 'm': if (!(set = setmode(optarg))) @@ -196,6 +236,9 @@ main(int argc, char *argv[]) case 's': dostrip = 1; break; + case 'T': + tags = optarg; + break; case 'U': dounpriv = 1; break; @@ -224,6 +267,26 @@ main(int argc, char *argv[]) if (argc == 0 || (argc == 1 && !dodir)) usage(); + if (digest != NULL) { + if (0) { + } else if (strcmp(digest, "none") == 0) { + digesttype = DIGEST_NONE; + } else if (strcmp(digest, "md5") == 0) { + digesttype = DIGEST_MD5; + } else if (strcmp(digest, "rmd160") == 0) { + digesttype = DIGEST_RIPEMD160; + } else if (strcmp(digest, "sha1") == 0) { + digesttype = DIGEST_SHA1; + } else if (strcmp(digest, "sha256") == 0) { + digesttype = DIGEST_SHA256; + } else if (strcmp(digest, "sha512") == 0) { + digesttype = DIGEST_SHA512; + } else { + warnx("unknown digest `%s'", digest); + usage(); + } + } + /* need to make a temp copy so we can compare stripped version */ if (docompare && dostrip) safecopy = 1; @@ -249,12 +312,18 @@ main(int argc, char *argv[]) } else uid = (uid_t)-1; - if (flags != NULL && !dounpriv) { - if (strtofflags(&flags, &fset, NULL)) - errx(EX_USAGE, "%s: invalid flag", flags); + if (fflags != NULL && !dounpriv) { + if (strtofflags(&fflags, &fset, NULL)) + errx(EX_USAGE, "%s: invalid flag", fflags); iflags |= SETFLAGS; } + if (metafile != NULL) { + if ((metafp = fopen(metafile, "a")) == NULL) + warn("open %s", metafile); + } else + digesttype = DIGEST_NONE; + if (dodir) { for (; *argv != NULL; ++argv) install_dir(*argv); @@ -298,6 +367,97 @@ main(int argc, char *argv[]) /* NOTREACHED */ } +static char * +digest_file(const char *name) +{ + + switch (digesttype) { + case DIGEST_MD5: + return (MD5File(name, NULL)); + case DIGEST_RIPEMD160: + return (RIPEMD160_File(name, NULL)); + case DIGEST_SHA1: + return (SHA1_File(name, NULL)); + case DIGEST_SHA256: + return (SHA256_File(name, NULL)); + case DIGEST_SHA512: + return (SHA512_File(name, NULL)); + default: + return (NULL); + } +} + +static void +digest_init(DIGEST_CTX *c) +{ + + switch (digesttype) { + case DIGEST_NONE: + break; + case DIGEST_MD5: + MD5Init(&(c->MD5)); + break; + case DIGEST_RIPEMD160: + RIPEMD160_Init(&(c->RIPEMD160)); + break; + case DIGEST_SHA1: + SHA1_Init(&(c->SHA1)); + break; + case DIGEST_SHA256: + SHA256_Init(&(c->SHA256)); + break; + case DIGEST_SHA512: + SHA512_Init(&(c->SHA512)); + break; + + } +} + +static void +digest_update(DIGEST_CTX *c, const unsigned char *data, size_t len) +{ + + switch (digesttype) { + case DIGEST_NONE: + break; + case DIGEST_MD5: + MD5Update(&(c->MD5), data, len); + break; + case DIGEST_RIPEMD160: + RIPEMD160_Update(&(c->RIPEMD160), data, len); + break; + case DIGEST_SHA1: + SHA1_Update(&(c->SHA1), data, len); + break; + case DIGEST_SHA256: + SHA256_Update(&(c->SHA256), data, len); + break; + case DIGEST_SHA512: + SHA512_Update(&(c->SHA512), data, len); + break; + } +} + +static char * +digest_end(DIGEST_CTX *c, char *buf) +{ + + switch (digesttype) { + case DIGEST_MD5: + return (MD5End(&(c->MD5), buf)); + case DIGEST_RIPEMD160: + return (RIPEMD160_End(&(c->RIPEMD160), buf)); + case DIGEST_SHA1: + return (SHA1_End(&(c->SHA1), buf)); + case DIGEST_SHA256: + return (SHA256_End(&(c->SHA256), buf)); + case DIGEST_SHA512: + return (SHA512_End(&(c->SHA512), buf)); + default: + return (NULL); + } +} + /* * parseid -- * parse uid or gid from arg into id, returning non-zero if successful @@ -411,6 +571,9 @@ makelink(const char *from_name, const ch const struct stat *target_sb) { char src[MAXPATHLEN], dst[MAXPATHLEN], lnk[MAXPATHLEN]; +#ifdef NOTYET + struct stat to_sb; +#endif /* Try hard links first */ if (dolink & (LN_HARD|LN_MIXED)) { @@ -418,6 +581,43 @@ makelink(const char *from_name, const ch if ((dolink & LN_HARD) || errno != EXDEV) err(1, "link %s -> %s", from_name, to_name); } else { +#ifdef NOTYET + if (stat(to_name, &to_sb)) + err(1, "%s: stat", to_name); + if (S_ISREG(to_sb.st_mode)) { + /* XXX: hard links to anything + * other than plain files are not + * metalogged + */ + int omode; + char *oowner, *ogroup, *offlags; + char *dres; + + /* XXX: use underlying perms, + * unless overridden on command line. + */ + omode = mode; + if (!haveopt_m) + mode = (to_sb.st_mode & 0777); + oowner = owner; + if (!haveopt_o) + owner = NULL; + ogroup = group; + if (!haveopt_g) + group = NULL; + offlags = fflags; + if (!haveopt_f) + fflags = NULL; + dres = digest_file(from_name); + metadata_log(to_name, "file", NULL, NULL, + dres, to_sb.st_size); + free(dres); + mode = omode; + owner = oowner; + group = ogroup; + fflags = offlags; + } +#endif return; } } @@ -428,6 +628,10 @@ makelink(const char *from_name, const ch if (realpath(from_name, src) == NULL) err(1, "%s: realpath", from_name); do_symlink(src, to_name, target_sb); +#ifdef NOTYET + /* XXX: src may point outside of destdir */ + metadata_log(to_name, "link", NULL, src, NULL, 0); +#endif return; } @@ -468,6 +672,10 @@ makelink(const char *from_name, const ch (void)strlcat(lnk, ++s, sizeof(lnk)); do_symlink(lnk, to_name, target_sb); +#ifdef NOTYET + /* XXX: lnk may point outside of destdir */ + metadata_log(to_name, "link", NULL, lnk, NULL, 0); +#endif return; } @@ -476,6 +684,10 @@ makelink(const char *from_name, const ch * try the names the user provided */ do_symlink(from_name, to_name, target_sb); +#ifdef NOTYET + /* XXX: from_name may point outside of destdir */ + metadata_log(to_name, "link", NULL, from_name, NULL, 0); +#endif } /* @@ -490,6 +702,7 @@ install(const char *from_name, const cha int devnull, files_match, from_fd, serrno, target; int tempcopy, temp_fd, to_fd; char backup[MAXPATHLEN], *p, pathbuf[MAXPATHLEN], tempfile[MAXPATHLEN]; + char *digestresult; files_match = 0; from_fd = -1; @@ -557,7 +770,7 @@ install(const char *from_name, const cha else files_match = !(compare(from_fd, from_name, (size_t)from_sb.st_size, to_fd, - to_name, (size_t)to_sb.st_size)); + to_name, (size_t)to_sb.st_size, &digestresult)); /* Close "to" file unless we match. */ if (!files_match) @@ -579,7 +792,7 @@ install(const char *from_name, const cha from_name, to_name); } if (!devnull) - copy(from_fd, from_name, to_fd, + digestresult = copy(from_fd, from_name, to_fd, tempcopy ? tempfile : to_name, from_sb.st_size); } @@ -614,7 +827,8 @@ install(const char *from_name, const cha } if (compare(temp_fd, tempfile, (size_t)temp_sb.st_size, to_fd, - to_name, (size_t)to_sb.st_size) == 0) { + to_name, (size_t)to_sb.st_size, &digestresult) + == 0) { /* * If target has more than one link we need to * replace it in order to snap the extra links. @@ -634,6 +848,10 @@ install(const char *from_name, const cha } } + if (dostrip && (!docompare || !target)) { + digestresult = digest_file(tempfile); + } + /* * Move the new file into place if doing a safe copy * and the files are different (or just not compared). @@ -752,6 +970,9 @@ install(const char *from_name, const cha (void)close(to_fd); if (!devnull) (void)close(from_fd); + + metadata_log(to_name, "file", tvb, NULL, digestresult, to_sb.st_size); + free(digestresult); } /* @@ -760,29 +981,37 @@ install(const char *from_name, const cha */ static int compare(int from_fd, const char *from_name __unused, size_t from_len, - int to_fd, const char *to_name __unused, size_t to_len) + int to_fd, const char *to_name __unused, size_t to_len, + char **dresp) { char *p, *q; int rv; int done_compare; + DIGEST_CTX ctx; rv = 0; if (from_len != to_len) return 1; if (from_len <= MAX_CMP_SIZE) { + if (dresp != NULL) + digest_init(&ctx); done_compare = 0; if (trymmap(from_fd) && trymmap(to_fd)) { - p = mmap(NULL, from_len, PROT_READ, MAP_SHARED, from_fd, (off_t)0); + p = mmap(NULL, from_len, PROT_READ, MAP_SHARED, + from_fd, (off_t)0); if (p == (char *)MAP_FAILED) goto out; - q = mmap(NULL, from_len, PROT_READ, MAP_SHARED, to_fd, (off_t)0); + q = mmap(NULL, from_len, PROT_READ, MAP_SHARED, + to_fd, (off_t)0); if (q == (char *)MAP_FAILED) { munmap(p, from_len); goto out; } rv = memcmp(p, q, from_len); + if (dresp != NULL) + digest_update(&ctx, p, from_len); munmap(p, from_len); munmap(q, from_len); done_compare = 1; @@ -808,6 +1037,7 @@ compare(int from_fd, const char *from_na rv = 1; /* out of sync */ } else rv = 1; /* read failure */ + digest_update(&ctx, buf1, n1); } lseek(from_fd, 0, SEEK_SET); lseek(to_fd, 0, SEEK_SET); @@ -815,6 +1045,13 @@ compare(int from_fd, const char *from_na } else rv = 1; /* don't bother in this case */ + if (dresp != NULL) { + if (rv == 0) + *dresp = digest_end(&ctx, NULL); + else + (void)digest_end(&ctx, NULL); + } + return rv; } @@ -885,7 +1122,7 @@ create_newfile(const char *path, int tar * copy -- * copy from one file to another */ -static void +static char * copy(int from_fd, const char *from_name, int to_fd, const char *to_name, off_t size) { @@ -893,6 +1130,7 @@ copy(int from_fd, const char *from_name, int serrno; char *p, buf[MAXBSIZE]; int done_copy; + DIGEST_CTX ctx; /* Rewind file descriptors. */ if (lseek(from_fd, (off_t)0, SEEK_SET) == (off_t)-1) @@ -900,6 +1138,8 @@ copy(int from_fd, const char *from_name, if (lseek(to_fd, (off_t)0, SEEK_SET) == (off_t)-1) err(EX_OSERR, "lseek: %s", to_name); + digest_init(&ctx); + /* * Mmap and write if less than 8M (the limit is so we don't totally * trash memory on big files. This is really a minor hack, but it @@ -922,10 +1162,12 @@ copy(int from_fd, const char *from_name, err(EX_OSERR, "%s", to_name); } } + digest_update(&ctx, p, size); + (void)munmap(p, size); done_copy = 1; } if (!done_copy) { - while ((nr = read(from_fd, buf, sizeof(buf))) > 0) + while ((nr = read(from_fd, buf, sizeof(buf))) > 0) { if ((nw = write(to_fd, buf, nr)) != nr) { serrno = errno; (void)unlink(to_name); @@ -939,6 +1181,8 @@ copy(int from_fd, const char *from_name, err(EX_OSERR, "%s", to_name); } } + digest_update(&ctx, buf, nr); + } if (nr != 0) { serrno = errno; (void)unlink(to_name); @@ -946,6 +1190,7 @@ copy(int from_fd, const char *from_name, err(EX_OSERR, "%s", from_name); } } + return digest_end(&ctx, NULL); } /* @@ -1016,6 +1261,84 @@ install_dir(char *path) if (chmod(path, mode)) warn("chmod %o %s", mode, path); } + metadata_log(path, "dir", NULL, NULL, NULL, 0); +} + +/* + * metadata_log -- + * if metafp is not NULL, output mtree(8) full path name and settings to + * metafp, to allow permissions to be set correctly by other tools, + * or to allow integrity checks to be performed. + */ +static void +metadata_log(const char *path, const char *type, struct timeval *tv, + const char *slink, const char *digestresult, off_t size) +{ + static const char extra[] = { ' ', '\t', '\n', '\\', '#', '\0' }; + const char *p; + char *buf; + size_t destlen; + struct flock metalog_lock; + + if (!metafp) + return; + buf = (char *)malloc(4 * strlen(path) + 1); /* buf for strsvis(3) */ + if (buf == NULL) { + warnx("%s", strerror(ENOMEM)); + return; + } + /* lock log file */ + metalog_lock.l_start = 0; + metalog_lock.l_len = 0; + metalog_lock.l_whence = SEEK_SET; + metalog_lock.l_type = F_WRLCK; + if (fcntl(fileno(metafp), F_SETLKW, &metalog_lock) == -1) { + warn("can't lock %s", metafile); + free(buf); + return; + } + + p = path; /* remove destdir */ + if (destdir) { + destlen = strlen(destdir); + if (strncmp(p, destdir, destlen) == 0 && + (p[destlen] == '/' || p[destlen] == '\0')) + p += destlen; + } + while (*p && *p == '/') /* remove leading /s */ + p++; + strsvis(buf, p, VIS_CSTYLE, extra); /* encode name */ + p = buf; + /* print details */ + fprintf(metafp, ".%s%s type=%s", *p ? "/" : "", p, type); + if (owner) + fprintf(metafp, " uname=%s", owner); + if (group) + fprintf(metafp, " gname=%s", group); + fprintf(metafp, " mode=%#o", mode); + if (slink) { + strsvis(buf, slink, VIS_CSTYLE, extra); /* encode link */ + fprintf(metafp, " link=%s", buf); + } + if (*type == 'f') /* type=file */ + fprintf(metafp, " size=%lld", (long long)size); + if (tv != NULL && dopreserve) + fprintf(metafp, " time=%lld.%ld", + (long long)tv[1].tv_sec, (long)tv[1].tv_usec); + if (digestresult && digest) + fprintf(metafp, " %s=%s", digest, digestresult); + if (fflags) + fprintf(metafp, " flags=%s", fflags); + if (tags) + fprintf(metafp, " tags=%s", tags); + fputc('\n', metafp); + fflush(metafp); /* flush output */ + /* unlock log file */ + metalog_lock.l_type = F_UNLCK; + if (fcntl(fileno(metafp), F_SETLKW, &metalog_lock) == -1) { + warn("can't unlock %s", metafile); + } + free(buf); } /* @@ -1026,11 +1349,16 @@ static void usage(void) { (void)fprintf(stderr, -"usage: install [-bCcMpSsUv] [-B suffix] [-f flags] [-g group] [-l linkflags]\n" -" [-m mode] [-N dbdir] [-o owner] file1 file2\n" -" install [-bCcMpSsUv] [-B suffix] [-f flags] [-g group] [-l linkflags]\n" -" [-m mode] [-N dbdir] [-o owner] file1 ... fileN directory\n" +"usage: install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner]\n" +" [-M log] [-D dest] [-h hash] [-T tags]\n" +" [-B suffix] [-l linkflags] [-N dbdir]\n" +" file1 file2\n" +" install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner]\n" +" [-M log] [-D dest] [-h hash] [-T tags]\n" +" [-B suffix] [-l linkflags] [-N dbdir]\n" +" file1 ... fileN directory\n" " install -dU [-vU] [-g group] [-m mode] [-N dbdir] [-o owner]\n" +" [-M log] [-D dest] [-h hash] [-T tags]\n" " directory ...\n"); exit(EX_USAGE); /* NOTREACHED */ @@ -1050,7 +1378,7 @@ trymmap(int fd) #ifdef MFSNAMELEN struct statfs stfs; - if (nommap || fstatfs(fd, &stfs) != 0) + if (fstatfs(fd, &stfs) != 0) return (0); if (strcmp(stfs.f_fstypename, "ufs") == 0 || strcmp(stfs.f_fstypename, "cd9660") == 0) From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 01:29:59 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B1C3F5A5; Tue, 8 Jan 2013 01:29:59 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A31AE145; Tue, 8 Jan 2013 01:29:59 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r081TxLs059946; Tue, 8 Jan 2013 01:29:59 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r081TxA4059945; Tue, 8 Jan 2013 01:29:59 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301080129.r081TxA4059945@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 01:29:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245140 - projects/amd64_xen_pv/sys/amd64/include/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 01:29:59 -0000 Author: cherry Date: Tue Jan 8 01:29:59 2013 New Revision: 245140 URL: http://svnweb.freebsd.org/changeset/base/245140 Log: Missed the api declaration for xen_pt_user_switch. Fixes Build (Thanks Bret Ketchum ) Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/include/xen/xenpmap.h Modified: projects/amd64_xen_pv/sys/amd64/include/xen/xenpmap.h ============================================================================== --- projects/amd64_xen_pv/sys/amd64/include/xen/xenpmap.h Mon Jan 7 23:41:14 2013 (r245139) +++ projects/amd64_xen_pv/sys/amd64/include/xen/xenpmap.h Tue Jan 8 01:29:59 2013 (r245140) @@ -36,6 +36,7 @@ void _xen_queue_pt_update(vm_paddr_t, vm_paddr_t, char *, int); void xen_pt_switch(vm_paddr_t); +void xen_pt_user_switch(vm_paddr_t); void xen_set_ldt(vm_paddr_t, unsigned long); void xen_pgdir_pin(vm_paddr_t); void xen_pgdir_unpin(vm_paddr_t); From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 01:31:32 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 641F56E4; Tue, 8 Jan 2013 01:31:32 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 572DF158; Tue, 8 Jan 2013 01:31:32 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r081VWjT061632; Tue, 8 Jan 2013 01:31:32 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r081VWXm061631; Tue, 8 Jan 2013 01:31:32 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301080131.r081VWXm061631@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 01:31:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245141 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 01:31:32 -0000 Author: cherry Date: Tue Jan 8 01:31:31 2013 New Revision: 245141 URL: http://svnweb.freebsd.org/changeset/base/245141 Log: Use macro VM_PAGE_TO_PHYS() whenever possible. Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c Tue Jan 8 01:29:59 2013 (r245140) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c Tue Jan 8 01:31:31 2013 (r245141) @@ -208,15 +208,15 @@ pmap_get_pv_entry(pmap_t pmap) PV_STAT(atomic_add_int(&pc_chunk_count, 1)); PV_STAT(atomic_add_int(&pc_chunk_allocs, 1)); - dump_add_page(m->phys_addr); + dump_add_page(VM_PAGE_TO_PHYS(m)); - pc = (void *)PHYS_TO_DMAP(m->phys_addr); + pc = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); /* * DMAP entries are kernel only, and don't need tracking, so * we just wire in the va. */ - pmap_kenter_ma((vm_offset_t)pc, xpmap_ptom(m->phys_addr)); + pmap_kenter_ma((vm_offset_t)pc, xpmap_ptom(VM_PAGE_TO_PHYS(m))); pc->pc_pmap = pmap; pc->pc_map[0] = PC_FREE0 & ~1ul; /* preallocated bit 0 */ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 01:33:23 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3DE13860; Tue, 8 Jan 2013 01:33:23 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2FA05189; Tue, 8 Jan 2013 01:33:23 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r081XNS6061927; Tue, 8 Jan 2013 01:33:23 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r081XNkj061926; Tue, 8 Jan 2013 01:33:23 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301080133.r081XNkj061926@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 01:33:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245142 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 01:33:23 -0000 Author: cherry Date: Tue Jan 8 01:33:22 2013 New Revision: 245142 URL: http://svnweb.freebsd.org/changeset/base/245142 Log: Add xen_pt_user_switch() Approved by: gibbs(implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/mm.c Modified: projects/amd64_xen_pv/sys/amd64/xen/mm.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/mm.c Tue Jan 8 01:31:31 2013 (r245141) +++ projects/amd64_xen_pv/sys/amd64/xen/mm.c Tue Jan 8 01:33:22 2013 (r245142) @@ -181,6 +181,20 @@ xen_pt_switch(vm_paddr_t kpml4phys) } void +xen_pt_user_switch(vm_paddr_t upml4phys) +{ + struct mmuext_op op; +#ifdef INVARIANTS + SET_VCPU(); + + KASSERT(XPQ_IDX == 0, ("pending operations XPQ_IDX=%d", XPQ_IDX)); +#endif + op.cmd = MMUEXT_NEW_USER_BASEPTR; + op.arg1.mfn = xpmap_ptom(upml4phys) >> PAGE_SHIFT; + PANIC_IF(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); +} + +void _xen_machphys_update(vm_paddr_t mfn, vm_paddr_t pfn, char *file, int line) { SET_VCPU(); From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 01:40:01 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6C01CAF4; Tue, 8 Jan 2013 01:40:01 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5E2E61B8; Tue, 8 Jan 2013 01:40:01 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r081e1Sc062773; Tue, 8 Jan 2013 01:40:01 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r081e05a062768; Tue, 8 Jan 2013 01:40:00 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301080140.r081e05a062768@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 01:40:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245143 - in projects/amd64_xen_pv/sys/amd64: include xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 01:40:01 -0000 Author: cherry Date: Tue Jan 8 01:40:00 2013 New Revision: 245143 URL: http://svnweb.freebsd.org/changeset/base/245143 Log: Since we don't yet have dmap, we temporarily map in pte space before modifying it. Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/include/pmap.h projects/amd64_xen_pv/sys/amd64/xen/machdep.c projects/amd64_xen_pv/sys/amd64/xen/pmap.c Modified: projects/amd64_xen_pv/sys/amd64/include/pmap.h ============================================================================== --- projects/amd64_xen_pv/sys/amd64/include/pmap.h Tue Jan 8 01:33:22 2013 (r245142) +++ projects/amd64_xen_pv/sys/amd64/include/pmap.h Tue Jan 8 01:40:00 2013 (r245143) @@ -190,7 +190,13 @@ extern u_int64_t KPML4phys; /* physical * Note: these work recursively, thus vtopte of a pte will give * the corresponding pde that in turn maps it. */ + +#ifdef XEN +pt_entry_t *vtopte_hold(vm_offset_t, void *); +void vtopte_release(vm_offset_t, void *); +#else pt_entry_t *vtopte(vm_offset_t); +#endif #define vtophys(va) pmap_kextract(((vm_offset_t) (va))) static __inline pt_entry_t Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Tue Jan 8 01:33:22 2013 (r245142) +++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Tue Jan 8 01:40:00 2013 (r245143) @@ -554,7 +554,7 @@ initxen(struct start_info *si) /* setup proc 0's pcb */ thread0.td_pcb->pcb_flags = 0; - thread0.td_pcb->pcb_cr3 = KPML4phys; + thread0.td_pcb->pcb_cr3 = VTOP(KPML4phys); thread0.td_frame = &proc0_tf; env = getenv("kernelname"); Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap.c Tue Jan 8 01:33:22 2013 (r245142) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c Tue Jan 8 01:40:00 2013 (r245143) @@ -669,7 +669,7 @@ pmap_init(void) va = kmem_alloc_nofault(kernel_map, PAGE_SIZE); KASSERT(va != 0, ("Could not allocate KVA for console page!\n")); - pmap_kenter(va, xpmap_mtop(console_ma)); + pmap_kenter_ma(va, console_ma); console_page = (void *)va; } @@ -730,12 +730,11 @@ pmap_release(pmap_t pmap) } pt_entry_t * -vtopte(uintptr_t va) +vtopte_hold(uintptr_t va, void *addr) { - KASSERT(tsz != 0, ("tsz != 0")); - char tbuf[tsz]; /* Safe to do this on the stack since tsz is - * effectively const. - */ + KASSERT(addr != NULL, ("addr == NULL")); + + mmu_map_t tptr = *(mmu_map_t *)addr; const uint64_t SIGNMASK = (1UL << 48) - 1; @@ -743,15 +742,13 @@ vtopte(uintptr_t va) pd_entry_t *pte; /* PTE address to return */ - - mmu_map_t tptr = tbuf; - struct mmu_map_mbackend mb = { ptmb_mappedalloc, ptmb_mappedfree, ptmb_ptov, ptmb_vtop }; + mmu_map_t_init(tptr, &mb); if (!mmu_map_inspect_va(kernel_pmap, tptr, va)) { @@ -763,10 +760,20 @@ vtopte(uintptr_t va) /* add VA offset */ pte += (va & PDRMASK) >> PAGE_SHIFT; + return pte; +} + +void +vtopte_release(uintptr_t va, void *addr) +{ + mmu_map_t tptr = *(mmu_map_t *)addr; + const uint64_t SIGNMASK = (1UL << 48) - 1; + + va &= SIGNMASK; /* Remove sign extension */ + mmu_map_release_va(kernel_pmap, tptr, va); mmu_map_t_fini(tptr); - return pte; } #ifdef SMP @@ -968,8 +975,7 @@ pmap_kextract_ma(vm_offset_t va) mmu_map_t_fini(tptr); nomapping: - /* XXX: why do we need to enforce alignment ? */ - return ma & ~0x7UL; + return (ma & PG_FRAME) | (va & ~PG_FRAME); } /*************************************************** @@ -1029,7 +1035,6 @@ pmap_kenter_ma(vm_offset_t va, vm_paddr_ PT_SET_MA(va, ma | PG_RW | PG_V | PG_U); PT_UPDATES_FLUSH(); - mmu_map_release_va(kernel_pmap, tptr, va); mmu_map_t_fini(tptr); } @@ -1045,14 +1050,21 @@ pmap_kremove(vm_offset_t va) { pt_entry_t *pte; - pte = vtopte(va); + char tbuf[tsz]; /* Safe to do this on the stack since tsz is + * effectively const. + */ + + mmu_map_t tptr = tbuf; + + pte = vtopte_hold(va, &tptr); if (pte == NULL) { /* Mapping doesn't exist */ return; } - PT_CLEAR_VA(pte, FALSE); - + PT_CLEAR_VA(pte, TRUE); PT_UPDATES_FLUSH(); + + // vtopte_release(va, &tptr); } /* From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 01:56:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C9035E64; Tue, 8 Jan 2013 01:56:05 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BB8DD229; Tue, 8 Jan 2013 01:56:05 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r081u56Z068024; Tue, 8 Jan 2013 01:56:05 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r081u5Ju068023; Tue, 8 Jan 2013 01:56:05 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301080156.r081u5Ju068023@svn.freebsd.org> From: Neel Natu Date: Tue, 8 Jan 2013 01:56:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245144 - projects/bhyve/usr.sbin/bhyveload X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 01:56:05 -0000 Author: neel Date: Tue Jan 8 01:56:05 2013 New Revision: 245144 URL: http://svnweb.freebsd.org/changeset/base/245144 Log: Reduce the default memory allocation for a VM from 768MB to 128MB. Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyveload/bhyveload.c Modified: projects/bhyve/usr.sbin/bhyveload/bhyveload.c ============================================================================== --- projects/bhyve/usr.sbin/bhyveload/bhyveload.c Tue Jan 8 01:40:00 2013 (r245143) +++ projects/bhyve/usr.sbin/bhyveload/bhyveload.c Tue Jan 8 01:56:05 2013 (r245144) @@ -567,7 +567,7 @@ main(int argc, char** argv) progname = argv[0]; - lowmem = 768 * MB; + lowmem = 128 * MB; highmem = 0; disk_image = NULL; From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 05:29:00 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8FE7CAA0; Tue, 8 Jan 2013 05:29:00 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 61B28B0E; Tue, 8 Jan 2013 05:29:00 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r085T03u031194; Tue, 8 Jan 2013 05:29:00 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r085Su64031162; Tue, 8 Jan 2013 05:28:56 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301080528.r085Su64031162@svn.freebsd.org> From: Bryan Venteicher Date: Tue, 8 Jan 2013 05:28:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245150 - in projects/vmxnet: . bin/date bin/ln bin/ls bin/sh bin/test cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zpool contrib/binutils/bfd contrib/binutils/gas/conf... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:29:00 -0000 Author: bryanv Date: Tue Jan 8 05:28:55 2013 New Revision: 245150 URL: http://svnweb.freebsd.org/changeset/base/245150 Log: IFC @ r245149 Approved by: grehan (implicit) Added: projects/vmxnet/contrib/dialog/samples/dselect - copied unchanged from r245149, head/contrib/dialog/samples/dselect projects/vmxnet/contrib/dialog/samples/valgrind.log - copied unchanged from r245149, head/contrib/dialog/samples/valgrind.log projects/vmxnet/contrib/libc-vis/ - copied from r245149, head/contrib/libc-vis/ projects/vmxnet/contrib/mknod/ - copied from r245149, head/contrib/mknod/ projects/vmxnet/contrib/mtree/ - copied from r245149, head/contrib/mtree/ projects/vmxnet/lib/libc/gen/unvis-compat.c - copied unchanged from r245149, head/lib/libc/gen/unvis-compat.c projects/vmxnet/lib/libc/nls/zh_CN.GB18030.msg - copied unchanged from r245149, head/lib/libc/nls/zh_CN.GB18030.msg projects/vmxnet/lib/libc/nls/zh_CN.GB2312.msg - copied unchanged from r245149, head/lib/libc/nls/zh_CN.GB2312.msg projects/vmxnet/lib/libc/nls/zh_CN.UTF-8.msg - copied unchanged from r245149, head/lib/libc/nls/zh_CN.UTF-8.msg projects/vmxnet/lib/libnetbsd/ - copied from r245149, head/lib/libnetbsd/ projects/vmxnet/lib/libstand/amd64/ - copied from r245149, head/lib/libstand/amd64/ projects/vmxnet/sys/arm/arm/cpufunc_asm_arm11x6.S - copied unchanged from r245149, head/sys/arm/arm/cpufunc_asm_arm11x6.S projects/vmxnet/sys/boot/ficl64/ - copied from r245149, head/sys/boot/ficl64/ projects/vmxnet/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r245149, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c projects/vmxnet/sys/dev/ath/if_ath_spectral.c - copied unchanged from r245149, head/sys/dev/ath/if_ath_spectral.c projects/vmxnet/sys/dev/ath/if_ath_spectral.h - copied unchanged from r245149, head/sys/dev/ath/if_ath_spectral.h projects/vmxnet/sys/kern/subr_busdma_bufalloc.c - copied unchanged from r245149, head/sys/kern/subr_busdma_bufalloc.c projects/vmxnet/sys/security/audit/bsm_domain.c - copied unchanged from r245149, head/sys/security/audit/bsm_domain.c projects/vmxnet/sys/security/audit/bsm_errno.c - copied unchanged from r245149, head/sys/security/audit/bsm_errno.c projects/vmxnet/sys/security/audit/bsm_fcntl.c - copied unchanged from r245149, head/sys/security/audit/bsm_fcntl.c projects/vmxnet/sys/security/audit/bsm_socket_type.c - copied unchanged from r245149, head/sys/security/audit/bsm_socket_type.c projects/vmxnet/sys/security/audit/bsm_token.c - copied unchanged from r245149, head/sys/security/audit/bsm_token.c projects/vmxnet/sys/sys/busdma_bufalloc.h - copied unchanged from r245149, head/sys/sys/busdma_bufalloc.h projects/vmxnet/tools/regression/usr.bin/printf/regress.zero.out - copied unchanged from r245149, head/tools/regression/usr.bin/printf/regress.zero.out projects/vmxnet/tools/tools/ath/athspectral/ - copied from r245149, head/tools/tools/ath/athspectral/ projects/vmxnet/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r245149, head/usr.sbin/bsdconfig/share/script.subr projects/vmxnet/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r245149, head/usr.sbin/bsdconfig/share/variable.subr projects/vmxnet/usr.sbin/bsdinstall/partedit/sade.8 - copied unchanged from r245149, head/usr.sbin/bsdinstall/partedit/sade.8 projects/vmxnet/usr.sbin/nmtree/ - copied from r245149, head/usr.sbin/nmtree/ Deleted: projects/vmxnet/contrib/dialog/samples/dft-cancel projects/vmxnet/contrib/dialog/samples/dft-extra projects/vmxnet/contrib/dialog/samples/dft-help projects/vmxnet/contrib/dialog/samples/dft-no projects/vmxnet/contrib/dialog/samples/fselect0 projects/vmxnet/contrib/dialog/samples/with-dquotes projects/vmxnet/contrib/dialog/samples/with-squotes projects/vmxnet/include/vis.h projects/vmxnet/lib/libc/gen/unvis.3 projects/vmxnet/lib/libc/gen/unvis.c projects/vmxnet/lib/libc/gen/vis.3 projects/vmxnet/lib/libc/gen/vis.c projects/vmxnet/lib/libdisk/ projects/vmxnet/share/examples/cvsup/gnats-supfile projects/vmxnet/sys/boot/userboot/libstand/amd64/ projects/vmxnet/sys/dev/xen/evtchn/ projects/vmxnet/sys/dev/xen/xenpci/machine_reboot.c projects/vmxnet/sys/security/audit/audit_bsm_domain.c projects/vmxnet/sys/security/audit/audit_bsm_errno.c projects/vmxnet/sys/security/audit/audit_bsm_fcntl.c projects/vmxnet/sys/security/audit/audit_bsm_socket_type.c projects/vmxnet/sys/security/audit/audit_bsm_token.c projects/vmxnet/usr.sbin/sade/ Modified: projects/vmxnet/COPYRIGHT projects/vmxnet/LOCKS projects/vmxnet/ObsoleteFiles.inc projects/vmxnet/UPDATING projects/vmxnet/bin/date/netdate.c projects/vmxnet/bin/ln/ln.1 projects/vmxnet/bin/ls/util.c projects/vmxnet/bin/sh/jobs.c projects/vmxnet/bin/test/test.1 projects/vmxnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/vmxnet/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/vmxnet/contrib/binutils/bfd/elflink.c projects/vmxnet/contrib/binutils/gas/config/tc-arm.c projects/vmxnet/contrib/dialog/CHANGES projects/vmxnet/contrib/dialog/VERSION projects/vmxnet/contrib/dialog/aclocal.m4 projects/vmxnet/contrib/dialog/arrows.c projects/vmxnet/contrib/dialog/buttons.c projects/vmxnet/contrib/dialog/calendar.c projects/vmxnet/contrib/dialog/checklist.c projects/vmxnet/contrib/dialog/columns.c projects/vmxnet/contrib/dialog/configure projects/vmxnet/contrib/dialog/configure.in projects/vmxnet/contrib/dialog/dialog.1 projects/vmxnet/contrib/dialog/dialog.3 projects/vmxnet/contrib/dialog/dialog.c projects/vmxnet/contrib/dialog/dialog.h projects/vmxnet/contrib/dialog/dlg_colors.h projects/vmxnet/contrib/dialog/dlg_keys.c projects/vmxnet/contrib/dialog/dlg_keys.h projects/vmxnet/contrib/dialog/editbox.c projects/vmxnet/contrib/dialog/formbox.c projects/vmxnet/contrib/dialog/fselect.c projects/vmxnet/contrib/dialog/guage.c projects/vmxnet/contrib/dialog/headers-sh.in projects/vmxnet/contrib/dialog/inputbox.c projects/vmxnet/contrib/dialog/inputstr.c projects/vmxnet/contrib/dialog/makefile.in projects/vmxnet/contrib/dialog/menubox.c projects/vmxnet/contrib/dialog/mixedform.c projects/vmxnet/contrib/dialog/mixedgauge.c projects/vmxnet/contrib/dialog/msgbox.c projects/vmxnet/contrib/dialog/package/debian/changelog projects/vmxnet/contrib/dialog/package/dialog.spec projects/vmxnet/contrib/dialog/pause.c projects/vmxnet/contrib/dialog/po/cs.po projects/vmxnet/contrib/dialog/po/el.po projects/vmxnet/contrib/dialog/po/hr.po projects/vmxnet/contrib/dialog/po/sr.po projects/vmxnet/contrib/dialog/prgbox.c projects/vmxnet/contrib/dialog/progressbox.c projects/vmxnet/contrib/dialog/rc.c projects/vmxnet/contrib/dialog/samples/copifuncs/admin.funcs projects/vmxnet/contrib/dialog/samples/copifuncs/common.funcs projects/vmxnet/contrib/dialog/samples/copifuncs/copi.funcs projects/vmxnet/contrib/dialog/samples/copifuncs/copi.ifman2 projects/vmxnet/contrib/dialog/samples/copifuncs/copi.ifpoll2 projects/vmxnet/contrib/dialog/samples/copifuncs/copi.ifreq2 projects/vmxnet/contrib/dialog/samples/copifuncs/copi.sendifm1 projects/vmxnet/contrib/dialog/samples/copifuncs/copi.wheel projects/vmxnet/contrib/dialog/samples/copismall projects/vmxnet/contrib/dialog/samples/debian.rc projects/vmxnet/contrib/dialog/samples/dialog.py projects/vmxnet/contrib/dialog/samples/form1 projects/vmxnet/contrib/dialog/samples/inputmenu projects/vmxnet/contrib/dialog/samples/inputmenu-stdout projects/vmxnet/contrib/dialog/samples/inputmenu1 projects/vmxnet/contrib/dialog/samples/inputmenu2 projects/vmxnet/contrib/dialog/samples/inputmenu3 projects/vmxnet/contrib/dialog/samples/inputmenu4 projects/vmxnet/contrib/dialog/samples/killall projects/vmxnet/contrib/dialog/samples/prgbox projects/vmxnet/contrib/dialog/samples/prgbox2 projects/vmxnet/contrib/dialog/samples/report-button projects/vmxnet/contrib/dialog/samples/report-edit projects/vmxnet/contrib/dialog/samples/report-string projects/vmxnet/contrib/dialog/samples/report-tempfile projects/vmxnet/contrib/dialog/samples/report-yesno projects/vmxnet/contrib/dialog/samples/setup-edit projects/vmxnet/contrib/dialog/samples/setup-tempfile projects/vmxnet/contrib/dialog/samples/setup-utf8 projects/vmxnet/contrib/dialog/samples/setup-vars projects/vmxnet/contrib/dialog/samples/slackware.rc projects/vmxnet/contrib/dialog/samples/sourcemage.rc projects/vmxnet/contrib/dialog/samples/suse.rc projects/vmxnet/contrib/dialog/samples/tailboxbg projects/vmxnet/contrib/dialog/samples/tailboxbg1 projects/vmxnet/contrib/dialog/samples/tailboxbg2 projects/vmxnet/contrib/dialog/samples/testdata-8bit projects/vmxnet/contrib/dialog/samples/wheel projects/vmxnet/contrib/dialog/samples/whiptail.rc projects/vmxnet/contrib/dialog/tailbox.c projects/vmxnet/contrib/dialog/textbox.c projects/vmxnet/contrib/dialog/timebox.c projects/vmxnet/contrib/dialog/trace.c projects/vmxnet/contrib/dialog/ui_getc.c projects/vmxnet/contrib/dialog/util.c projects/vmxnet/contrib/dialog/yesno.c projects/vmxnet/contrib/gcc/config/arm/arm.h projects/vmxnet/contrib/gcc/dwarf2out.c projects/vmxnet/contrib/gcc/longlong.h projects/vmxnet/contrib/gdb/gdb/dwarf2read.c projects/vmxnet/contrib/gdb/gdb/gdbtypes.c projects/vmxnet/contrib/gdb/gdb/gdbtypes.h projects/vmxnet/contrib/gdb/gdb/hpread.c projects/vmxnet/contrib/gdb/gdb/parse.c projects/vmxnet/contrib/gdb/gdb/stabsread.c projects/vmxnet/contrib/libstdc++/include/std/std_limits.h projects/vmxnet/contrib/llvm/include/llvm/MC/MCExpr.h projects/vmxnet/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/vmxnet/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/vmxnet/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/vmxnet/contrib/llvm/lib/MC/MCExpr.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/vmxnet/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h projects/vmxnet/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsJITInfo.cpp projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsJITInfo.h projects/vmxnet/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/vmxnet/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/vmxnet/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/vmxnet/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/vmxnet/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/vmxnet/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/vmxnet/contrib/one-true-awk/FIXES projects/vmxnet/contrib/one-true-awk/main.c projects/vmxnet/contrib/one-true-awk/makefile projects/vmxnet/contrib/one-true-awk/proto.h projects/vmxnet/contrib/one-true-awk/run.c projects/vmxnet/contrib/one-true-awk/tran.c projects/vmxnet/contrib/openbsm/INSTALL projects/vmxnet/contrib/openbsm/NEWS projects/vmxnet/contrib/openbsm/VERSION projects/vmxnet/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 projects/vmxnet/contrib/openbsm/config/config.h projects/vmxnet/contrib/openbsm/configure projects/vmxnet/contrib/openbsm/configure.ac projects/vmxnet/contrib/openbsm/etc/audit_event projects/vmxnet/contrib/openbsm/sys/bsm/audit_kevents.h projects/vmxnet/contrib/openbsm/sys/bsm/audit_record.h projects/vmxnet/contrib/sendmail/FREEBSD-upgrade projects/vmxnet/contrib/sendmail/LICENSE projects/vmxnet/contrib/sendmail/PGPKEYS projects/vmxnet/contrib/sendmail/RELEASE_NOTES projects/vmxnet/contrib/sendmail/cf/README projects/vmxnet/contrib/sendmail/cf/cf/submit.cf projects/vmxnet/contrib/sendmail/cf/feature/ldap_routing.m4 projects/vmxnet/contrib/sendmail/cf/m4/proto.m4 projects/vmxnet/contrib/sendmail/cf/m4/version.m4 projects/vmxnet/contrib/sendmail/doc/op/op.me projects/vmxnet/contrib/sendmail/include/libmilter/mfapi.h projects/vmxnet/contrib/sendmail/include/sm/clock.h projects/vmxnet/contrib/sendmail/include/sm/tailq.h projects/vmxnet/contrib/sendmail/libmilter/Makefile.m4 projects/vmxnet/contrib/sendmail/libmilter/docs/api.html projects/vmxnet/contrib/sendmail/libmilter/docs/smfi_setsymlist.html projects/vmxnet/contrib/sendmail/libmilter/docs/smfi_settimeout.html projects/vmxnet/contrib/sendmail/libmilter/worker.c projects/vmxnet/contrib/sendmail/src/Makefile.m4 projects/vmxnet/contrib/sendmail/src/TRACEFLAGS projects/vmxnet/contrib/sendmail/src/collect.c projects/vmxnet/contrib/sendmail/src/conf.c projects/vmxnet/contrib/sendmail/src/daemon.c projects/vmxnet/contrib/sendmail/src/deliver.c projects/vmxnet/contrib/sendmail/src/headers.c projects/vmxnet/contrib/sendmail/src/main.c projects/vmxnet/contrib/sendmail/src/map.c projects/vmxnet/contrib/sendmail/src/milter.c projects/vmxnet/contrib/sendmail/src/parseaddr.c projects/vmxnet/contrib/sendmail/src/queue.c projects/vmxnet/contrib/sendmail/src/sasl.c projects/vmxnet/contrib/sendmail/src/savemail.c projects/vmxnet/contrib/sendmail/src/sendmail.h projects/vmxnet/contrib/sendmail/src/srvrsmtp.c projects/vmxnet/contrib/sendmail/src/stab.c projects/vmxnet/contrib/sendmail/src/util.c projects/vmxnet/contrib/sendmail/src/version.c projects/vmxnet/contrib/xz/AUTHORS projects/vmxnet/contrib/xz/ChangeLog projects/vmxnet/contrib/xz/README projects/vmxnet/contrib/xz/THANKS projects/vmxnet/contrib/xz/po/de.po projects/vmxnet/contrib/xz/po/fr.po projects/vmxnet/contrib/xz/po/it.po projects/vmxnet/contrib/xz/po/pl.po projects/vmxnet/contrib/xz/src/common/sysdefs.h projects/vmxnet/contrib/xz/src/liblzma/api/lzma/version.h projects/vmxnet/contrib/xz/src/liblzma/simple/simple_coder.c projects/vmxnet/contrib/xz/src/liblzma/simple/simple_private.h projects/vmxnet/contrib/xz/src/xz/args.c projects/vmxnet/contrib/xz/src/xz/coder.c projects/vmxnet/contrib/xz/src/xz/message.c projects/vmxnet/contrib/xz/src/xz/xz.1 projects/vmxnet/crypto/openssl/crypto/bn/bn_word.c projects/vmxnet/crypto/openssl/crypto/opensslv.h projects/vmxnet/etc/defaults/rc.conf projects/vmxnet/etc/devd/usb.conf projects/vmxnet/etc/login.conf projects/vmxnet/etc/mtree/BSD.var.dist projects/vmxnet/etc/namedb/named.root projects/vmxnet/etc/newsyslog.conf projects/vmxnet/etc/periodic/daily/Makefile projects/vmxnet/etc/rc.d/savecore projects/vmxnet/etc/sendmail/freebsd.mc projects/vmxnet/etc/sendmail/freebsd.submit.mc projects/vmxnet/etc/sendmail/freefall.mc projects/vmxnet/gnu/lib/libdialog/dlg_config.h projects/vmxnet/gnu/lib/libgcc/Makefile projects/vmxnet/gnu/usr.bin/binutils/as/Makefile projects/vmxnet/gnu/usr.bin/binutils/ld/armelf_fbsd.sh projects/vmxnet/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh projects/vmxnet/gnu/usr.bin/dialog/Makefile projects/vmxnet/include/Makefile projects/vmxnet/lib/Makefile projects/vmxnet/lib/clang/include/clang/Basic/Version.inc projects/vmxnet/lib/csu/amd64/crt1.c projects/vmxnet/lib/csu/arm/crt1.c projects/vmxnet/lib/csu/common/ignore_init.c projects/vmxnet/lib/csu/i386-elf/crt1_c.c projects/vmxnet/lib/csu/mips/crt1.c projects/vmxnet/lib/csu/powerpc/crt1.c projects/vmxnet/lib/csu/powerpc64/crt1.c projects/vmxnet/lib/csu/sparc64/crt1.c projects/vmxnet/lib/libbsnmp/libbsnmp/Makefile projects/vmxnet/lib/libc/arm/softfloat/arm-gcc.h projects/vmxnet/lib/libc/gen/Makefile.inc projects/vmxnet/lib/libc/gen/Symbol.map projects/vmxnet/lib/libc/gen/check_utility_compat.c projects/vmxnet/lib/libc/iconv/citrus_mmap.c projects/vmxnet/lib/libc/nls/Makefile.inc projects/vmxnet/lib/libc/nls/msgcat.c projects/vmxnet/lib/libc/sys/mlock.2 projects/vmxnet/lib/libc/sys/mlockall.2 projects/vmxnet/lib/libcompiler_rt/Makefile projects/vmxnet/lib/libdevstat/devstat.3 projects/vmxnet/lib/libdevstat/devstat.c projects/vmxnet/lib/libdevstat/devstat.h projects/vmxnet/lib/libedit/map.c projects/vmxnet/lib/libnetgraph/sock.c projects/vmxnet/lib/libproc/test/t1-bkpt/t1-bkpt.c projects/vmxnet/lib/libutil/gr_util.c projects/vmxnet/lib/libutil/libutil.h projects/vmxnet/lib/libutil/pw_util.c projects/vmxnet/libexec/tftpd/tftp-io.c projects/vmxnet/release/picobsd/build/picobsd projects/vmxnet/sbin/geom/class/journal/geom_journal_ufs.c projects/vmxnet/sbin/geom/class/part/gpart.8 projects/vmxnet/sbin/growfs/growfs.c projects/vmxnet/sbin/hastd/parse.y projects/vmxnet/sbin/ifconfig/af_nd6.c projects/vmxnet/sbin/ifconfig/ifconfig.c projects/vmxnet/sbin/mount_nullfs/mount_nullfs.c projects/vmxnet/sbin/pflogd/Makefile projects/vmxnet/sbin/route/route.c projects/vmxnet/sbin/savecore/savecore.8 projects/vmxnet/sbin/savecore/savecore.c projects/vmxnet/sbin/setkey/setkey.8 projects/vmxnet/share/examples/Makefile projects/vmxnet/share/examples/cvsup/README projects/vmxnet/share/examples/cvsup/cvs-supfile projects/vmxnet/share/examples/cvsup/ports-supfile projects/vmxnet/share/examples/cvsup/stable-supfile projects/vmxnet/share/examples/cvsup/standard-supfile projects/vmxnet/share/i18n/csmapper/Makefile.part projects/vmxnet/share/man/man4/arcmsr.4 projects/vmxnet/share/man/man4/carp.4 projects/vmxnet/share/man/man4/mps.4 projects/vmxnet/share/man/man4/ng_ubt.4 projects/vmxnet/share/man/man4/stf.4 projects/vmxnet/share/man/man4/wbwd.4 projects/vmxnet/share/man/man9/lock.9 projects/vmxnet/share/man/man9/make_dev.9 projects/vmxnet/share/man/man9/sleep.9 projects/vmxnet/share/misc/committers-ports.dot projects/vmxnet/share/misc/committers-src.dot projects/vmxnet/share/mk/bsd.cpu.mk projects/vmxnet/share/mk/bsd.lib.mk projects/vmxnet/share/mk/bsd.libnames.mk projects/vmxnet/share/mk/bsd.own.mk projects/vmxnet/share/mk/bsd.prog.mk projects/vmxnet/share/mk/sys.mk projects/vmxnet/sys/amd64/conf/GENERIC projects/vmxnet/sys/arm/arm/busdma_machdep-v6.c projects/vmxnet/sys/arm/arm/busdma_machdep.c projects/vmxnet/sys/arm/arm/cpufunc.c projects/vmxnet/sys/arm/arm/elf_trampoline.c projects/vmxnet/sys/arm/arm/identcpu.c projects/vmxnet/sys/arm/arm/locore.S projects/vmxnet/sys/arm/arm/machdep.c projects/vmxnet/sys/arm/arm/pl310.c projects/vmxnet/sys/arm/arm/pmap-v6.c projects/vmxnet/sys/arm/arm/pmap.c projects/vmxnet/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/vmxnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/vmxnet/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/vmxnet/sys/arm/broadcom/bcm2835/bcm2835_systimer.c projects/vmxnet/sys/arm/broadcom/bcm2835/files.bcm2835 projects/vmxnet/sys/arm/conf/BEAGLEBONE projects/vmxnet/sys/arm/conf/PANDABOARD projects/vmxnet/sys/arm/conf/RPI-B projects/vmxnet/sys/arm/conf/VERSATILEPB projects/vmxnet/sys/arm/include/armreg.h projects/vmxnet/sys/arm/include/atomic.h projects/vmxnet/sys/arm/include/cpuconf.h projects/vmxnet/sys/arm/include/cpufunc.h projects/vmxnet/sys/arm/include/intr.h projects/vmxnet/sys/arm/include/machdep.h projects/vmxnet/sys/arm/include/pl310.h projects/vmxnet/sys/arm/include/pmap.h projects/vmxnet/sys/arm/include/vm.h projects/vmxnet/sys/arm/ti/cpsw/if_cpsw.c projects/vmxnet/sys/arm/ti/cpsw/if_cpswreg.h projects/vmxnet/sys/arm/ti/cpsw/if_cpswvar.h projects/vmxnet/sys/arm/ti/omap4/omap4_l2cache.c projects/vmxnet/sys/arm/ti/omap4/omap4_smc.h projects/vmxnet/sys/arm/ti/ti_cpuid.c projects/vmxnet/sys/arm/ti/ti_cpuid.h projects/vmxnet/sys/arm/versatile/files.versatile projects/vmxnet/sys/arm/versatile/versatile_clcd.c projects/vmxnet/sys/boot/arm/uboot/Makefile projects/vmxnet/sys/boot/common/interp_forth.c projects/vmxnet/sys/boot/fdt/dts/pandaboard.dts projects/vmxnet/sys/boot/ficl/Makefile projects/vmxnet/sys/boot/i386/efi/ldscript.amd64 projects/vmxnet/sys/boot/sparc64/boot1/boot1.c projects/vmxnet/sys/boot/userboot/libstand/Makefile projects/vmxnet/sys/boot/userboot/userboot/Makefile projects/vmxnet/sys/boot/userboot/userboot/main.c projects/vmxnet/sys/cam/scsi/scsi_enc_ses.c projects/vmxnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/vmxnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/vmxnet/sys/cddl/dev/dtrace/dtrace_debug.c projects/vmxnet/sys/conf/files projects/vmxnet/sys/conf/files.arm projects/vmxnet/sys/conf/options.arm projects/vmxnet/sys/conf/options.mips projects/vmxnet/sys/contrib/octeon-sdk/cvmx-app-init.h projects/vmxnet/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/vmxnet/sys/dev/agp/agp_ali.c projects/vmxnet/sys/dev/agp/agp_amd.c projects/vmxnet/sys/dev/agp/agp_amd64.c projects/vmxnet/sys/dev/agp/agp_ati.c projects/vmxnet/sys/dev/agp/agp_intel.c projects/vmxnet/sys/dev/agp/agp_sis.c projects/vmxnet/sys/dev/agp/agp_via.c projects/vmxnet/sys/dev/ahci/ahci.c projects/vmxnet/sys/dev/ale/if_ale.c projects/vmxnet/sys/dev/arcmsr/arcmsr.c projects/vmxnet/sys/dev/arcmsr/arcmsr.h projects/vmxnet/sys/dev/ata/ata-pci.h projects/vmxnet/sys/dev/ata/chipsets/ata-intel.c projects/vmxnet/sys/dev/ath/ath_dfs/null/dfs_null.c projects/vmxnet/sys/dev/ath/ath_hal/ah.c projects/vmxnet/sys/dev/ath/ath_hal/ah.h projects/vmxnet/sys/dev/ath/ath_hal/ah_internal.h projects/vmxnet/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/vmxnet/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/vmxnet/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/vmxnet/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/vmxnet/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/vmxnet/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/vmxnet/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/vmxnet/sys/dev/ath/if_ath.c projects/vmxnet/sys/dev/ath/if_ath_rx.c projects/vmxnet/sys/dev/ath/if_athdfs.h projects/vmxnet/sys/dev/ath/if_athioctl.h projects/vmxnet/sys/dev/ath/if_athvar.h projects/vmxnet/sys/dev/atkbdc/psm.c projects/vmxnet/sys/dev/cxgbe/t4_l2t.c projects/vmxnet/sys/dev/cxgbe/t4_main.c projects/vmxnet/sys/dev/fdt/fdtbus.c projects/vmxnet/sys/dev/ichsmb/ichsmb_pci.c projects/vmxnet/sys/dev/ichwd/ichwd.c projects/vmxnet/sys/dev/ichwd/ichwd.h projects/vmxnet/sys/dev/ixgbe/ixgbe.c projects/vmxnet/sys/dev/ixgbe/ixgbe.h projects/vmxnet/sys/dev/mii/brgphy.c projects/vmxnet/sys/dev/mii/miidevs projects/vmxnet/sys/dev/netmap/ixgbe_netmap.h projects/vmxnet/sys/dev/nvme/nvme.c projects/vmxnet/sys/dev/nvme/nvme_ctrlr.c projects/vmxnet/sys/dev/nvme/nvme_private.h projects/vmxnet/sys/dev/pci/pci.c projects/vmxnet/sys/dev/pci/pci_user.c projects/vmxnet/sys/dev/sound/pci/hda/hdac.c projects/vmxnet/sys/dev/sound/pci/hda/hdac.h projects/vmxnet/sys/dev/sound/usb/uaudio.c projects/vmxnet/sys/dev/usb/controller/xhci.c projects/vmxnet/sys/dev/usb/quirk/usb_quirk.c projects/vmxnet/sys/dev/usb/serial/u3g.c projects/vmxnet/sys/dev/usb/serial/usb_serial.c projects/vmxnet/sys/dev/usb/serial/usb_serial.h projects/vmxnet/sys/dev/usb/storage/umass.c projects/vmxnet/sys/dev/usb/storage/ustorage_fs.c projects/vmxnet/sys/dev/usb/usb_busdma.c projects/vmxnet/sys/dev/usb/usb_msctest.c projects/vmxnet/sys/dev/usb/usb_transfer.c projects/vmxnet/sys/dev/usb/usbdevs projects/vmxnet/sys/dev/usb/usbdi.h projects/vmxnet/sys/dev/usb/wlan/if_run.c projects/vmxnet/sys/dev/usb/wlan/if_uath.c projects/vmxnet/sys/dev/usb/wlan/if_uathvar.h projects/vmxnet/sys/dev/usb/wlan/if_upgt.c projects/vmxnet/sys/dev/usb/wlan/if_upgtvar.h projects/vmxnet/sys/dev/usb/wlan/if_urtw.c projects/vmxnet/sys/dev/usb/wlan/if_urtwvar.h projects/vmxnet/sys/dev/wbwd/wbwd.c projects/vmxnet/sys/dev/wtap/if_wtap.c projects/vmxnet/sys/dev/xen/control/control.c projects/vmxnet/sys/dev/xen/netfront/netfront.c projects/vmxnet/sys/fs/devfs/devfs_vnops.c projects/vmxnet/sys/fs/ext2fs/ext2_dinode.h projects/vmxnet/sys/fs/ext2fs/ext2_inode_cnv.c projects/vmxnet/sys/fs/ext2fs/ext2_vfsops.c projects/vmxnet/sys/fs/ext2fs/ext2fs.h projects/vmxnet/sys/fs/nandfs/nandfs_segment.c projects/vmxnet/sys/fs/nullfs/null.h projects/vmxnet/sys/fs/nullfs/null_subr.c projects/vmxnet/sys/fs/nullfs/null_vfsops.c projects/vmxnet/sys/fs/nullfs/null_vnops.c projects/vmxnet/sys/fs/tmpfs/tmpfs.h projects/vmxnet/sys/fs/tmpfs/tmpfs_subr.c projects/vmxnet/sys/fs/tmpfs/tmpfs_vfsops.c projects/vmxnet/sys/fs/tmpfs/tmpfs_vnops.c projects/vmxnet/sys/geom/geom_io.c projects/vmxnet/sys/geom/label/g_label.c projects/vmxnet/sys/i386/conf/GENERIC projects/vmxnet/sys/i386/xen/xen_machdep.c projects/vmxnet/sys/ia64/conf/GENERIC projects/vmxnet/sys/kern/kern_conf.c projects/vmxnet/sys/kern/kern_descrip.c projects/vmxnet/sys/kern/kern_exit.c projects/vmxnet/sys/kern/kern_fork.c projects/vmxnet/sys/kern/kern_jail.c projects/vmxnet/sys/kern/kern_lock.c projects/vmxnet/sys/kern/kern_mutex.c projects/vmxnet/sys/kern/kern_priv.c projects/vmxnet/sys/kern/kern_rmlock.c projects/vmxnet/sys/kern/kern_rwlock.c projects/vmxnet/sys/kern/kern_sig.c projects/vmxnet/sys/kern/kern_sx.c projects/vmxnet/sys/kern/kern_synch.c projects/vmxnet/sys/kern/subr_param.c projects/vmxnet/sys/kern/subr_smp.c projects/vmxnet/sys/kern/subr_syscall.c projects/vmxnet/sys/kern/sys_generic.c projects/vmxnet/sys/kern/vfs_bio.c projects/vmxnet/sys/kern/vfs_export.c projects/vmxnet/sys/kern/vfs_mount.c projects/vmxnet/sys/kern/vfs_subr.c projects/vmxnet/sys/kern/vfs_vnops.c projects/vmxnet/sys/kgssapi/gss_accept_sec_context.c projects/vmxnet/sys/kgssapi/gss_acquire_cred.c projects/vmxnet/sys/kgssapi/gss_canonicalize_name.c projects/vmxnet/sys/kgssapi/gss_delete_sec_context.c projects/vmxnet/sys/kgssapi/gss_display_status.c projects/vmxnet/sys/kgssapi/gss_export_name.c projects/vmxnet/sys/kgssapi/gss_impl.c projects/vmxnet/sys/kgssapi/gss_import_name.c projects/vmxnet/sys/kgssapi/gss_init_sec_context.c projects/vmxnet/sys/kgssapi/gss_pname_to_uid.c projects/vmxnet/sys/kgssapi/gss_release_cred.c projects/vmxnet/sys/kgssapi/gss_release_name.c projects/vmxnet/sys/kgssapi/gss_set_cred_option.c projects/vmxnet/sys/kgssapi/gssapi_impl.h projects/vmxnet/sys/mips/atheros/ar71xx_pci.c projects/vmxnet/sys/mips/beri/beri_machdep.c projects/vmxnet/sys/mips/conf/OCTEON1 projects/vmxnet/sys/mips/include/param.h projects/vmxnet/sys/modules/ath/Makefile projects/vmxnet/sys/net/if_bridge.c projects/vmxnet/sys/net/if_pfsync.h projects/vmxnet/sys/net/if_stf.c projects/vmxnet/sys/net/zlib.c projects/vmxnet/sys/net/zlib.h projects/vmxnet/sys/net80211/ieee80211_hostap.c projects/vmxnet/sys/net80211/ieee80211_hwmp.c projects/vmxnet/sys/net80211/ieee80211_proto.c projects/vmxnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/vmxnet/sys/netinet/in.c projects/vmxnet/sys/netinet/ip_carp.c projects/vmxnet/sys/netinet/sctp_pcb.c projects/vmxnet/sys/netinet/sctp_usrreq.c projects/vmxnet/sys/netinet/sctputil.c projects/vmxnet/sys/netinet/tcp_input.c projects/vmxnet/sys/netinet/tcp_reass.c projects/vmxnet/sys/netinet/tcp_syncache.c projects/vmxnet/sys/netinet6/in6.c projects/vmxnet/sys/netinet6/in6_var.h projects/vmxnet/sys/netinet6/ip6_input.c projects/vmxnet/sys/netinet6/ip6_output.c projects/vmxnet/sys/netinet6/ip6_var.h projects/vmxnet/sys/netpfil/ipfw/ip_fw2.c projects/vmxnet/sys/netpfil/ipfw/ip_fw_dynamic.c projects/vmxnet/sys/netpfil/ipfw/ip_fw_log.c projects/vmxnet/sys/netpfil/ipfw/ip_fw_private.h projects/vmxnet/sys/netpfil/pf/if_pflog.c projects/vmxnet/sys/netpfil/pf/if_pfsync.c projects/vmxnet/sys/netpfil/pf/pf.c projects/vmxnet/sys/netpfil/pf/pf_if.c projects/vmxnet/sys/netpfil/pf/pf_ioctl.c projects/vmxnet/sys/netpfil/pf/pf_lb.c projects/vmxnet/sys/netpfil/pf/pf_norm.c projects/vmxnet/sys/netpfil/pf/pf_osfp.c projects/vmxnet/sys/netpfil/pf/pf_ruleset.c projects/vmxnet/sys/netpfil/pf/pf_table.c projects/vmxnet/sys/pc98/conf/GENERIC projects/vmxnet/sys/powerpc/conf/GENERIC projects/vmxnet/sys/powerpc/conf/GENERIC64 projects/vmxnet/sys/sparc64/conf/GENERIC projects/vmxnet/sys/sparc64/sparc64/interrupt.S projects/vmxnet/sys/sys/buf_ring.h projects/vmxnet/sys/sys/copyright.h projects/vmxnet/sys/sys/file.h projects/vmxnet/sys/sys/fnv_hash.h projects/vmxnet/sys/sys/ktr.h projects/vmxnet/sys/sys/mount.h projects/vmxnet/sys/sys/vnode.h projects/vmxnet/sys/tools/vnode_if.awk projects/vmxnet/sys/ufs/ffs/ffs_snapshot.c projects/vmxnet/sys/ufs/ffs/ffs_softdep.c projects/vmxnet/sys/ufs/ufs/ufs_quota.c projects/vmxnet/sys/vm/uma_int.h projects/vmxnet/sys/vm/vm.h projects/vmxnet/sys/vm/vm_map.c projects/vmxnet/sys/vm/vm_mmap.c projects/vmxnet/sys/vm/vm_unix.c projects/vmxnet/sys/x86/include/specialreg.h projects/vmxnet/tools/build/mk/OptionalObsoleteFiles.inc projects/vmxnet/tools/regression/usr.bin/printf/regress.sh projects/vmxnet/tools/tools/ath/Makefile projects/vmxnet/tools/tools/ath/arcode/arcode.c projects/vmxnet/tools/tools/ath/ath_prom_read/ath_prom_read.c projects/vmxnet/tools/tools/ath/athdebug/athdebug.c projects/vmxnet/tools/tools/ath/athdecode/main.c projects/vmxnet/tools/tools/ath/athkey/athkey.c projects/vmxnet/tools/tools/ath/athprom/athprom.c projects/vmxnet/tools/tools/ath/athratestats/main.c projects/vmxnet/tools/tools/ath/athstats/Makefile projects/vmxnet/tools/tools/ath/athstats/athstats.c projects/vmxnet/tools/tools/ath/athsurvey/athsurvey.c projects/vmxnet/tools/tools/netrate/netreceive/Makefile projects/vmxnet/tools/tools/netrate/netreceive/netreceive.c projects/vmxnet/tools/tools/netrate/netsend/netsend.c projects/vmxnet/tools/tools/sysbuild/sysbuild.sh projects/vmxnet/usr.bin/apply/apply.c projects/vmxnet/usr.bin/clang/clang/clang.1 projects/vmxnet/usr.bin/dc/bcode.c projects/vmxnet/usr.bin/dc/bcode.h projects/vmxnet/usr.bin/dc/inout.c projects/vmxnet/usr.bin/grep/grep.c projects/vmxnet/usr.bin/grep/grep.h projects/vmxnet/usr.bin/grep/regex/tre-fastmatch.c projects/vmxnet/usr.bin/grep/util.c projects/vmxnet/usr.bin/indent/indent_globs.h projects/vmxnet/usr.bin/m4/Makefile projects/vmxnet/usr.bin/printf/printf.c projects/vmxnet/usr.bin/sort/sort.c projects/vmxnet/usr.bin/sort/sort.h projects/vmxnet/usr.bin/ul/ul.c projects/vmxnet/usr.bin/xargs/strnsubst.c projects/vmxnet/usr.sbin/Makefile projects/vmxnet/usr.sbin/Makefile.amd64 projects/vmxnet/usr.sbin/Makefile.i386 projects/vmxnet/usr.sbin/Makefile.sparc64 projects/vmxnet/usr.sbin/acpi/acpidump/acpi.c projects/vmxnet/usr.sbin/acpi/acpidump/acpidump.8 projects/vmxnet/usr.sbin/bsdconfig/USAGE projects/vmxnet/usr.sbin/bsdconfig/bsdconfig projects/vmxnet/usr.sbin/bsdconfig/bsdconfig.8 projects/vmxnet/usr.sbin/bsdconfig/console/console projects/vmxnet/usr.sbin/bsdconfig/console/font projects/vmxnet/usr.sbin/bsdconfig/console/keymap projects/vmxnet/usr.sbin/bsdconfig/console/repeat projects/vmxnet/usr.sbin/bsdconfig/console/saver projects/vmxnet/usr.sbin/bsdconfig/console/screenmap projects/vmxnet/usr.sbin/bsdconfig/console/ttys projects/vmxnet/usr.sbin/bsdconfig/diskmgmt/diskmgmt projects/vmxnet/usr.sbin/bsdconfig/docsinstall/docsinstall projects/vmxnet/usr.sbin/bsdconfig/dot/dot projects/vmxnet/usr.sbin/bsdconfig/examples/bsdconfigrc projects/vmxnet/usr.sbin/bsdconfig/include/messages.subr projects/vmxnet/usr.sbin/bsdconfig/mouse/disable projects/vmxnet/usr.sbin/bsdconfig/mouse/enable projects/vmxnet/usr.sbin/bsdconfig/mouse/flags projects/vmxnet/usr.sbin/bsdconfig/mouse/mouse projects/vmxnet/usr.sbin/bsdconfig/mouse/port projects/vmxnet/usr.sbin/bsdconfig/mouse/type projects/vmxnet/usr.sbin/bsdconfig/networking/defaultrouter projects/vmxnet/usr.sbin/bsdconfig/networking/devices projects/vmxnet/usr.sbin/bsdconfig/networking/hostname projects/vmxnet/usr.sbin/bsdconfig/networking/nameservers projects/vmxnet/usr.sbin/bsdconfig/networking/networking projects/vmxnet/usr.sbin/bsdconfig/networking/share/common.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/device.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/hostname.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/media.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/netmask.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/resolv.subr projects/vmxnet/usr.sbin/bsdconfig/networking/share/routing.subr projects/vmxnet/usr.sbin/bsdconfig/password/password projects/vmxnet/usr.sbin/bsdconfig/password/share/password.subr projects/vmxnet/usr.sbin/bsdconfig/security/kern_securelevel projects/vmxnet/usr.sbin/bsdconfig/security/security projects/vmxnet/usr.sbin/bsdconfig/share/Makefile projects/vmxnet/usr.sbin/bsdconfig/share/common.subr projects/vmxnet/usr.sbin/bsdconfig/share/dialog.subr projects/vmxnet/usr.sbin/bsdconfig/share/mustberoot.subr projects/vmxnet/usr.sbin/bsdconfig/share/strings.subr projects/vmxnet/usr.sbin/bsdconfig/share/sysrc.subr projects/vmxnet/usr.sbin/bsdconfig/startup/misc projects/vmxnet/usr.sbin/bsdconfig/startup/rcadd projects/vmxnet/usr.sbin/bsdconfig/startup/rcconf projects/vmxnet/usr.sbin/bsdconfig/startup/rcdelete projects/vmxnet/usr.sbin/bsdconfig/startup/rcedit projects/vmxnet/usr.sbin/bsdconfig/startup/rcvar projects/vmxnet/usr.sbin/bsdconfig/startup/share/rcconf.subr projects/vmxnet/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/vmxnet/usr.sbin/bsdconfig/startup/share/rcvar.subr projects/vmxnet/usr.sbin/bsdconfig/startup/startup projects/vmxnet/usr.sbin/bsdconfig/timezone/share/continents.subr projects/vmxnet/usr.sbin/bsdconfig/timezone/share/countries.subr projects/vmxnet/usr.sbin/bsdconfig/timezone/share/iso3166.subr projects/vmxnet/usr.sbin/bsdconfig/timezone/share/menus.subr projects/vmxnet/usr.sbin/bsdconfig/timezone/share/zones.subr projects/vmxnet/usr.sbin/bsdconfig/timezone/timezone projects/vmxnet/usr.sbin/bsdconfig/ttys/ttys projects/vmxnet/usr.sbin/bsdconfig/usermgmt/groupadd projects/vmxnet/usr.sbin/bsdconfig/usermgmt/groupdel projects/vmxnet/usr.sbin/bsdconfig/usermgmt/groupedit projects/vmxnet/usr.sbin/bsdconfig/usermgmt/groupinput projects/vmxnet/usr.sbin/bsdconfig/usermgmt/share/group_input.subr projects/vmxnet/usr.sbin/bsdconfig/usermgmt/share/user_input.subr projects/vmxnet/usr.sbin/bsdconfig/usermgmt/useradd projects/vmxnet/usr.sbin/bsdconfig/usermgmt/userdel projects/vmxnet/usr.sbin/bsdconfig/usermgmt/useredit projects/vmxnet/usr.sbin/bsdconfig/usermgmt/userinput projects/vmxnet/usr.sbin/bsdconfig/usermgmt/usermgmt projects/vmxnet/usr.sbin/bsdinstall/partedit/Makefile projects/vmxnet/usr.sbin/bsdinstall/partedit/partedit.c projects/vmxnet/usr.sbin/daemon/daemon.c projects/vmxnet/usr.sbin/gssd/Makefile projects/vmxnet/usr.sbin/gssd/gssd.8 projects/vmxnet/usr.sbin/gssd/gssd.c projects/vmxnet/usr.sbin/ifmcstat/ifmcstat.c projects/vmxnet/usr.sbin/iostat/iostat.8 projects/vmxnet/usr.sbin/iostat/iostat.c projects/vmxnet/usr.sbin/mountd/exports.5 projects/vmxnet/usr.sbin/mountd/mountd.c projects/vmxnet/usr.sbin/mptable/mptable.c projects/vmxnet/usr.sbin/mtest/mtest.c projects/vmxnet/usr.sbin/ndp/ndp.8 projects/vmxnet/usr.sbin/newsyslog/newsyslog.8 projects/vmxnet/usr.sbin/newsyslog/newsyslog.c projects/vmxnet/usr.sbin/nfsd/nfsd.c projects/vmxnet/usr.sbin/nfsd/nfsv4.4 projects/vmxnet/usr.sbin/pkg/pkg.c projects/vmxnet/usr.sbin/pw/pw_group.c projects/vmxnet/usr.sbin/pw/pw_user.c projects/vmxnet/usr.sbin/pw/pw_vpw.c projects/vmxnet/usr.sbin/pw/pwupd.c projects/vmxnet/usr.sbin/rpcbind/rpcbind.c projects/vmxnet/usr.sbin/syslogd/syslogd.c projects/vmxnet/usr.sbin/ypserv/yp_main.c Directory Properties: projects/vmxnet/ (props changed) projects/vmxnet/cddl/contrib/opensolaris/ (props changed) projects/vmxnet/contrib/binutils/ (props changed) projects/vmxnet/contrib/dialog/ (props changed) projects/vmxnet/contrib/gcc/ (props changed) projects/vmxnet/contrib/gdb/ (props changed) projects/vmxnet/contrib/libstdc++/ (props changed) projects/vmxnet/contrib/llvm/ (props changed) projects/vmxnet/contrib/llvm/tools/clang/ (props changed) projects/vmxnet/contrib/one-true-awk/ (props changed) projects/vmxnet/contrib/openbsm/ (props changed) projects/vmxnet/contrib/sendmail/ (props changed) projects/vmxnet/contrib/xz/ (props changed) projects/vmxnet/crypto/openssl/ (props changed) projects/vmxnet/gnu/lib/ (props changed) projects/vmxnet/gnu/usr.bin/binutils/ (props changed) projects/vmxnet/lib/libc/ (props changed) projects/vmxnet/lib/libutil/ (props changed) projects/vmxnet/sbin/ (props changed) projects/vmxnet/share/man/man4/ (props changed) projects/vmxnet/sys/ (props changed) projects/vmxnet/sys/boot/ (props changed) projects/vmxnet/sys/boot/i386/efi/ (props changed) projects/vmxnet/sys/cddl/contrib/opensolaris/ (props changed) projects/vmxnet/sys/conf/ (props changed) projects/vmxnet/sys/contrib/octeon-sdk/ (props changed) projects/vmxnet/tools/regression/bin/sh/errors/write-error1.0 (props changed) Modified: projects/vmxnet/COPYRIGHT ============================================================================== --- projects/vmxnet/COPYRIGHT Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/COPYRIGHT Tue Jan 8 05:28:55 2013 (r245150) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/vmxnet/LOCKS ============================================================================== --- projects/vmxnet/LOCKS Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/LOCKS Tue Jan 8 05:28:55 2013 (r245150) @@ -11,3 +11,4 @@ releng/4.* Requires Security Officer app releng/5.* Requires Security Officer approval. releng/6.* Requires Security Officer approval. releng/7.* Requires Security Officer approval. +releng/8.* Requires Security Officer approval. Modified: projects/vmxnet/ObsoleteFiles.inc ============================================================================== --- projects/vmxnet/ObsoleteFiles.inc Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/ObsoleteFiles.inc Tue Jan 8 05:28:55 2013 (r245150) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20121230: libdisk removed +OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h +OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a +# 20121230: remove wrongly created directories for auditdistd +OLD_DIRS+=var/dist +OLD_DIRS+=var/remote # 20121114: zpool-features manual page moved from section 5 to 7 OLD_FILES+=usr/share/man/man5/zpool-features.5.gz # 20121022: remove harp, hfa and idt man page Modified: projects/vmxnet/UPDATING ============================================================================== --- projects/vmxnet/UPDATING Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/UPDATING Tue Jan 8 05:28:55 2013 (r245150) @@ -26,6 +26,24 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121223: + After switching to Clang as the default compiler some users of ZFS + on i386 systems started to experience stack overflow kernel panics. + Please consider using 'options KSTACK_PAGES=4' in such configurations. + +20121222: + GEOM_LABEL now mangles label names read from file system metadata. + Mangling affect labels containing spaces, non-printable characters, + '%' or '"'. Device names in /etc/fstab and other places may need to + be updated. + +20121217: + By default, only the 10 most recent kernel dumps will be saved. To + restore the previous behaviour (no limit on the number of kernel dumps + stored in the dump directory) add the following line to /etc/rc.conf: + + savecore_flags="" + 20121201: With the addition of auditdistd(8), a new auditdistd user is now depended on during installworld. "mergemaster -p" can be used to add Modified: projects/vmxnet/bin/date/netdate.c ============================================================================== --- projects/vmxnet/bin/date/netdate.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/bin/date/netdate.c Tue Jan 8 05:28:55 2013 (r245150) @@ -85,7 +85,7 @@ netsettime(time_t tval) dest.sin_addr.s_addr = htonl((u_long)INADDR_ANY); s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) { - if (errno != EPROTONOSUPPORT) + if (errno != EAFNOSUPPORT) warn("timed"); return (retval = 2); } Modified: projects/vmxnet/bin/ln/ln.1 ============================================================================== --- projects/vmxnet/bin/ln/ln.1 Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/bin/ln/ln.1 Tue Jan 8 05:28:55 2013 (r245150) @@ -291,7 +291,7 @@ implementations. .Pp The .Fl F -option is +option is a .Fx extension and should not be used in portable scripts. .Sh SEE ALSO Modified: projects/vmxnet/bin/ls/util.c ============================================================================== --- projects/vmxnet/bin/ls/util.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/bin/ls/util.c Tue Jan 8 05:28:55 2013 (r245150) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); Modified: projects/vmxnet/bin/sh/jobs.c ============================================================================== --- projects/vmxnet/bin/sh/jobs.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/bin/sh/jobs.c Tue Jan 8 05:28:55 2013 (r245150) @@ -298,6 +298,7 @@ showjob(struct job *jp, int mode) { char s[64]; char statestr[64]; + const char *sigstr; struct procstat *ps; struct job *j; int col, curr, i, jobno, prev, procno; @@ -324,8 +325,9 @@ showjob(struct job *jp, int mode) i = WSTOPSIG(ps->status); else i = -1; - if (i > 0 && i < sys_nsig && sys_siglist[i]) - strcpy(statestr, sys_siglist[i]); + sigstr = strsignal(i); + if (sigstr != NULL) + strcpy(statestr, sigstr); else strcpy(statestr, "Suspended"); #endif @@ -337,10 +339,11 @@ showjob(struct job *jp, int mode) WEXITSTATUS(ps->status)); } else { i = WTERMSIG(ps->status); - if (i > 0 && i < sys_nsig && sys_siglist[i]) - strcpy(statestr, sys_siglist[i]); + sigstr = strsignal(i); + if (sigstr != NULL) + strcpy(statestr, sigstr); else - fmtstr(statestr, 64, "Signal %d", i); + strcpy(statestr, "Unknown signal"); if (WCOREDUMP(ps->status)) strcat(statestr, " (core dumped)"); } @@ -1019,6 +1022,7 @@ dowait(int mode, struct job *job) struct procstat *sp; struct job *jp; struct job *thisjob; + const char *sigstr; int done; int stopped; int sig; @@ -1129,10 +1133,11 @@ dowait(int mode, struct job *job) coredump = WCOREDUMP(sp->status); } if (sig > 0 && sig != SIGINT && sig != SIGPIPE) { - if (sig < sys_nsig && sys_siglist[sig]) - out2str(sys_siglist[sig]); + sigstr = strsignal(sig); + if (sigstr != NULL) + out2str(sigstr); else - outfmt(out2, "Signal %d", sig); + out2str("Unknown signal"); if (coredump) out2str(" (core dumped)"); out2c('\n'); Modified: projects/vmxnet/bin/test/test.1 ============================================================================== --- projects/vmxnet/bin/test/test.1 Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/bin/test/test.1 Tue Jan 8 05:28:55 2013 (r245150) @@ -32,7 +32,7 @@ .\" @(#)test.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd September 10, 2010 +.Dd December 27, 2012 .Dt TEST 1 .Os .Sh NAME @@ -331,6 +331,13 @@ missing. .It >1 An error occurred. .El +.Sh COMPATIBILITY +For compatibility with some other implementations, +the +.Cm = +primary can be substituted with +.Cm == +with the same meaning. .Sh SEE ALSO .Xr builtin 1 , .Xr expr 1 , Modified: projects/vmxnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/vmxnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Jan 8 05:28:55 2013 (r245150) @@ -61,14 +61,16 @@ #undef verify #include -#define ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ? \ - zio_compress_table[(idx)].ci_name : "UNKNOWN") -#define ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ? \ - zio_checksum_table[(idx)].ci_name : "UNKNOWN") -#define ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ? \ - dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ? \ - dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN") -#define ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) : DMU_OT_NUMTYPES) +#define ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ? \ + zio_compress_table[(idx)].ci_name : "UNKNOWN") +#define ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ? \ + zio_checksum_table[(idx)].ci_name : "UNKNOWN") +#define ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ? \ + dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ? \ + dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN") +#define ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) : \ + (((idx) == DMU_OTN_ZAP_DATA || (idx) == DMU_OTN_ZAP_METADATA) ? \ + DMU_OT_ZAP_OTHER : DMU_OT_NUMTYPES)) #ifndef lint extern int zfs_recover; @@ -3194,7 +3196,13 @@ main(int argc, char **argv) argv[i], strerror(errno)); } } - (os != NULL) ? dump_dir(os) : dump_zpool(spa); + if (os != NULL) { + dump_dir(os); + } else if (zopt_objects > 0 && !dump_opt['m']) { + dump_dir(spa->spa_meta_objset); + } else { + dump_zpool(spa); + } } else { flagbits['b'] = ZDB_FLAG_PRINT_BLKPTR; flagbits['c'] = ZDB_FLAG_CHECKSUM; Modified: projects/vmxnet/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/vmxnet/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Jan 8 05:28:55 2013 (r245150) @@ -906,10 +906,11 @@ zpool_do_create(int argc, char **argv) /* * Check the validity of the mountpoint and direct the user to use the * '-m' mountpoint option if it looks like its in use. + * Ignore the checks if the '-f' option is given. */ - if (mountpoint == NULL || + if (!force && (mountpoint == NULL || (strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 && - strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0)) { + strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0))) { char buf[MAXPATHLEN]; DIR *dirp; Modified: projects/vmxnet/contrib/binutils/bfd/elflink.c ============================================================================== --- projects/vmxnet/contrib/binutils/bfd/elflink.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/binutils/bfd/elflink.c Tue Jan 8 05:28:55 2013 (r245150) @@ -10584,6 +10584,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link { /* Keep debug and special sections. */ if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0 + || elf_section_data (o)->this_hdr.sh_type == SHT_NOTE || (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0) o->gc_mark = 1; Modified: projects/vmxnet/contrib/binutils/gas/config/tc-arm.c ============================================================================== --- projects/vmxnet/contrib/binutils/gas/config/tc-arm.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/binutils/gas/config/tc-arm.c Tue Jan 8 05:28:55 2013 (r245150) @@ -20107,6 +20107,7 @@ static const struct arm_option_cpu_value {"softvfp", FPU_ARCH_VFP}, {"softvfp+vfp", FPU_ARCH_VFP_V2}, {"vfp", FPU_ARCH_VFP_V2}, + {"vfpv2", FPU_ARCH_VFP_V2}, {"vfp9", FPU_ARCH_VFP_V2}, {"vfp3", FPU_ARCH_VFP_V3}, {"vfpv3", FPU_ARCH_VFP_V3}, Modified: projects/vmxnet/contrib/dialog/CHANGES ============================================================================== --- projects/vmxnet/contrib/dialog/CHANGES Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/dialog/CHANGES Tue Jan 8 05:28:55 2013 (r245150) @@ -1,172 +1,9 @@ --- $Id: CHANGES,v 1.419 2012/07/06 18:18:48 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: -2012/07/06 - + modify samples/setup-tempfile to work with Tru64's shell. - + modify inputmenu sample scripts to make them more portable: - + use "id" rather than "$GROUPS", use sed to work with Solaris. - + use sed to split-up the rename results to work with HPUX. - + fix regression in msgbox (ArchLinux #30574) - -2012/07/03 - + modify prgbox widget to work with --extra-button, etc. - + add case values to several widgets to allow for mouse-clicks with - "--extra-button" and "--help-button" additions. - + correct timebox widget's exit code for "--extra-button" when handing - the "enter" key. - + modify msgbox widget to honor "--extra-button". - + corrected processing of "--trace" option, which did not update the - index into command-line to point past its value. - + add a check in dialog program for valid characters used in option, - e.g., to generate an error if a script attempts to add option value - using "=" rather than with whitespace. - + add new command-line option --default-button and library function - dlg_default_button() to retrieve the value set by the option - to provide a way to set the default button directly rather than - by combining --nook, etc. (patch by Zoltan Kelemen). - + amend include of unctrl.h to apply only to the case where curses.h - is included, to avoid conflict of ncurses' unctrl.h with a system - implementation (report by Martin Roedlach) - + add limit-check to dlg_toupper() in non-wide curses mode to work - when non-character values such as arrow-key codes are passed to - it (patch by Zoltan Kelemen). - + override timeout value, e.g., as set via --timeout command-line - option in pause widget because that interferes with pause's behavior - (report by Jan Spitalnik). - + modify samples/inputmenu* to allow ":" in renamed text (report by - Andreas Stoewing). - + modify double-quoting to make it more consistent, i.e., checklist - output is quoted only when needed. This fixes the case where - single-quotes were used whether or not needed, but also modifies - older checklist behavior for double-quoting which always added those - (Debian #663664). - + correct exit-code used in inputmenu for "rename" button (Debian - #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim). - + update el.po and hr.po from - http://translationproject.org/latest/dialog/ - + use checkbashisms to clean up sample scripts. - -2012/02/15 - + modify menubox.c to use the same improvement as in checklist.c - + improve auto width computation for checklist widget by using - dlg_calc_list_width as in the non-auto case (Edho Arief). - + eliminate some bashisms in the sample scripts (Pedro Giffuni). - + makefile fixes from FreeBSD ports (Li-Wen Hsu): - + make --with-package option of configure script work. - + get LIBTOOL_VERSION from configure script, needed by - ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and - aclocal.m4) - + update cs.po and sr.po from - http://translationproject.org/latest/dialog/ - + updated configure script macros, improving CF_XOPEN_SOURCE among - other fixes. - -2011/10/20 - + fix --analyze warnings for clang versions 2.8, 2.9. - + add configure check for lint program. - + add check in dlg_getc() in case its window is freed as a side effect - of removing callbacks. - + fix logic in freeing subwindows (report by xDog Walker). - + fix a regression in logic distinguishing between inputmenu and menu - widgets (report by xDog Walker). - + minor fixes to library manpage. - -2011/10/18 - + modify header-sh.in to work around limit on sed script length on - HPUX. - + add a special case of parameter parsing for "--trace" to the - initialization done before calling init_dialog(), to allow users to - capture the initial state of the parameter list before any options - are processed and removed. This is only done if "--trace" is the - first option, otherwise it is handled in the common options as before - (report by xDog Walker). - + modify samples/testdata-8bit, discarding $1 from the parameter list - if it was used, so that the source'ing scripts can consistently use - "$@" to insert parameters before the widget, e.g., as an alternative - to using $DIALOGOPTS (report by xDog Walker). - + modify treatment of function pointers in menubox.c, make - dlg_renamed_menutext() and dlg_dummy_menutext() visible to library - users (request by xDog Walker). - + add dlg_count_real_columns(), use to modify centering for "--hline" - text to account for "\Z"s (report by xDog Walker). - + improve check in dlg_draw_arrows2() for conflict between the window - title and up-arrow marker to take into account that the given window - may not be the top-level window of the widget. - + change width of page up/down mouse areas in fselect panes to use the - full width of the panes rather than only the portion from the left - margin to the up/down arrow. - + add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the - secondary borders. - + modify rc-file read/write to accept/generate color values that refer - to previously-processed items in the color table. This reduces the - number of distinct colors that must be specified to set up a color - scheme. - + add color table entries for secondary borders, i.e., the ones that - are normally drawn with the dialog's text-colors (Debian #641168). - + modify fselect.c to scan the current directory if the input field - happens to be empty (Debian #640905). - + repeated the discussion of environment variables that can override - the exit-status values in the manpage's return-codes section - (Debian #642105). - + add an example to the manpage showing how to override the form - widget's keys used for field/button traversal (Debian #642108). - + modify call to dlg_register_window() in formbox.c so that the editing - bindings are attached to the form sub-window rather than the - top-level dialog window. Also change the name by which the editing - bindings are bound for editbox.c, fselect.c and inputbox.c, so that - the editing and navigation bindings can be different. - + correct logic in dlg_lookup_key() so that it matches the widget name - before using a binding from .dialogrc, allowing the inner/outer - windows of form and other editing widgets to have different bindings. - + modify dlg_register_window() to call dlg_dump_window_keys() after - its updates, via the --trace output, to supplement the manpage - description of key bindings (Debian #642108). - + add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to - allow binding a single key to traverse both form-fields and buttons - (Debian #642108). - + modify dlg_parse_rc() to check for error return from - dlg_parse_bindkey(). - + add function dlg_dump_window_keys(), to help with debugging widgets. - + add CR, LF, TAB, FF and ESC to table of curses names to help make - key bindings more readable. - + update table of dialog key-names so that helpfile and trace are - dumped properly. - + correct dlg_dump_keys(), which was showing only the first item in - the matched binding table. - + save/restore window current position in dlg_update_mixedgauge(). - + pass return-code from pause_for_ok() from dlg_progressbox() when - pauseopt is set, rather than only DLG_OK. - + call setlocale() in init_dialog() rather than relying on on-demand - use within inputstr.c, since there are paths in textbox widget which - do not exercise the latter (report by xDog Walker). - + fix some places where checks for "\Z" were done without also checking - dialog_vars.colors (report by Moray Henderson). - + correct logic for DIALOGOPTS parsing so that the parse happens only - once unless memory leak checking is enabled (report by xDog Walker). - + remove an incorrect free() call in dlg_free_gauge() (report by xDog - Walker). - + modify dlg_trace_win() to log wide-characters (report by xDog Walker). - + make traces shorter by skipping repeated ERR's, but showing the - number skipped (report by xDog Walker). - + improve description in manpage to distinguish program box and - progress box from tailboxes (adapted from email by xDog Walker). - + modify dlg_trace_win() so that it looks for the topmost window in a - dialog. Because subwindows share space with the top window, tracing - the latter shows the whole widget (report by xDog Walker). - + expand tracing so that each window is traced before soliciting input, - making the ^T feature to print a window on demand partly redundant - (suggested by xDog Walker). - + cosmetic change in dialog.h to avoid "*/*" strings from comments next - to "*" (report by xDog Walker). - + ensure result from dlg_align_columns() has trailing null on each - string. Analysis was hindered by libc6's continuance of libc5's - early-1990s misfeature of clearing the result from malloc, noting - that libc6's documentation incorrectly claims that it does not do - this (report by xDog Walker). - 2011/07/07 + modify util.c to work better with old versions of ncurses: + suppress use of wchgat() before fix in 20060715 which is needed @@ -250,7 +87,7 @@ to it: + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h doesn't do anything, so it needs a crutch). - + update config.guess, config.sub + + updated config.guess, config.sub 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). @@ -318,7 +155,7 @@ to it: CF_ADD_LIBDIR for the curses-directory here, from CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even with the default checking, e.g., no --with-ncurses, etc. - + update config.guess, config.sub + + updated config.guess, config.sub 2010/04/28 + several improvements to configure script: @@ -413,7 +250,7 @@ to it: libutf8 and libiconv. + update da.po, ru.po from http://translationproject.org/latest/dialog/ - + update config.guess, config.sub + + updated config.guess, config.sub 2008/08/19 + amend changes to quoting; by default, the checklist widget quotes its @@ -496,7 +333,7 @@ to it: ESC to be returned, quitting dialog (report by Reiner Huober). + add extern "C" declarations to dlg_keys.h so the corresponding function declarations are exported to C++ as C symbols. - + update config.guess, config.sub + + updated config.guess, config.sub 2007/06/04 + fix a memory leak in editbox.c @@ -599,7 +436,7 @@ to it: CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS, CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC, CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE. - + update config.guess, config.sub + + updated config.guess, config.sub > adapted fixes from SuSE package (Werner Fink): + add some limit-checks in dlg_draw_shadow(). + make shadows resizable, using new dlg_move_window() in msgbox.c Modified: projects/vmxnet/contrib/dialog/VERSION ============================================================================== --- projects/vmxnet/contrib/dialog/VERSION Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/dialog/VERSION Tue Jan 8 05:28:55 2013 (r245150) @@ -1 +1 @@ -10:4:0 1.1 20120706 +10:0:0 1.1 20110707 Modified: projects/vmxnet/contrib/dialog/aclocal.m4 ============================================================================== --- projects/vmxnet/contrib/dialog/aclocal.m4 Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/dialog/aclocal.m4 Tue Jan 8 05:28:55 2013 (r245150) @@ -1,7 +1,7 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.87 2012/02/16 02:11:26 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2011,2012 -- Thomas E. Dickey +dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -592,31 +592,6 @@ changequote([,])dnl AC_SUBST(GENCAT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03 -dnl ------------------ -dnl Conditionally generate script according to whether we're using a given autoconf. -dnl -dnl $1 = version to compare against -dnl $2 = code to use if AC_ACVERSION is at least as high as $1. -dnl $3 = code to use if AC_ACVERSION is older than $1. -define(CF_ACVERSION_CHECK, -[ -ifdef([m4_version_compare], -[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], -[CF_ACVERSION_COMPARE( -AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), -AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50 -dnl -------------------- -dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, -dnl MAJOR2, MINOR2, TERNARY2, -dnl PRINTABLE2, not FOUND, FOUND) -define(CF_ACVERSION_COMPARE, -[ifelse(builtin([eval], [$2 < $5]), 1, -[ifelse([$8], , ,[$8])], -[ifelse([$9], , ,[$9])])])dnl -dnl --------------------------------------------------------------------------- dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56 dnl ------------ dnl Conditionally generate script according to whether we're using the release @@ -1252,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 35 updated: 2011/08/09 21:06:37 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1332,7 +1307,7 @@ if test ".$ac_cv_func_initscr" != .yes ; # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list otermcap termcap termlib unknown + for cf_term_lib in $cf_check_list termcap termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[break]) done @@ -1558,30 +1533,6 @@ fi test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WGETPARENT version: 2 updated: 2011/10/17 20:12:04 -dnl -------------------- -dnl Check for curses support for directly determining the parent of a given -dnl window. Some implementations make this difficult, so we provide for -dnl defining an application-specific function that gives this functionality. -dnl -dnl $1 = name of function to use if the feature is missing -AC_DEFUN([CF_CURSES_WGETPARENT],[ -CF_CURSES_FUNCS(wgetparent) -if test "x$cf_cv_func_wgetparent" != xyes -then - AC_MSG_CHECKING(if WINDOW has _parent member) - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [WINDOW *p = stdscr->_parent], - [cf_window__parent=yes], - [cf_window__parent=no]) - AC_MSG_RESULT($cf_window__parent) - if test "$cf_window__parent" = yes - then - AC_DEFINE(HAVE_WINDOW__PARENT) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. @@ -2386,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2410,7 +2361,7 @@ linux*|gnu*|k*bsd*-gnu) #(vi openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -dragonfly*|freebsd*) #(vi +freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2469,11 +2420,11 @@ CF_SUBDIR_PATH($1,$2,lib) $1="$cf_library_path_list [$]$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 +dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set -define([CF_LIB_PREFIX], +AC_DEFUN([CF_LIB_PREFIX], [ case $cf_cv_system_name in #(vi OS/2*|os2*) #(vi @@ -2694,7 +2645,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05 +dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30 dnl ----------------- dnl Tie together the configure-script macros for ncurses. dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. @@ -2706,10 +2657,7 @@ AC_DEFUN([CF_NCURSES_CONFIG], cf_ncuconfig_root=ifelse($1,,ncurses,$1) echo "Looking for ${cf_ncuconfig_root}-config" - -CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], - [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) +AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none) if test "$NCURSES_CONFIG" != none ; then @@ -3223,14 +3171,6 @@ AC_SUBST(PROG_EXT) test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 -dnl ------------ -AC_DEFUN([CF_PROG_LINT], -[ -AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint) -AC_SUBST(LINT_OPTS) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 dnl ---------------- dnl Remove all -U and -D options that refer to the given symbol from a list @@ -3478,45 +3418,6 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 -dnl ------------------- -dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we -dnl can define it successfully. -AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ -AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - -if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) -fi -]) -dnl --------------------------------------------------------------------------- dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44 dnl ------------- dnl Check to see if the BSD-style union wait is declared. Some platforms may @@ -3779,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 28 updated: 2011/07/02 15:40:32 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3880,7 +3781,7 @@ ifdef([AC_PROG_LIBTOOL],[ # special hack to add -no-undefined (which libtool should do for itself) LT_UNDEF= case "$cf_cv_system_name" in #(vi - cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi + cygwin*|mingw32*|uwin*|aix[[456]]) #(vi LT_UNDEF=-no-undefined ;; esac @@ -4049,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -4065,7 +3966,7 @@ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[ cf_xopen_source= case $host_os in #(vi -aix[[4-7]]*) #(vi +aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; cygwin) #(vi @@ -4076,7 +3977,6 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -4094,23 +3994,15 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks ;; netbsd*) #(vi - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd[[4-9]]*) #(vi - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 + # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -4124,46 +4016,42 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.*) #(vi +solaris2.1[[0-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[[1-9]]) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - CF_TRY_XOPEN_SOURCE - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source) -fi - -dnl In anything but the default case, we may have system-specific setting -dnl which is still not guaranteed to provide all of the entrypoints that -dnl _XOPEN_SOURCE would yield. -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) - AC_TRY_COMPILE([#include ],[ + AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([#include ],[ #ifndef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set=yes], - [cf_XOPEN_SOURCE_set=no]) - AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test $cf_XOPEN_SOURCE_set = yes - then - AC_TRY_COMPILE([#include ],[ -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([#include ],[ +#ifdef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set_ok=yes], - [cf_XOPEN_SOURCE_set_ok=no]) - if test $cf_XOPEN_SOURCE_set_ok = no - then - AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) - fi - else - CF_TRY_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) fi + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + ;; +esac + +if test -n "$cf_xopen_source" ; then + CF_ADD_CFLAGS($cf_xopen_source) fi ]) dnl --------------------------------------------------------------------------- Modified: projects/vmxnet/contrib/dialog/arrows.c ============================================================================== --- projects/vmxnet/contrib/dialog/arrows.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/dialog/arrows.c Tue Jan 8 05:28:55 2013 (r245150) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.41 2011/10/20 23:37:17 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -79,9 +79,9 @@ dlg_draw_helpline(WINDOW *win, bool deco const int *cols = dlg_index_columns(dialog_vars.help_line); int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; int avail = (getmaxx(win) - other - 2); - int limit = dlg_count_real_columns(dialog_vars.help_line) + 2; + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); - if (limit < avail) { + if (limit > 0) { getyx(win, cur_y, cur_x); other = decorations ? ON_LEFT : 0; (void) wmove(win, bottom, other + (avail - limit) / 2); @@ -107,14 +107,13 @@ dlg_draw_arrows2(WINDOW *win, int cur_x, cur_y; int limit_x = getmaxx(win); bool draw_top = TRUE; - bool is_toplevel = (wgetparent(win) == stdscr); getyx(win, cur_y, cur_x); /* * If we're drawing a centered title, do not overwrite with the arrows. */ - if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) { + if (dialog_vars.title) { int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2; int need = x + 5; if (need > have) @@ -124,11 +123,11 @@ dlg_draw_arrows2(WINDOW *win, if (draw_top) { (void) wmove(win, top, x); if (top_arrow) { - (void) wattrset(win, merge_colors(uarrow_attr, attr)); + wattrset(win, merge_colors(uarrow_attr, attr)); (void) add_acs(win, ACS_UARROW); (void) waddstr(win, "(-)"); } else { - (void) wattrset(win, attr); + wattrset(win, attr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } @@ -136,11 +135,11 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, bottom, x); if (bottom_arrow) { - (void) wattrset(win, merge_colors(darrow_attr, attr)); + wattrset(win, merge_colors(darrow_attr, attr)); (void) add_acs(win, ACS_DARROW); (void) waddstr(win, "(+)"); } else { - (void) wattrset(win, borderattr); + wattrset(win, borderattr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -148,7 +147,7 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, cur_y, cur_x); wrefresh(win); - (void) wattrset(win, save); + wattrset(win, save); } void @@ -167,13 +166,14 @@ dlg_draw_scrollbar(WINDOW *win, char buffer[80]; int percent; int len; - int oldy, oldx; + int oldy, oldx, maxy, maxx; chtype save = dlg_get_attrs(win); int top_arrow = (first_data != 0); int bottom_arrow = (next_data < total_data); getyx(win, oldy, oldx); + getmaxyx(win, maxy, maxx); dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { @@ -187,12 +187,12 @@ dlg_draw_scrollbar(WINDOW *win, else if (percent > 100) percent = 100; - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); (void) sprintf(buffer, "%d%%", percent); (void) wmove(win, bottom, right - 7); (void) waddstr(win, buffer); if ((len = dlg_count_columns(buffer)) < 4) { - (void) wattrset(win, border_attr); + wattrset(win, border_attr); whline(win, dlg_boxchar(ACS_HLINE), 4 - len); } } @@ -212,7 +212,7 @@ dlg_draw_scrollbar(WINDOW *win, if (bar_high < all_high) { wmove(win, top + 1, right); - (void) wattrset(win, save); + wattrset(win, save); wvline(win, ACS_VLINE | A_REVERSE, all_high); bar_y = BARSIZE(this_data); @@ -221,7 +221,7 @@ dlg_draw_scrollbar(WINDOW *win, wmove(win, top + 1 + bar_y, right); - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); wattron(win, A_REVERSE); wvline(win, ACS_BLOCK, bar_high); } @@ -236,7 +236,7 @@ dlg_draw_scrollbar(WINDOW *win, attr, borderattr); - (void) wattrset(win, save); + wattrset(win, save); wmove(win, oldy, oldx); } @@ -255,6 +255,6 @@ dlg_draw_arrows(WINDOW *win, x, top, bottom, - menubox_border2_attr, + menubox_attr, menubox_border_attr); } Modified: projects/vmxnet/contrib/dialog/buttons.c ============================================================================== --- projects/vmxnet/contrib/dialog/buttons.c Tue Jan 8 04:43:20 2013 (r245149) +++ projects/vmxnet/contrib/dialog/buttons.c Tue Jan 8 05:28:55 2013 (r245150) @@ -1,9 +1,9 @@ /* - * $Id: buttons.c,v 1.90 2012/07/01 20:42:05 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * - * Copyright 2000-2011,2012 Thomas E. Dickey + * Copyright 2000-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -104,11 +104,11 @@ print_button(WINDOW *win, char *label, i : button_label_inactive_attr); (void) wmove(win, y, x); - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 06:00:33 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 552FC41F; Tue, 8 Jan 2013 06:00:33 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 46D4ACB9; Tue, 8 Jan 2013 06:00:33 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0860Xei040087; Tue, 8 Jan 2013 06:00:33 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0860W2j040085; Tue, 8 Jan 2013 06:00:32 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301080600.r0860W2j040085@svn.freebsd.org> From: Neel Natu Date: Tue, 8 Jan 2013 06:00:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245155 - projects/bhyve/usr.sbin/bhyveload X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 06:00:33 -0000 Author: neel Date: Tue Jan 8 06:00:32 2013 New Revision: 245155 URL: http://svnweb.freebsd.org/changeset/base/245155 Log: Add the 'bhyveload(8)' man page. Obtained from: NetApp Reviewed by: grehan Added: projects/bhyve/usr.sbin/bhyveload/bhyveload.8 (contents, props changed) Modified: projects/bhyve/usr.sbin/bhyveload/Makefile Modified: projects/bhyve/usr.sbin/bhyveload/Makefile ============================================================================== --- projects/bhyve/usr.sbin/bhyveload/Makefile Tue Jan 8 05:35:18 2013 (r245154) +++ projects/bhyve/usr.sbin/bhyveload/Makefile Tue Jan 8 06:00:32 2013 (r245155) @@ -2,7 +2,7 @@ PROG= bhyveload SRCS= bhyveload.c -NO_MAN= +MAN= bhyveload.8 DPADD+= ${LIBVMMAPI} LDADD+= -lvmmapi Added: projects/bhyve/usr.sbin/bhyveload/bhyveload.8 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve/usr.sbin/bhyveload/bhyveload.8 Tue Jan 8 06:00:32 2013 (r245155) @@ -0,0 +1,130 @@ +.\" +.\" Copyright (c) 2012 NetApp Inc +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 7, 2012 +.Dt BHYVELOAD 8 +.Os +.Sh NAME +.Nm bhyveload +.Nd load a +.Fx +guest inside a bhyve virtual machine +.Sh SYNOPSIS +.Nm +.Op Fl m Ar lowmem +.Op Fl M Ar highmem +.Op Fl d Ar disk-path +.Op Fl h Ar host-path +.Ar vmname +.Sh DESCRIPTION +.Nm +is used to load a +.Fx +guest inside a +.Xr bhyve 4 +virtual machine. +.Pp +.Nm +is based on +.Xr loader 8 +and will present an interface identical to +.Fx +loader on the user's terminal. +.Pp +The virtual machine is identified as +.Ar vmname +and will be created if it does not already exist. +.Sh OPTIONS +The following options are available: +.Bl -tag -width indent +.It Fl m Ar lowmem +.Ar lowmem +is the amount of memory allocated below 4GB in the guest's physical address +space. +.Pp +The default value of +.Ar lowmem +is 256MB. +.It Fl M Ar highmem +.Ar highmem +is the amount of memory allocated above 4GB in the guest's physical address +space. +.Pp +The default value of +.Ar highmem +is 0MB. +.It Fl d Ar disk-path +The +.Ar disk-path +is the pathname of the guest's boot disk image. +.It Fl h Ar host-path +The +.Ar host-path +is the directory at the top of the guest's boot filesystem. + +.Sh EXAMPLES +To create a virtual machine named +.Ar freebsd-vm +that boots off the ISO image +.Pa /freebsd/release.iso +and has 1GB memory allocated to it: + +.Dl "bhyveload -m 256 -M 768 -d /freebsd/release.iso freebsd-vm + +In the example above the 1GB allocation is split in two segments: +.Bl -dash -compact +.It +256MB below the 4GB boundary (0MB - 256MB) +.It +768MB above the 4GB boundary (4096MB - 4864MB) +.El + +.Sh SEE ALSO +.Xr bhyve 4 , +.Xr bhyve 8 , +.Xr loader 8 , +.Xr vmm 4 + +.Sh HISTORY +.Nm +first appeared in +.Fx 10.0 , +and was developed at NetApp Inc. + +.Sh AUTHORS +.Nm +was developed by +.An -nosplit +.An "Neel Natu" Aq neel@FreeBSD.org +at NetApp Inc with a lot of help from +.An Doug Rabson Aq dfr@FreeBSD.org + +.Sh BUGS +.Nm +can load only +.Fx +as a guest. From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 07:25:30 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 646C5862; Tue, 8 Jan 2013 07:25:30 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 56967F1B; Tue, 8 Jan 2013 07:25:30 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r087PU9Z066145; Tue, 8 Jan 2013 07:25:30 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r087PU4d066144; Tue, 8 Jan 2013 07:25:30 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301080725.r087PU4d066144@svn.freebsd.org> From: Bryan Venteicher Date: Tue, 8 Jan 2013 07:25:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245158 - projects/vmxnet/sys/dev/vmware/vmxnet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 07:25:30 -0000 Author: bryanv Date: Tue Jan 8 07:25:29 2013 New Revision: 245158 URL: http://svnweb.freebsd.org/changeset/base/245158 Log: Slightly simplify vic_get_lladdr() Approved by: grehan (implicit) Modified: projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c Modified: projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c ============================================================================== --- projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c Tue Jan 8 06:59:27 2013 (r245157) +++ projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c Tue Jan 8 07:25:29 2013 (r245158) @@ -1811,14 +1811,15 @@ vic_get_lladdr(struct vic_softc *sc) uint32_t r; r = (sc->vic_cap & VIC_CMD_HWCAP_VPROM) ? VIC_VPROM : VIC_LLADDR; + r += sc->vic_ioadj; - bus_space_barrier(sc->vic_iot, sc->vic_ioh, r + sc->vic_ioadj, - ETHER_ADDR_LEN, BUS_SPACE_BARRIER_READ); - bus_space_read_region_1(sc->vic_iot, sc->vic_ioh, r + sc->vic_ioadj, - sc->vic_lladdr, ETHER_ADDR_LEN); + bus_space_barrier(sc->vic_iot, sc->vic_ioh, r, ETHER_ADDR_LEN, + BUS_SPACE_BARRIER_READ); + bus_space_read_region_1(sc->vic_iot, sc->vic_ioh, r, sc->vic_lladdr, + ETHER_ADDR_LEN); /* Update the MAC address register. */ - if (r == VIC_VPROM) + if (sc->vic_cap & VIC_CMD_HWCAP_VPROM) vic_set_lladdr(sc); } From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 07:32:38 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EF3D2A5F; Tue, 8 Jan 2013 07:32:38 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DC6E3F61; Tue, 8 Jan 2013 07:32:38 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r087WcGR068571; Tue, 8 Jan 2013 07:32:38 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r087Wc4E068569; Tue, 8 Jan 2013 07:32:38 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301080732.r087Wc4E068569@svn.freebsd.org> From: Bryan Venteicher Date: Tue, 8 Jan 2013 07:32:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245159 - projects/vmxnet/sys/dev/vmware/vmxnet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 07:32:39 -0000 Author: bryanv Date: Tue Jan 8 07:32:38 2013 New Revision: 245159 URL: http://svnweb.freebsd.org/changeset/base/245159 Log: Use a bus space subregion for flexible devices A flexible vmxnet device appears as a PCNET device until transformed. The vmxnet registers are located after the PCNET registers in the same BAR, so a use subregion rather than manually adjusting our offset. Approved by: grehan (implicit) Modified: projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c projects/vmxnet/sys/dev/vmware/vmxnet/if_vicvar.h Modified: projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c ============================================================================== --- projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c Tue Jan 8 07:25:29 2013 (r245158) +++ projects/vmxnet/sys/dev/vmware/vmxnet/if_vic.c Tue Jan 8 07:32:38 2013 (r245159) @@ -419,8 +419,6 @@ static uint32_t vic_read(struct vic_softc *sc, bus_size_t r) { - r += sc->vic_ioadj; - bus_space_barrier(sc->vic_iot, sc->vic_ioh, r, 4, BUS_SPACE_BARRIER_READ); return (bus_space_read_4(sc->vic_iot, sc->vic_ioh, r)); @@ -430,8 +428,6 @@ static void vic_write(struct vic_softc *sc, bus_size_t r, uint32_t v) { - r += sc->vic_ioadj; - bus_space_write_4(sc->vic_iot, sc->vic_ioh, r, v); bus_space_barrier(sc->vic_iot, sc->vic_ioh, r, 4, BUS_SPACE_BARRIER_WRITE); @@ -1811,7 +1807,6 @@ vic_get_lladdr(struct vic_softc *sc) uint32_t r; r = (sc->vic_cap & VIC_CMD_HWCAP_VPROM) ? VIC_VPROM : VIC_LLADDR; - r += sc->vic_ioadj; bus_space_barrier(sc->vic_iot, sc->vic_ioh, r, ETHER_ADDR_LEN, BUS_SPACE_BARRIER_READ); @@ -1826,13 +1821,10 @@ vic_get_lladdr(struct vic_softc *sc) static void vic_set_lladdr(struct vic_softc *sc) { - uint32_t r; - r = VIC_LLADDR + sc->vic_ioadj; - - bus_space_write_region_1(sc->vic_iot, sc->vic_ioh, r, + bus_space_write_region_1(sc->vic_iot, sc->vic_ioh, VIC_LLADDR, sc->vic_lladdr, ETHER_ADDR_LEN); - bus_space_barrier(sc->vic_iot, sc->vic_ioh, r, + bus_space_barrier(sc->vic_iot, sc->vic_ioh, VIC_LLADDR, ETHER_ADDR_LEN, BUS_SPACE_BARRIER_WRITE); } @@ -1947,7 +1939,7 @@ vic_pcnet_restore(struct vic_softc *sc) uint32_t morph; sc->vic_flags &= ~VIC_FLAGS_MORPHED_PCNET; - sc->vic_ioadj = 0; + sc->vic_ioh = sc->vic_orig_ioh; morph = vic_read(sc, VIC_LANCE_SIZE); morph &= ~VIC_MORPH_MASK; @@ -1960,12 +1952,22 @@ vic_pcnet_transform(struct vic_softc *sc { device_t dev; uint32_t morph; + bus_space_handle_t handle; + int error; dev = sc->vic_dev; if (rman_get_size(sc->vic_res) < VIC_LANCE_MINLEN) return (ENOSPC); + /* Set up the subregion now - it doesn't require any cleanup. */ + error = bus_space_subregion(sc->vic_iot, sc->vic_ioh, + VIC_LANCE_SIZE + VIC_MORPH_SIZE, VIC_VMXNET_SIZE, &handle); + if (error) { + device_printf(dev, "unable to create bus space subregion\n"); + return (error); + } + morph = vic_read(sc, VIC_LANCE_SIZE); if ((morph & VIC_MORPH_MASK) == VIC_MORPH_VMXNET) goto morphed; @@ -1988,7 +1990,9 @@ vic_pcnet_transform(struct vic_softc *sc morphed: sc->vic_flags |= VIC_FLAGS_MORPHED_PCNET; - sc->vic_ioadj = VIC_LANCE_SIZE + VIC_MORPH_SIZE; + sc->vic_orig_ioh = sc->vic_ioh; + sc->vic_ioh = handle; + if (bootverbose) device_printf(dev, "transformed PCNet into VMXNET\n"); Modified: projects/vmxnet/sys/dev/vmware/vmxnet/if_vicvar.h ============================================================================== --- projects/vmxnet/sys/dev/vmware/vmxnet/if_vicvar.h Tue Jan 8 07:25:29 2013 (r245158) +++ projects/vmxnet/sys/dev/vmware/vmxnet/if_vicvar.h Tue Jan 8 07:32:38 2013 (r245159) @@ -70,7 +70,7 @@ struct vic_softc { struct resource *vic_res; bus_space_tag_t vic_iot; bus_space_handle_t vic_ioh; - int vic_ioadj; + bus_space_handle_t vic_orig_ioh; bus_dma_tag_t vic_dma_tag; bus_dmamap_t vic_dma_map; From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 15:22:03 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DC86EA32; Tue, 8 Jan 2013 15:22:03 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D00D9875; Tue, 8 Jan 2013 15:22:03 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08FM3K9006925; Tue, 8 Jan 2013 15:22:03 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08FM3Fs006924; Tue, 8 Jan 2013 15:22:03 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301081522.r08FM3Fs006924@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 15:22:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245165 - projects/amd64_xen_pv/sys/amd64/amd64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 15:22:03 -0000 Author: cherry Date: Tue Jan 8 15:22:03 2013 New Revision: 245165 URL: http://svnweb.freebsd.org/changeset/base/245165 Log: pcb->pcb_cr3 should contain the PA of the pml4 table Modified: projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c Modified: projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c Tue Jan 8 12:21:50 2013 (r245164) +++ projects/amd64_xen_pv/sys/amd64/amd64/vm_machdep.c Tue Jan 8 15:22:03 2013 (r245165) @@ -219,7 +219,12 @@ cpu_fork(td1, p2, td2, flags) * return address on stack. These are the kernel mode register values. */ pmap2 = vmspace_pmap(p2->p_vmspace); +#ifdef XEN + pcb2->pcb_cr3 = pmap_kextract((vm_offset_t)pmap2->pm_pml4); +#else pcb2->pcb_cr3 = DMAP_TO_PHYS((vm_offset_t)pmap2->pm_pml4); +#endif + pcb2->pcb_r12 = (register_t)fork_return; /* fork_trampoline argument */ pcb2->pcb_rbp = 0; pcb2->pcb_rsp = (register_t)td2->td_frame - sizeof(void *); From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 15:23:39 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 59864B5F; Tue, 8 Jan 2013 15:23:39 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2FB56883; Tue, 8 Jan 2013 15:23:39 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08FNdOJ007126; Tue, 8 Jan 2013 15:23:39 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08FNdTd007125; Tue, 8 Jan 2013 15:23:39 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301081523.r08FNdTd007125@svn.freebsd.org> From: "Cherry G. Mathew" Date: Tue, 8 Jan 2013 15:23:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245166 - projects/amd64_xen_pv/sys/amd64/amd64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 15:23:39 -0000 Author: cherry Date: Tue Jan 8 15:23:38 2013 New Revision: 245166 URL: http://svnweb.freebsd.org/changeset/base/245166 Log: Xen uses vtopte_hold/release() because we do not have dmap. Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/amd64/db_interface.c Modified: projects/amd64_xen_pv/sys/amd64/amd64/db_interface.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/amd64/db_interface.c Tue Jan 8 15:22:03 2013 (r245165) +++ projects/amd64_xen_pv/sys/amd64/amd64/db_interface.c Tue Jan 8 15:23:38 2013 (r245166) @@ -42,6 +42,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef XEN +#include +#endif + #include /* @@ -66,6 +70,8 @@ db_read_bytes(vm_offset_t addr, size_t s return (ret); } +/* XXX: Best to redo this entirely for XEN */ + /* * Write bytes to kernel address space for debugger. */ @@ -88,7 +94,19 @@ db_write_bytes(vm_offset_t addr, size_t if (addr > trunc_page((vm_offset_t)btext) - size && addr < round_page((vm_offset_t)etext)) { +#ifdef XEN + static size_t tsz; /* mmu_map.h opaque cookie size */ + tsz = mmu_map_t_size(); + KASSERT(tsz != 0, ("tsz != 0")); + char tbuf0[tsz]; /* Safe to do this on the stack since tsz is + * effectively const. + */ + + mmu_map_t tptr0 = tbuf0; + ptep0 = vtopte_hold(addr, &tptr0); +#else ptep0 = vtopte(addr); +#endif oldmap0 = *ptep0; *ptep0 |= PG_RW; @@ -99,20 +117,38 @@ db_write_bytes(vm_offset_t addr, size_t if ((*ptep0 & PG_PS) == 0) { addr1 = trunc_page(addr + size - 1); if (trunc_page(addr) != addr1) { +#ifdef XEN + KASSERT(tsz != 0, ("tsz != 0")); + char tbuf1[tsz]; /* Safe to do this on the stack since tsz is + * effectively const. + */ + + mmu_map_t tptr1 = tbuf1; + ptep1 = vtopte_hold(addr1, &tptr1); +#else ptep1 = vtopte(addr1); +#endif /* XEN */ oldmap1 = *ptep1; *ptep1 |= PG_RW; +#ifdef XEN + vtopte_release(addr1, &tptr1); +#endif /* XEN */ } } else { +#ifndef XEN addr1 = trunc_2mpage(addr + size - 1); if (trunc_2mpage(addr) != addr1) { ptep1 = vtopte(addr1); oldmap1 = *ptep1; *ptep1 |= PG_RW; } +#endif /* !XEN */ } invltlb(); +#ifdef XEN + vtopte_release(addr, &tptr0); +#endif /* XEN */ } dst = (char *)addr; From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 17:01:33 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8E13FF9B; Tue, 8 Jan 2013 17:01:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 82500D7F; Tue, 8 Jan 2013 17:01:33 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08H1X31036579; Tue, 8 Jan 2013 17:01:33 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08H1Xxc036578; Tue, 8 Jan 2013 17:01:33 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301081701.r08H1Xxc036578@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 17:01:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245167 - projects/mtree/tools/build X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 17:01:33 -0000 Author: brooks Date: Tue Jan 8 17:01:32 2013 New Revision: 245167 URL: http://svnweb.freebsd.org/changeset/base/245167 Log: Build the contrib versions of pwcache(3) and vis(3). We need strsvis for getid.c in install and we having a full pwcache(3) implementation means we can use -N to eliminate bootstrapping problems when new users are added for new services. Deleted: projects/mtree/tools/build/pwcache-stub.c Modified: projects/mtree/tools/build/Makefile Modified: projects/mtree/tools/build/Makefile ============================================================================== --- projects/mtree/tools/build/Makefile Tue Jan 8 15:23:38 2013 (r245166) +++ projects/mtree/tools/build/Makefile Tue Jan 8 17:01:32 2013 (r245167) @@ -23,7 +23,18 @@ config.h: ${.CURDIR}/../../lib/libmagic/ _WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/pwd.h || true .if ${_WITH_PWCACHEDB} == 0 -SRCS+= pwcache-stub.c +.PATH: ${.CURDIR}/../../contrib/libc-pwcache +CFLAGS+= -I${.CURDIR}/../../contrib/libc-pwcache \ + -I${.CURDIR}/../../lib/libc/include +SRCS+= pwcache.c +.endif + +_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h || true +.if ${_WITH_STRSVIS} == 0 +.PATH: ${.CURDIR}/../../contrib/libc-vis +SRCS+= vis.c +CFLAGS+= -I${.CURDIR}/../../contrib/libc-vis \ + -I${.CURDIR}/../../lib/libc/include .endif .if empty(SRCS) From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 17:38:01 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 945C5DCD; Tue, 8 Jan 2013 17:38:01 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 875F5F15; Tue, 8 Jan 2013 17:38:01 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08Hc1uB046000; Tue, 8 Jan 2013 17:38:01 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08Hc11B045999; Tue, 8 Jan 2013 17:38:01 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301081738.r08Hc11B045999@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 17:38:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245169 - projects/mtree X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 17:38:01 -0000 Author: brooks Date: Tue Jan 8 17:38:00 2013 New Revision: 245169 URL: http://svnweb.freebsd.org/changeset/base/245169 Log: Use install -U instead of install.sh in the WMAKE stage. This should reduce sh invocations slightly. Modified: projects/mtree/Makefile.inc1 Modified: projects/mtree/Makefile.inc1 ============================================================================== --- projects/mtree/Makefile.inc1 Tue Jan 8 17:24:43 2013 (r245168) +++ projects/mtree/Makefile.inc1 Tue Jan 8 17:38:00 2013 (r245169) @@ -269,7 +269,7 @@ WMAKEENV= ${CROSSENV} \ _SHLIBDIRPREFIX=${WORLDTMP} \ _LDSCRIPTROOT= \ VERSION="${VERSION}" \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ + INSTALL="install -U" \ PATH=${TMPPATH} .if ${MK_CDDL} == "no" WMAKEENV+= NO_CTF=1 @@ -324,7 +324,7 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR _SHLIBDIRPREFIX=${LIB32TMP} \ _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ + INSTALL="install -U" \ PATH=${TMPPATH} \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 20:49:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D606C5B3; Tue, 8 Jan 2013 20:49:44 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C8B67A57; Tue, 8 Jan 2013 20:49:44 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08Kni8p099221; Tue, 8 Jan 2013 20:49:44 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08Knira099220; Tue, 8 Jan 2013 20:49:44 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301082049.r08Knira099220@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 20:49:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245176 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 20:49:44 -0000 Author: brooks Date: Tue Jan 8 20:49:43 2013 New Revision: 245176 URL: http://svnweb.freebsd.org/changeset/base/245176 Log: When we are creating an empty file by installing /dev/null, set the digestresult to NULL so it can be passed to free later. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 19:38:57 2013 (r245175) +++ projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 20:49:43 2013 (r245176) @@ -794,6 +794,8 @@ install(const char *from_name, const cha if (!devnull) digestresult = copy(from_fd, from_name, to_fd, tempcopy ? tempfile : to_name, from_sb.st_size); + else + digestresult = NULL; } if (dostrip) { From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 22:21:18 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5CAF527E; Tue, 8 Jan 2013 22:21:18 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4E322F2F; Tue, 8 Jan 2013 22:21:18 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08MLI6h027511; Tue, 8 Jan 2013 22:21:18 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08MLIQc027510; Tue, 8 Jan 2013 22:21:18 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301082221.r08MLIQc027510@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 22:21:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245186 - projects/mtree/share/zoneinfo X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 22:21:18 -0000 Author: brooks Date: Tue Jan 8 22:21:17 2013 New Revision: 245186 URL: http://svnweb.freebsd.org/changeset/base/245186 Log: Compile zoneinfo into a temporary location and use install to install it. Modified: projects/mtree/share/zoneinfo/Makefile Modified: projects/mtree/share/zoneinfo/Makefile ============================================================================== --- projects/mtree/share/zoneinfo/Makefile Tue Jan 8 22:15:13 2013 (r245185) +++ projects/mtree/share/zoneinfo/Makefile Tue Jan 8 22:21:17 2013 (r245186) @@ -48,13 +48,39 @@ TZFILES+= backward systemv TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/} -all: yearistype +TZBUILDDIR= ${.OBJDIR}/builddir +TZBUILDSUBDIRS= \ + Africa \ + America/Argentina \ + America/Indiana \ + America/Kentucky \ + America/North_Dakota \ + Antarctica \ + Arctic \ + Asia \ + Atlantic \ + Australia \ + Etc \ + Europe \ + Indian \ + Pacific \ + SystemV -beforeinstall: +all: zoneinfo + +.PHONEY: zoneinfo +zoneinfo: yearistype ${TDATA} + mkdir -p ${TZBUILDDIR} + cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ - zic -D -d ${DESTDIR}/usr/share/zoneinfo -p ${POSIXRULES} \ - -u ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} + +beforeinstall: + cd ${TZBUILDDIR} && \ + find . -type f -print | xargs -I _FILE_ ${INSTALL} \ + -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + _FILE_ ${DESTDIR}/usr/share/zoneinfo/_FILE_ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 22:23:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1839A3B6; Tue, 8 Jan 2013 22:23:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0B55FF3E; Tue, 8 Jan 2013 22:23:10 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08MN9tU027795; Tue, 8 Jan 2013 22:23:09 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08MN9ok027794; Tue, 8 Jan 2013 22:23:09 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301082223.r08MN9ok027794@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 22:23:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245187 - projects/mtree/share/info X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 22:23:10 -0000 Author: brooks Date: Tue Jan 8 22:23:09 2013 New Revision: 245187 URL: http://svnweb.freebsd.org/changeset/base/245187 Log: Install the info directory file owner writable so subsequent calls of install-info work when run by the non-root owner. This is something of a hack, but given the future of info in the base system that's probably ok. Modified: projects/mtree/share/info/Makefile Modified: projects/mtree/share/info/Makefile ============================================================================== --- projects/mtree/share/info/Makefile Tue Jan 8 22:21:17 2013 (r245186) +++ projects/mtree/share/info/Makefile Tue Jan 8 22:23:09 2013 (r245187) @@ -17,6 +17,6 @@ beforeinstall: @exit 3; .endif .if !exists(${DESTDIR}${INFODIR}/dir) - ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \ + ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m 644 \ dir-tmpl ${DESTDIR}${INFODIR}/dir .endif From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 22:51:49 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 83EA7242; Tue, 8 Jan 2013 22:51:49 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7687BF4; Tue, 8 Jan 2013 22:51:49 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08MpnaE036526; Tue, 8 Jan 2013 22:51:49 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08MpncG036525; Tue, 8 Jan 2013 22:51:49 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301082251.r08MpncG036525@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 22:51:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245191 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 22:51:49 -0000 Author: brooks Date: Tue Jan 8 22:51:48 2013 New Revision: 245191 URL: http://svnweb.freebsd.org/changeset/base/245191 Log: Don't check that the src and dest are the same files if we're going to link them. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 22:42:15 2013 (r245190) +++ projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 22:51:48 2013 (r245191) @@ -357,7 +357,7 @@ main(int argc, char *argv[]) errno = EFTYPE; err(EX_OSERR, "%s", to_name); } - if (to_sb.st_dev == from_sb.st_dev && + if (!dolink && to_sb.st_dev == from_sb.st_dev && to_sb.st_ino == from_sb.st_ino) errx(EX_USAGE, "%s and %s are the same file", *argv, to_name); From owner-svn-src-projects@FreeBSD.ORG Tue Jan 8 23:43:46 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 324255F6; Tue, 8 Jan 2013 23:43:46 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 24D7C35A; Tue, 8 Jan 2013 23:43:46 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r08Nhk3p051063; Tue, 8 Jan 2013 23:43:46 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r08Nhk6s051062; Tue, 8 Jan 2013 23:43:46 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301082343.r08Nhk6s051062@svn.freebsd.org> From: Brooks Davis Date: Tue, 8 Jan 2013 23:43:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245195 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 23:43:46 -0000 Author: brooks Date: Tue Jan 8 23:43:45 2013 New Revision: 245195 URL: http://svnweb.freebsd.org/changeset/base/245195 Log: Actually enable metadata logging for links. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 23:32:28 2013 (r245194) +++ projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 23:43:45 2013 (r245195) @@ -101,6 +101,7 @@ static gid_t gid; static uid_t uid; static int dobackup, docompare, dodir, dolink, dopreserve, dostrip, dounpriv, safecopy, verbose; +static int haveopt_f, haveopt_g, haveopt_m, haveopt_o; static mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; static FILE *metafp; static const char *group, *owner; @@ -173,9 +174,11 @@ main(int argc, char *argv[]) dodir = 1; break; case 'f': + haveopt_f = 1; fflags = optarg; break; case 'g': + haveopt_g = 1; group = optarg; break; case 'h': @@ -213,6 +216,7 @@ main(int argc, char *argv[]) metafile = optarg; break; case 'm': + haveopt_m = 1; if (!(set = setmode(optarg))) errx(EX_USAGE, "invalid file mode: %s", optarg); @@ -225,6 +229,7 @@ main(int argc, char *argv[]) "databases in `%s'", optarg); break; case 'o': + haveopt_o = 1; owner = optarg; break; case 'p': @@ -571,9 +576,7 @@ makelink(const char *from_name, const ch const struct stat *target_sb) { char src[MAXPATHLEN], dst[MAXPATHLEN], lnk[MAXPATHLEN]; -#ifdef NOTYET struct stat to_sb; -#endif /* Try hard links first */ if (dolink & (LN_HARD|LN_MIXED)) { @@ -581,7 +584,6 @@ makelink(const char *from_name, const ch if ((dolink & LN_HARD) || errno != EXDEV) err(1, "link %s -> %s", from_name, to_name); } else { -#ifdef NOTYET if (stat(to_name, &to_sb)) err(1, "%s: stat", to_name); if (S_ISREG(to_sb.st_mode)) { @@ -590,7 +592,8 @@ makelink(const char *from_name, const ch * metalogged */ int omode; - char *oowner, *ogroup, *offlags; + const char *oowner, *ogroup; + char *offlags; char *dres; /* XXX: use underlying perms, @@ -617,7 +620,6 @@ makelink(const char *from_name, const ch group = ogroup; fflags = offlags; } -#endif return; } } @@ -628,10 +630,8 @@ makelink(const char *from_name, const ch if (realpath(from_name, src) == NULL) err(1, "%s: realpath", from_name); do_symlink(src, to_name, target_sb); -#ifdef NOTYET /* XXX: src may point outside of destdir */ metadata_log(to_name, "link", NULL, src, NULL, 0); -#endif return; } @@ -672,10 +672,8 @@ makelink(const char *from_name, const ch (void)strlcat(lnk, ++s, sizeof(lnk)); do_symlink(lnk, to_name, target_sb); -#ifdef NOTYET - /* XXX: lnk may point outside of destdir */ + /* XXX: lnk may point outside of destdir */ metadata_log(to_name, "link", NULL, lnk, NULL, 0); -#endif return; } @@ -684,10 +682,8 @@ makelink(const char *from_name, const ch * try the names the user provided */ do_symlink(from_name, to_name, target_sb); -#ifdef NOTYET - /* XXX: from_name may point outside of destdir */ + /* XXX: from_name may point outside of destdir */ metadata_log(to_name, "link", NULL, from_name, NULL, 0); -#endif } /* From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 00:00:35 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 692EDFEB; Wed, 9 Jan 2013 00:00:35 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5C012696; Wed, 9 Jan 2013 00:00:35 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0900ZZQ054354; Wed, 9 Jan 2013 00:00:35 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0900ZMl054353; Wed, 9 Jan 2013 00:00:35 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090000.r0900ZMl054353@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 00:00:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245196 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 00:00:35 -0000 Author: brooks Date: Wed Jan 9 00:00:34 2013 New Revision: 245196 URL: http://svnweb.freebsd.org/changeset/base/245196 Log: Don't enforce that the source file exists or is regular in the link case. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Tue Jan 8 23:43:45 2013 (r245195) +++ projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 00:00:34 2013 (r245196) @@ -355,14 +355,14 @@ main(int argc, char *argv[]) usage(); } - if (!no_target) { + if (!no_target && !dolink) { if (stat(*argv, &from_sb)) err(EX_OSERR, "%s", *argv); if (!S_ISREG(to_sb.st_mode)) { errno = EFTYPE; err(EX_OSERR, "%s", to_name); } - if (!dolink && to_sb.st_dev == from_sb.st_dev && + if (to_sb.st_dev == from_sb.st_dev && to_sb.st_ino == from_sb.st_ino) errx(EX_USAGE, "%s and %s are the same file", *argv, to_name); @@ -706,11 +706,13 @@ install(const char *from_name, const cha /* If try to install NULL file to a directory, fails. */ if (flags & DIRECTORY || strcmp(from_name, _PATH_DEVNULL)) { - if (stat(from_name, &from_sb)) - err(EX_OSERR, "%s", from_name); - if (!S_ISREG(from_sb.st_mode)) { - errno = EFTYPE; - err(EX_OSERR, "%s", from_name); + if (!dolink) { + if (stat(from_name, &from_sb)) + err(EX_OSERR, "%s", from_name); + if (!S_ISREG(from_sb.st_mode)) { + errno = EFTYPE; + err(EX_OSERR, "%s", from_name); + } } /* Build the target path. */ if (flags & DIRECTORY) { From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 00:22:54 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7ED3C795; Wed, 9 Jan 2013 00:22:54 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 678E8767; Wed, 9 Jan 2013 00:22:54 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r090MsqO062138; Wed, 9 Jan 2013 00:22:54 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r090MsSh062137; Wed, 9 Jan 2013 00:22:54 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090022.r090MsSh062137@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 00:22:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245198 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 00:22:54 -0000 Author: brooks Date: Wed Jan 9 00:22:53 2013 New Revision: 245198 URL: http://svnweb.freebsd.org/changeset/base/245198 Log: When we're making symbolic links and the target is a broken symlink then unlink it rather than trying to link through it since that doesn't work. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 00:01:26 2013 (r245197) +++ projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 00:22:53 2013 (r245198) @@ -726,7 +726,9 @@ install(const char *from_name, const cha devnull = 1; } - target = stat(to_name, &to_sb) == 0; + target = (stat(to_name, &to_sb) == 0); + if (!target && dolink & LN_SYMBOLIC && errno == ELOOP) + target = (lstat(to_name, &to_sb) == 0); if (dolink) { if (target) { From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 01:18:20 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1E88E29E; Wed, 9 Jan 2013 01:18:20 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 10009911; Wed, 9 Jan 2013 01:18:20 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r091IJ2T077422; Wed, 9 Jan 2013 01:18:19 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r091IJTO077421; Wed, 9 Jan 2013 01:18:19 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301090118.r091IJTO077421@svn.freebsd.org> From: "Cherry G. Mathew" Date: Wed, 9 Jan 2013 01:18:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245200 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 01:18:20 -0000 Author: cherry Date: Wed Jan 9 01:18:19 2013 New Revision: 245200 URL: http://svnweb.freebsd.org/changeset/base/245200 Log: When trying to return pages to page cache, only try to free memory we manage Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap.c Wed Jan 9 00:36:06 2013 (r245199) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c Wed Jan 9 01:18:19 2013 (r245200) @@ -155,6 +155,8 @@ extern unsigned long physfree; /* from m struct pmap kernel_pmap_store; +#define ISBOOTVA(va) ((va) >= KERNBASE && (va) <= virtual_avail) /* XXX: keep an eye on virtual_avail */ + uintptr_t virtual_avail; /* VA of first avail page (after kernel bss) */ uintptr_t virtual_end; /* VA of last avail page (end of kernel AS) */ @@ -1064,7 +1066,7 @@ pmap_kremove(vm_offset_t va) PT_CLEAR_VA(pte, TRUE); PT_UPDATES_FLUSH(); - // vtopte_release(va, &tptr); + vtopte_release(va, &tptr); } /* @@ -1357,7 +1359,7 @@ xen_vm_vtop(uintptr_t va) va <= VM_MAX_KERNEL_ADDRESS), ("Invalid kernel virtual address")); - if (va >= KERNBASE && va <= virtual_avail) { /* + if (ISBOOTVA(va)) { /* * Boot time page */ return VTOP(va); @@ -1402,6 +1404,11 @@ static void xen_pagezone_free(vm_offset_t page) { + if (ISBOOTVA(page)) { + /* We don't manage this range */ + return; + } + uma_zfree(xen_pagezone, (void *)page); } From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 01:19:31 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 26A5A3B8; Wed, 9 Jan 2013 01:19:31 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 09F56915; Wed, 9 Jan 2013 01:19:31 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r091JUiM077575; Wed, 9 Jan 2013 01:19:30 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r091JUEC077574; Wed, 9 Jan 2013 01:19:30 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201301090119.r091JUEC077574@svn.freebsd.org> From: "Cherry G. Mathew" Date: Wed, 9 Jan 2013 01:19:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245201 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 01:19:31 -0000 Author: cherry Date: Wed Jan 9 01:19:30 2013 New Revision: 245201 URL: http://svnweb.freebsd.org/changeset/base/245201 Log: Implement mmu_map_release_va() which frees up unused page tables Approved by: gibbs (implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Modified: projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Wed Jan 9 01:18:19 2013 (r245200) +++ projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Wed Jan 9 01:19:30 2013 (r245201) @@ -88,6 +88,18 @@ pdt_index(uintptr_t va) return ((va & PDPMASK) >> PDRSHIFT); } +#if 0 +static int +pt_index(uintptr_t va) +{ + /* amd64 sign extends 48th bit and upwards */ + const uint64_t SIGNMASK = (1UL << 48) - 1; + va &= SIGNMASK; /* Remove sign extension */ + + return ((va & PDRMASK) >> PAGE_SHIFT); +} +#endif + /* * The table get functions below assume that a table cannot exist at * address 0 @@ -352,7 +364,7 @@ mmu_map_hold_va(struct pmap *pm, void *a pdptep_ma = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pdptep)); pdpte = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pti->pdt)) | PG_RW | PG_V | PG_U; /* XXX: revisit flags */ xen_queue_pt_update(pdptep_ma, pdpte); - + xen_flush_queue(); } else { pti->pdt = (pd_entry_t *) pti->ptmb.ptov(pt); } @@ -370,12 +382,33 @@ mmu_map_hold_va(struct pmap *pm, void *a pdtep_ma = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pdtep)); pdte = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pti->pt)) | PG_RW | PG_V | PG_U; /* XXX: revisit flags */ xen_queue_pt_update(pdtep_ma, pdte); - + xen_flush_queue(); } else { pti->pt = (pt_entry_t *) pti->ptmb.ptov(pt); } } +/*$FreeBSD: head/lib/libc/string/memrchr.c 178051 2008-04-10 00:12:44Z delphij $*/ +/* + * Reverse memchr() + * Find the last occurrence of 'c' in the buffer 's' of size 'n'. + */ +static void * +memrchr(const void *s, int c, size_t n) +{ + const unsigned char *cp; + + if (n != 0) { + cp = (unsigned char *)s + n; + do { + if (*(--cp) == (unsigned char)c) + return((void *)cp); + } while (--n != 0); + } + return(NULL); +} + + void mmu_map_release_va(struct pmap *pm, void *addr, uintptr_t va) { @@ -385,5 +418,107 @@ mmu_map_release_va(struct pmap *pm, void struct mmu_map_index *pti = addr; KASSERT(pti->sanity == SANE, ("Uninitialised index cookie used")); - /* XXX: */ + /* + * We're expected to be called after an init-ed pti has either + * been inspected, or held. + */ + + pti->pml4t = pmap_get_pml4t(pm); + + if (pti->pml4t == 0) { + return; + } + + if (pti->pt != NULL) { + KASSERT(pti->pdt != 0, ("Invalid pdt\n")); + } + + if (pti->pdt != NULL) { /* Zap pdte */ + + pd_entry_t *pdtep; + vm_paddr_t pdtep_ma; + + pdtep = &pti->pdt[pdt_index(va)]; + + if (pti->pt == NULL) { + KASSERT(*pdtep == 0, ("%s(%d): mmu state machine out of sync!\n", __func__, __LINE__)); + } else { + + /* We can free the PT only after the PDT entry is zapped */ + if (memrchr(pti->pt, 0, PAGE_SIZE) == ((char *)pti->pt + PAGE_SIZE - 1)) { + (void) pdtep_ma; + + /* Zap the backing PDT entry */ + pdtep_ma = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pdtep)); + xen_queue_pt_update(pdtep_ma, 0); + xen_flush_queue(); + + /* The PT is empty. Free it and zero the + * pointer */ + if (pti->ptmb.free) pti->ptmb.free((uintptr_t)pti->pt); + pti->pt = NULL; + + } + + } + + KASSERT(pti->pdpt != 0, ("Invalid pdpt\n")); + } + + if (pti->pdpt != NULL) { /* Zap pdpte */ + + pdp_entry_t *pdptep; + vm_paddr_t pdptep_ma; + + pdptep = &pti->pdpt[pdpt_index(va)]; + + if (pti->pdt == NULL) { + KASSERT(*pdptep == 0, ("%s(%d): mmu state machine out of sync!\n", __func__, __LINE__)); + } + + /* We can free the PDT only after the PDPT entry is zapped */ + if (memrchr(pti->pdt, 0, PAGE_SIZE) == ((char *)pti->pdt + PAGE_SIZE - 1)) { + pdptep_ma = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pdptep)); + xen_queue_pt_update(pdptep_ma, 0); + xen_flush_queue(); + + /* The PDT is empty. Free it and zero the + * pointer + */ + if (pti->ptmb.free) pti->ptmb.free((uintptr_t)pti->pdt); + pti->pdt = NULL; + } + KASSERT(pti->pml4t != 0, ("Invalid pml4t\n")); + } + + if (pti->pml4t != NULL) { /* Zap pml4te */ + pml4_entry_t *pml4tep; + vm_paddr_t pml4tep_ma; + + pml4tep = &pti->pml4t[pml4t_index(va)]; + + if (pti->pdpt == NULL) { + KASSERT(*pml4tep == 0, ("%s(%d): mmu state machine out of sync!\n", __func__, __LINE__)); + } + + if (memrchr(pti->pdpt, 0, PAGE_SIZE) == ((char *)pti->pdpt + PAGE_SIZE - 1)) { + pml4tep_ma = xpmap_ptom(pti->ptmb.vtop((uintptr_t)pml4tep) +); + xen_queue_pt_update(pml4tep_ma, 0); + xen_flush_queue(); + + /* The PDPT is empty. Free it and zero the + * pointer + */ + if (pti->ptmb.free) pti->ptmb.free((uintptr_t)pti->pdpt); + pti->pdpt = NULL; + } + } + + /* + * We leave the pml4t to be managed by pmap, since there are + * higher level aliasing issues across pmaps and vcpus that + * can't be addressed here. + */ } + From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 02:26:58 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 20B0AC3; Wed, 9 Jan 2013 02:26:58 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EA1DAAF7; Wed, 9 Jan 2013 02:26:57 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r092QvlT096947; Wed, 9 Jan 2013 02:26:57 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r092Qodh096907; Wed, 9 Jan 2013 02:26:50 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301090226.r092Qodh096907@svn.freebsd.org> From: Neel Natu Date: Wed, 9 Jan 2013 02:26:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245205 - in projects/bhyve: bin/ls contrib/one-true-awk etc/namedb etc/sendmail gnu/usr.bin/binutils/ld lib/csu/amd64 lib/csu/arm lib/csu/common lib/csu/i386-elf lib/csu/mips lib/csu/p... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 02:26:58 -0000 Author: neel Date: Wed Jan 9 02:26:50 2013 New Revision: 245205 URL: http://svnweb.freebsd.org/changeset/base/245205 Log: IFC @ r245178 Added: projects/bhyve/tools/build/options/WITHOUT_LZMA_SUPPORT - copied unchanged from r245178, head/tools/build/options/WITHOUT_LZMA_SUPPORT projects/bhyve/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r245178, head/usr.sbin/bsdconfig/share/script.subr projects/bhyve/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r245178, head/usr.sbin/bsdconfig/share/variable.subr Deleted: projects/bhyve/share/examples/cvsup/gnats-supfile projects/bhyve/sys/dev/xen/evtchn/ projects/bhyve/sys/dev/xen/xenpci/machine_reboot.c Modified: projects/bhyve/bin/ls/util.c projects/bhyve/contrib/one-true-awk/FIXES projects/bhyve/contrib/one-true-awk/main.c projects/bhyve/contrib/one-true-awk/makefile projects/bhyve/contrib/one-true-awk/proto.h projects/bhyve/contrib/one-true-awk/run.c projects/bhyve/contrib/one-true-awk/tran.c projects/bhyve/etc/namedb/named.root projects/bhyve/etc/sendmail/freefall.mc projects/bhyve/gnu/usr.bin/binutils/ld/armelf_fbsd.sh projects/bhyve/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh projects/bhyve/lib/csu/amd64/crt1.c projects/bhyve/lib/csu/arm/crt1.c projects/bhyve/lib/csu/common/ignore_init.c projects/bhyve/lib/csu/i386-elf/crt1_c.c projects/bhyve/lib/csu/mips/crt1.c projects/bhyve/lib/csu/powerpc/crt1.c projects/bhyve/lib/csu/powerpc64/crt1.c projects/bhyve/lib/csu/sparc64/crt1.c projects/bhyve/lib/libc/arm/softfloat/arm-gcc.h projects/bhyve/release/amd64/mkisoimages.sh projects/bhyve/release/i386/mkisoimages.sh projects/bhyve/release/ia64/mkisoimages.sh projects/bhyve/release/pc98/mkisoimages.sh projects/bhyve/release/powerpc/mkisoimages.sh projects/bhyve/release/sparc64/mkisoimages.sh projects/bhyve/sbin/geom/class/journal/geom_journal_ufs.c projects/bhyve/sbin/geom/class/part/gpart.8 projects/bhyve/sbin/mount_nullfs/mount_nullfs.c projects/bhyve/sbin/route/route.c projects/bhyve/share/examples/Makefile projects/bhyve/share/examples/cvsup/README projects/bhyve/share/examples/cvsup/cvs-supfile projects/bhyve/share/examples/cvsup/ports-supfile projects/bhyve/share/examples/cvsup/stable-supfile projects/bhyve/share/examples/cvsup/standard-supfile projects/bhyve/share/man/man4/mps.4 projects/bhyve/share/man/man9/sleep.9 projects/bhyve/share/misc/committers-ports.dot projects/bhyve/share/mk/bsd.cpu.mk projects/bhyve/sys/amd64/conf/GENERIC projects/bhyve/sys/arm/arm/machdep.c projects/bhyve/sys/arm/arm/pl310.c projects/bhyve/sys/arm/arm/pmap-v6.c projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/bhyve/sys/arm/conf/BEAGLEBONE projects/bhyve/sys/arm/include/atomic.h projects/bhyve/sys/arm/include/machdep.h projects/bhyve/sys/arm/include/pl310.h projects/bhyve/sys/arm/include/pmap.h projects/bhyve/sys/arm/ti/cpsw/if_cpsw.c projects/bhyve/sys/arm/ti/cpsw/if_cpswvar.h projects/bhyve/sys/arm/ti/ti_cpuid.c projects/bhyve/sys/arm/ti/ti_cpuid.h projects/bhyve/sys/arm/versatile/versatile_clcd.c projects/bhyve/sys/boot/common/interp_forth.c projects/bhyve/sys/conf/options.mips projects/bhyve/sys/contrib/octeon-sdk/cvmx-app-init.h projects/bhyve/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/bhyve/sys/dev/ath/if_ath_rx.c projects/bhyve/sys/dev/ath/if_ath_spectral.c projects/bhyve/sys/dev/ath/if_athvar.h projects/bhyve/sys/dev/nvme/nvme_test.c projects/bhyve/sys/dev/pci/pci.c projects/bhyve/sys/dev/usb/controller/xhci.c projects/bhyve/sys/dev/usb/wlan/if_run.c projects/bhyve/sys/dev/xen/control/control.c projects/bhyve/sys/dev/xen/netfront/netfront.c projects/bhyve/sys/fs/ext2fs/ext2_dinode.h projects/bhyve/sys/fs/fuse/fuse_io.c projects/bhyve/sys/fs/nandfs/nandfs_segment.c projects/bhyve/sys/fs/nullfs/null.h projects/bhyve/sys/fs/nullfs/null_subr.c projects/bhyve/sys/fs/nullfs/null_vfsops.c projects/bhyve/sys/fs/nullfs/null_vnops.c projects/bhyve/sys/fs/tmpfs/tmpfs.h projects/bhyve/sys/fs/tmpfs/tmpfs_subr.c projects/bhyve/sys/fs/tmpfs/tmpfs_vfsops.c projects/bhyve/sys/fs/tmpfs/tmpfs_vnops.c projects/bhyve/sys/i386/conf/GENERIC projects/bhyve/sys/i386/xen/xen_machdep.c projects/bhyve/sys/ia64/conf/GENERIC projects/bhyve/sys/kern/kern_exit.c projects/bhyve/sys/kern/kern_lock.c projects/bhyve/sys/kern/kern_synch.c projects/bhyve/sys/kern/subr_param.c projects/bhyve/sys/kern/vfs_mount.c projects/bhyve/sys/mips/atheros/ar71xx_pci.c projects/bhyve/sys/mips/conf/OCTEON1 projects/bhyve/sys/net/if_pfsync.h projects/bhyve/sys/net/zlib.c projects/bhyve/sys/net/zlib.h projects/bhyve/sys/net80211/ieee80211_hostap.c projects/bhyve/sys/net80211/ieee80211_hwmp.c projects/bhyve/sys/net80211/ieee80211_radiotap.h projects/bhyve/sys/netinet/in.c projects/bhyve/sys/netinet6/in6.c projects/bhyve/sys/pc98/conf/GENERIC projects/bhyve/sys/powerpc/conf/GENERIC projects/bhyve/sys/powerpc/conf/GENERIC64 projects/bhyve/sys/sparc64/conf/GENERIC projects/bhyve/sys/sparc64/sparc64/interrupt.S projects/bhyve/sys/sys/mount.h projects/bhyve/tools/build/make_check/Makefile projects/bhyve/usr.bin/apply/apply.c projects/bhyve/usr.bin/grep/Makefile projects/bhyve/usr.bin/grep/file.c projects/bhyve/usr.bin/grep/grep.c projects/bhyve/usr.bin/grep/regex/tre-fastmatch.c projects/bhyve/usr.bin/ul/ul.c projects/bhyve/usr.bin/xargs/strnsubst.c projects/bhyve/usr.sbin/bsdconfig/USAGE projects/bhyve/usr.sbin/bsdconfig/bsdconfig projects/bhyve/usr.sbin/bsdconfig/bsdconfig.8 projects/bhyve/usr.sbin/bsdconfig/include/messages.subr projects/bhyve/usr.sbin/bsdconfig/share/Makefile projects/bhyve/usr.sbin/bsdconfig/share/common.subr projects/bhyve/usr.sbin/bsdconfig/share/dialog.subr projects/bhyve/usr.sbin/daemon/daemon.c projects/bhyve/usr.sbin/gssd/Makefile projects/bhyve/usr.sbin/gssd/gssd.8 projects/bhyve/usr.sbin/gssd/gssd.c projects/bhyve/usr.sbin/ifmcstat/ifmcstat.c projects/bhyve/usr.sbin/newsyslog/newsyslog.8 projects/bhyve/usr.sbin/newsyslog/newsyslog.c projects/bhyve/usr.sbin/pw/pw_user.c Directory Properties: projects/bhyve/ (props changed) projects/bhyve/contrib/one-true-awk/ (props changed) projects/bhyve/gnu/usr.bin/binutils/ (props changed) projects/bhyve/lib/libc/ (props changed) projects/bhyve/sbin/ (props changed) projects/bhyve/share/man/man4/ (props changed) projects/bhyve/sys/ (props changed) projects/bhyve/sys/boot/ (props changed) projects/bhyve/sys/conf/ (props changed) projects/bhyve/sys/contrib/octeon-sdk/ (props changed) Modified: projects/bhyve/bin/ls/util.c ============================================================================== --- projects/bhyve/bin/ls/util.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/bin/ls/util.c Wed Jan 9 02:26:50 2013 (r245205) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); Modified: projects/bhyve/contrib/one-true-awk/FIXES ============================================================================== --- projects/bhyve/contrib/one-true-awk/FIXES Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/FIXES Wed Jan 9 02:26:50 2013 (r245205) @@ -25,6 +25,22 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Dec 20, 2012: + fiddled makefile to get correct yacc and bison flags. pick yacc + (linux) or bison (mac) as necessary. + + added __attribute__((__noreturn__)) to a couple of lines in + proto.h, to silence someone's enthusiastic checker. + + fixed obscure call by value bug in split(a[1],a) reported on + 9fans. the management of temporary values is just a mess; i + took a shortcut by making an extra string copy. thanks + to paul patience and arnold robbins for passing it on and for + proposed patches. + + tiny fiddle in setfval to eliminate -0 results in T.expr, which + has irritated me for 20+ years. + Aug 10, 2011: another fix to avoid core dump with delete(ARGV); again, many thanks to ruslan ermilov. Modified: projects/bhyve/contrib/one-true-awk/main.c ============================================================================== --- projects/bhyve/contrib/one-true-awk/main.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/main.c Wed Jan 9 02:26:50 2013 (r245205) @@ -25,7 +25,7 @@ THIS SOFTWARE. #include __FBSDID("$FreeBSD$"); -const char *version = "version 20110810 (FreeBSD)"; +const char *version = "version 20121220 (FreeBSD)"; #define DEBUG #include Modified: projects/bhyve/contrib/one-true-awk/makefile ============================================================================== --- projects/bhyve/contrib/one-true-awk/makefile Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/makefile Wed Jan 9 02:26:50 2013 (r245205) @@ -26,15 +26,15 @@ CFLAGS = -g CFLAGS = -O2 CFLAGS = -CC = gcc -Wall -g -CC = cc CC = gcc -Wall -g -Wwrite-strings CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov +CC = gcc -g -Wall -pedantic CC = gcc -O4 -Wall -pedantic -fno-strict-aliasing -YACC = bison -y -YACC = yacc -YFLAGS = -d +YACC = bison -d -y +YACC = yacc -d -S +#YFLAGS = -d -S + # -S uses sprintf in yacc parser instead of sprint OFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o Modified: projects/bhyve/contrib/one-true-awk/proto.h ============================================================================== --- projects/bhyve/contrib/one-true-awk/proto.h Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/proto.h Wed Jan 9 02:26:50 2013 (r245205) @@ -46,7 +46,7 @@ extern void freetr(Node *); extern int hexstr(uschar **); extern int quoted(uschar **); extern char *cclenter(const char *); -extern void overflo(const char *); +extern void overflo(const char *) __attribute__((__noreturn__)); extern void cfoll(fa *, Node *); extern int first(Node *); extern void follow(Node *); @@ -132,7 +132,7 @@ extern void fpecatch(int); extern void bracecheck(void); extern void bcheck2(int, int, int); extern void SYNTAX(const char *, ...); -extern void FATAL(const char *, ...); +extern void FATAL(const char *, ...) __attribute__((__noreturn__)); extern void WARNING(const char *, ...); extern void error(void); extern void eprint(void); Modified: projects/bhyve/contrib/one-true-awk/run.c ============================================================================== --- projects/bhyve/contrib/one-true-awk/run.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/run.c Wed Jan 9 02:26:50 2013 (r245205) @@ -1213,13 +1213,13 @@ Cell *dopa2(Node **a, int n) /* a[0], a[ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */ { Cell *x = 0, *y, *ap; - char *s; + char *s, *origs; int sep; char *t, temp, num[50], *fs = 0; int n, tempstat, arg3type; y = execute(a[0]); /* source string */ - s = getsval(y); + origs = s = strdup(getsval(y)); arg3type = ptoi(a[3]); if (a[2] == 0) /* fs string */ fs = *FS; @@ -1339,6 +1339,7 @@ Cell *split(Node **a, int nnn) /* split( } tempfree(ap); tempfree(y); + free(origs); if (a[2] != 0 && arg3type == STRING) { tempfree(x); } Modified: projects/bhyve/contrib/one-true-awk/tran.c ============================================================================== --- projects/bhyve/contrib/one-true-awk/tran.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/contrib/one-true-awk/tran.c Wed Jan 9 02:26:50 2013 (r245205) @@ -298,6 +298,8 @@ Awkfloat setfval(Cell *vp, Awkfloat f) / xfree(vp->sval); /* free any previous string */ vp->tval &= ~STR; /* mark string invalid */ vp->tval |= NUM; /* mark number ok */ + if (f == -0) /* who would have thought this possible? */ + f = 0; dprintf( ("setfval %p: %s = %g, t=%o\n", (void*)vp, NN(vp->nval), f, vp->tval) ); return vp->fval = f; } Modified: projects/bhyve/etc/namedb/named.root ============================================================================== --- projects/bhyve/etc/namedb/named.root Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/etc/namedb/named.root Wed Jan 9 02:26:50 2013 (r245205) @@ -7,14 +7,14 @@ ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; -; This file is made available by InterNIC +; This file is made available by InterNIC ; under anonymous FTP as -; file /domain/named.root +; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jun 8, 2011 -; related version of root zone: 2011060800 +; last update: Jan 3, 2013 +; related version of root zone: 2013010300 ; ; formerly NS.INTERNIC.NET ; @@ -35,7 +35,7 @@ C.ROOT-SERVERS.NET. 3600000 A ; FORMERLY TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. -D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D ; ; FORMERLY NS.NASA.GOV Modified: projects/bhyve/etc/sendmail/freefall.mc ============================================================================== --- projects/bhyve/etc/sendmail/freefall.mc Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/etc/sendmail/freefall.mc Wed Jan 9 02:26:50 2013 (r245205) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) Modified: projects/bhyve/gnu/usr.bin/binutils/ld/armelf_fbsd.sh ============================================================================== --- projects/bhyve/gnu/usr.bin/binutils/ld/armelf_fbsd.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/gnu/usr.bin/binutils/ld/armelf_fbsd.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -1,6 +1,7 @@ # $FreeBSD$ . ${srcdir}/emulparams/armelf.sh . ${srcdir}/emulparams/elf_fbsd.sh +TARGET2_TYPE=got-rel MAXPAGESIZE=0x8000 GENERATE_PIE_SCRIPT=yes Modified: projects/bhyve/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh ============================================================================== --- projects/bhyve/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -5,6 +5,7 @@ #OUTPUT_FORMAT="elf32-bigarm" . ${srcdir}/emulparams/armelf.sh . ${srcdir}/emulparams/elf_fbsd.sh +TARGET2_TYPE=got-rel MAXPAGESIZE=0x8000 GENERATE_PIE_SCRIPT=yes Modified: projects/bhyve/lib/csu/amd64/crt1.c ============================================================================== --- projects/bhyve/lib/csu/amd64/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/amd64/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -61,9 +61,7 @@ _start(char **ap, void (*cleanup)(void)) argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); Modified: projects/bhyve/lib/csu/arm/crt1.c ============================================================================== --- projects/bhyve/lib/csu/arm/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/arm/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -98,10 +98,7 @@ __start(int argc, char **argv, char **en const struct Struct_Obj_Entry *obj __unused, void (*cleanup)(void)) { - environ = env; - - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: projects/bhyve/lib/csu/common/ignore_init.c ============================================================================== --- projects/bhyve/lib/csu/common/ignore_init.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/common/ignore_init.c Wed Jan 9 02:26:50 2013 (r245205) @@ -87,14 +87,18 @@ handle_static_init(int argc, char **argv } static inline void -handle_progname(const char *v) +handle_argv(int argc, char *argv[], char **env) { const char *s; - __progname = v; - for (s = __progname; *s != '\0'; s++) { - if (*s == '/') - __progname = s + 1; + if (environ == NULL) + environ = env; + if (argc > 0 && argv[0] != NULL) { + __progname = argv[0]; + for (s = __progname; *s != '\0'; s++) { + if (*s == '/') + __progname = s + 1; + } } } Modified: projects/bhyve/lib/csu/i386-elf/crt1_c.c ============================================================================== --- projects/bhyve/lib/csu/i386-elf/crt1_c.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/i386-elf/crt1_c.c Wed Jan 9 02:26:50 2013 (r245205) @@ -61,10 +61,7 @@ _start1(fptr cleanup, int argc, char *ar char **env; env = argv + argc + 1; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); - + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); else Modified: projects/bhyve/lib/csu/mips/crt1.c ============================================================================== --- projects/bhyve/lib/csu/mips/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/mips/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -71,9 +71,7 @@ __start(char **ap, argc = * (long *) ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); Modified: projects/bhyve/lib/csu/powerpc/crt1.c ============================================================================== --- projects/bhyve/lib/csu/powerpc/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/powerpc/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -81,10 +81,8 @@ _start(int argc, char **argv, char **env struct ps_strings *ps_strings) { - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: projects/bhyve/lib/csu/powerpc64/crt1.c ============================================================================== --- projects/bhyve/lib/csu/powerpc64/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/powerpc64/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -81,10 +81,7 @@ _start(int argc, char **argv, char **env struct ps_strings *ps_strings) { - environ = env; - - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: projects/bhyve/lib/csu/sparc64/crt1.c ============================================================================== --- projects/bhyve/lib/csu/sparc64/crt1.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/csu/sparc64/crt1.c Wed Jan 9 02:26:50 2013 (r245205) @@ -85,9 +85,7 @@ _start(char **ap, void (*cleanup)(void), argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); Modified: projects/bhyve/lib/libc/arm/softfloat/arm-gcc.h ============================================================================== --- projects/bhyve/lib/libc/arm/softfloat/arm-gcc.h Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/lib/libc/arm/softfloat/arm-gcc.h Wed Jan 9 02:26:50 2013 (r245205) @@ -95,7 +95,7 @@ what the endianness of the CPU. VFP is #define FLOAT64_DEMANGLE(a) (a) #define FLOAT64_MANGLE(a) (a) #else -#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32)) +#define FLOAT64_DEMANGLE(a) ((((a) & 0xfffffffful) << 32) | ((a) >> 32)) #define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a) #endif #endif Modified: projects/bhyve/release/amd64/mkisoimages.sh ============================================================================== --- projects/bhyve/release/amd64/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/amd64/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -36,9 +36,9 @@ if [ $# -lt 3 ]; then exit 1 fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift -echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab Modified: projects/bhyve/release/i386/mkisoimages.sh ============================================================================== --- projects/bhyve/release/i386/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/i386/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -36,9 +36,9 @@ if [ $# -lt 3 ]; then exit 1 fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift -echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab Modified: projects/bhyve/release/ia64/mkisoimages.sh ============================================================================== --- projects/bhyve/release/ia64/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/ia64/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -37,7 +37,7 @@ if [ $# -lt 3 ]; then exit 1 fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift BASE=$1; shift Modified: projects/bhyve/release/pc98/mkisoimages.sh ============================================================================== --- projects/bhyve/release/pc98/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/pc98/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -36,9 +36,9 @@ if [ $# -lt 3 ]; then exit 1 fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift -echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab Modified: projects/bhyve/release/powerpc/mkisoimages.sh ============================================================================== --- projects/bhyve/release/powerpc/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/powerpc/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -58,10 +58,10 @@ if [ $# -lt 3 ]; then exit 1 fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift -echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab rm /tmp/hfs-boot-block Modified: projects/bhyve/release/sparc64/mkisoimages.sh ============================================================================== --- projects/bhyve/release/sparc64/mkisoimages.sh Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/release/sparc64/mkisoimages.sh Wed Jan 9 02:26:50 2013 (r245205) @@ -63,7 +63,7 @@ if [ $? -ne 0 ]; then fi fi -LABEL=$1; shift +LABEL=`echo $1 | tr '[:lower:]' '[:upper:]'`; shift NAME=$1; shift echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab Modified: projects/bhyve/sbin/geom/class/journal/geom_journal_ufs.c ============================================================================== --- projects/bhyve/sbin/geom/class/journal/geom_journal_ufs.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/sbin/geom/class/journal/geom_journal_ufs.c Wed Jan 9 02:26:50 2013 (r245205) @@ -73,6 +73,6 @@ g_journal_ufs_using_last_sector(const ch /* Provider size in 512 bytes blocks. */ psize = g_get_mediasize(prov) / DEV_BSIZE; /* File system size in 512 bytes blocks. */ - fssize = fsbtodb(fs, dbtofsb(fs, psize)); - return (psize == fssize); + fssize = fsbtodb(fs, fs->fs_size); + return (psize <= fssize); } Modified: projects/bhyve/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/bhyve/sbin/geom/class/part/gpart.8 Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/sbin/geom/class/part/gpart.8 Wed Jan 9 02:26:50 2013 (r245205) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 19, 2012 +.Dd January 3, 2013 .Dt GPART 8 .Os .Sh NAME @@ -453,8 +453,14 @@ about its use. .El .\" ==== SHOW ==== .It Cm show -Show the current partition information of the specified geoms -or all geoms if none are specified. +Show current partition information for the specified geoms, or all +geoms if none are specified. +The default output includes the logical starting block of each +partition, the partition size in blocks, the partition index number, +the partition type, and a human readable partition size. +Block sizes and locations are based on the device's Sectorsize +as shown by +.Cm gpart list . Additional options include: .Bl -tag -width 10n .It Fl l @@ -919,7 +925,7 @@ and .Cm list will report about corrupt tables. .Pp -If the size of the device has changed (e.g.\& volume expansion) the +If the size of the device has changed (e.g.,\& volume expansion) the secondary GPT header will no longer be located in the last sector. This is not a metadata corruption, but it is dangerous because any corruption of the primary GPT will lead to loss of the partition table. @@ -979,14 +985,14 @@ This may break a mirrored volume and lea Exit status is 0 on success, and 1 if the command fails. .Sh EXAMPLES Create a GPT scheme on -.Pa ad0 : +.Pa ada0 : .Bd -literal -offset indent -/sbin/gpart create -s GPT ad0 +/sbin/gpart create -s GPT ada0 .Ed .Pp Embed GPT bootstrap code into a protective MBR: .Bd -literal -offset indent -/sbin/gpart bootcode -b /boot/pmbr ad0 +/sbin/gpart bootcode -b /boot/pmbr ada0 .Ed .Pp Create a dedicated @@ -1011,15 +1017,15 @@ aligned on a 64 kB boundary without the offset or alignment. The boot partition itself is aligned on a 4 kB boundary. .Bd -literal -offset indent -/sbin/gpart add -b 40 -s 88 -t freebsd-boot ad0 -/sbin/gpart bootcode -p /boot/gptboot -i 1 ad0 +/sbin/gpart add -b 40 -s 88 -t freebsd-boot ada0 +/sbin/gpart bootcode -p /boot/gptboot -i 1 ada0 .Ed .Pp Create a 512MB-sized .Cm freebsd-ufs partition to contain a UFS filesystem from which the system can boot. .Bd -literal -offset indent -/sbin/gpart add -s 512M -t freebsd-ufs ad0 +/sbin/gpart add -s 512M -t freebsd-ufs ada0 .Ed .Pp Create an MBR scheme on Modified: projects/bhyve/sbin/mount_nullfs/mount_nullfs.c ============================================================================== --- projects/bhyve/sbin/mount_nullfs/mount_nullfs.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/sbin/mount_nullfs/mount_nullfs.c Wed Jan 9 02:26:50 2013 (r245205) @@ -57,27 +57,35 @@ static const char rcsid[] = #include "mntopts.h" -static struct mntopt mopts[] = { - MOPT_STDOPTS, - MOPT_END -}; - int subdir(const char *, const char *); static void usage(void) __dead2; int main(int argc, char *argv[]) { - struct iovec iov[6]; - int ch, mntflags; + struct iovec *iov; + char *p, *val; char source[MAXPATHLEN]; char target[MAXPATHLEN]; + char errmsg[255]; + int ch, mntflags, iovlen; + char nullfs[] = "nullfs"; + iov = NULL; + iovlen = 0; mntflags = 0; + errmsg[0] = '\0'; while ((ch = getopt(argc, argv, "o:")) != -1) switch(ch) { case 'o': - getmntopts(optarg, mopts, &mntflags, 0); + val = strdup(""); + p = strchr(optarg, '='); + if (p != NULL) { + free(val); + *p = '\0'; + val = p + 1; + } + build_iovec(&iov, &iovlen, optarg, val, (size_t)-1); break; case '?': default: @@ -99,21 +107,16 @@ main(int argc, char *argv[]) errx(EX_USAGE, "%s (%s) and %s are not distinct paths", argv[0], target, argv[1]); - iov[0].iov_base = strdup("fstype"); - iov[0].iov_len = sizeof("fstype"); - iov[1].iov_base = strdup("nullfs"); - iov[1].iov_len = strlen(iov[1].iov_base) + 1; - iov[2].iov_base = strdup("fspath"); - iov[2].iov_len = sizeof("fspath"); - iov[3].iov_base = source; - iov[3].iov_len = strlen(source) + 1; - iov[4].iov_base = strdup("target"); - iov[4].iov_len = sizeof("target"); - iov[5].iov_base = target; - iov[5].iov_len = strlen(target) + 1; - - if (nmount(iov, 6, mntflags)) - err(1, NULL); + build_iovec(&iov, &iovlen, "fstype", nullfs, (size_t)-1); + build_iovec(&iov, &iovlen, "fspath", source, (size_t)-1); + build_iovec(&iov, &iovlen, "target", target, (size_t)-1); + build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); + if (nmount(iov, iovlen, mntflags) < 0) { + if (errmsg[0] != 0) + err(1, "%s: %s", source, errmsg); + else + err(1, "%s", source); + } exit(0); } Modified: projects/bhyve/sbin/route/route.c ============================================================================== --- projects/bhyve/sbin/route/route.c Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/sbin/route/route.c Wed Jan 9 02:26:50 2013 (r245205) @@ -94,7 +94,7 @@ typedef union sockunion *sup; int pid, rtm_addrs; int s; int forcehost, forcenet, doflush, nflag, af, qflag, tflag; -int iflag, verbose, aflen = sizeof (struct sockaddr_in); +int verbose, aflen = sizeof (struct sockaddr_in); int locking, lockrest, debugonly; struct rt_metrics rt_metrics; u_long rtm_inits; @@ -107,7 +107,7 @@ static char *atalk_ntoa(struct at_addr); static void bprintf(FILE *, int, u_char *); static void flushroutes(int argc, char *argv[]); static int flushroutes_fib(int); -static int getaddr(int, char *, struct hostent **); +static int getaddr(int, char *, struct hostent **, int); static int keyword(const char *); static void inet_makenetandmask(u_long, struct sockaddr_in *, u_long); #ifdef INET6 @@ -833,34 +833,34 @@ newroute(int argc, char **argv) case K_IFA: if (!--argc) usage(NULL); - (void) getaddr(RTA_IFA, *++argv, 0); + getaddr(RTA_IFA, *++argv, 0, nrflags); break; case K_IFP: if (!--argc) usage(NULL); - (void) getaddr(RTA_IFP, *++argv, 0); + getaddr(RTA_IFP, *++argv, 0, nrflags); break; case K_GENMASK: if (!--argc) usage(NULL); - (void) getaddr(RTA_GENMASK, *++argv, 0); + getaddr(RTA_GENMASK, *++argv, 0, nrflags); break; case K_GATEWAY: if (!--argc) usage(NULL); - (void) getaddr(RTA_GATEWAY, *++argv, 0); + getaddr(RTA_GATEWAY, *++argv, 0, nrflags); break; case K_DST: if (!--argc) usage(NULL); - if (getaddr(RTA_DST, *++argv, &hp)) + if (getaddr(RTA_DST, *++argv, &hp, nrflags)) nrflags |= F_ISHOST; dest = *argv; break; case K_NETMASK: if (!--argc) usage(NULL); - (void) getaddr(RTA_NETMASK, *++argv, 0); + getaddr(RTA_NETMASK, *++argv, 0, nrflags); /* FALLTHROUGH */ case K_NET: nrflags |= F_FORCENET; @@ -895,13 +895,13 @@ newroute(int argc, char **argv) } else { if ((rtm_addrs & RTA_DST) == 0) { dest = *argv; - if (getaddr(RTA_DST, *argv, &hp)) + if (getaddr(RTA_DST, *argv, &hp, nrflags)) nrflags |= F_ISHOST; } else if ((rtm_addrs & RTA_GATEWAY) == 0) { gateway = *argv; - (void) getaddr(RTA_GATEWAY, *argv, &hp); + getaddr(RTA_GATEWAY, *argv, &hp, nrflags); } else { - (void) getaddr(RTA_NETMASK, *argv, 0); + getaddr(RTA_NETMASK, *argv, 0, nrflags); nrflags |= F_FORCENET; } } @@ -1116,7 +1116,7 @@ inet6_makenetandmask(struct sockaddr_in6 * returning 1 if a host address, 0 if a network address. */ static int -getaddr(int which, char *str, struct hostent **hpp) +getaddr(int which, char *str, struct hostent **hpp, int nrflags) { sup su; struct hostent *hp; @@ -1137,7 +1137,7 @@ getaddr(int which, char *str, struct hos break; case RTA_GATEWAY: su = &so_gate; - if (iflag) { + if (nrflags & F_INTERFACE) { struct ifaddrs *ifap, *ifa; struct sockaddr_dl *sdl = NULL; @@ -1197,7 +1197,7 @@ getaddr(int which, char *str, struct hos #if 0 bzero(su, sizeof(*su)); /* for readability */ #endif - getaddr(RTA_NETMASK, str, 0); + getaddr(RTA_NETMASK, str, 0, nrflags); break; #if 0 case RTA_NETMASK: Modified: projects/bhyve/share/examples/Makefile ============================================================================== --- projects/bhyve/share/examples/Makefile Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/share/examples/Makefile Wed Jan 9 02:26:50 2013 (r245205) @@ -52,7 +52,6 @@ XFILES= BSD_daemon/FreeBSD.pfa \ csh/dot.cshrc \ cvsup/README \ cvsup/cvs-supfile \ - cvsup/gnats-supfile \ cvsup/ports-supfile \ cvsup/refuse \ cvsup/refuse.README \ Modified: projects/bhyve/share/examples/cvsup/README ============================================================================== --- projects/bhyve/share/examples/cvsup/README Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/share/examples/cvsup/README Wed Jan 9 02:26:50 2013 (r245205) @@ -1,5 +1,15 @@ # $FreeBSD$ +BEWARE, CVS is deprecated and no longer supported by the FreeBSD project. + +The primary development work happens in Subversion and is temporarily +exported to the legacy CVS system with significant time delays. + +You should NOT set up a new consumer of FreeBSD source code via CVS. +Please see: +http://www.freebsd.org/doc/handbook/svn.html +http://www.freebsd.org/doc/handbook/svn-mirrors.html + This directory contains sample "supfiles" for obtaining and updating the FreeBSD sources via the Internet. These supfiles will work with CVSup version 14.0 or later. For general information on CVSup @@ -20,10 +30,6 @@ FreeBSD, use: cvs-supfile Main source tree and ports collection -To maintain a copy of the FreeBSD bug database, use the file: - - gnats-supfile FreeBSD bug database - IMPORTANT: Before you use any of the supfiles in this directory, you will need to edit in an appropriate "host" setting. See: Modified: projects/bhyve/share/examples/cvsup/cvs-supfile ============================================================================== --- projects/bhyve/share/examples/cvsup/cvs-supfile Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/share/examples/cvsup/cvs-supfile Wed Jan 9 02:26:50 2013 (r245205) @@ -1,7 +1,14 @@ # $FreeBSD$ # -# This file contains all of the "CVSup collections" that make up the -# CVS development tree of the FreeBSD system. +# BEWARE, CVS is deprecated and no longer supported by the FreeBSD project. +# +# The primary development work happens in Subversion and is temporarily +# exported to the legacy CVS system with significant time delays. +# +# You should NOT set up a new consumer of FreeBSD source code via CVS. +# Please see: +# http://www.freebsd.org/doc/handbook/svn.html +# http://www.freebsd.org/doc/handbook/svn-mirrors.html # # csup (CVS Update Protocol) allows you to download the latest CVS # tree (or any branch of development therefrom) to your system easily @@ -61,36 +68,6 @@ # mega-collection. It includes all of the individual "src-*" collections. src-all -# These are the individual collections that make up "src-all". If you -# use these, be sure to comment out "src-all" above. -#src-base -#src-bin -#src-cddl -#src-contrib -#src-etc -#src-games -#src-gnu -#src-include -#src-kerberos5 -#src-kerberosIV -#src-lib -#src-libexec -#src-release -#src-rescue -#src-sbin -#src-share -#src-sys -#src-tools -#src-usrbin -#src-usrsbin -# These are the individual collections that make up FreeBSD's crypto -# collection. They are no longer export-restricted and are a part of -# src-all -#src-crypto -#src-eBones -#src-secure -#src-sys-crypto - ## Ports Collection. # # The easiest way to get the ports tree is to use the "ports-all" @@ -98,77 +75,6 @@ src-all # collections, ports-all -# These are the individual collections that make up "ports-all". If you -# use these, be sure to comment out "ports-all" above and always include -# "ports-base" if you use any of the other individual collections below. -# Your ports may not build correctly without an up-to-date "ports-base". -# -#ports-base -# -#ports-accessibility -#ports-arabic -#ports-archivers -#ports-astro -#ports-audio -#ports-benchmarks -#ports-biology -#ports-cad -#ports-chinese -#ports-comms -#ports-converters -#ports-databases -#ports-deskutils -#ports-devel -#ports-dns -#ports-editors -#ports-emulators -#ports-finance -#ports-french -#ports-ftp -#ports-games -#ports-german -#ports-graphics -#ports-hebrew -#ports-hungarian -#ports-irc -#ports-japanese -#ports-java -#ports-korean -#ports-lang -#ports-mail -#ports-math -#ports-misc -#ports-multimedia -#ports-net -#ports-net-im -#ports-net-mgmt -#ports-net-p2p -#ports-news -#ports-palm -#ports-picobsd -#ports-polish -#ports-ports-mgmt -#ports-portuguese -#ports-print -#ports-russian -#ports-science -#ports-security -#ports-shells -#ports-sysutils -#ports-textproc -#ports-ukrainian -#ports-vietnamese -#ports-www -#ports-x11 -#ports-x11-clocks -#ports-x11-drivers -#ports-x11-fm -#ports-x11-fonts -#ports-x11-servers -#ports-x11-themes -#ports-x11-toolkits -#ports-x11-wm - ## Projects # # This collection retrieves the projects tree of the FreeBSD @@ -179,11 +85,3 @@ projects-all # # This is to get the control files that cvs(1) needs and the commit logs. cvsroot-all - -# These are the individual collections that make up "cvsroot-all" If you -# use these, be sure to comment out "cvsroot-all" above. "cvsroot-common" -# is a synthetic CVSROOT that has all the modules from the other CVSROOT-* -# directories merged into one, and merged commitlogs via symlinks. -#cvsroot-common -#cvsroot-src -#cvsroot-ports Modified: projects/bhyve/share/examples/cvsup/ports-supfile ============================================================================== --- projects/bhyve/share/examples/cvsup/ports-supfile Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/share/examples/cvsup/ports-supfile Wed Jan 9 02:26:50 2013 (r245205) @@ -1,7 +1,14 @@ # $FreeBSD$ # -# This file contains all of the "CVSup collections" that make up the -# ports collection. +# BEWARE, CVS is deprecated and no longer supported by the FreeBSD project. +# +# The primary development work happens in Subversion and is temporarily +# exported to the legacy CVS system with significant time delays. +# +# You should NOT set up a new consumer of FreeBSD source code via CVS. +# Please see: +# http://www.freebsd.org/doc/handbook/svn.html +# http://www.freebsd.org/doc/handbook/svn-mirrors.html # # csup (CVS Update Protocol) allows you to download the latest CVS # tree (or any branch of development therefrom) to your system easily @@ -65,76 +72,3 @@ # mega-collection. It includes all of the individual "ports-*" # collections, ports-all - -# These are the individual collections that make up "ports-all". If you -# use these, be sure to comment out "ports-all" above. - -# Be sure to ALWAYS cvsup the ports-base collection if you use any of the -# other individual collections below. ports-base is a mandatory collection -# for the ports collection, and your ports may not build correctly if it -# is not kept up to date. -# -# Use of individual collections is not a supported configuration. -#ports-base -#ports-accessibility -#ports-arabic -#ports-archivers -#ports-astro -#ports-audio -#ports-benchmarks -#ports-biology -#ports-cad -#ports-chinese -#ports-comms -#ports-converters -#ports-databases -#ports-deskutils -#ports-devel -#ports-dns -#ports-editors -#ports-emulators -#ports-finance -#ports-french -#ports-ftp -#ports-games -#ports-german -#ports-graphics -#ports-hebrew -#ports-hungarian -#ports-irc -#ports-japanese -#ports-java -#ports-korean -#ports-lang -#ports-mail -#ports-math -#ports-misc -#ports-multimedia -#ports-net -#ports-net-im -#ports-net-mgmt -#ports-net-p2p -#ports-news -#ports-palm -#ports-polish -#ports-ports-mgmt -#ports-portuguese -#ports-print -#ports-russian -#ports-science -#ports-security -#ports-shells -#ports-sysutils -#ports-textproc -#ports-ukrainian -#ports-vietnamese -#ports-www -#ports-x11 -#ports-x11-clocks -#ports-x11-drivers -#ports-x11-fm -#ports-x11-fonts -#ports-x11-servers -#ports-x11-themes -#ports-x11-toolkits -#ports-x11-wm Modified: projects/bhyve/share/examples/cvsup/stable-supfile ============================================================================== --- projects/bhyve/share/examples/cvsup/stable-supfile Wed Jan 9 02:11:16 2013 (r245204) +++ projects/bhyve/share/examples/cvsup/stable-supfile Wed Jan 9 02:26:50 2013 (r245205) @@ -1,7 +1,14 @@ # $FreeBSD$ # -# This file contains all of the "CVSup collections" that make up the -# FreeBSD-stable source tree. +# BEWARE, CVS is deprecated and no longer supported by the FreeBSD project. +# +# The primary development work happens in Subversion and is temporarily +# exported to the legacy CVS system with significant time delays. +# +# You should NOT set up a new consumer of FreeBSD source code via CVS. +# Please see: +# http://www.freebsd.org/doc/handbook/svn.html +# http://www.freebsd.org/doc/handbook/svn-mirrors.html # # csup (CVS Update Protocol) allows you to download the latest CVS # tree (or any branch of development therefrom) to your system easily @@ -80,33 +87,3 @@ # mega-collection. It includes all of the individual "src-*" collections. # Please note: If you want to track -STABLE, leave this uncommented. src-all - -# These are the individual collections that make up "src-all". If you -# use these, be sure to comment out "src-all" above. -#src-base -#src-bin -#src-cddl -#src-contrib -#src-etc -#src-games -#src-gnu -#src-include -#src-kerberos5 -#src-kerberosIV -#src-lib -#src-libexec -#src-release -#src-rescue -#src-sbin -#src-share -#src-sys -#src-tools -#src-usrbin -#src-usrsbin -# These are the individual collections that make up FreeBSD's crypto -# collection. They are no longer export-restricted and are a part of -# src-all -#src-crypto -#src-eBones *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 02:50:51 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1A97E356; Wed, 9 Jan 2013 02:50:51 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F29BCBE2; Wed, 9 Jan 2013 02:50:50 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r092ooWc004652; Wed, 9 Jan 2013 02:50:50 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r092ooUS004651; Wed, 9 Jan 2013 02:50:50 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090250.r092ooUS004651@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 02:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245206 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 02:50:51 -0000 Author: brooks Date: Wed Jan 9 02:50:50 2013 New Revision: 245206 URL: http://svnweb.freebsd.org/changeset/base/245206 Log: Revert r245198 and switch to emulating ln -f in link mode. This means checking for the existance of the target via lseek() and unconditionally attempting to unlink or rmdir it as appropriate. Update the return value of some err() statements that came from NetBSD to better match style. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 02:26:50 2013 (r245205) +++ projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 02:50:50 2013 (r245206) @@ -225,7 +225,7 @@ main(int argc, char *argv[]) break; case 'N': if (!setup_getid(optarg)) - err(1, "Unable to use user and group " + err(EX_OSERR, "Unable to use user and group " "databases in `%s'", optarg); break; case 'o': @@ -492,7 +492,7 @@ quiet_mktemp(char *template) return (NULL); close (fd); if (unlink(template) == -1) - err(1, "unlink %s", template); + err(EX_OSERR, "unlink %s", template); return (template); } @@ -512,9 +512,14 @@ do_link(const char *from_name, const cha (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); /* This usage is safe. */ if (quiet_mktemp(tmpl) == NULL) - err(1, "%s: mktemp", tmpl); + err(EX_OSERR, "%s: mktemp", tmpl); ret = link(from_name, tmpl); if (ret == 0) { + if (target_sb->st_mode & S_IFDIR && rmdir(to_name) == + -1) { + unlink(tmpl); + err(EX_OSERR, "%s", to_name); + } if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); @@ -546,11 +551,15 @@ do_symlink(const char *from_name, const (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); /* This usage is safe. */ if (quiet_mktemp(tmpl) == NULL) - err(1, "%s: mktemp", tmpl); + err(EX_OSERR, "%s: mktemp", tmpl); if (symlink(from_name, tmpl) == -1) - err(1, "symlink %s -> %s", from_name, tmpl); + err(EX_OSERR, "symlink %s -> %s", from_name, tmpl); + if (target_sb->st_mode & S_IFDIR && rmdir(to_name) == -1) { + (void)unlink(tmpl); + err(EX_OSERR, "%s", to_name); + } if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); @@ -559,11 +568,11 @@ do_symlink(const char *from_name, const if (rename(tmpl, to_name) == -1) { /* remove temporary link before exiting */ (void)unlink(tmpl); - err(1, "%s: rename", to_name); + err(EX_OSERR, "%s: rename", to_name); } } else { if (symlink(from_name, to_name) == -1) - err(1, "symlink %s -> %s", from_name, to_name); + err(EX_OSERR, "symlink %s -> %s", from_name, to_name); } } @@ -582,10 +591,10 @@ makelink(const char *from_name, const ch if (dolink & (LN_HARD|LN_MIXED)) { if (do_link(from_name, to_name, target_sb) == -1) { if ((dolink & LN_HARD) || errno != EXDEV) - err(1, "link %s -> %s", from_name, to_name); + err(EX_OSERR, "link %s -> %s", from_name, to_name); } else { if (stat(to_name, &to_sb)) - err(1, "%s: stat", to_name); + err(EX_OSERR, "%s: stat", to_name); if (S_ISREG(to_sb.st_mode)) { /* XXX: hard links to anything * other than plain files are not @@ -628,7 +637,7 @@ makelink(const char *from_name, const ch if (dolink & LN_ABSOLUTE) { /* Convert source path to absolute */ if (realpath(from_name, src) == NULL) - err(1, "%s: realpath", from_name); + err(EX_OSERR, "%s: realpath", from_name); do_symlink(src, to_name, target_sb); /* XXX: src may point outside of destdir */ metadata_log(to_name, "link", NULL, src, NULL, 0); @@ -640,7 +649,7 @@ makelink(const char *from_name, const ch /* Resolve pathnames */ if (realpath(from_name, src) == NULL) - err(1, "%s: realpath", from_name); + err(EX_OSERR, "%s: realpath", from_name); /* * The last component of to_name may be a symlink, @@ -648,7 +657,7 @@ makelink(const char *from_name, const ch */ cp = dirname(to_name); if (realpath(cp, dst) == NULL) - err(1, "%s: realpath", cp); + err(EX_OSERR, "%s: realpath", cp); /* .. and add the last component */ if (strcmp(dst, "/") != 0) { if (strlcat(dst, "/", sizeof(dst)) > sizeof(dst)) @@ -726,23 +735,19 @@ install(const char *from_name, const cha devnull = 1; } - target = (stat(to_name, &to_sb) == 0); - if (!target && dolink & LN_SYMBOLIC && errno == ELOOP) + if (!dolink) + target = (stat(to_name, &to_sb) == 0); + else target = (lstat(to_name, &to_sb) == 0); if (dolink) { - if (target) { - if (to_sb.st_mode & S_IFDIR) { - errno = EFTYPE; - warn("%s", to_name); - return; - } - if (!safecopy) { - if (to_sb.st_flags & NOCHANGEBITS) - (void)chflags(to_name, - to_sb.st_flags & ~NOCHANGEBITS); - unlink(to_name); - } + if (target && !safecopy) { + if (to_sb.st_mode & S_IFDIR && rmdir(to_name) == -1) + err(EX_OSERR, "%s", to_name); + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, + to_sb.st_flags & ~NOCHANGEBITS); + unlink(to_name); } makelink(from_name, to_name, target ? &to_sb : NULL); return; From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 02:55:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D728449C; Wed, 9 Jan 2013 02:55:05 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B24A2C03; Wed, 9 Jan 2013 02:55:05 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r092t5pc005242; Wed, 9 Jan 2013 02:55:05 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r092t5aB005241; Wed, 9 Jan 2013 02:55:05 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090255.r092t5aB005241@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 02:55:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245207 - projects/mtree/etc X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 02:55:05 -0000 Author: brooks Date: Wed Jan 9 02:55:05 2013 New Revision: 245207 URL: http://svnweb.freebsd.org/changeset/base/245207 Log: Allow mtree to be overridden via MTREE_CMD to better support bootstrapping. Modified: projects/mtree/etc/Makefile Modified: projects/mtree/etc/Makefile ============================================================================== --- projects/mtree/etc/Makefile Wed Jan 9 02:50:50 2013 (r245206) +++ projects/mtree/etc/Makefile Wed Jan 9 02:55:05 2013 (r245207) @@ -291,25 +291,27 @@ distribution: ${DESTDIR}/etc/nsswitch.conf .endif +MTREE_CMD?= mtree + distrib-dirs: - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.include.dist \ + ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ + ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var + ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr + ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.include.dist \ -p ${DESTDIR}/usr/include .if ${MK_BIND_LIBS} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.include.dist \ + ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.include.dist \ -p ${DESTDIR}/usr/include .endif .if ${MK_BIND_MTREE} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.chroot.dist \ + ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.chroot.dist \ -p ${DESTDIR}/var/named .endif .if ${MK_GROFF} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.groff.dist -p ${DESTDIR}/usr + ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.groff.dist -p ${DESTDIR}/usr .endif .if ${MK_SENDMAIL} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ + ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ .endif cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 02:56:31 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B660B5C0; Wed, 9 Jan 2013 02:56:31 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A9EC4C14; Wed, 9 Jan 2013 02:56:31 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r092uVPS005445; Wed, 9 Jan 2013 02:56:31 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r092uUGh005439; Wed, 9 Jan 2013 02:56:30 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090256.r092uUGh005439@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 02:56:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245208 - projects/mtree/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 02:56:31 -0000 Author: brooks Date: Wed Jan 9 02:56:30 2013 New Revision: 245208 URL: http://svnweb.freebsd.org/changeset/base/245208 Log: Use install -l [sh] to create symbolic and hard links. This will allow metadata to be emitted when performing a non-root install. Modified: projects/mtree/share/mk/bsd.incs.mk projects/mtree/share/mk/bsd.info.mk projects/mtree/share/mk/bsd.lib.mk projects/mtree/share/mk/bsd.links.mk projects/mtree/share/mk/bsd.man.mk projects/mtree/share/mk/bsd.own.mk Modified: projects/mtree/share/mk/bsd.incs.mk ============================================================================== --- projects/mtree/share/mk/bsd.incs.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.incs.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -73,7 +73,7 @@ installincludes: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif .endif # !target(installincludes) Modified: projects/mtree/share/mk/bsd.info.mk ============================================================================== --- projects/mtree/share/mk/bsd.info.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.info.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -113,7 +113,7 @@ DVIPS2ASCII?= dvips2ascii .info.html: ${INFO2HTML} ${.IMPSRC} - ln -f ${.TARGET:R}.info.Top.html ${.TARGET} + ${INSTALL_LINK} ${.TARGET:R}.info.Top.html ${.TARGET} .PATH: ${.CURDIR} ${SRCDIR} Modified: projects/mtree/share/mk/bsd.lib.mk ============================================================================== --- projects/mtree/share/mk/bsd.lib.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.lib.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -181,7 +181,7 @@ ${SHLIB_NAME}: ${SOBJS} @${ECHO} building shared library ${SHLIB_NAME} @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) - @ln -fs ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_SYMLINK} ${SHLIB_NAME} ${SHLIB_LINK} .endif .if !defined(NM) @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ @@ -306,9 +306,9 @@ _libinstall: ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else .if ${SHLIBDIR} == ${LIBDIR} - ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} + ${INSTALL_SYMLINK} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else - ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ + ${INSTALL_SYMLINK} ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME}) -chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME} Modified: projects/mtree/share/mk/bsd.links.mk ============================================================================== --- projects/mtree/share/mk/bsd.links.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.links.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -15,7 +15,7 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -f $$l $$t; \ + ${INSTALL_LINK} $$l $$t; \ done; true .endif .if defined(SYMLINKS) && !empty(SYMLINKS) @@ -26,6 +26,6 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif Modified: projects/mtree/share/mk/bsd.man.mk ============================================================================== --- projects/mtree/share/mk/bsd.man.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.man.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -216,7 +216,7 @@ _maninstall: ${MAN} t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) @set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \ @@ -231,7 +231,7 @@ _maninstall: ${MAN} t=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .endif .endif Modified: projects/mtree/share/mk/bsd.own.mk ============================================================================== --- projects/mtree/share/mk/bsd.own.mk Wed Jan 9 02:55:05 2013 (r245207) +++ projects/mtree/share/mk/bsd.own.mk Wed Jan 9 02:56:30 2013 (r245208) @@ -181,6 +181,15 @@ NLSMODE?= ${NOBINMODE} INCLUDEDIR?= /usr/include +# +# install(1) parameters. +# +HRDLINK?= -l h +SYMLINK?= -l s + +INSTALL_LINK?= ${INSTALL} ${HRDLINK} +INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} + # Common variables .if !defined(DEBUG_FLAGS) STRIP?= -s From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 03:04:16 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3CDD08A7; Wed, 9 Jan 2013 03:04:16 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 26AC0D4A; Wed, 9 Jan 2013 03:04:16 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0934GOp008766; Wed, 9 Jan 2013 03:04:16 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0934GO9008765; Wed, 9 Jan 2013 03:04:16 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301090304.r0934GO9008765@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 03:04:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245209 - projects/mtree X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 03:04:16 -0000 Author: brooks Date: Wed Jan 9 03:04:15 2013 New Revision: 245209 URL: http://svnweb.freebsd.org/changeset/base/245209 Log: Allow installworld to succeed when performed by a nonroot user and optionally log the permissions to METALOG. In principle it should now be possible to do an installworld as non root and then use makefs to build a filesystem with correct perissions. Further polishing is likely required and future commits are likely change this to conform more closely to the NetBSD implementation. Modified: projects/mtree/Makefile.inc1 Modified: projects/mtree/Makefile.inc1 ============================================================================== --- projects/mtree/Makefile.inc1 Wed Jan 9 02:56:30 2013 (r245208) +++ projects/mtree/Makefile.inc1 Wed Jan 9 03:04:15 2013 (r245209) @@ -340,12 +340,23 @@ LIB32WMAKEFLAGS+= \ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \ + INSTALL="install -N ${.CURDIR}/etc ${INSTALLFLAGS}" .endif # install stage +.if !empty(METALOG) +INSTALLFLAGS= -M ${METALOG} -D ${DESTDIR} +.endif +USER!= id -u +.if ${USER} != 0 +INSTALLFLAGS+= -U +MTREEFLAGS+= -W +.endif IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ + INSTALL="install -N ${.CURDIR}/etc ${INSTALLFLAGS}" \ + MTREE_CMD="nmtree -N ${.CURDIR}/etc ${MTREEFLAGS}" .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ LD_LIBRARY_PATH=${INSTALLTMP} \ @@ -609,45 +620,17 @@ installcheck_DESTDIR: .endif # -# Check for missing UIDs/GIDs. -# -CHECK_UIDS= auditdistd -CHECK_GIDS= audit -.if ${MK_SENDMAIL} != "no" -CHECK_UIDS+= smmsp -CHECK_GIDS+= smmsp -.endif -.if ${MK_PF} != "no" -CHECK_UIDS+= proxy -CHECK_GIDS+= proxy authpf -.endif -installcheck: installcheck_UGID -installcheck_UGID: -.for uid in ${CHECK_UIDS} - @if ! `id -u ${uid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${uid} user is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor -.for gid in ${CHECK_GIDS} - @if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${gid} group is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor - -# # Required install tools to be saved in a scratch dir for safety. # .if ${MK_INFO} != "no" _install-info= install-info .endif .if ${MK_ZONEINFO} != "no" -_zoneinfo= zic tzsetup +_zoneinfo= zic tzsetup xargs .endif ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep ${_install-info} \ + date echo egrep find grep id ${_install-info} \ ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ test true uname wc ${_zoneinfo} @@ -692,6 +675,7 @@ distributeworld installworld: installche done); \ cp $$libs $$progs ${INSTALLTMP} cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale + rm -f ${METALOG} .if make(distributeworld) .for dist in ${EXTRA_DISTRIBUTIONS} -mkdir ${DESTDIR}/${DISTDIR}/${dist} @@ -1111,6 +1095,7 @@ bootstrap-tools: ${_ar} \ ${_dtc} \ ${_awk} \ + lib/libnetbsd \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ @@ -1120,7 +1105,8 @@ bootstrap-tools: ${_lex} \ usr.bin/xinstall \ ${_gensnmptree} \ - usr.sbin/config + usr.sbin/config \ + usr.sbin/nmtree ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 03:32:26 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 22160F4C; Wed, 9 Jan 2013 03:32:26 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EE2F3E47; Wed, 9 Jan 2013 03:32:25 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r093WPpW017236; Wed, 9 Jan 2013 03:32:25 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r093WOfU017224; Wed, 9 Jan 2013 03:32:24 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301090332.r093WOfU017224@svn.freebsd.org> From: Neel Natu Date: Wed, 9 Jan 2013 03:32:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245210 - in projects/bhyve: sys/amd64/amd64 sys/arm/arm sys/arm/include sys/arm/ti/omap4 sys/dev/ath sys/netinet6 usr.bin/tail X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 03:32:26 -0000 Author: neel Date: Wed Jan 9 03:32:23 2013 New Revision: 245210 URL: http://svnweb.freebsd.org/changeset/base/245210 Log: IFC @ r245205 Modified: projects/bhyve/sys/amd64/amd64/vm_machdep.c projects/bhyve/sys/arm/arm/pl310.c projects/bhyve/sys/arm/include/pcpu.h projects/bhyve/sys/arm/ti/omap4/std.omap4 projects/bhyve/sys/dev/ath/if_ath_rx.c projects/bhyve/sys/dev/ath/if_ath_spectral.c projects/bhyve/sys/dev/ath/if_athioctl.h projects/bhyve/sys/netinet6/scope6.c projects/bhyve/usr.bin/tail/read.c Directory Properties: projects/bhyve/ (props changed) projects/bhyve/sys/ (props changed) Modified: projects/bhyve/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/bhyve/sys/amd64/amd64/vm_machdep.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/amd64/amd64/vm_machdep.c Wed Jan 9 03:32:23 2013 (r245210) @@ -574,10 +574,9 @@ cpu_reset_proxy() cpuset_t tcrp; cpu_reset_proxy_active = 1; - while (cpu_reset_proxy_active == 1) { - ia32_pause(); - ; /* Wait for other cpu to see that we've started */ - } + while (cpu_reset_proxy_active == 1) + ia32_pause(); /* Wait for other cpu to see that we've started */ + CPU_SETOF(cpu_reset_proxyid, &tcrp); stop_cpus(tcrp); printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid); Modified: projects/bhyve/sys/arm/arm/pl310.c ============================================================================== --- projects/bhyve/sys/arm/arm/pl310.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/arm/arm/pl310.c Wed Jan 9 03:32:23 2013 (r245210) @@ -73,13 +73,6 @@ __FBSDID("$FreeBSD$"); static int pl310_enabled = 1; TUNABLE_INT("pl310.enabled", &pl310_enabled); -void omap4_l2cache_wbinv_range(vm_paddr_t physaddr, vm_size_t size); -void omap4_l2cache_inv_range(vm_paddr_t physaddr, vm_size_t size); -void omap4_l2cache_wb_range(vm_paddr_t physaddr, vm_size_t size); -void omap4_l2cache_wbinv_all(void); -void omap4_l2cache_inv_all(void); -void omap4_l2cache_wb_all(void); - static uint32_t g_l2cache_way_mask; static const uint32_t g_l2cache_line_size = 32; Modified: projects/bhyve/sys/arm/include/pcpu.h ============================================================================== --- projects/bhyve/sys/arm/include/pcpu.h Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/arm/include/pcpu.h Wed Jan 9 03:32:23 2013 (r245210) @@ -100,8 +100,8 @@ set_tls(void *tls) #define PCPU_GET(member) (get_pcpu()->pc_ ## member) #define PCPU_ADD(member, value) (get_pcpu()->pc_ ## member += (value)) #define PCPU_INC(member) PCPU_ADD(member, 1) -#define PCPU_PTR(member) (&pcpup->pc_ ## member) -#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) +#define PCPU_PTR(member) (&get_pcpu()->pc_ ## member) +#define PCPU_SET(member,value) (get_pcpu()->pc_ ## member = (value)) void pcpu0_init(void); #endif /* _KERNEL */ Modified: projects/bhyve/sys/arm/ti/omap4/std.omap4 ============================================================================== --- projects/bhyve/sys/arm/ti/omap4/std.omap4 Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/arm/ti/omap4/std.omap4 Wed Jan 9 03:32:23 2013 (r245210) @@ -19,3 +19,7 @@ options STARTUP_PAGETABLE_ADDR=0x800000 options SOC_OMAP4 options ARM_L2_PIPT + +options IPI_IRQ_START=0 +options IPI_IRQ_END=15 + Modified: projects/bhyve/sys/dev/ath/if_ath_rx.c ============================================================================== --- projects/bhyve/sys/dev/ath/if_ath_rx.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/dev/ath/if_ath_rx.c Wed Jan 9 03:32:23 2013 (r245210) @@ -210,6 +210,13 @@ ath_calcrxfilter(struct ath_softc *sc) if (sc->sc_dodfs) rfilt |= HAL_RX_FILTER_PHYRADAR; + /* + * Enable spectral PHY errors if requested by the + * spectral module. + */ + if (sc->sc_dospectral) + rfilt |= HAL_RX_FILTER_PHYRADAR; + DPRINTF(sc, ATH_DEBUG_MODE, "%s: RX filter 0x%x, %s if_flags 0x%x\n", __func__, rfilt, ieee80211_opmode_name[ic->ic_opmode], ifp->if_flags); return rfilt; Modified: projects/bhyve/sys/dev/ath/if_ath_spectral.c ============================================================================== --- projects/bhyve/sys/dev/ath/if_ath_spectral.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/dev/ath/if_ath_spectral.c Wed Jan 9 03:32:23 2013 (r245210) @@ -73,8 +73,21 @@ __FBSDID("$FreeBSD$"); struct ath_spectral_state { HAL_SPECTRAL_PARAM spectral_state; - int spectral_active; - int spectral_enabled; + + /* + * Should we enable spectral scan upon + * each network interface reset/change? + * + * This is intended to allow spectral scan + * frame reporting during channel scans. + * + * Later on it can morph into a larger + * scale config method where it pushes + * a "channel scan" config into the hardware + * rather than just the spectral_state + * config. + */ + int spectral_enable_after_reset; }; /* @@ -135,7 +148,20 @@ ath_spectral_detach(struct ath_softc *sc int ath_spectral_enable(struct ath_softc *sc, struct ieee80211_channel *ch) { + struct ath_spectral_state *ss = sc->sc_spectral; + /* Default to disable spectral PHY reporting */ + sc->sc_dospectral = 0; + + if (ss == NULL) + return (0); + + if (ss->spectral_enable_after_reset) { + ath_hal_spectral_configure(sc->sc_ah, + &ss->spectral_state); + (void) ath_hal_spectral_start(sc->sc_ah); + sc->sc_dospectral = 1; + } return (0); } @@ -158,6 +184,7 @@ ath_ioctl_spectral(struct ath_softc *sc, HAL_SPECTRAL_PARAM peout; HAL_SPECTRAL_PARAM *pe; struct ath_spectral_state *ss = sc->sc_spectral; + int val; if (! ath_hal_spectral_supported(sc->sc_ah)) return (EINVAL); @@ -212,9 +239,32 @@ ath_ioctl_spectral(struct ath_softc *sc, ath_hal_spectral_configure(sc->sc_ah, &ss->spectral_state); (void) ath_hal_spectral_start(sc->sc_ah); + sc->sc_dospectral = 1; + /* XXX need to update the PHY mask in the driver */ break; case SPECTRAL_CONTROL_STOP: (void) ath_hal_spectral_stop(sc->sc_ah); + sc->sc_dospectral = 0; + /* XXX need to update the PHY mask in the driver */ + break; + case SPECTRAL_CONTROL_ENABLE_AT_RESET: + if (insize < sizeof(int)) { + device_printf(sc->sc_dev, "%d != %d\n", + insize, + (int) sizeof(int)); + error = EINVAL; + break; + } + if (indata == NULL) { + device_printf(sc->sc_dev, "indata=NULL\n"); + error = EINVAL; + break; + } + val = * ((int *) indata); + if (val == 0) + ss->spectral_enable_after_reset = 0; + else + ss->spectral_enable_after_reset = 1; break; case SPECTRAL_CONTROL_ENABLE: /* XXX TODO */ Modified: projects/bhyve/sys/dev/ath/if_athioctl.h ============================================================================== --- projects/bhyve/sys/dev/ath/if_athioctl.h Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/dev/ath/if_athioctl.h Wed Jan 9 03:32:23 2013 (r245210) @@ -427,5 +427,7 @@ struct ath_tx_radiotap_header { #define SPECTRAL_CONTROL_STOP 5 #define SPECTRAL_CONTROL_GET_PARAMS 6 #define SPECTRAL_CONTROL_SET_PARAMS 7 +#define SPECTRAL_CONTROL_ENABLE_AT_RESET 8 +#define SPECTRAL_CONTROL_DISABLE_AT_RESET 9 #endif /* _DEV_ATH_ATHIOCTL_H */ Modified: projects/bhyve/sys/netinet6/scope6.c ============================================================================== --- projects/bhyve/sys/netinet6/scope6.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/sys/netinet6/scope6.c Wed Jan 9 03:32:23 2013 (r245210) @@ -420,33 +420,34 @@ in6_setscope(struct in6_addr *in6, struc u_int32_t zoneid = 0; struct scope6_id *sid; - IF_AFDATA_RLOCK(ifp); - - sid = SID(ifp); - -#ifdef DIAGNOSTIC - if (sid == NULL) { /* should not happen */ - panic("in6_setscope: scope array is NULL"); - /* NOTREACHED */ - } -#endif - /* * special case: the loopback address can only belong to a loopback * interface. */ if (IN6_IS_ADDR_LOOPBACK(in6)) { if (!(ifp->if_flags & IFF_LOOPBACK)) { - IF_AFDATA_RUNLOCK(ifp); return (EINVAL); } else { if (ret_id != NULL) *ret_id = 0; /* there's no ambiguity */ - IF_AFDATA_RUNLOCK(ifp); return (0); } } + if (ret_id == NULL && !IN6_IS_SCOPE_EMBED(in6)) + return (0); + + IF_AFDATA_RLOCK(ifp); + + sid = SID(ifp); + +#ifdef DIAGNOSTIC + if (sid == NULL) { /* should not happen */ + panic("in6_setscope: scope array is NULL"); + /* NOTREACHED */ + } +#endif + scope = in6_addrscope(in6); switch (scope) { case IPV6_ADDR_SCOPE_INTFACELOCAL: /* should be interface index */ @@ -474,7 +475,7 @@ in6_setscope(struct in6_addr *in6, struc if (ret_id != NULL) *ret_id = zoneid; - if (IN6_IS_SCOPE_LINKLOCAL(in6) || IN6_IS_ADDR_MC_INTFACELOCAL(in6)) + if (IN6_IS_SCOPE_EMBED(in6)) in6->s6_addr16[1] = htons(zoneid & 0xffff); /* XXX */ return (0); Modified: projects/bhyve/usr.bin/tail/read.c ============================================================================== --- projects/bhyve/usr.bin/tail/read.c Wed Jan 9 03:04:15 2013 (r245209) +++ projects/bhyve/usr.bin/tail/read.c Wed Jan 9 03:32:23 2013 (r245210) @@ -143,9 +143,8 @@ lines(FILE *fp, const char *fn, off_t of char *p, *sp; int blen, cnt, recno, wrap; - if ((llines = malloc(off * sizeof(*llines))) == NULL) - err(1, "malloc"); - bzero(llines, off * sizeof(*llines)); + if ((llines = calloc(off, sizeof(*llines))) == NULL) + err(1, "calloc"); p = sp = NULL; blen = cnt = recno = wrap = 0; rc = 0; From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 03:52:04 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0C60431D; Wed, 9 Jan 2013 03:52:04 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3DB3EC6; Wed, 9 Jan 2013 03:52:03 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r093q3fO022602; Wed, 9 Jan 2013 03:52:03 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r093q3Pr022601; Wed, 9 Jan 2013 03:52:03 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301090352.r093q3Pr022601@svn.freebsd.org> From: Neel Natu Date: Wed, 9 Jan 2013 03:52:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245211 - projects/bhyve/sys/boot/common X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 03:52:04 -0000 Author: neel Date: Wed Jan 9 03:52:03 2013 New Revision: 245211 URL: http://svnweb.freebsd.org/changeset/base/245211 Log: Get rid of gratuitous diff with respect to HEAD. Obtained from: NetApp Modified: projects/bhyve/sys/boot/common/interp_forth.c Modified: projects/bhyve/sys/boot/common/interp_forth.c ============================================================================== --- projects/bhyve/sys/boot/common/interp_forth.c Wed Jan 9 03:32:23 2013 (r245210) +++ projects/bhyve/sys/boot/common/interp_forth.c Wed Jan 9 03:52:03 2013 (r245211) @@ -246,7 +246,6 @@ bf_init(void) struct bootblk_command **cmdp; char create_buf[41]; /* 31 characters-long builtins */ int fd; - bf_sys = ficlInitSystem(BF_DICTSIZE); bf_vm = ficlNewVM(bf_sys); From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 04:02:24 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 649D66A8; Wed, 9 Jan 2013 04:02:24 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 58086F30; Wed, 9 Jan 2013 04:02:24 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0942OFD026198; Wed, 9 Jan 2013 04:02:24 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0942OGk026197; Wed, 9 Jan 2013 04:02:24 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301090402.r0942OGk026197@svn.freebsd.org> From: Neel Natu Date: Wed, 9 Jan 2013 04:02:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245212 - projects/bhyve/usr.sbin X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 04:02:24 -0000 Author: neel Date: Wed Jan 9 04:02:23 2013 New Revision: 245212 URL: http://svnweb.freebsd.org/changeset/base/245212 Log: Sort the 'bhyvectl' subdir alphabetically. Obtained from: NetApp Modified: projects/bhyve/usr.sbin/Makefile.amd64 Modified: projects/bhyve/usr.sbin/Makefile.amd64 ============================================================================== --- projects/bhyve/usr.sbin/Makefile.amd64 Wed Jan 9 03:52:03 2013 (r245211) +++ projects/bhyve/usr.sbin/Makefile.amd64 Wed Jan 9 04:02:23 2013 (r245212) @@ -11,6 +11,7 @@ SUBDIR+= apm .endif SUBDIR+= asf SUBDIR+= bhyve +SUBDIR+= bhyvectl SUBDIR+= bhyveload SUBDIR+= boot0cfg .if ${MK_TOOLCHAIN} != "no" @@ -25,5 +26,4 @@ SUBDIR+= ndiscvt .endif SUBDIR+= sicontrol SUBDIR+= spkrtest -SUBDIR+= bhyvectl SUBDIR+= zzz From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 04:04:31 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A7DC07D8; Wed, 9 Jan 2013 04:04:31 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6D30CF40; Wed, 9 Jan 2013 04:04:31 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0944VxC026579; Wed, 9 Jan 2013 04:04:31 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0944VGW026578; Wed, 9 Jan 2013 04:04:31 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201301090404.r0944VGW026578@svn.freebsd.org> From: Neel Natu Date: Wed, 9 Jan 2013 04:04:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245213 - projects/bhyve/usr.sbin/bhyvectl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 04:04:31 -0000 Author: neel Date: Wed Jan 9 04:04:30 2013 New Revision: 245213 URL: http://svnweb.freebsd.org/changeset/base/245213 Log: Get rid of 'sample.sh' from here - it belongs in the /usr/share/examples directory. Obtained from: NetApp Deleted: projects/bhyve/usr.sbin/bhyvectl/sample.sh From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 05:02:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A85A7D6A; Wed, 9 Jan 2013 05:02:56 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6ACFC11E; Wed, 9 Jan 2013 05:02:56 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0952umt043601; Wed, 9 Jan 2013 05:02:56 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0952tCY043599; Wed, 9 Jan 2013 05:02:55 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301090502.r0952tCY043599@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Jan 2013 05:02:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245214 - in projects/altix2/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 05:02:56 -0000 Author: marcel Date: Wed Jan 9 05:02:55 2013 New Revision: 245214 URL: http://svnweb.freebsd.org/changeset/base/245214 Log: Add the BUSDMA_ALLOC_CONSISTENT flag. Pass it along in the mtag and save it in the memory descriptor. The flag tells the backend that the allocation needs a coherent and unbuffered (synchronous) DMA mapping because it's used for a CPU and device handshake protocol, such as mailboxes and/or buffer rings. On the SGI Altix, this means that we cannot use a direct-mapped 32-bit DMA address, nor a 64-bit DAC address when the PCI bus is not in PCI-X mode. Modified: projects/altix2/sys/kern/subr_busdma.c projects/altix2/sys/sys/busdma.h Modified: projects/altix2/sys/kern/subr_busdma.c ============================================================================== --- projects/altix2/sys/kern/subr_busdma.c Wed Jan 9 04:04:30 2013 (r245213) +++ projects/altix2/sys/kern/subr_busdma.c Wed Jan 9 05:02:55 2013 (r245214) @@ -813,7 +813,7 @@ busdma_mem_alloc(struct busdma_tag *tag, if (md == NULL) return (ENOMEM); - mtag.dmt_flags = flags & BUSDMA_MD_PLATFORM_FLAGS; + mtag.dmt_flags = flags; mtag.dmt_minaddr = tag->dt_minaddr; mtag.dmt_maxaddr = tag->dt_maxaddr; mtag.dmt_maxsz = tag->dt_maxsegsz; @@ -826,7 +826,7 @@ busdma_mem_alloc(struct busdma_tag *tag, goto fail; } - md->md_flags |= mtag.dmt_flags & BUSDMA_MD_PLATFORM_FLAGS; + md->md_flags = mtag.dmt_flags; mflags = (flags & BUSDMA_ALLOC_ZERO) ? M_ZERO : 0; idx = 0; Modified: projects/altix2/sys/sys/busdma.h ============================================================================== --- projects/altix2/sys/sys/busdma.h Wed Jan 9 04:04:30 2013 (r245213) +++ projects/altix2/sys/sys/busdma.h Wed Jan 9 05:02:55 2013 (r245214) @@ -148,9 +148,12 @@ busdma_md_get_pointer(busdma_md_t md, u_ */ int busdma_mem_alloc(busdma_tag_t tag, u_int flags, busdma_md_t *md_p); -/* Allocate pre-zeroed memory. */ +/* Allocate pre-zeroed DMA memory. */ #define BUSDMA_ALLOC_ZERO 0x10000 +/* Allocate memory with consistent mapping. */ +#define BUSDMA_ALLOC_CONSISTENT 0x20000 + /* * busdma_mem_free * returns: errno value From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 05:04:14 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3A6E8E92; Wed, 9 Jan 2013 05:04:14 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 27E35129; Wed, 9 Jan 2013 05:04:14 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0954EDv043839; Wed, 9 Jan 2013 05:04:14 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0954EBt043838; Wed, 9 Jan 2013 05:04:14 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301090504.r0954EBt043838@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Jan 2013 05:04:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245215 - projects/altix2/sys/dev/isp X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 05:04:14 -0000 Author: marcel Date: Wed Jan 9 05:04:13 2013 New Revision: 245215 URL: http://svnweb.freebsd.org/changeset/base/245215 Log: Allocate the request/response queue with BUSDMA_ALLOC_CONSISTENT. It's required on the SGI Altix for coherency. Modified: projects/altix2/sys/dev/isp/isp_pci.c Modified: projects/altix2/sys/dev/isp/isp_pci.c ============================================================================== --- projects/altix2/sys/dev/isp/isp_pci.c Wed Jan 9 05:02:55 2013 (r245214) +++ projects/altix2/sys/dev/isp/isp_pci.c Wed Jan 9 05:04:13 2013 (r245215) @@ -1580,8 +1580,8 @@ isp_pci_mbxdma(ispsoftc_t *isp) return (error); } - error = busdma_mem_alloc(isp->isp_osinfo.cdmat, 0, - &isp->isp_osinfo.cdmd); + error = busdma_mem_alloc(isp->isp_osinfo.cdmat, + BUSDMA_ALLOC_CONSISTENT, &isp->isp_osinfo.cdmd); if (error != 0) { isp_prt(isp, ISP_LOGERR, "cannot allocate %d bytes of CCB memory", len); busdma_tag_destroy(isp->isp_osinfo.cdmat); From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 05:16:06 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6D75ADB; Wed, 9 Jan 2013 05:16:06 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4F2EF180; Wed, 9 Jan 2013 05:16:06 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r095G68U047197; Wed, 9 Jan 2013 05:16:06 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r095G30Y047179; Wed, 9 Jan 2013 05:16:03 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201301090516.r095G30Y047179@svn.freebsd.org> From: Jeff Roberson Date: Wed, 9 Jan 2013 05:16:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245216 - in projects/physbio/sys: arm/arm conf ia64/ia64 kern mips/mips powerpc/powerpc sparc64/include sparc64/sparc64 sys x86/x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 05:16:06 -0000 Author: jeff Date: Wed Jan 9 05:16:03 2013 New Revision: 245216 URL: http://svnweb.freebsd.org/changeset/base/245216 Log: - Call bus_dma_memory memdesc instead to make it more generic. Place it in its own header for now. - Move subr_busdma.c to subr_bus_dma.c for marcel. Sponsored by: EMC / Isilon Storage Division Added: projects/physbio/sys/kern/subr_bus_dma.c - copied, changed from r244877, projects/physbio/sys/kern/subr_busdma.c projects/physbio/sys/sys/memdesc.h Deleted: projects/physbio/sys/kern/subr_busdma.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/conf/files projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/include/bus_dma.h projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/sys/bus_dma.h projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Wed Jan 9 05:16:03 2013 (r245216) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -155,7 +156,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc mem; pmap_t pmap; bus_dmamap_callback_t *callback; void *callback_arg; @@ -1037,11 +1038,11 @@ cleanup: void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { - map->mem = mem; + map->mem = *mem; map->dmat = dmat; map->callback = callback; map->callback_arg = callback_arg; Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -172,7 +173,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc mem; int flags; STAILQ_ENTRY(bus_dmamap) links; bus_dmamap_callback_t *callback; @@ -1107,13 +1108,13 @@ cleanup: void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { KASSERT(dmat != NULL, ("dmatag is NULL")); KASSERT(map != NULL, ("dmamap is NULL")); - map->mem = mem; + map->mem = *mem; map->callback = callback; map->callback_arg = callback_arg; } Modified: projects/physbio/sys/conf/files ============================================================================== --- projects/physbio/sys/conf/files Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/conf/files Wed Jan 9 05:16:03 2013 (r245216) @@ -2671,7 +2671,7 @@ kern/subr_acl_posix1e.c optional ufs_ac kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard -kern/subr_busdma.c standard +kern/subr_bus_dma.c standard kern/subr_bufring.c standard kern/subr_clock.c standard kern/subr_devstat.c standard Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -107,7 +108,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc mem; bus_dmamap_callback_t *callback; void *callback_arg; STAILQ_ENTRY(bus_dmamap) links; @@ -728,11 +729,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, void *callback_arg) + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { if (map != NULL) { map->dmat = dmat; - map->mem = mem; + map->mem = *mem; map->callback = callback; map->callback_arg = callback_arg; } Copied and modified: projects/physbio/sys/kern/subr_bus_dma.c (from r244877, projects/physbio/sys/kern/subr_busdma.c) ============================================================================== --- projects/physbio/sys/kern/subr_busdma.c Mon Dec 31 01:13:41 2012 (r244877, copy source) +++ projects/physbio/sys/kern/subr_bus_dma.c Wed Jan 9 05:16:03 2013 (r245216) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -248,12 +249,14 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ void *callback_arg, int flags) { bus_dma_segment_t *segs; + struct memdesc mem; int error; int nsegs; - if ((flags & BUS_DMA_NOWAIT) == 0) - _bus_dmamap_waitok(dmat, map, dma_mem_vaddr(buf, buflen), - callback, callback_arg); + if ((flags & BUS_DMA_NOWAIT) == 0) { + mem = memdesc_vaddr(buf, buflen); + _bus_dmamap_waitok(dmat, map, &mem, callback, callback_arg); + } nsegs = -1; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, @@ -349,6 +352,7 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, { bus_dma_segment_t *segs; struct ccb_hdr *ccb_h; + struct memdesc mem; int error; int nsegs; @@ -357,9 +361,10 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, callback(callback_arg, NULL, 0, 0); return (0); } - if ((flags & BUS_DMA_NOWAIT) == 0) - _bus_dmamap_waitok(dmat, map, dma_mem_ccb(ccb), callback, - callback_arg); + if ((flags & BUS_DMA_NOWAIT) == 0) { + mem = memdesc_ccb(ccb); + _bus_dmamap_waitok(dmat, map, &mem, callback, callback_arg); + } nsegs = -1; error = _bus_dmamap_load_ccb(dmat, map, ccb, &nsegs, flags); nsegs++; @@ -383,7 +388,7 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, int bus_dmamap_load_mem(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t *mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { bus_dma_segment_t *segs; @@ -391,41 +396,41 @@ bus_dmamap_load_mem(bus_dma_tag_t dmat, int nsegs; if ((flags & BUS_DMA_NOWAIT) == 0) - _bus_dmamap_waitok(dmat, map, *mem, callback, callback_arg); + _bus_dmamap_waitok(dmat, map, mem, callback, callback_arg); nsegs = -1; error = 0; - switch (mem->dm_type) { - case BUS_DMAMEM_VADDR: - error = _bus_dmamap_load_buffer(dmat, map, mem->u.dm_vaddr, - mem->dm_opaque, kernel_pmap, flags, NULL, &nsegs); - break; - case BUS_DMAMEM_PADDR: - error = _bus_dmamap_load_phys(dmat, map, mem->u.dm_paddr, - mem->dm_opaque, flags, NULL, &nsegs); - break; - case BUS_DMAMEM_VLIST: - error = _bus_dmamap_load_vlist(dmat, map, mem->u.dm_list, - mem->dm_opaque, kernel_pmap, &nsegs, flags); - break; - case BUS_DMAMEM_PLIST: - error = _bus_dmamap_load_plist(dmat, map, mem->u.dm_list, - mem->dm_opaque, &nsegs, flags); + switch (mem->md_type) { + case MEMDESC_VADDR: + error = _bus_dmamap_load_buffer(dmat, map, mem->u.md_vaddr, + mem->md_opaque, kernel_pmap, flags, NULL, &nsegs); + break; + case MEMDESC_PADDR: + error = _bus_dmamap_load_phys(dmat, map, mem->u.md_paddr, + mem->md_opaque, flags, NULL, &nsegs); + break; + case MEMDESC_VLIST: + error = _bus_dmamap_load_vlist(dmat, map, mem->u.md_list, + mem->md_opaque, kernel_pmap, &nsegs, flags); + break; + case MEMDESC_PLIST: + error = _bus_dmamap_load_plist(dmat, map, mem->u.md_list, + mem->md_opaque, &nsegs, flags); break; - case BUS_DMAMEM_BIO: - error = _bus_dmamap_load_bio(dmat, map, mem->u.dm_bio, + case MEMDESC_BIO: + error = _bus_dmamap_load_bio(dmat, map, mem->u.md_bio, &nsegs, flags); break; - case BUS_DMAMEM_UIO: - error = _bus_dmamap_load_uio(dmat, map, mem->u.dm_uio, + case MEMDESC_UIO: + error = _bus_dmamap_load_uio(dmat, map, mem->u.md_uio, &nsegs, flags); break; - case BUS_DMAMEM_MBUF: - error = _bus_dmamap_load_mbuf_sg(dmat, map, mem->u.dm_mbuf, + case MEMDESC_MBUF: + error = _bus_dmamap_load_mbuf_sg(dmat, map, mem->u.md_mbuf, NULL, &nsegs, flags); break; - case BUS_DMAMEM_CCB: - error = _bus_dmamap_load_ccb(dmat, map, mem->u.dm_ccb, &nsegs, + case MEMDESC_CCB: + error = _bus_dmamap_load_ccb(dmat, map, mem->u.md_ccb, &nsegs, flags); break; } Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -137,7 +138,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc *mem; int flags; void *origbuffer; void *allocbuffer; @@ -965,12 +966,12 @@ cleanup: void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, void *callback_arg) + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { KASSERT(dmat != NULL, ("dmatag is NULL")); KASSERT(map != NULL, ("dmamap is NULL")); - map->mem = mem; + map->mem = *mem; map->callback = callback; map->callback_arg = callback_arg; } Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -125,7 +126,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc *mem; bus_dma_segment_t *segments; int nsegs; bus_dmamap_callback_t *callback; @@ -826,13 +827,13 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { if (dmat->flags & BUS_DMA_COULD_BOUNCE) { map->dmat = dmat; - map->mem = mem; + map->mem = *mem; map->callback = callback; map->callback_arg = callback_arg; } Modified: projects/physbio/sys/sparc64/include/bus_dma.h ============================================================================== --- projects/physbio/sys/sparc64/include/bus_dma.h Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/sparc64/include/bus_dma.h Wed Jan 9 05:16:03 2013 (r245216) @@ -85,7 +85,7 @@ struct bus_dma_methods { void *buf, bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, int *segp); void (*dm_dmamap_waitok)(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg); bus_dma_segment_t *(*dm_dmamap_complete)(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dma_segment_t *segs, int nsegs, int error); Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -451,7 +451,7 @@ nexus_dmamap_load_buffer(bus_dma_tag_t d static void nexus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, void *callback_arg) + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { } Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Wed Jan 9 05:16:03 2013 (r245216) @@ -1087,7 +1087,7 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t static void iommu_dvmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, void *callback_arg) + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { } Modified: projects/physbio/sys/sys/bus_dma.h ============================================================================== --- projects/physbio/sys/sys/bus_dma.h Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/sys/bus_dma.h Wed Jan 9 05:16:03 2013 (r245216) @@ -110,11 +110,12 @@ #define BUS_DMA_KEEP_PG_OFFSET 0x400 /* Forwards needed by prototypes below. */ -struct pmap; +union ccb; +struct bio; struct mbuf; +struct memdesc; +struct pmap; struct uio; -struct bio; -union ccb; /* * Operations performed by bus_dmamap_sync(). @@ -136,128 +137,6 @@ typedef struct bus_dma_segment { } bus_dma_segment_t; /* - * bus_dma_memory_t - * - * Encapsulates various memory descriptors that devices may DMA - * to or from. - */ - -typedef struct bus_dma_memory { - union { - void *dm_vaddr; - vm_paddr_t dm_paddr; - bus_dma_segment_t *dm_list; - struct bio *dm_bio; - struct uio *dm_uio; - struct mbuf *dm_mbuf; - union ccb *dm_ccb; - } u; - bus_size_t dm_opaque; /* type specific data. */ - uint32_t dm_type; /* Type of memory. */ -} bus_dma_memory_t; - -#define BUS_DMAMEM_VADDR 1 /* Contiguous virtual address. */ -#define BUS_DMAMEM_PADDR 2 /* Contiguous physical address. */ -#define BUS_DMAMEM_VLIST 3 /* sglist of kva. */ -#define BUS_DMAMEM_PLIST 4 /* sglist of physical addresses. */ -#define BUS_DMAMEM_BIO 5 /* Pointer to a bio (block io). */ -#define BUS_DMAMEM_UIO 6 /* Pointer to a uio (any io). */ -#define BUS_DMAMEM_MBUF 7 /* Pointer to a mbuf (network io). */ -#define BUS_DMAMEM_CCB 8 /* Cam control block. (scsi/ata io). */ - -static inline bus_dma_memory_t -dma_mem_vaddr(void *vaddr, bus_size_t len) -{ - bus_dma_memory_t mem; - - mem.u.dm_vaddr = vaddr; - mem.dm_opaque = len; - mem.dm_type = BUS_DMAMEM_VADDR; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_paddr(vm_paddr_t paddr, bus_size_t len) -{ - bus_dma_memory_t mem; - - mem.u.dm_paddr = paddr; - mem.dm_opaque = len; - mem.dm_type = BUS_DMAMEM_PADDR; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_vlist(bus_dma_segment_t *vlist, int sglist_cnt) -{ - bus_dma_memory_t mem; - - mem.u.dm_list = vlist; - mem.dm_opaque = sglist_cnt; - mem.dm_type = BUS_DMAMEM_VLIST; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_plist(bus_dma_segment_t *plist, int sglist_cnt) -{ - bus_dma_memory_t mem; - - mem.u.dm_list = plist; - mem.dm_opaque = sglist_cnt; - mem.dm_type = BUS_DMAMEM_PLIST; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_bio(struct bio *bio) -{ - bus_dma_memory_t mem; - - mem.u.dm_bio = bio; - mem.dm_type = BUS_DMAMEM_BIO; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_uio(struct uio *uio) -{ - bus_dma_memory_t mem; - - mem.u.dm_uio = uio; - mem.dm_type = BUS_DMAMEM_UIO; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_mbuf(struct mbuf *mbuf) -{ - bus_dma_memory_t mem; - - mem.u.dm_mbuf = mbuf; - mem.dm_type = BUS_DMAMEM_MBUF; - - return (mem); -} - -static inline bus_dma_memory_t -dma_mem_ccb(union ccb *ccb) -{ - bus_dma_memory_t mem; - - mem.u.dm_ccb = ccb; - mem.dm_type = BUS_DMAMEM_CCB; - - return (mem); -} - -/* * A function that returns 1 if the address cannot be accessed by * a device and 0 if it can be. */ @@ -355,7 +234,7 @@ int bus_dmamap_load_ccb(bus_dma_tag_t dm * Loads any memory descriptor. */ int bus_dmamap_load_mem(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t *mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg, int flags); /* @@ -417,7 +296,7 @@ void _bus_dmamap_unload(bus_dma_tag_t dm * software. */ void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg); Added: projects/physbio/sys/sys/memdesc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/physbio/sys/sys/memdesc.h Wed Jan 9 05:16:03 2013 (r245216) @@ -0,0 +1,154 @@ +/*- + * Copyright (c) 2012 EMC Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _SYS_MEMDESC_H_ +#define _SYS_MEMDESC_H_ + +struct bio; +struct bus_dma_segment; +struct uio; +struct mbuf; +union ccb; + +/* + * struct memdesc encapsulates various memory descriptors and provides + * abstract access to them. + */ +struct memdesc { + union { + void *md_vaddr; + vm_paddr_t md_paddr; + struct bus_dma_segment *md_list; + struct bio *md_bio; + struct uio *md_uio; + struct mbuf *md_mbuf; + union ccb *md_ccb; + } u; + size_t md_opaque; /* type specific data. */ + uint32_t md_type; /* Type of memory. */ +}; + +#define MEMDESC_VADDR 1 /* Contiguous virtual address. */ +#define MEMDESC_PADDR 2 /* Contiguous physical address. */ +#define MEMDESC_VLIST 3 /* scatter/gather list of kva addresses. */ +#define MEMDESC_PLIST 4 /* scatter/gather list of physical addresses. */ +#define MEMDESC_BIO 5 /* Pointer to a bio (block io). */ +#define MEMDESC_UIO 6 /* Pointer to a uio (any io). */ +#define MEMDESC_MBUF 7 /* Pointer to a mbuf (network io). */ +#define MEMDESC_CCB 8 /* Cam control block. (scsi/ata io). */ + +static inline struct memdesc +memdesc_vaddr(void *vaddr, size_t len) +{ + struct memdesc mem; + + mem.u.md_vaddr = vaddr; + mem.md_opaque = len; + mem.md_type = MEMDESC_VADDR; + + return (mem); +} + +static inline struct memdesc +memdesc_paddr(vm_paddr_t paddr, size_t len) +{ + struct memdesc mem; + + mem.u.md_paddr = paddr; + mem.md_opaque = len; + mem.md_type = MEMDESC_PADDR; + + return (mem); +} + +static inline struct memdesc +memdesc_vlist(struct bus_dma_segment *vlist, int sglist_cnt) +{ + struct memdesc mem; + + mem.u.md_list = vlist; + mem.md_opaque = sglist_cnt; + mem.md_type = MEMDESC_VLIST; + + return (mem); +} + +static inline struct memdesc +memdesc_plist(struct bus_dma_segment *plist, int sglist_cnt) +{ + struct memdesc mem; + + mem.u.md_list = plist; + mem.md_opaque = sglist_cnt; + mem.md_type = MEMDESC_PLIST; + + return (mem); +} + +static inline struct memdesc +memdesc_bio(struct bio *bio) +{ + struct memdesc mem; + + mem.u.md_bio = bio; + mem.md_type = MEMDESC_BIO; + + return (mem); +} + +static inline struct memdesc +memdesc_uio(struct uio *uio) +{ + struct memdesc mem; + + mem.u.md_uio = uio; + mem.md_type = MEMDESC_UIO; + + return (mem); +} + +static inline struct memdesc +memdesc_mbuf(struct mbuf *mbuf) +{ + struct memdesc mem; + + mem.u.md_mbuf = mbuf; + mem.md_type = MEMDESC_MBUF; + + return (mem); +} + +static inline struct memdesc +memdesc_ccb(union ccb *ccb) +{ + struct memdesc mem; + + mem.u.md_ccb = ccb; + mem.md_type = MEMDESC_CCB; + + return (mem); +} +#endif /* _SYS_MEMDESC_H_ */ Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Wed Jan 9 05:04:13 2013 (r245215) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Wed Jan 9 05:16:03 2013 (r245216) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -124,7 +125,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - bus_dma_memory_t mem; + struct memdesc mem; bus_dmamap_callback_t *callback; void *callback_arg; STAILQ_ENTRY(bus_dmamap) links; @@ -850,11 +851,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_memory_t mem, bus_dmamap_callback_t *callback, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { if (map != NULL) { - map->mem = mem; + map->mem = *mem; map->dmat = dmat; map->callback = callback; map->callback_arg = callback_arg; From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 05:44:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 35523696; Wed, 9 Jan 2013 05:44:56 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1DD0924B; Wed, 9 Jan 2013 05:44:56 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r095itAD055800; Wed, 9 Jan 2013 05:44:55 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r095itbV055799; Wed, 9 Jan 2013 05:44:55 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301090544.r095itbV055799@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Jan 2013 05:44:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245217 - projects/altix2/sys/ia64/sgisn X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 05:44:56 -0000 Author: marcel Date: Wed Jan 9 05:44:55 2013 New Revision: 245217 URL: http://svnweb.freebsd.org/changeset/base/245217 Log: Add definitions for the Address Translation Entry (ATE) registers. Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.h ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Wed Jan 9 05:16:03 2013 (r245216) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Wed Jan 9 05:44:55 2013 (r245217) @@ -73,6 +73,9 @@ #define PIC_REG_WR_REQ(x) (0x00240 + (x << 3)) #define PIC_REG_RRB_MAP(x) (0x00280 + (x << 3)) +#define PIC_REG_ATE(x) (0x10000 + (x << 3)) +#define PIC_REG_ATE_SIZE 1024 + struct sgisn_fwpcib { struct sgisn_fwbus fw_common; uint32_t fw_modid; From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 08:07:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 82416F54; Wed, 9 Jan 2013 08:07:10 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4E1D28F1; Wed, 9 Jan 2013 08:07:10 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0987AnK095846; Wed, 9 Jan 2013 08:07:10 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0987ATR095845; Wed, 9 Jan 2013 08:07:10 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301090807.r0987ATR095845@svn.freebsd.org> From: Mark Linimon Date: Wed, 9 Jan 2013 08:07:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245219 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 08:07:10 -0000 Author: linimon (doc,ports committer) Date: Wed Jan 9 08:07:09 2013 New Revision: 245219 URL: http://svnweb.freebsd.org/changeset/base/245219 Log: Start the deorbit burn of sudo_cmd. In theory this is no longer necessary. While here, add a backstop to copy client.conf and common.conf to the slaves from the conf/ directory if they do not exist in builddir. The latter was the way it was set up on pointyhat-west but it seems fragile to rely on it being so. Modified: projects/portbuild/scripts/dosetupnode Modified: projects/portbuild/scripts/dosetupnode ============================================================================== --- projects/portbuild/scripts/dosetupnode Wed Jan 9 05:49:52 2013 (r245218) +++ projects/portbuild/scripts/dosetupnode Wed Jan 9 08:07:09 2013 (r245219) @@ -24,6 +24,9 @@ buildid=$3 nodelist=$4 shift 4 +# XXX MCL 20121216 in theory if the slaves become owner 'portbuild' you won't need this. +sudo_cmd= + . ${pbc}/conf/server.conf if [ -f ${pbd}/${arch}/portbuild.conf ]; then . ${pbd}/${arch}/portbuild.conf @@ -86,8 +89,17 @@ setup() { ${client_user}@${node}:/var/portbuild/ checkerror $? || (echo "Copying scripts to ${node} failed"; return 1) - # conf files (e.g. client.conf and common.conf) can be symlinks outside - # this dir, so copy the actual files + # copy the default conf files (i.e., client.conf and common.conf) in case + # they are not overriden by per-buildenv ones, and have not been symlinked + rsync ${rsync_gzip} -e "${ssh_cmd}" -r -L -p --delete ${pbd}/conf/client.conf \ + ${client_user}@${node}:${pbd}/${arch} + checkerror $? || (echo "Copying client.conf to ${node} failed"; return 1) + rsync ${rsync_gzip} -e "${ssh_cmd}" -r -L -p --delete ${pbd}/conf/common.conf \ + ${client_user}@${node}:${pbd}/${arch} + checkerror $? || (echo "Copying common.conf to ${node} failed"; return 1) + + # per-buildenv conf files (e.g., client.conf and common.conf) can be symlinks + # outside this dir, so copy the actual files rsync ${rsync_gzip} -e "${ssh_cmd}" -r -L -p --delete ${pbd}/${arch}/*.conf \ ${client_user}@${node}:${pbd}/${arch} checkerror $? || (echo "Copying *.conf to ${node} failed"; return 1) From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 08:09:09 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6ADCB19F; Wed, 9 Jan 2013 08:09:09 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4724D90C; Wed, 9 Jan 2013 08:09:09 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r09899TH096180; Wed, 9 Jan 2013 08:09:09 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0989987096179; Wed, 9 Jan 2013 08:09:09 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301090809.r0989987096179@svn.freebsd.org> From: Mark Linimon Date: Wed, 9 Jan 2013 08:09:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245220 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 08:09:09 -0000 Author: linimon (doc,ports committer) Date: Wed Jan 9 08:09:08 2013 New Revision: 245220 URL: http://svnweb.freebsd.org/changeset/base/245220 Log: Restore the definition of buildsdir. Removing this broke all the symlinks under errorlogs/ . While here, remove the things that really are cruft now. Modified: projects/portbuild/scripts/build Modified: projects/portbuild/scripts/build ============================================================================== --- projects/portbuild/scripts/build Wed Jan 9 08:07:09 2013 (r245219) +++ projects/portbuild/scripts/build Wed Jan 9 08:09:08 2013 (r245220) @@ -114,15 +114,14 @@ do_create() { zfs create ${newfs} || exit 1 fi + buildsdir=${pbab}/builds builddir=$(realpath ${buildsdir})/${buildid} # populate ports for latest build on buildenv - # XXX MCL builddir now unused - do_portsupdate_inner ${arch} ${branch} ${buildid} ${builddir} $@ + do_portsupdate_inner ${arch} ${branch} ${buildid} $@ # populate src for latest build on buildenv - # XXX MCL builddir now unused - do_srcupdate_inner ${arch} ${branch} ${buildid} ${builddir} $@ + do_srcupdate_inner ${arch} ${branch} ${buildid} $@ # create the link for building packages for latest build ln -sf ${builddir} ${pbab}/builds/latest @@ -207,16 +206,11 @@ do_clone() { tmp=${tmp%/} newbuilddir="${tmp%/*}/${newid}" - # XXX MCL 20130103 - #oldfs=${ZFS_VOLUME}/portbuild/${arch}/${buildid} - #newfs=${ZFS_VOLUME}/portbuild/${arch}/${newid} oldfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid} newfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${newid} zfs snapshot ${oldfs}@${newid} || exit 1 zfs clone ${oldfs}@${newid} ${newfs} || exit 1 - # XXX MCL 20130103 - # zfs set mountpoint=${newbuilddir} ${newfs} || exit 1 zfs promote ${newfs} || exit 1 if zfs list -H -t filesystem ${oldfs}/ports 2> /dev/null; then @@ -257,8 +251,6 @@ do_portsupdate() { shift fi - # XXX MCL 20130103 - #destroy_fs ${ZFS_VOLUME}/portbuild/${arch} ${buildid} /ports || exit 1 destroy_fs ${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds ${buildid} /ports || exit 1 if [ "${arg}" = "-umount" ]; then @@ -266,18 +258,15 @@ do_portsupdate() { fi echo - do_portsupdate_inner ${arch} ${branch} ${buildid} ${builddir} $@ + do_portsupdate_inner ${arch} ${branch} ${buildid} $@ } do_portsupdate_inner() { arch=$1 branch=$2 buildid=$3 - builddir=$4 shift 4 - # XXX MCL 20130103 - # portsfs=${ZFS_VOLUME}/portbuild/${arch}/${buildid}/ports portsfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid}/ports now=$(now) @@ -288,7 +277,6 @@ do_portsupdate_inner() { zfs snapshot ${ZFS_VOLUME}/${SNAP_PORTS_DIRECTORY}/ports@${now} || exit 1 zfs clone ${ZFS_VOLUME}/${SNAP_PORTS_DIRECTORY}/ports@${now} ${portsfs} || exit 1 - #zfs set mountpoint=${builddir}/ports ${portsfs} || exit 1 } do_srcupdate() { @@ -302,8 +290,6 @@ do_srcupdate() { shift fi - # XXX MCL 20130103 - #destroy_fs ${ZFS_VOLUME}/portbuild/${arch} ${buildid} /src || exit 1 destroy_fs ${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds ${buildid} /src || exit 1 if [ "${arg}" = "-umount" ]; then @@ -311,19 +297,16 @@ do_srcupdate() { fi echo - do_srcupdate_inner ${arch} ${branch} ${buildid} ${builddir} $@ + do_srcupdate_inner ${arch} ${branch} ${buildid} $@ } do_srcupdate_inner() { arch=$1 branch=$2 buildid=$3 - builddir=$4 shift 4 strippedbranch=${branch%%[-\.]*} - # XXX MCL 20130103 - #srcfs=${ZFS_VOLUME}/portbuild/${arch}/${buildid}/src srcfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid}/src now=$(now) @@ -334,7 +317,6 @@ do_srcupdate_inner() { zfs snapshot ${ZFS_VOLUME}/${SNAP_SRC_DIRECTORY_PREFIX}${strippedbranch}/src@${now} || exit 1 zfs clone ${ZFS_VOLUME}/${SNAP_SRC_DIRECTORY_PREFIX}${strippedbranch}/src@${now} ${srcfs} || exit 1 - #zfs set mountpoint=${builddir}/src ${srcfs} || exit 1 } cleanup_client() { @@ -500,8 +482,6 @@ do_destroy() { # perform sanity check to prevent e.g. "latest" being destroyed # before "previous" for quoted_subdir in $quoted_subdirs; do - # XXX MCL 20130103 - #fullfs=${ZFS_VOLUME}/portbuild/${arch}/${buildid}`echo $quoted_subdir | sed -e "s/'//g"` fullfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid}`echo $quoted_subdir | sed -e "s/'//g"` if test_fs "${fullfs}"; then child=$(get_latest_child ${fullfs}) @@ -515,8 +495,6 @@ do_destroy() { # now ok to do the actual destroy. for quoted_subdir in $quoted_subdirs; do - # XXX MCL 20130103 - #destroy_fs ${ZFS_VOLUME}/portbuild/${arch} ${buildid} `echo $quoted_subdir | sed -e "s/'//g"` || exit 1 destroy_fs ${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds ${buildid} `echo $quoted_subdir | sed -e "s/'//g"` || exit 1 done From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 08:52:45 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9EC12848; Wed, 9 Jan 2013 08:52:45 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7B4E3A8B; Wed, 9 Jan 2013 08:52:45 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r098qjbf009848; Wed, 9 Jan 2013 08:52:45 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r098qjbh009847; Wed, 9 Jan 2013 08:52:45 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301090852.r098qjbh009847@svn.freebsd.org> From: Mark Linimon Date: Wed, 9 Jan 2013 08:52:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245221 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 08:52:45 -0000 Author: linimon (doc,ports committer) Date: Wed Jan 9 08:52:44 2013 New Revision: 245221 URL: http://svnweb.freebsd.org/changeset/base/245221 Log: Fix the shift statements for the new number of parameters. Modified: projects/portbuild/scripts/build Modified: projects/portbuild/scripts/build ============================================================================== --- projects/portbuild/scripts/build Wed Jan 9 08:09:08 2013 (r245220) +++ projects/portbuild/scripts/build Wed Jan 9 08:52:44 2013 (r245221) @@ -265,13 +265,12 @@ do_portsupdate_inner() { arch=$1 branch=$2 buildid=$3 - shift 4 + shift 3 portsfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid}/ports now=$(now) echo "================================================" - #echo "Reimaging ZFS ports tree on ${builddir}/ports" echo "Reimaging ZFS ports tree on ${portsfs}" echo "================================================" @@ -304,14 +303,13 @@ do_srcupdate_inner() { arch=$1 branch=$2 buildid=$3 - shift 4 + shift 3 strippedbranch=${branch%%[-\.]*} srcfs=${ZFS_VOLUME}/portbuild/${arch}/${branch}/builds/${buildid}/src now=$(now) echo "================================================" - #echo "Reimaging ZFS src tree on ${builddir}/src" echo "Reimaging ZFS src tree on ${srcfs}" echo "================================================" From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 16:51:50 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BF64E919; Wed, 9 Jan 2013 16:51:50 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AFC30D65; Wed, 9 Jan 2013 16:51:50 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r09GpoHQ050674; Wed, 9 Jan 2013 16:51:50 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r09Gpmaw050661; Wed, 9 Jan 2013 16:51:48 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301091651.r09Gpmaw050661@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 16:51:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245227 - in projects/mtree: . bin/ln bin/ls cddl/contrib/opensolaris/cmd/zpool contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samp... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 16:51:50 -0000 Author: brooks Date: Wed Jan 9 16:51:47 2013 New Revision: 245227 URL: http://svnweb.freebsd.org/changeset/base/245227 Log: IFH @r245225 Added: projects/mtree/contrib/dialog/samples/dselect - copied unchanged from r245225, head/contrib/dialog/samples/dselect projects/mtree/contrib/dialog/samples/valgrind.log - copied unchanged from r245225, head/contrib/dialog/samples/valgrind.log projects/mtree/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r245225, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c projects/mtree/sys/dev/ath/if_ath_spectral.c - copied unchanged from r245225, head/sys/dev/ath/if_ath_spectral.c projects/mtree/sys/dev/ath/if_ath_spectral.h - copied unchanged from r245225, head/sys/dev/ath/if_ath_spectral.h projects/mtree/tools/build/options/WITHOUT_LZMA_SUPPORT - copied unchanged from r245225, head/tools/build/options/WITHOUT_LZMA_SUPPORT projects/mtree/tools/tools/ath/athspectral/ - copied from r245225, head/tools/tools/ath/athspectral/ projects/mtree/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r245225, head/usr.sbin/bsdconfig/share/script.subr projects/mtree/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r245225, head/usr.sbin/bsdconfig/share/variable.subr projects/mtree/usr.sbin/bsdinstall/partedit/sade.8 - copied unchanged from r245225, head/usr.sbin/bsdinstall/partedit/sade.8 Deleted: projects/mtree/contrib/dialog/samples/dft-cancel projects/mtree/contrib/dialog/samples/dft-extra projects/mtree/contrib/dialog/samples/dft-help projects/mtree/contrib/dialog/samples/dft-no projects/mtree/contrib/dialog/samples/fselect0 projects/mtree/contrib/dialog/samples/with-dquotes projects/mtree/contrib/dialog/samples/with-squotes projects/mtree/lib/libdisk/ projects/mtree/share/examples/cvsup/gnats-supfile projects/mtree/sys/dev/xen/evtchn/ projects/mtree/sys/dev/xen/xenpci/machine_reboot.c projects/mtree/usr.sbin/sade/ Modified: projects/mtree/COPYRIGHT projects/mtree/LOCKS projects/mtree/ObsoleteFiles.inc projects/mtree/bin/ln/ln.1 projects/mtree/bin/ls/util.c projects/mtree/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/mtree/contrib/dialog/CHANGES projects/mtree/contrib/dialog/VERSION projects/mtree/contrib/dialog/aclocal.m4 projects/mtree/contrib/dialog/arrows.c projects/mtree/contrib/dialog/buttons.c projects/mtree/contrib/dialog/calendar.c projects/mtree/contrib/dialog/checklist.c projects/mtree/contrib/dialog/columns.c projects/mtree/contrib/dialog/configure projects/mtree/contrib/dialog/configure.in projects/mtree/contrib/dialog/dialog.1 projects/mtree/contrib/dialog/dialog.3 projects/mtree/contrib/dialog/dialog.c projects/mtree/contrib/dialog/dialog.h projects/mtree/contrib/dialog/dlg_colors.h projects/mtree/contrib/dialog/dlg_keys.c projects/mtree/contrib/dialog/dlg_keys.h projects/mtree/contrib/dialog/editbox.c projects/mtree/contrib/dialog/formbox.c projects/mtree/contrib/dialog/fselect.c projects/mtree/contrib/dialog/guage.c projects/mtree/contrib/dialog/headers-sh.in projects/mtree/contrib/dialog/inputbox.c projects/mtree/contrib/dialog/inputstr.c projects/mtree/contrib/dialog/makefile.in projects/mtree/contrib/dialog/menubox.c projects/mtree/contrib/dialog/mixedform.c projects/mtree/contrib/dialog/mixedgauge.c projects/mtree/contrib/dialog/msgbox.c projects/mtree/contrib/dialog/package/debian/changelog projects/mtree/contrib/dialog/package/dialog.spec projects/mtree/contrib/dialog/pause.c projects/mtree/contrib/dialog/po/cs.po projects/mtree/contrib/dialog/po/el.po projects/mtree/contrib/dialog/po/hr.po projects/mtree/contrib/dialog/po/sr.po projects/mtree/contrib/dialog/prgbox.c projects/mtree/contrib/dialog/progressbox.c projects/mtree/contrib/dialog/rc.c projects/mtree/contrib/dialog/samples/copifuncs/admin.funcs projects/mtree/contrib/dialog/samples/copifuncs/common.funcs projects/mtree/contrib/dialog/samples/copifuncs/copi.funcs projects/mtree/contrib/dialog/samples/copifuncs/copi.ifman2 projects/mtree/contrib/dialog/samples/copifuncs/copi.ifpoll2 projects/mtree/contrib/dialog/samples/copifuncs/copi.ifreq2 projects/mtree/contrib/dialog/samples/copifuncs/copi.sendifm1 projects/mtree/contrib/dialog/samples/copifuncs/copi.wheel projects/mtree/contrib/dialog/samples/copismall projects/mtree/contrib/dialog/samples/debian.rc projects/mtree/contrib/dialog/samples/dialog.py projects/mtree/contrib/dialog/samples/form1 projects/mtree/contrib/dialog/samples/inputmenu projects/mtree/contrib/dialog/samples/inputmenu-stdout projects/mtree/contrib/dialog/samples/inputmenu1 projects/mtree/contrib/dialog/samples/inputmenu2 projects/mtree/contrib/dialog/samples/inputmenu3 projects/mtree/contrib/dialog/samples/inputmenu4 projects/mtree/contrib/dialog/samples/killall projects/mtree/contrib/dialog/samples/prgbox projects/mtree/contrib/dialog/samples/prgbox2 projects/mtree/contrib/dialog/samples/report-button projects/mtree/contrib/dialog/samples/report-edit projects/mtree/contrib/dialog/samples/report-string projects/mtree/contrib/dialog/samples/report-tempfile projects/mtree/contrib/dialog/samples/report-yesno projects/mtree/contrib/dialog/samples/setup-edit projects/mtree/contrib/dialog/samples/setup-tempfile projects/mtree/contrib/dialog/samples/setup-utf8 projects/mtree/contrib/dialog/samples/setup-vars projects/mtree/contrib/dialog/samples/slackware.rc projects/mtree/contrib/dialog/samples/sourcemage.rc projects/mtree/contrib/dialog/samples/suse.rc projects/mtree/contrib/dialog/samples/tailboxbg projects/mtree/contrib/dialog/samples/tailboxbg1 projects/mtree/contrib/dialog/samples/tailboxbg2 projects/mtree/contrib/dialog/samples/testdata-8bit projects/mtree/contrib/dialog/samples/wheel projects/mtree/contrib/dialog/samples/whiptail.rc projects/mtree/contrib/dialog/tailbox.c projects/mtree/contrib/dialog/textbox.c projects/mtree/contrib/dialog/timebox.c projects/mtree/contrib/dialog/trace.c projects/mtree/contrib/dialog/ui_getc.c projects/mtree/contrib/dialog/util.c projects/mtree/contrib/dialog/yesno.c projects/mtree/contrib/gcc/dwarf2out.c projects/mtree/contrib/one-true-awk/FIXES projects/mtree/contrib/one-true-awk/main.c projects/mtree/contrib/one-true-awk/makefile projects/mtree/contrib/one-true-awk/proto.h projects/mtree/contrib/one-true-awk/run.c projects/mtree/contrib/one-true-awk/tran.c projects/mtree/contrib/sendmail/FREEBSD-upgrade projects/mtree/contrib/sendmail/LICENSE projects/mtree/contrib/sendmail/PGPKEYS projects/mtree/contrib/sendmail/RELEASE_NOTES projects/mtree/contrib/sendmail/cf/README projects/mtree/contrib/sendmail/cf/cf/submit.cf projects/mtree/contrib/sendmail/cf/feature/ldap_routing.m4 projects/mtree/contrib/sendmail/cf/m4/proto.m4 projects/mtree/contrib/sendmail/cf/m4/version.m4 projects/mtree/contrib/sendmail/doc/op/op.me projects/mtree/contrib/sendmail/include/libmilter/mfapi.h projects/mtree/contrib/sendmail/include/sm/clock.h projects/mtree/contrib/sendmail/include/sm/tailq.h projects/mtree/contrib/sendmail/libmilter/Makefile.m4 projects/mtree/contrib/sendmail/libmilter/docs/api.html projects/mtree/contrib/sendmail/libmilter/docs/smfi_setsymlist.html projects/mtree/contrib/sendmail/libmilter/docs/smfi_settimeout.html projects/mtree/contrib/sendmail/libmilter/worker.c projects/mtree/contrib/sendmail/src/Makefile.m4 projects/mtree/contrib/sendmail/src/TRACEFLAGS projects/mtree/contrib/sendmail/src/collect.c projects/mtree/contrib/sendmail/src/conf.c projects/mtree/contrib/sendmail/src/daemon.c projects/mtree/contrib/sendmail/src/deliver.c projects/mtree/contrib/sendmail/src/headers.c projects/mtree/contrib/sendmail/src/main.c projects/mtree/contrib/sendmail/src/map.c projects/mtree/contrib/sendmail/src/milter.c projects/mtree/contrib/sendmail/src/parseaddr.c projects/mtree/contrib/sendmail/src/queue.c projects/mtree/contrib/sendmail/src/sasl.c projects/mtree/contrib/sendmail/src/savemail.c projects/mtree/contrib/sendmail/src/sendmail.h projects/mtree/contrib/sendmail/src/srvrsmtp.c projects/mtree/contrib/sendmail/src/stab.c projects/mtree/contrib/sendmail/src/util.c projects/mtree/contrib/sendmail/src/version.c projects/mtree/crypto/openssl/crypto/bn/bn_word.c projects/mtree/crypto/openssl/crypto/opensslv.h projects/mtree/etc/namedb/named.root projects/mtree/etc/sendmail/freebsd.mc projects/mtree/etc/sendmail/freebsd.submit.mc projects/mtree/etc/sendmail/freefall.mc projects/mtree/gnu/lib/libdialog/dlg_config.h projects/mtree/gnu/usr.bin/binutils/ld/armelf_fbsd.sh projects/mtree/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh projects/mtree/gnu/usr.bin/dialog/Makefile projects/mtree/lib/Makefile projects/mtree/lib/csu/amd64/crt1.c projects/mtree/lib/csu/arm/crt1.c projects/mtree/lib/csu/common/ignore_init.c projects/mtree/lib/csu/i386-elf/crt1_c.c projects/mtree/lib/csu/mips/crt1.c projects/mtree/lib/csu/powerpc/crt1.c projects/mtree/lib/csu/powerpc64/crt1.c projects/mtree/lib/csu/sparc64/crt1.c projects/mtree/lib/libbsnmp/libbsnmp/Makefile projects/mtree/lib/libc/arm/softfloat/arm-gcc.h projects/mtree/lib/libc/net/name6.c projects/mtree/lib/libedit/map.c projects/mtree/lib/libutil/gr_util.c projects/mtree/release/amd64/mkisoimages.sh projects/mtree/release/i386/mkisoimages.sh projects/mtree/release/ia64/mkisoimages.sh projects/mtree/release/pc98/mkisoimages.sh projects/mtree/release/powerpc/mkisoimages.sh projects/mtree/release/sparc64/mkisoimages.sh projects/mtree/sbin/geom/class/journal/geom_journal_ufs.c projects/mtree/sbin/geom/class/part/gpart.8 projects/mtree/sbin/mount_nullfs/mount_nullfs.c projects/mtree/sbin/pflogd/Makefile projects/mtree/sbin/route/route.c projects/mtree/share/examples/Makefile projects/mtree/share/examples/cvsup/README projects/mtree/share/examples/cvsup/cvs-supfile projects/mtree/share/examples/cvsup/ports-supfile projects/mtree/share/examples/cvsup/stable-supfile projects/mtree/share/examples/cvsup/standard-supfile projects/mtree/share/man/man4/mps.4 projects/mtree/share/man/man4/wbwd.4 projects/mtree/share/man/man9/sleep.9 projects/mtree/share/misc/committers-ports.dot projects/mtree/share/mk/bsd.cpu.mk projects/mtree/share/mk/bsd.lib.mk projects/mtree/share/mk/bsd.libnames.mk projects/mtree/share/mk/bsd.prog.mk projects/mtree/sys/amd64/amd64/vm_machdep.c projects/mtree/sys/amd64/conf/GENERIC projects/mtree/sys/arm/arm/busdma_machdep-v6.c projects/mtree/sys/arm/arm/machdep.c projects/mtree/sys/arm/arm/pl310.c projects/mtree/sys/arm/arm/pmap-v6.c projects/mtree/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/mtree/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/mtree/sys/arm/conf/BEAGLEBONE projects/mtree/sys/arm/include/atomic.h projects/mtree/sys/arm/include/machdep.h projects/mtree/sys/arm/include/pcpu.h projects/mtree/sys/arm/include/pl310.h projects/mtree/sys/arm/include/pmap.h projects/mtree/sys/arm/ti/cpsw/if_cpsw.c projects/mtree/sys/arm/ti/cpsw/if_cpswreg.h projects/mtree/sys/arm/ti/cpsw/if_cpswvar.h projects/mtree/sys/arm/ti/omap4/omap4_l2cache.c projects/mtree/sys/arm/ti/omap4/omap4_smc.h projects/mtree/sys/arm/ti/omap4/std.omap4 projects/mtree/sys/arm/ti/ti_cpuid.c projects/mtree/sys/arm/ti/ti_cpuid.h projects/mtree/sys/arm/versatile/versatile_clcd.c projects/mtree/sys/boot/common/interp_forth.c projects/mtree/sys/boot/fdt/dts/pandaboard.dts projects/mtree/sys/boot/userboot/userboot/Makefile projects/mtree/sys/boot/userboot/userboot/main.c projects/mtree/sys/conf/files projects/mtree/sys/conf/options.mips projects/mtree/sys/contrib/octeon-sdk/cvmx-app-init.h projects/mtree/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/mtree/sys/dev/agp/agp_ali.c projects/mtree/sys/dev/agp/agp_amd.c projects/mtree/sys/dev/agp/agp_amd64.c projects/mtree/sys/dev/agp/agp_ati.c projects/mtree/sys/dev/agp/agp_intel.c projects/mtree/sys/dev/agp/agp_sis.c projects/mtree/sys/dev/agp/agp_via.c projects/mtree/sys/dev/ahci/ahci.c projects/mtree/sys/dev/ata/ata-pci.h projects/mtree/sys/dev/ata/chipsets/ata-intel.c projects/mtree/sys/dev/ath/ath_dfs/null/dfs_null.c projects/mtree/sys/dev/ath/ath_hal/ah.c projects/mtree/sys/dev/ath/ath_hal/ah.h projects/mtree/sys/dev/ath/ath_hal/ah_internal.h projects/mtree/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/mtree/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/mtree/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/mtree/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/mtree/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/mtree/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/mtree/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/mtree/sys/dev/ath/if_ath.c projects/mtree/sys/dev/ath/if_ath_rx.c projects/mtree/sys/dev/ath/if_athdfs.h projects/mtree/sys/dev/ath/if_athioctl.h projects/mtree/sys/dev/ath/if_athvar.h projects/mtree/sys/dev/fdt/fdtbus.c projects/mtree/sys/dev/ichsmb/ichsmb_pci.c projects/mtree/sys/dev/ichwd/ichwd.c projects/mtree/sys/dev/ichwd/ichwd.h projects/mtree/sys/dev/nvme/nvme_test.c projects/mtree/sys/dev/pci/pci.c projects/mtree/sys/dev/sound/pci/hda/hdac.c projects/mtree/sys/dev/sound/pci/hda/hdac.h projects/mtree/sys/dev/usb/controller/xhci.c projects/mtree/sys/dev/usb/serial/u3g.c projects/mtree/sys/dev/usb/usbdevs projects/mtree/sys/dev/usb/wlan/if_run.c projects/mtree/sys/dev/wbwd/wbwd.c projects/mtree/sys/dev/xen/control/control.c projects/mtree/sys/dev/xen/netfront/netfront.c projects/mtree/sys/fs/ext2fs/ext2_dinode.h projects/mtree/sys/fs/fuse/fuse_io.c projects/mtree/sys/fs/nandfs/nandfs_segment.c projects/mtree/sys/fs/nullfs/null.h projects/mtree/sys/fs/nullfs/null_subr.c projects/mtree/sys/fs/nullfs/null_vfsops.c projects/mtree/sys/fs/nullfs/null_vnops.c projects/mtree/sys/fs/tmpfs/tmpfs.h projects/mtree/sys/fs/tmpfs/tmpfs_subr.c projects/mtree/sys/fs/tmpfs/tmpfs_vfsops.c projects/mtree/sys/fs/tmpfs/tmpfs_vnops.c projects/mtree/sys/i386/conf/GENERIC projects/mtree/sys/i386/xen/xen_machdep.c projects/mtree/sys/ia64/conf/GENERIC projects/mtree/sys/kern/kern_exit.c projects/mtree/sys/kern/kern_lock.c projects/mtree/sys/kern/kern_synch.c projects/mtree/sys/kern/subr_param.c projects/mtree/sys/kern/vfs_mount.c projects/mtree/sys/kern/vfs_vnops.c projects/mtree/sys/mips/atheros/ar71xx_pci.c projects/mtree/sys/mips/beri/beri_machdep.c projects/mtree/sys/mips/conf/OCTEON1 projects/mtree/sys/modules/ath/Makefile projects/mtree/sys/net/if_pfsync.h projects/mtree/sys/net/zlib.c projects/mtree/sys/net/zlib.h projects/mtree/sys/net80211/ieee80211_hostap.c projects/mtree/sys/net80211/ieee80211_hwmp.c projects/mtree/sys/net80211/ieee80211_radiotap.h projects/mtree/sys/netinet/in.c projects/mtree/sys/netinet6/in6.c projects/mtree/sys/netinet6/scope6.c projects/mtree/sys/pc98/conf/GENERIC projects/mtree/sys/powerpc/conf/GENERIC projects/mtree/sys/powerpc/conf/GENERIC64 projects/mtree/sys/sparc64/conf/GENERIC projects/mtree/sys/sparc64/sparc64/interrupt.S projects/mtree/sys/sys/copyright.h projects/mtree/sys/sys/mbuf.h projects/mtree/sys/sys/mount.h projects/mtree/sys/sys/vnode.h projects/mtree/sys/ufs/ffs/ffs_snapshot.c projects/mtree/sys/x86/include/specialreg.h projects/mtree/tools/build/make_check/Makefile projects/mtree/tools/tools/ath/Makefile projects/mtree/tools/tools/ath/arcode/arcode.c projects/mtree/tools/tools/ath/ath_prom_read/ath_prom_read.c projects/mtree/tools/tools/ath/athdebug/athdebug.c projects/mtree/tools/tools/ath/athdecode/main.c projects/mtree/tools/tools/ath/athkey/athkey.c projects/mtree/tools/tools/ath/athprom/athprom.c projects/mtree/tools/tools/ath/athratestats/main.c projects/mtree/tools/tools/ath/athstats/Makefile projects/mtree/tools/tools/ath/athstats/athstats.c projects/mtree/tools/tools/ath/athsurvey/athsurvey.c projects/mtree/usr.bin/apply/apply.c projects/mtree/usr.bin/dc/bcode.c projects/mtree/usr.bin/dc/bcode.h projects/mtree/usr.bin/dc/inout.c projects/mtree/usr.bin/grep/Makefile projects/mtree/usr.bin/grep/file.c projects/mtree/usr.bin/grep/grep.c projects/mtree/usr.bin/grep/regex/tre-fastmatch.c projects/mtree/usr.bin/m4/Makefile projects/mtree/usr.bin/tail/read.c projects/mtree/usr.bin/ul/ul.c projects/mtree/usr.bin/xargs/strnsubst.c projects/mtree/usr.sbin/Makefile.amd64 projects/mtree/usr.sbin/Makefile.i386 projects/mtree/usr.sbin/Makefile.sparc64 projects/mtree/usr.sbin/bsdconfig/USAGE projects/mtree/usr.sbin/bsdconfig/bsdconfig projects/mtree/usr.sbin/bsdconfig/bsdconfig.8 projects/mtree/usr.sbin/bsdconfig/include/messages.subr projects/mtree/usr.sbin/bsdconfig/networking/share/hostname.subr projects/mtree/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/mtree/usr.sbin/bsdconfig/share/Makefile projects/mtree/usr.sbin/bsdconfig/share/common.subr projects/mtree/usr.sbin/bsdconfig/share/dialog.subr projects/mtree/usr.sbin/bsdinstall/partedit/Makefile projects/mtree/usr.sbin/bsdinstall/partedit/partedit.c projects/mtree/usr.sbin/daemon/daemon.c projects/mtree/usr.sbin/gssd/Makefile projects/mtree/usr.sbin/gssd/gssd.8 projects/mtree/usr.sbin/gssd/gssd.c projects/mtree/usr.sbin/ifmcstat/ifmcstat.c projects/mtree/usr.sbin/newsyslog/newsyslog.8 projects/mtree/usr.sbin/newsyslog/newsyslog.c projects/mtree/usr.sbin/pw/pw_user.c Directory Properties: projects/mtree/ (props changed) projects/mtree/cddl/contrib/opensolaris/ (props changed) projects/mtree/contrib/dialog/ (props changed) projects/mtree/contrib/gcc/ (props changed) projects/mtree/contrib/one-true-awk/ (props changed) projects/mtree/contrib/sendmail/ (props changed) projects/mtree/crypto/openssl/ (props changed) projects/mtree/gnu/lib/ (props changed) projects/mtree/gnu/usr.bin/binutils/ (props changed) projects/mtree/lib/libc/ (props changed) projects/mtree/lib/libutil/ (props changed) projects/mtree/sbin/ (props changed) projects/mtree/share/man/man4/ (props changed) projects/mtree/sys/ (props changed) projects/mtree/sys/boot/ (props changed) projects/mtree/sys/conf/ (props changed) projects/mtree/sys/contrib/octeon-sdk/ (props changed) projects/mtree/tools/regression/bin/sh/errors/write-error1.0 (props changed) Modified: projects/mtree/COPYRIGHT ============================================================================== --- projects/mtree/COPYRIGHT Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/COPYRIGHT Wed Jan 9 16:51:47 2013 (r245227) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/mtree/LOCKS ============================================================================== --- projects/mtree/LOCKS Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/LOCKS Wed Jan 9 16:51:47 2013 (r245227) @@ -11,3 +11,4 @@ releng/4.* Requires Security Officer app releng/5.* Requires Security Officer approval. releng/6.* Requires Security Officer approval. releng/7.* Requires Security Officer approval. +releng/8.* Requires Security Officer approval. Modified: projects/mtree/ObsoleteFiles.inc ============================================================================== --- projects/mtree/ObsoleteFiles.inc Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/ObsoleteFiles.inc Wed Jan 9 16:51:47 2013 (r245227) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20121230: libdisk removed +OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h +OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a +# 20121230: remove wrongly created directories for auditdistd +OLD_DIRS+=var/dist +OLD_DIRS+=var/remote # 20121114: zpool-features manual page moved from section 5 to 7 OLD_FILES+=usr/share/man/man5/zpool-features.5.gz # 20121022: remove harp, hfa and idt man page Modified: projects/mtree/bin/ln/ln.1 ============================================================================== --- projects/mtree/bin/ln/ln.1 Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/bin/ln/ln.1 Wed Jan 9 16:51:47 2013 (r245227) @@ -291,7 +291,7 @@ implementations. .Pp The .Fl F -option is +option is a .Fx extension and should not be used in portable scripts. .Sh SEE ALSO Modified: projects/mtree/bin/ls/util.c ============================================================================== --- projects/mtree/bin/ls/util.c Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/bin/ls/util.c Wed Jan 9 16:51:47 2013 (r245227) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); Modified: projects/mtree/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/mtree/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Wed Jan 9 16:51:47 2013 (r245227) @@ -906,10 +906,11 @@ zpool_do_create(int argc, char **argv) /* * Check the validity of the mountpoint and direct the user to use the * '-m' mountpoint option if it looks like its in use. + * Ignore the checks if the '-f' option is given. */ - if (mountpoint == NULL || + if (!force && (mountpoint == NULL || (strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 && - strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0)) { + strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0))) { char buf[MAXPATHLEN]; DIR *dirp; Modified: projects/mtree/contrib/dialog/CHANGES ============================================================================== --- projects/mtree/contrib/dialog/CHANGES Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/CHANGES Wed Jan 9 16:51:47 2013 (r245227) @@ -1,172 +1,9 @@ --- $Id: CHANGES,v 1.419 2012/07/06 18:18:48 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: -2012/07/06 - + modify samples/setup-tempfile to work with Tru64's shell. - + modify inputmenu sample scripts to make them more portable: - + use "id" rather than "$GROUPS", use sed to work with Solaris. - + use sed to split-up the rename results to work with HPUX. - + fix regression in msgbox (ArchLinux #30574) - -2012/07/03 - + modify prgbox widget to work with --extra-button, etc. - + add case values to several widgets to allow for mouse-clicks with - "--extra-button" and "--help-button" additions. - + correct timebox widget's exit code for "--extra-button" when handing - the "enter" key. - + modify msgbox widget to honor "--extra-button". - + corrected processing of "--trace" option, which did not update the - index into command-line to point past its value. - + add a check in dialog program for valid characters used in option, - e.g., to generate an error if a script attempts to add option value - using "=" rather than with whitespace. - + add new command-line option --default-button and library function - dlg_default_button() to retrieve the value set by the option - to provide a way to set the default button directly rather than - by combining --nook, etc. (patch by Zoltan Kelemen). - + amend include of unctrl.h to apply only to the case where curses.h - is included, to avoid conflict of ncurses' unctrl.h with a system - implementation (report by Martin Roedlach) - + add limit-check to dlg_toupper() in non-wide curses mode to work - when non-character values such as arrow-key codes are passed to - it (patch by Zoltan Kelemen). - + override timeout value, e.g., as set via --timeout command-line - option in pause widget because that interferes with pause's behavior - (report by Jan Spitalnik). - + modify samples/inputmenu* to allow ":" in renamed text (report by - Andreas Stoewing). - + modify double-quoting to make it more consistent, i.e., checklist - output is quoted only when needed. This fixes the case where - single-quotes were used whether or not needed, but also modifies - older checklist behavior for double-quoting which always added those - (Debian #663664). - + correct exit-code used in inputmenu for "rename" button (Debian - #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim). - + update el.po and hr.po from - http://translationproject.org/latest/dialog/ - + use checkbashisms to clean up sample scripts. - -2012/02/15 - + modify menubox.c to use the same improvement as in checklist.c - + improve auto width computation for checklist widget by using - dlg_calc_list_width as in the non-auto case (Edho Arief). - + eliminate some bashisms in the sample scripts (Pedro Giffuni). - + makefile fixes from FreeBSD ports (Li-Wen Hsu): - + make --with-package option of configure script work. - + get LIBTOOL_VERSION from configure script, needed by - ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and - aclocal.m4) - + update cs.po and sr.po from - http://translationproject.org/latest/dialog/ - + updated configure script macros, improving CF_XOPEN_SOURCE among - other fixes. - -2011/10/20 - + fix --analyze warnings for clang versions 2.8, 2.9. - + add configure check for lint program. - + add check in dlg_getc() in case its window is freed as a side effect - of removing callbacks. - + fix logic in freeing subwindows (report by xDog Walker). - + fix a regression in logic distinguishing between inputmenu and menu - widgets (report by xDog Walker). - + minor fixes to library manpage. - -2011/10/18 - + modify header-sh.in to work around limit on sed script length on - HPUX. - + add a special case of parameter parsing for "--trace" to the - initialization done before calling init_dialog(), to allow users to - capture the initial state of the parameter list before any options - are processed and removed. This is only done if "--trace" is the - first option, otherwise it is handled in the common options as before - (report by xDog Walker). - + modify samples/testdata-8bit, discarding $1 from the parameter list - if it was used, so that the source'ing scripts can consistently use - "$@" to insert parameters before the widget, e.g., as an alternative - to using $DIALOGOPTS (report by xDog Walker). - + modify treatment of function pointers in menubox.c, make - dlg_renamed_menutext() and dlg_dummy_menutext() visible to library - users (request by xDog Walker). - + add dlg_count_real_columns(), use to modify centering for "--hline" - text to account for "\Z"s (report by xDog Walker). - + improve check in dlg_draw_arrows2() for conflict between the window - title and up-arrow marker to take into account that the given window - may not be the top-level window of the widget. - + change width of page up/down mouse areas in fselect panes to use the - full width of the panes rather than only the portion from the left - margin to the up/down arrow. - + add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the - secondary borders. - + modify rc-file read/write to accept/generate color values that refer - to previously-processed items in the color table. This reduces the - number of distinct colors that must be specified to set up a color - scheme. - + add color table entries for secondary borders, i.e., the ones that - are normally drawn with the dialog's text-colors (Debian #641168). - + modify fselect.c to scan the current directory if the input field - happens to be empty (Debian #640905). - + repeated the discussion of environment variables that can override - the exit-status values in the manpage's return-codes section - (Debian #642105). - + add an example to the manpage showing how to override the form - widget's keys used for field/button traversal (Debian #642108). - + modify call to dlg_register_window() in formbox.c so that the editing - bindings are attached to the form sub-window rather than the - top-level dialog window. Also change the name by which the editing - bindings are bound for editbox.c, fselect.c and inputbox.c, so that - the editing and navigation bindings can be different. - + correct logic in dlg_lookup_key() so that it matches the widget name - before using a binding from .dialogrc, allowing the inner/outer - windows of form and other editing widgets to have different bindings. - + modify dlg_register_window() to call dlg_dump_window_keys() after - its updates, via the --trace output, to supplement the manpage - description of key bindings (Debian #642108). - + add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to - allow binding a single key to traverse both form-fields and buttons - (Debian #642108). - + modify dlg_parse_rc() to check for error return from - dlg_parse_bindkey(). - + add function dlg_dump_window_keys(), to help with debugging widgets. - + add CR, LF, TAB, FF and ESC to table of curses names to help make - key bindings more readable. - + update table of dialog key-names so that helpfile and trace are - dumped properly. - + correct dlg_dump_keys(), which was showing only the first item in - the matched binding table. - + save/restore window current position in dlg_update_mixedgauge(). - + pass return-code from pause_for_ok() from dlg_progressbox() when - pauseopt is set, rather than only DLG_OK. - + call setlocale() in init_dialog() rather than relying on on-demand - use within inputstr.c, since there are paths in textbox widget which - do not exercise the latter (report by xDog Walker). - + fix some places where checks for "\Z" were done without also checking - dialog_vars.colors (report by Moray Henderson). - + correct logic for DIALOGOPTS parsing so that the parse happens only - once unless memory leak checking is enabled (report by xDog Walker). - + remove an incorrect free() call in dlg_free_gauge() (report by xDog - Walker). - + modify dlg_trace_win() to log wide-characters (report by xDog Walker). - + make traces shorter by skipping repeated ERR's, but showing the - number skipped (report by xDog Walker). - + improve description in manpage to distinguish program box and - progress box from tailboxes (adapted from email by xDog Walker). - + modify dlg_trace_win() so that it looks for the topmost window in a - dialog. Because subwindows share space with the top window, tracing - the latter shows the whole widget (report by xDog Walker). - + expand tracing so that each window is traced before soliciting input, - making the ^T feature to print a window on demand partly redundant - (suggested by xDog Walker). - + cosmetic change in dialog.h to avoid "*/*" strings from comments next - to "*" (report by xDog Walker). - + ensure result from dlg_align_columns() has trailing null on each - string. Analysis was hindered by libc6's continuance of libc5's - early-1990s misfeature of clearing the result from malloc, noting - that libc6's documentation incorrectly claims that it does not do - this (report by xDog Walker). - 2011/07/07 + modify util.c to work better with old versions of ncurses: + suppress use of wchgat() before fix in 20060715 which is needed @@ -250,7 +87,7 @@ to it: + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h doesn't do anything, so it needs a crutch). - + update config.guess, config.sub + + updated config.guess, config.sub 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). @@ -318,7 +155,7 @@ to it: CF_ADD_LIBDIR for the curses-directory here, from CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even with the default checking, e.g., no --with-ncurses, etc. - + update config.guess, config.sub + + updated config.guess, config.sub 2010/04/28 + several improvements to configure script: @@ -413,7 +250,7 @@ to it: libutf8 and libiconv. + update da.po, ru.po from http://translationproject.org/latest/dialog/ - + update config.guess, config.sub + + updated config.guess, config.sub 2008/08/19 + amend changes to quoting; by default, the checklist widget quotes its @@ -496,7 +333,7 @@ to it: ESC to be returned, quitting dialog (report by Reiner Huober). + add extern "C" declarations to dlg_keys.h so the corresponding function declarations are exported to C++ as C symbols. - + update config.guess, config.sub + + updated config.guess, config.sub 2007/06/04 + fix a memory leak in editbox.c @@ -599,7 +436,7 @@ to it: CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS, CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC, CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE. - + update config.guess, config.sub + + updated config.guess, config.sub > adapted fixes from SuSE package (Werner Fink): + add some limit-checks in dlg_draw_shadow(). + make shadows resizable, using new dlg_move_window() in msgbox.c Modified: projects/mtree/contrib/dialog/VERSION ============================================================================== --- projects/mtree/contrib/dialog/VERSION Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/VERSION Wed Jan 9 16:51:47 2013 (r245227) @@ -1 +1 @@ -10:4:0 1.1 20120706 +10:0:0 1.1 20110707 Modified: projects/mtree/contrib/dialog/aclocal.m4 ============================================================================== --- projects/mtree/contrib/dialog/aclocal.m4 Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/aclocal.m4 Wed Jan 9 16:51:47 2013 (r245227) @@ -1,7 +1,7 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.87 2012/02/16 02:11:26 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2011,2012 -- Thomas E. Dickey +dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -592,31 +592,6 @@ changequote([,])dnl AC_SUBST(GENCAT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03 -dnl ------------------ -dnl Conditionally generate script according to whether we're using a given autoconf. -dnl -dnl $1 = version to compare against -dnl $2 = code to use if AC_ACVERSION is at least as high as $1. -dnl $3 = code to use if AC_ACVERSION is older than $1. -define(CF_ACVERSION_CHECK, -[ -ifdef([m4_version_compare], -[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], -[CF_ACVERSION_COMPARE( -AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), -AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50 -dnl -------------------- -dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, -dnl MAJOR2, MINOR2, TERNARY2, -dnl PRINTABLE2, not FOUND, FOUND) -define(CF_ACVERSION_COMPARE, -[ifelse(builtin([eval], [$2 < $5]), 1, -[ifelse([$8], , ,[$8])], -[ifelse([$9], , ,[$9])])])dnl -dnl --------------------------------------------------------------------------- dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56 dnl ------------ dnl Conditionally generate script according to whether we're using the release @@ -1252,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 35 updated: 2011/08/09 21:06:37 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1332,7 +1307,7 @@ if test ".$ac_cv_func_initscr" != .yes ; # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list otermcap termcap termlib unknown + for cf_term_lib in $cf_check_list termcap termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[break]) done @@ -1558,30 +1533,6 @@ fi test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WGETPARENT version: 2 updated: 2011/10/17 20:12:04 -dnl -------------------- -dnl Check for curses support for directly determining the parent of a given -dnl window. Some implementations make this difficult, so we provide for -dnl defining an application-specific function that gives this functionality. -dnl -dnl $1 = name of function to use if the feature is missing -AC_DEFUN([CF_CURSES_WGETPARENT],[ -CF_CURSES_FUNCS(wgetparent) -if test "x$cf_cv_func_wgetparent" != xyes -then - AC_MSG_CHECKING(if WINDOW has _parent member) - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [WINDOW *p = stdscr->_parent], - [cf_window__parent=yes], - [cf_window__parent=no]) - AC_MSG_RESULT($cf_window__parent) - if test "$cf_window__parent" = yes - then - AC_DEFINE(HAVE_WINDOW__PARENT) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. @@ -2386,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2410,7 +2361,7 @@ linux*|gnu*|k*bsd*-gnu) #(vi openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -dragonfly*|freebsd*) #(vi +freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2469,11 +2420,11 @@ CF_SUBDIR_PATH($1,$2,lib) $1="$cf_library_path_list [$]$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 +dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set -define([CF_LIB_PREFIX], +AC_DEFUN([CF_LIB_PREFIX], [ case $cf_cv_system_name in #(vi OS/2*|os2*) #(vi @@ -2694,7 +2645,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05 +dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30 dnl ----------------- dnl Tie together the configure-script macros for ncurses. dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. @@ -2706,10 +2657,7 @@ AC_DEFUN([CF_NCURSES_CONFIG], cf_ncuconfig_root=ifelse($1,,ncurses,$1) echo "Looking for ${cf_ncuconfig_root}-config" - -CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], - [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) +AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none) if test "$NCURSES_CONFIG" != none ; then @@ -3223,14 +3171,6 @@ AC_SUBST(PROG_EXT) test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 -dnl ------------ -AC_DEFUN([CF_PROG_LINT], -[ -AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint) -AC_SUBST(LINT_OPTS) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 dnl ---------------- dnl Remove all -U and -D options that refer to the given symbol from a list @@ -3478,45 +3418,6 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 -dnl ------------------- -dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we -dnl can define it successfully. -AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ -AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - -if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) -fi -]) -dnl --------------------------------------------------------------------------- dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44 dnl ------------- dnl Check to see if the BSD-style union wait is declared. Some platforms may @@ -3779,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 28 updated: 2011/07/02 15:40:32 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3880,7 +3781,7 @@ ifdef([AC_PROG_LIBTOOL],[ # special hack to add -no-undefined (which libtool should do for itself) LT_UNDEF= case "$cf_cv_system_name" in #(vi - cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi + cygwin*|mingw32*|uwin*|aix[[456]]) #(vi LT_UNDEF=-no-undefined ;; esac @@ -4049,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -4065,7 +3966,7 @@ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[ cf_xopen_source= case $host_os in #(vi -aix[[4-7]]*) #(vi +aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; cygwin) #(vi @@ -4076,7 +3977,6 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -4094,23 +3994,15 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks ;; netbsd*) #(vi - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd[[4-9]]*) #(vi - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 + # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -4124,46 +4016,42 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.*) #(vi +solaris2.1[[0-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[[1-9]]) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - CF_TRY_XOPEN_SOURCE - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source) -fi - -dnl In anything but the default case, we may have system-specific setting -dnl which is still not guaranteed to provide all of the entrypoints that -dnl _XOPEN_SOURCE would yield. -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) - AC_TRY_COMPILE([#include ],[ + AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([#include ],[ #ifndef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set=yes], - [cf_XOPEN_SOURCE_set=no]) - AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test $cf_XOPEN_SOURCE_set = yes - then - AC_TRY_COMPILE([#include ],[ -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([#include ],[ +#ifdef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set_ok=yes], - [cf_XOPEN_SOURCE_set_ok=no]) - if test $cf_XOPEN_SOURCE_set_ok = no - then - AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) - fi - else - CF_TRY_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) fi + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + ;; +esac + +if test -n "$cf_xopen_source" ; then + CF_ADD_CFLAGS($cf_xopen_source) fi ]) dnl --------------------------------------------------------------------------- Modified: projects/mtree/contrib/dialog/arrows.c ============================================================================== --- projects/mtree/contrib/dialog/arrows.c Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/arrows.c Wed Jan 9 16:51:47 2013 (r245227) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.41 2011/10/20 23:37:17 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -79,9 +79,9 @@ dlg_draw_helpline(WINDOW *win, bool deco const int *cols = dlg_index_columns(dialog_vars.help_line); int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; int avail = (getmaxx(win) - other - 2); - int limit = dlg_count_real_columns(dialog_vars.help_line) + 2; + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); - if (limit < avail) { + if (limit > 0) { getyx(win, cur_y, cur_x); other = decorations ? ON_LEFT : 0; (void) wmove(win, bottom, other + (avail - limit) / 2); @@ -107,14 +107,13 @@ dlg_draw_arrows2(WINDOW *win, int cur_x, cur_y; int limit_x = getmaxx(win); bool draw_top = TRUE; - bool is_toplevel = (wgetparent(win) == stdscr); getyx(win, cur_y, cur_x); /* * If we're drawing a centered title, do not overwrite with the arrows. */ - if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) { + if (dialog_vars.title) { int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2; int need = x + 5; if (need > have) @@ -124,11 +123,11 @@ dlg_draw_arrows2(WINDOW *win, if (draw_top) { (void) wmove(win, top, x); if (top_arrow) { - (void) wattrset(win, merge_colors(uarrow_attr, attr)); + wattrset(win, merge_colors(uarrow_attr, attr)); (void) add_acs(win, ACS_UARROW); (void) waddstr(win, "(-)"); } else { - (void) wattrset(win, attr); + wattrset(win, attr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } @@ -136,11 +135,11 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, bottom, x); if (bottom_arrow) { - (void) wattrset(win, merge_colors(darrow_attr, attr)); + wattrset(win, merge_colors(darrow_attr, attr)); (void) add_acs(win, ACS_DARROW); (void) waddstr(win, "(+)"); } else { - (void) wattrset(win, borderattr); + wattrset(win, borderattr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -148,7 +147,7 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, cur_y, cur_x); wrefresh(win); - (void) wattrset(win, save); + wattrset(win, save); } void @@ -167,13 +166,14 @@ dlg_draw_scrollbar(WINDOW *win, char buffer[80]; int percent; int len; - int oldy, oldx; + int oldy, oldx, maxy, maxx; chtype save = dlg_get_attrs(win); int top_arrow = (first_data != 0); int bottom_arrow = (next_data < total_data); getyx(win, oldy, oldx); + getmaxyx(win, maxy, maxx); dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { @@ -187,12 +187,12 @@ dlg_draw_scrollbar(WINDOW *win, else if (percent > 100) percent = 100; - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); (void) sprintf(buffer, "%d%%", percent); (void) wmove(win, bottom, right - 7); (void) waddstr(win, buffer); if ((len = dlg_count_columns(buffer)) < 4) { - (void) wattrset(win, border_attr); + wattrset(win, border_attr); whline(win, dlg_boxchar(ACS_HLINE), 4 - len); } } @@ -212,7 +212,7 @@ dlg_draw_scrollbar(WINDOW *win, if (bar_high < all_high) { wmove(win, top + 1, right); - (void) wattrset(win, save); + wattrset(win, save); wvline(win, ACS_VLINE | A_REVERSE, all_high); bar_y = BARSIZE(this_data); @@ -221,7 +221,7 @@ dlg_draw_scrollbar(WINDOW *win, wmove(win, top + 1 + bar_y, right); - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); wattron(win, A_REVERSE); wvline(win, ACS_BLOCK, bar_high); } @@ -236,7 +236,7 @@ dlg_draw_scrollbar(WINDOW *win, attr, borderattr); - (void) wattrset(win, save); + wattrset(win, save); wmove(win, oldy, oldx); } @@ -255,6 +255,6 @@ dlg_draw_arrows(WINDOW *win, x, top, bottom, - menubox_border2_attr, + menubox_attr, menubox_border_attr); } Modified: projects/mtree/contrib/dialog/buttons.c ============================================================================== --- projects/mtree/contrib/dialog/buttons.c Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/buttons.c Wed Jan 9 16:51:47 2013 (r245227) @@ -1,9 +1,9 @@ /* - * $Id: buttons.c,v 1.90 2012/07/01 20:42:05 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * - * Copyright 2000-2011,2012 Thomas E. Dickey + * Copyright 2000-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -104,11 +104,11 @@ print_button(WINDOW *win, char *label, i : button_label_inactive_attr); (void) wmove(win, y, x); - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, "<"); - (void) wattrset(win, label_attr); + wattrset(win, label_attr); for (i = 0; i < limit; ++i) { int first = indx[i]; int last = indx[i + 1]; @@ -120,14 +120,14 @@ print_button(WINDOW *win, char *label, i const char *temp = (label + first); int cmp = string_to_char(&temp); if (dlg_isupper(cmp)) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; } #endif if (dlg_isupper(UCH(label[first]))) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; @@ -138,9 +138,9 @@ print_button(WINDOW *win, char *label, i } waddnstr(win, label + first, last - first); } - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, ">"); (void) wmove(win, y, x + ((int) strspn(label, " ")) + 1); } @@ -310,7 +310,7 @@ dlg_draw_buttons(WINDOW *win, (void) wmove(win, final_y, final_x); wrefresh(win); free(buffer); - (void) wattrset(win, save); + wattrset(win, save); } /* @@ -488,12 +488,10 @@ dlg_exit_buttoncode(int button) const char ** dlg_ok_label(void) { - static const char *labels[4]; + static const char *labels[3]; int n = 0; labels[n++] = my_ok_label(); - if (dialog_vars.extra_button) - labels[n++] = my_extra_label(); if (dialog_vars.help_button) labels[n++] = my_help_label(); labels[n] = 0; @@ -539,7 +537,6 @@ dlg_ok_buttoncode(int button) } else if (dialog_vars.help_button && (button == n)) { result = DLG_EXIT_HELP; } - dlg_trace_msg("# dlg_ok_buttoncode(%d) = %d\n", button, result); return result; } @@ -578,7 +575,7 @@ dlg_prev_ok_buttonindex(int current, int /* * Find the button-index for the "OK" or "Cancel" button, according to * whether --defaultno is given. If --nocancel was given, we always return - * the index for the first button (usually "OK" unless --nook was used). + * the index for "OK". */ int dlg_defaultno_button(void) @@ -589,30 +586,6 @@ dlg_defaultno_button(void) while (dlg_ok_buttoncode(result) != DLG_EXIT_CANCEL) ++result; } - dlg_trace_msg("# dlg_defaultno_button() = %d\n", result); - return result; -} - -/* - * Find the button-index for a button named with --default-button. If the - * option was not specified, or if the selected button does not exist, return - * the index of the first button (usually "OK" unless --nook was used). - */ -int -dlg_default_button(void) -{ - int i, n; - int result = 0; - - if (dialog_vars.default_button >= 0) { - for (i = 0; (n = dlg_ok_buttoncode(i)) >= 0; i++) { - if (n == dialog_vars.default_button) { - result = i; - break; - } - } - } - dlg_trace_msg("# dlg_default_button() = %d\n", result); return result; } Modified: projects/mtree/contrib/dialog/calendar.c ============================================================================== --- projects/mtree/contrib/dialog/calendar.c Wed Jan 9 16:48:38 2013 (r245226) +++ projects/mtree/contrib/dialog/calendar.c Wed Jan 9 16:51:47 2013 (r245227) @@ -1,9 +1,9 @@ /* - * $Id: calendar.c,v 1.66 2012/07/01 18:13:07 Zoltan.Kelemen Exp $ + * $Id: calendar.c,v 1.62 2011/06/29 09:47:06 tom Exp $ * * calendar.c -- implements the calendar box * - * Copyright 2001-2011,2012 Thomas E. Dickey + * Copyright 2001-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -225,14 +225,12 @@ draw_day(BOX * data, struct tm *current) int prev = days_in_month(current, -1); werase(data->window); - dlg_draw_box2(data->parent, - data->y - MARGIN, data->x - MARGIN, - data->height + (2 * MARGIN), data->width + (2 * MARGIN), - menubox_attr, - menubox_border_attr, - menubox_border2_attr); + dlg_draw_box(data->parent, + data->y - MARGIN, data->x - MARGIN, + data->height + (2 * MARGIN), data->width + (2 * MARGIN), + menubox_border_attr, menubox_attr); /* border of daybox */ - (void) wattrset(data->window, menubox_attr); /* daynames headline */ + wattrset(data->window, menubox_attr); /* daynames headline */ for (x = 0; x < 7; x++) { mvwprintw(data->window, 0, (x + 1) * cell_wide, "%*.*s ", @@ -248,7 +246,7 @@ draw_day(BOX * data, struct tm *current) week = (current->tm_yday + 6 + mday - current->tm_mday) / 7; for (y = 1; mday < last; y++) { - (void) wattrset(data->window, menubox_attr); /* weeknumbers headline */ + wattrset(data->window, menubox_attr); /* weeknumbers headline */ mvwprintw(data->window, y, 0, "%*d ", @@ -259,9 +257,9 @@ draw_day(BOX * data, struct tm *current) ++mday; if (wmove(data->window, y, this_x) == ERR) continue; - (void) wattrset(data->window, item_attr); /* not selected days */ + wattrset(data->window, item_attr); /* not selected days */ if (mday == day) { - (void) wattrset(data->window, item_selected_attr); /* selected day */ + wattrset(data->window, item_selected_attr); /* selected day */ save_y = y; save_x = this_x; } @@ -296,15 +294,13 @@ draw_month(BOX * data, struct tm *curren month = current->tm_mon + 1; - (void) wattrset(data->parent, dialog_attr); /* Headline "Month" */ + wattrset(data->parent, dialog_attr); /* Headline "Month" */ (void) mvwprintw(data->parent, data->y - 2, data->x - 1, _("Month")); - dlg_draw_box2(data->parent, - data->y - 1, data->x - 1, - data->height + 2, data->width + 2, - menubox_attr, - menubox_border_attr, - menubox_border2_attr); - (void) wattrset(data->window, item_attr); /* color the month selection */ + dlg_draw_box(data->parent, + data->y - 1, data->x - 1, + data->height + 2, data->width + 2, + menubox_border_attr, menubox_attr); /* borders of monthbox */ + wattrset(data->window, item_attr); /* color the month selection */ mvwprintw(data->window, 0, 0, "%s", nameOfMonth(month - 1)); wmove(data->window, 0, 0); return 0; @@ -318,15 +314,13 @@ draw_year(BOX * data, struct tm *current *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 17:09:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6377A36F; Wed, 9 Jan 2013 17:09:07 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 401A7FBC; Wed, 9 Jan 2013 17:09:07 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r09H97no054619; Wed, 9 Jan 2013 17:09:07 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r09H97TH054617; Wed, 9 Jan 2013 17:09:07 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301091709.r09H97TH054617@svn.freebsd.org> From: Brooks Davis Date: Wed, 9 Jan 2013 17:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245229 - projects/mtree/usr.bin/xinstall X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 17:09:07 -0000 Author: brooks Date: Wed Jan 9 17:09:06 2013 New Revision: 245229 URL: http://svnweb.freebsd.org/changeset/base/245229 Log: Add SRI copyright for my contibutions. Modified: projects/mtree/usr.bin/xinstall/xinstall.c Modified: projects/mtree/usr.bin/xinstall/xinstall.c ============================================================================== --- projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 17:02:08 2013 (r245228) +++ projects/mtree/usr.bin/xinstall/xinstall.c Wed Jan 9 17:09:06 2013 (r245229) @@ -1,4 +1,5 @@ /* + * Copyright (c) 2012, 2013 SRI International * Copyright (c) 1987, 1993 * The Regents of the University of California. All rights reserved. * From owner-svn-src-projects@FreeBSD.ORG Wed Jan 9 18:54:43 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BD793D8B; Wed, 9 Jan 2013 18:54:43 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B00A6713; Wed, 9 Jan 2013 18:54:43 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r09IsgZA085482; Wed, 9 Jan 2013 18:54:42 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r09IsgBo085479; Wed, 9 Jan 2013 18:54:42 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201301091854.r09IsgBo085479@svn.freebsd.org> From: Jeff Roberson Date: Wed, 9 Jan 2013 18:54:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245232 - in projects/physbio/sys: mips/mips powerpc/powerpc X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 18:54:43 -0000 Author: jeff Date: Wed Jan 9 18:54:41 2013 New Revision: 245232 URL: http://svnweb.freebsd.org/changeset/base/245232 Log: - Correct a compile error. memdesc should not be a pointer. Modified: projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Wed Jan 9 18:50:06 2013 (r245231) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Wed Jan 9 18:54:41 2013 (r245232) @@ -138,7 +138,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - struct memdesc *mem; + struct memdesc mem; int flags; void *origbuffer; void *allocbuffer; Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Wed Jan 9 18:50:06 2013 (r245231) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Wed Jan 9 18:54:41 2013 (r245232) @@ -126,7 +126,7 @@ struct bus_dmamap { int pagesneeded; int pagesreserved; bus_dma_tag_t dmat; - struct memdesc *mem; + struct memdesc mem; bus_dma_segment_t *segments; int nsegs; bus_dmamap_callback_t *callback; From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 04:41:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 430BB2A5; Thu, 10 Jan 2013 04:41:05 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 320B4229; Thu, 10 Jan 2013 04:41:05 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0A4f5Ye054577; Thu, 10 Jan 2013 04:41:05 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0A4f4Y4054576; Thu, 10 Jan 2013 04:41:04 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201301100441.r0A4f4Y4054576@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 10 Jan 2013 04:41:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245245 - projects/diffused_head/sbin/ipfw X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 04:41:05 -0000 Author: lstewart Date: Thu Jan 10 04:41:04 2013 New Revision: 245245 URL: http://svnweb.freebsd.org/changeset/base/245245 Log: Correct an install error caused by BINDIR not being set when processing the diffuse_collector and diffuse_exporter subdirs. By creating a Makefile.inc in the sbin/ipfw directory which pulls in sbin/Makefile.inc, bsd.prog.mk in the diffuse subdir Makefiles will pull it in (via bsd.init.mk), thus ensuring BINDIR (set in sbin/Makefile.inc) is set correctly. Reported by: Vitaliy (artemrts at ukr.net) Suggested by: andrew@ Added: projects/diffused_head/sbin/ipfw/Makefile.inc Added: projects/diffused_head/sbin/ipfw/Makefile.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/diffused_head/sbin/ipfw/Makefile.inc Thu Jan 10 04:41:04 2013 (r245245) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 04:51:08 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2F5E5418; Thu, 10 Jan 2013 04:51:08 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3DCC251; Thu, 10 Jan 2013 04:51:07 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0A4p7tg057400; Thu, 10 Jan 2013 04:51:07 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0A4p7DG057399; Thu, 10 Jan 2013 04:51:07 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201301100451.r0A4p7DG057399@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 10 Jan 2013 04:51:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245246 - projects/diffused_head/sbin/ipfw X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 04:51:08 -0000 Author: lstewart Date: Thu Jan 10 04:51:07 2013 New Revision: 245246 URL: http://svnweb.freebsd.org/changeset/base/245246 Log: Fix a few bugs discovered by clang related to string handling of action parameters. Modified: projects/diffused_head/sbin/ipfw/diffuse_ui.c Modified: projects/diffused_head/sbin/ipfw/diffuse_ui.c ============================================================================== --- projects/diffused_head/sbin/ipfw/diffuse_ui.c Thu Jan 10 04:41:04 2013 (r245245) +++ projects/diffused_head/sbin/ipfw/diffuse_ui.c Thu Jan 10 04:51:07 2013 (r245246) @@ -1378,14 +1378,14 @@ export_config(int ac, char **av) case TOK_DI_EXP_ACTION_PARAMS: NEED(exp, "action-param is only for export config"); NEED1("action-param must be specified"); - if (strlen(*av) > DI_MAX_NAME_STR_LEN - 1) { + if (strlen(*av) > DI_MAX_PARAM_STR_LEN - 1) { errx(EX_DATAERR, "action-param cannot be " "longer than %d chars", - DI_MAX_NAME_STR_LEN - 1); + DI_MAX_PARAM_STR_LEN - 1); } strncpy(exp->conf.action_param, *av, DI_MAX_PARAM_STR_LEN - 1); - exp->conf.action[DI_MAX_PARAM_STR_LEN - 1] = '\0'; + exp->conf.action_param[DI_MAX_PARAM_STR_LEN - 1] = '\0'; ac--; av++; break; From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 05:36:45 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D92D37B2; Thu, 10 Jan 2013 05:36:45 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C963F30D; Thu, 10 Jan 2013 05:36:45 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0A5ajZ2069686; Thu, 10 Jan 2013 05:36:45 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0A5aheZ069670; Thu, 10 Jan 2013 05:36:43 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201301100536.r0A5aheZ069670@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 10 Jan 2013 05:36:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245247 - in projects/diffused_head: . bin/ln bin/ls cddl/contrib/opensolaris/cmd/zpool contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dia... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 05:36:45 -0000 Author: lstewart Date: Thu Jan 10 05:36:42 2013 New Revision: 245247 URL: http://svnweb.freebsd.org/changeset/base/245247 Log: Merge revs 244763:245246 from head. Added: projects/diffused_head/contrib/dialog/samples/dselect - copied unchanged from r245246, head/contrib/dialog/samples/dselect projects/diffused_head/contrib/dialog/samples/valgrind.log - copied unchanged from r245246, head/contrib/dialog/samples/valgrind.log projects/diffused_head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r245246, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c projects/diffused_head/sys/dev/ath/if_ath_spectral.c - copied unchanged from r245246, head/sys/dev/ath/if_ath_spectral.c projects/diffused_head/sys/dev/ath/if_ath_spectral.h - copied unchanged from r245246, head/sys/dev/ath/if_ath_spectral.h projects/diffused_head/tools/build/options/WITHOUT_LZMA_SUPPORT - copied unchanged from r245246, head/tools/build/options/WITHOUT_LZMA_SUPPORT projects/diffused_head/tools/build/options/WITH_NMTREE - copied unchanged from r245246, head/tools/build/options/WITH_NMTREE projects/diffused_head/tools/tools/ath/athspectral/ - copied from r245246, head/tools/tools/ath/athspectral/ projects/diffused_head/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r245246, head/usr.sbin/bsdconfig/share/script.subr projects/diffused_head/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r245246, head/usr.sbin/bsdconfig/share/variable.subr projects/diffused_head/usr.sbin/bsdinstall/partedit/sade.8 - copied unchanged from r245246, head/usr.sbin/bsdinstall/partedit/sade.8 Deleted: projects/diffused_head/contrib/dialog/samples/dft-cancel projects/diffused_head/contrib/dialog/samples/dft-extra projects/diffused_head/contrib/dialog/samples/dft-help projects/diffused_head/contrib/dialog/samples/dft-no projects/diffused_head/contrib/dialog/samples/fselect0 projects/diffused_head/contrib/dialog/samples/with-dquotes projects/diffused_head/contrib/dialog/samples/with-squotes projects/diffused_head/lib/libdisk/ projects/diffused_head/share/examples/cvsup/gnats-supfile projects/diffused_head/sys/dev/xen/evtchn/ projects/diffused_head/sys/dev/xen/xenpci/machine_reboot.c projects/diffused_head/usr.sbin/sade/ Modified: projects/diffused_head/COPYRIGHT projects/diffused_head/LOCKS projects/diffused_head/ObsoleteFiles.inc projects/diffused_head/bin/ln/ln.1 projects/diffused_head/bin/ls/util.c projects/diffused_head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/diffused_head/contrib/dialog/CHANGES projects/diffused_head/contrib/dialog/VERSION projects/diffused_head/contrib/dialog/aclocal.m4 projects/diffused_head/contrib/dialog/arrows.c projects/diffused_head/contrib/dialog/buttons.c projects/diffused_head/contrib/dialog/calendar.c projects/diffused_head/contrib/dialog/checklist.c projects/diffused_head/contrib/dialog/columns.c projects/diffused_head/contrib/dialog/configure projects/diffused_head/contrib/dialog/configure.in projects/diffused_head/contrib/dialog/dialog.1 projects/diffused_head/contrib/dialog/dialog.3 projects/diffused_head/contrib/dialog/dialog.c projects/diffused_head/contrib/dialog/dialog.h projects/diffused_head/contrib/dialog/dlg_colors.h projects/diffused_head/contrib/dialog/dlg_keys.c projects/diffused_head/contrib/dialog/dlg_keys.h projects/diffused_head/contrib/dialog/editbox.c projects/diffused_head/contrib/dialog/formbox.c projects/diffused_head/contrib/dialog/fselect.c projects/diffused_head/contrib/dialog/guage.c projects/diffused_head/contrib/dialog/headers-sh.in projects/diffused_head/contrib/dialog/inputbox.c projects/diffused_head/contrib/dialog/inputstr.c projects/diffused_head/contrib/dialog/makefile.in projects/diffused_head/contrib/dialog/menubox.c projects/diffused_head/contrib/dialog/mixedform.c projects/diffused_head/contrib/dialog/mixedgauge.c projects/diffused_head/contrib/dialog/msgbox.c projects/diffused_head/contrib/dialog/package/debian/changelog projects/diffused_head/contrib/dialog/package/dialog.spec projects/diffused_head/contrib/dialog/pause.c projects/diffused_head/contrib/dialog/po/cs.po projects/diffused_head/contrib/dialog/po/el.po projects/diffused_head/contrib/dialog/po/hr.po projects/diffused_head/contrib/dialog/po/sr.po projects/diffused_head/contrib/dialog/prgbox.c projects/diffused_head/contrib/dialog/progressbox.c projects/diffused_head/contrib/dialog/rc.c projects/diffused_head/contrib/dialog/samples/copifuncs/admin.funcs projects/diffused_head/contrib/dialog/samples/copifuncs/common.funcs projects/diffused_head/contrib/dialog/samples/copifuncs/copi.funcs projects/diffused_head/contrib/dialog/samples/copifuncs/copi.ifman2 projects/diffused_head/contrib/dialog/samples/copifuncs/copi.ifpoll2 projects/diffused_head/contrib/dialog/samples/copifuncs/copi.ifreq2 projects/diffused_head/contrib/dialog/samples/copifuncs/copi.sendifm1 projects/diffused_head/contrib/dialog/samples/copifuncs/copi.wheel projects/diffused_head/contrib/dialog/samples/copismall projects/diffused_head/contrib/dialog/samples/debian.rc projects/diffused_head/contrib/dialog/samples/dialog.py projects/diffused_head/contrib/dialog/samples/form1 projects/diffused_head/contrib/dialog/samples/inputmenu projects/diffused_head/contrib/dialog/samples/inputmenu-stdout projects/diffused_head/contrib/dialog/samples/inputmenu1 projects/diffused_head/contrib/dialog/samples/inputmenu2 projects/diffused_head/contrib/dialog/samples/inputmenu3 projects/diffused_head/contrib/dialog/samples/inputmenu4 projects/diffused_head/contrib/dialog/samples/killall projects/diffused_head/contrib/dialog/samples/prgbox projects/diffused_head/contrib/dialog/samples/prgbox2 projects/diffused_head/contrib/dialog/samples/report-button projects/diffused_head/contrib/dialog/samples/report-edit projects/diffused_head/contrib/dialog/samples/report-string projects/diffused_head/contrib/dialog/samples/report-tempfile projects/diffused_head/contrib/dialog/samples/report-yesno projects/diffused_head/contrib/dialog/samples/setup-edit projects/diffused_head/contrib/dialog/samples/setup-tempfile projects/diffused_head/contrib/dialog/samples/setup-utf8 projects/diffused_head/contrib/dialog/samples/setup-vars projects/diffused_head/contrib/dialog/samples/slackware.rc projects/diffused_head/contrib/dialog/samples/sourcemage.rc projects/diffused_head/contrib/dialog/samples/suse.rc projects/diffused_head/contrib/dialog/samples/tailboxbg projects/diffused_head/contrib/dialog/samples/tailboxbg1 projects/diffused_head/contrib/dialog/samples/tailboxbg2 projects/diffused_head/contrib/dialog/samples/testdata-8bit projects/diffused_head/contrib/dialog/samples/wheel projects/diffused_head/contrib/dialog/samples/whiptail.rc projects/diffused_head/contrib/dialog/tailbox.c projects/diffused_head/contrib/dialog/textbox.c projects/diffused_head/contrib/dialog/timebox.c projects/diffused_head/contrib/dialog/trace.c projects/diffused_head/contrib/dialog/ui_getc.c projects/diffused_head/contrib/dialog/util.c projects/diffused_head/contrib/dialog/yesno.c projects/diffused_head/contrib/gcc/dwarf2out.c projects/diffused_head/contrib/one-true-awk/FIXES projects/diffused_head/contrib/one-true-awk/main.c projects/diffused_head/contrib/one-true-awk/makefile projects/diffused_head/contrib/one-true-awk/proto.h projects/diffused_head/contrib/one-true-awk/run.c projects/diffused_head/contrib/one-true-awk/tran.c projects/diffused_head/contrib/sendmail/FREEBSD-upgrade projects/diffused_head/contrib/sendmail/LICENSE projects/diffused_head/contrib/sendmail/PGPKEYS projects/diffused_head/contrib/sendmail/RELEASE_NOTES projects/diffused_head/contrib/sendmail/cf/README projects/diffused_head/contrib/sendmail/cf/cf/submit.cf projects/diffused_head/contrib/sendmail/cf/feature/ldap_routing.m4 projects/diffused_head/contrib/sendmail/cf/m4/proto.m4 projects/diffused_head/contrib/sendmail/cf/m4/version.m4 projects/diffused_head/contrib/sendmail/doc/op/op.me projects/diffused_head/contrib/sendmail/include/libmilter/mfapi.h projects/diffused_head/contrib/sendmail/include/sm/clock.h projects/diffused_head/contrib/sendmail/include/sm/tailq.h projects/diffused_head/contrib/sendmail/libmilter/Makefile.m4 projects/diffused_head/contrib/sendmail/libmilter/docs/api.html projects/diffused_head/contrib/sendmail/libmilter/docs/smfi_setsymlist.html projects/diffused_head/contrib/sendmail/libmilter/docs/smfi_settimeout.html projects/diffused_head/contrib/sendmail/libmilter/worker.c projects/diffused_head/contrib/sendmail/src/Makefile.m4 projects/diffused_head/contrib/sendmail/src/TRACEFLAGS projects/diffused_head/contrib/sendmail/src/collect.c projects/diffused_head/contrib/sendmail/src/conf.c projects/diffused_head/contrib/sendmail/src/daemon.c projects/diffused_head/contrib/sendmail/src/deliver.c projects/diffused_head/contrib/sendmail/src/headers.c projects/diffused_head/contrib/sendmail/src/main.c projects/diffused_head/contrib/sendmail/src/map.c projects/diffused_head/contrib/sendmail/src/milter.c projects/diffused_head/contrib/sendmail/src/parseaddr.c projects/diffused_head/contrib/sendmail/src/queue.c projects/diffused_head/contrib/sendmail/src/sasl.c projects/diffused_head/contrib/sendmail/src/savemail.c projects/diffused_head/contrib/sendmail/src/sendmail.h projects/diffused_head/contrib/sendmail/src/srvrsmtp.c projects/diffused_head/contrib/sendmail/src/stab.c projects/diffused_head/contrib/sendmail/src/util.c projects/diffused_head/contrib/sendmail/src/version.c projects/diffused_head/crypto/openssl/crypto/bn/bn_word.c projects/diffused_head/crypto/openssl/crypto/opensslv.h projects/diffused_head/etc/mtree/BSD.var.dist projects/diffused_head/etc/namedb/named.root projects/diffused_head/etc/sendmail/freebsd.mc projects/diffused_head/etc/sendmail/freebsd.submit.mc projects/diffused_head/etc/sendmail/freefall.mc projects/diffused_head/gnu/lib/libdialog/dlg_config.h projects/diffused_head/gnu/usr.bin/binutils/ld/armelf_fbsd.sh projects/diffused_head/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh projects/diffused_head/gnu/usr.bin/dialog/Makefile projects/diffused_head/lib/Makefile projects/diffused_head/lib/csu/amd64/crt1.c projects/diffused_head/lib/csu/arm/crt1.c projects/diffused_head/lib/csu/common/ignore_init.c projects/diffused_head/lib/csu/i386-elf/crt1_c.c projects/diffused_head/lib/csu/mips/crt1.c projects/diffused_head/lib/csu/powerpc/crt1.c projects/diffused_head/lib/csu/powerpc64/crt1.c projects/diffused_head/lib/csu/sparc64/crt1.c projects/diffused_head/lib/libbsnmp/libbsnmp/Makefile projects/diffused_head/lib/libc/arm/softfloat/arm-gcc.h projects/diffused_head/lib/libc/net/name6.c projects/diffused_head/lib/libedit/map.c projects/diffused_head/lib/libradius/libradius.3 projects/diffused_head/lib/libutil/gr_util.c projects/diffused_head/release/amd64/mkisoimages.sh projects/diffused_head/release/i386/mkisoimages.sh projects/diffused_head/release/ia64/mkisoimages.sh projects/diffused_head/release/pc98/mkisoimages.sh projects/diffused_head/release/powerpc/mkisoimages.sh projects/diffused_head/release/sparc64/mkisoimages.sh projects/diffused_head/sbin/geom/class/journal/geom_journal_ufs.c projects/diffused_head/sbin/geom/class/part/gpart.8 projects/diffused_head/sbin/ifconfig/af_inet6.c projects/diffused_head/sbin/ifconfig/af_nd6.c projects/diffused_head/sbin/ifconfig/ifconfig.8 projects/diffused_head/sbin/mount_nullfs/mount_nullfs.c projects/diffused_head/sbin/pflogd/Makefile projects/diffused_head/sbin/route/route.c projects/diffused_head/share/examples/Makefile projects/diffused_head/share/examples/cvsup/README projects/diffused_head/share/examples/cvsup/cvs-supfile projects/diffused_head/share/examples/cvsup/ports-supfile projects/diffused_head/share/examples/cvsup/stable-supfile projects/diffused_head/share/examples/cvsup/standard-supfile projects/diffused_head/share/man/man4/mps.4 projects/diffused_head/share/man/man4/wbwd.4 projects/diffused_head/share/man/man5/src.conf.5 projects/diffused_head/share/man/man9/sleep.9 projects/diffused_head/share/misc/committers-ports.dot projects/diffused_head/share/mk/bsd.cpu.mk projects/diffused_head/share/mk/bsd.lib.mk projects/diffused_head/share/mk/bsd.libnames.mk projects/diffused_head/share/mk/bsd.own.mk projects/diffused_head/share/mk/bsd.prog.mk projects/diffused_head/sys/amd64/amd64/vm_machdep.c projects/diffused_head/sys/amd64/conf/GENERIC projects/diffused_head/sys/arm/arm/busdma_machdep-v6.c projects/diffused_head/sys/arm/arm/machdep.c projects/diffused_head/sys/arm/arm/pl310.c projects/diffused_head/sys/arm/arm/pmap-v6.c projects/diffused_head/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/diffused_head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/diffused_head/sys/arm/conf/BEAGLEBONE projects/diffused_head/sys/arm/include/atomic.h projects/diffused_head/sys/arm/include/machdep.h projects/diffused_head/sys/arm/include/pcpu.h projects/diffused_head/sys/arm/include/pl310.h projects/diffused_head/sys/arm/include/pmap.h projects/diffused_head/sys/arm/ti/cpsw/if_cpsw.c projects/diffused_head/sys/arm/ti/cpsw/if_cpswreg.h projects/diffused_head/sys/arm/ti/cpsw/if_cpswvar.h projects/diffused_head/sys/arm/ti/omap4/omap4_l2cache.c projects/diffused_head/sys/arm/ti/omap4/omap4_smc.h projects/diffused_head/sys/arm/ti/omap4/std.omap4 projects/diffused_head/sys/arm/ti/ti_cpuid.c projects/diffused_head/sys/arm/ti/ti_cpuid.h projects/diffused_head/sys/arm/versatile/versatile_clcd.c projects/diffused_head/sys/boot/common/interp_forth.c projects/diffused_head/sys/boot/fdt/dts/pandaboard.dts projects/diffused_head/sys/boot/userboot/userboot/Makefile projects/diffused_head/sys/boot/userboot/userboot/main.c projects/diffused_head/sys/cam/ctl/ctl.c projects/diffused_head/sys/cam/ctl/scsi_ctl.c projects/diffused_head/sys/conf/files projects/diffused_head/sys/conf/options.mips projects/diffused_head/sys/contrib/octeon-sdk/cvmx-app-init.h projects/diffused_head/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/diffused_head/sys/dev/agp/agp_ali.c projects/diffused_head/sys/dev/agp/agp_amd.c projects/diffused_head/sys/dev/agp/agp_amd64.c projects/diffused_head/sys/dev/agp/agp_ati.c projects/diffused_head/sys/dev/agp/agp_intel.c projects/diffused_head/sys/dev/agp/agp_sis.c projects/diffused_head/sys/dev/agp/agp_via.c projects/diffused_head/sys/dev/ahci/ahci.c projects/diffused_head/sys/dev/ata/ata-pci.h projects/diffused_head/sys/dev/ata/chipsets/ata-intel.c projects/diffused_head/sys/dev/ath/ath_dfs/null/dfs_null.c projects/diffused_head/sys/dev/ath/ath_hal/ah.c projects/diffused_head/sys/dev/ath/ath_hal/ah.h projects/diffused_head/sys/dev/ath/ath_hal/ah_internal.h projects/diffused_head/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/diffused_head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/diffused_head/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/diffused_head/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/diffused_head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/diffused_head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/diffused_head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/diffused_head/sys/dev/ath/if_ath.c projects/diffused_head/sys/dev/ath/if_ath_rx.c projects/diffused_head/sys/dev/ath/if_athdfs.h projects/diffused_head/sys/dev/ath/if_athioctl.h projects/diffused_head/sys/dev/ath/if_athvar.h projects/diffused_head/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/diffused_head/sys/dev/fdt/fdtbus.c projects/diffused_head/sys/dev/ichsmb/ichsmb_pci.c projects/diffused_head/sys/dev/ichwd/ichwd.c projects/diffused_head/sys/dev/ichwd/ichwd.h projects/diffused_head/sys/dev/nvme/nvme_test.c projects/diffused_head/sys/dev/pci/pci.c projects/diffused_head/sys/dev/sound/pci/hda/hdac.c projects/diffused_head/sys/dev/sound/pci/hda/hdac.h projects/diffused_head/sys/dev/usb/controller/xhci.c projects/diffused_head/sys/dev/usb/serial/u3g.c projects/diffused_head/sys/dev/usb/usbdevs projects/diffused_head/sys/dev/usb/wlan/if_run.c projects/diffused_head/sys/dev/wbwd/wbwd.c projects/diffused_head/sys/dev/xen/control/control.c projects/diffused_head/sys/dev/xen/netfront/netfront.c projects/diffused_head/sys/fs/ext2fs/ext2_dinode.h projects/diffused_head/sys/fs/fuse/fuse_io.c projects/diffused_head/sys/fs/nandfs/nandfs_segment.c projects/diffused_head/sys/fs/nullfs/null.h projects/diffused_head/sys/fs/nullfs/null_subr.c projects/diffused_head/sys/fs/nullfs/null_vfsops.c projects/diffused_head/sys/fs/nullfs/null_vnops.c projects/diffused_head/sys/fs/tmpfs/tmpfs.h projects/diffused_head/sys/fs/tmpfs/tmpfs_subr.c projects/diffused_head/sys/fs/tmpfs/tmpfs_vfsops.c projects/diffused_head/sys/fs/tmpfs/tmpfs_vnops.c projects/diffused_head/sys/i386/conf/GENERIC projects/diffused_head/sys/i386/xen/xen_machdep.c projects/diffused_head/sys/ia64/conf/GENERIC projects/diffused_head/sys/kern/kern_exit.c projects/diffused_head/sys/kern/kern_lock.c projects/diffused_head/sys/kern/kern_synch.c projects/diffused_head/sys/kern/subr_param.c projects/diffused_head/sys/kern/subr_syscall.c projects/diffused_head/sys/kern/vfs_mount.c projects/diffused_head/sys/kern/vfs_vnops.c projects/diffused_head/sys/mips/atheros/ar71xx_pci.c projects/diffused_head/sys/mips/beri/beri_machdep.c projects/diffused_head/sys/mips/conf/OCTEON1 projects/diffused_head/sys/modules/ath/Makefile projects/diffused_head/sys/net/if_pfsync.h projects/diffused_head/sys/net/zlib.c projects/diffused_head/sys/net/zlib.h projects/diffused_head/sys/net80211/ieee80211_hostap.c projects/diffused_head/sys/net80211/ieee80211_hwmp.c projects/diffused_head/sys/net80211/ieee80211_radiotap.h projects/diffused_head/sys/netinet/in.c projects/diffused_head/sys/netinet/tcp_timer.c projects/diffused_head/sys/netinet6/in6.c projects/diffused_head/sys/netinet6/in6_src.c projects/diffused_head/sys/netinet6/nd6.h projects/diffused_head/sys/netinet6/scope6.c projects/diffused_head/sys/netpfil/pf/if_pflog.c projects/diffused_head/sys/netpfil/pf/if_pfsync.c projects/diffused_head/sys/netpfil/pf/pf.c projects/diffused_head/sys/netpfil/pf/pf_if.c projects/diffused_head/sys/netpfil/pf/pf_ioctl.c projects/diffused_head/sys/netpfil/pf/pf_lb.c projects/diffused_head/sys/netpfil/pf/pf_norm.c projects/diffused_head/sys/netpfil/pf/pf_osfp.c projects/diffused_head/sys/netpfil/pf/pf_ruleset.c projects/diffused_head/sys/netpfil/pf/pf_table.c projects/diffused_head/sys/pc98/conf/GENERIC projects/diffused_head/sys/powerpc/conf/GENERIC projects/diffused_head/sys/powerpc/conf/GENERIC64 projects/diffused_head/sys/sparc64/conf/GENERIC projects/diffused_head/sys/sparc64/sparc64/interrupt.S projects/diffused_head/sys/sys/buf_ring.h projects/diffused_head/sys/sys/copyright.h projects/diffused_head/sys/sys/mbuf.h projects/diffused_head/sys/sys/mount.h projects/diffused_head/sys/sys/param.h projects/diffused_head/sys/sys/vnode.h projects/diffused_head/sys/tools/vnode_if.awk projects/diffused_head/sys/ufs/ffs/ffs_snapshot.c projects/diffused_head/sys/vm/device_pager.c projects/diffused_head/sys/vm/vm_object.h projects/diffused_head/sys/x86/include/specialreg.h projects/diffused_head/tools/build/make_check/Makefile projects/diffused_head/tools/tools/ath/Makefile projects/diffused_head/tools/tools/ath/arcode/arcode.c projects/diffused_head/tools/tools/ath/ath_prom_read/ath_prom_read.c projects/diffused_head/tools/tools/ath/athdebug/athdebug.c projects/diffused_head/tools/tools/ath/athdecode/main.c projects/diffused_head/tools/tools/ath/athkey/athkey.c projects/diffused_head/tools/tools/ath/athprom/athprom.c projects/diffused_head/tools/tools/ath/athratestats/main.c projects/diffused_head/tools/tools/ath/athstats/Makefile projects/diffused_head/tools/tools/ath/athstats/athstats.c projects/diffused_head/tools/tools/ath/athsurvey/athsurvey.c projects/diffused_head/usr.bin/apply/apply.c projects/diffused_head/usr.bin/dc/bcode.c projects/diffused_head/usr.bin/dc/bcode.h projects/diffused_head/usr.bin/dc/inout.c projects/diffused_head/usr.bin/grep/Makefile projects/diffused_head/usr.bin/grep/file.c projects/diffused_head/usr.bin/grep/grep.c projects/diffused_head/usr.bin/grep/regex/tre-fastmatch.c projects/diffused_head/usr.bin/m4/Makefile projects/diffused_head/usr.bin/tail/read.c projects/diffused_head/usr.bin/ul/ul.c projects/diffused_head/usr.bin/xargs/strnsubst.c projects/diffused_head/usr.sbin/Makefile.amd64 projects/diffused_head/usr.sbin/Makefile.i386 projects/diffused_head/usr.sbin/Makefile.sparc64 projects/diffused_head/usr.sbin/bsdconfig/USAGE projects/diffused_head/usr.sbin/bsdconfig/bsdconfig projects/diffused_head/usr.sbin/bsdconfig/bsdconfig.8 projects/diffused_head/usr.sbin/bsdconfig/include/messages.subr projects/diffused_head/usr.sbin/bsdconfig/networking/share/hostname.subr projects/diffused_head/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/diffused_head/usr.sbin/bsdconfig/share/Makefile projects/diffused_head/usr.sbin/bsdconfig/share/common.subr projects/diffused_head/usr.sbin/bsdconfig/share/dialog.subr projects/diffused_head/usr.sbin/bsdinstall/partedit/Makefile projects/diffused_head/usr.sbin/bsdinstall/partedit/partedit.c projects/diffused_head/usr.sbin/daemon/daemon.c projects/diffused_head/usr.sbin/gssd/Makefile projects/diffused_head/usr.sbin/gssd/gssd.8 projects/diffused_head/usr.sbin/gssd/gssd.c projects/diffused_head/usr.sbin/ifmcstat/ifmcstat.c projects/diffused_head/usr.sbin/mtree/Makefile projects/diffused_head/usr.sbin/ndp/ndp.8 projects/diffused_head/usr.sbin/ndp/ndp.c projects/diffused_head/usr.sbin/newsyslog/newsyslog.8 projects/diffused_head/usr.sbin/newsyslog/newsyslog.c projects/diffused_head/usr.sbin/nmtree/Makefile projects/diffused_head/usr.sbin/pw/pw_user.c Directory Properties: projects/diffused_head/ (props changed) projects/diffused_head/cddl/contrib/opensolaris/ (props changed) projects/diffused_head/contrib/dialog/ (props changed) projects/diffused_head/contrib/gcc/ (props changed) projects/diffused_head/contrib/one-true-awk/ (props changed) projects/diffused_head/contrib/sendmail/ (props changed) projects/diffused_head/crypto/openssl/ (props changed) projects/diffused_head/gnu/lib/ (props changed) projects/diffused_head/gnu/usr.bin/binutils/ (props changed) projects/diffused_head/lib/libc/ (props changed) projects/diffused_head/lib/libutil/ (props changed) projects/diffused_head/sbin/ (props changed) projects/diffused_head/share/man/man4/ (props changed) projects/diffused_head/sys/ (props changed) projects/diffused_head/sys/boot/ (props changed) projects/diffused_head/sys/conf/ (props changed) projects/diffused_head/sys/contrib/octeon-sdk/ (props changed) projects/diffused_head/tools/regression/bin/sh/errors/write-error1.0 (props changed) Modified: projects/diffused_head/COPYRIGHT ============================================================================== --- projects/diffused_head/COPYRIGHT Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/COPYRIGHT Thu Jan 10 05:36:42 2013 (r245247) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/diffused_head/LOCKS ============================================================================== --- projects/diffused_head/LOCKS Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/LOCKS Thu Jan 10 05:36:42 2013 (r245247) @@ -11,3 +11,4 @@ releng/4.* Requires Security Officer app releng/5.* Requires Security Officer approval. releng/6.* Requires Security Officer approval. releng/7.* Requires Security Officer approval. +releng/8.* Requires Security Officer approval. Modified: projects/diffused_head/ObsoleteFiles.inc ============================================================================== --- projects/diffused_head/ObsoleteFiles.inc Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/ObsoleteFiles.inc Thu Jan 10 05:36:42 2013 (r245247) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20121230: libdisk removed +OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h +OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a +# 20121230: remove wrongly created directories for auditdistd +OLD_DIRS+=var/dist +OLD_DIRS+=var/remote # 20121114: zpool-features manual page moved from section 5 to 7 OLD_FILES+=usr/share/man/man5/zpool-features.5.gz # 20121022: remove harp, hfa and idt man page Modified: projects/diffused_head/bin/ln/ln.1 ============================================================================== --- projects/diffused_head/bin/ln/ln.1 Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/bin/ln/ln.1 Thu Jan 10 05:36:42 2013 (r245247) @@ -291,7 +291,7 @@ implementations. .Pp The .Fl F -option is +option is a .Fx extension and should not be used in portable scripts. .Sh SEE ALSO Modified: projects/diffused_head/bin/ls/util.c ============================================================================== --- projects/diffused_head/bin/ls/util.c Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/bin/ls/util.c Thu Jan 10 05:36:42 2013 (r245247) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); Modified: projects/diffused_head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/diffused_head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Thu Jan 10 05:36:42 2013 (r245247) @@ -906,10 +906,11 @@ zpool_do_create(int argc, char **argv) /* * Check the validity of the mountpoint and direct the user to use the * '-m' mountpoint option if it looks like its in use. + * Ignore the checks if the '-f' option is given. */ - if (mountpoint == NULL || + if (!force && (mountpoint == NULL || (strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 && - strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0)) { + strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0))) { char buf[MAXPATHLEN]; DIR *dirp; Modified: projects/diffused_head/contrib/dialog/CHANGES ============================================================================== --- projects/diffused_head/contrib/dialog/CHANGES Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/CHANGES Thu Jan 10 05:36:42 2013 (r245247) @@ -1,172 +1,9 @@ --- $Id: CHANGES,v 1.419 2012/07/06 18:18:48 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: -2012/07/06 - + modify samples/setup-tempfile to work with Tru64's shell. - + modify inputmenu sample scripts to make them more portable: - + use "id" rather than "$GROUPS", use sed to work with Solaris. - + use sed to split-up the rename results to work with HPUX. - + fix regression in msgbox (ArchLinux #30574) - -2012/07/03 - + modify prgbox widget to work with --extra-button, etc. - + add case values to several widgets to allow for mouse-clicks with - "--extra-button" and "--help-button" additions. - + correct timebox widget's exit code for "--extra-button" when handing - the "enter" key. - + modify msgbox widget to honor "--extra-button". - + corrected processing of "--trace" option, which did not update the - index into command-line to point past its value. - + add a check in dialog program for valid characters used in option, - e.g., to generate an error if a script attempts to add option value - using "=" rather than with whitespace. - + add new command-line option --default-button and library function - dlg_default_button() to retrieve the value set by the option - to provide a way to set the default button directly rather than - by combining --nook, etc. (patch by Zoltan Kelemen). - + amend include of unctrl.h to apply only to the case where curses.h - is included, to avoid conflict of ncurses' unctrl.h with a system - implementation (report by Martin Roedlach) - + add limit-check to dlg_toupper() in non-wide curses mode to work - when non-character values such as arrow-key codes are passed to - it (patch by Zoltan Kelemen). - + override timeout value, e.g., as set via --timeout command-line - option in pause widget because that interferes with pause's behavior - (report by Jan Spitalnik). - + modify samples/inputmenu* to allow ":" in renamed text (report by - Andreas Stoewing). - + modify double-quoting to make it more consistent, i.e., checklist - output is quoted only when needed. This fixes the case where - single-quotes were used whether or not needed, but also modifies - older checklist behavior for double-quoting which always added those - (Debian #663664). - + correct exit-code used in inputmenu for "rename" button (Debian - #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim). - + update el.po and hr.po from - http://translationproject.org/latest/dialog/ - + use checkbashisms to clean up sample scripts. - -2012/02/15 - + modify menubox.c to use the same improvement as in checklist.c - + improve auto width computation for checklist widget by using - dlg_calc_list_width as in the non-auto case (Edho Arief). - + eliminate some bashisms in the sample scripts (Pedro Giffuni). - + makefile fixes from FreeBSD ports (Li-Wen Hsu): - + make --with-package option of configure script work. - + get LIBTOOL_VERSION from configure script, needed by - ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and - aclocal.m4) - + update cs.po and sr.po from - http://translationproject.org/latest/dialog/ - + updated configure script macros, improving CF_XOPEN_SOURCE among - other fixes. - -2011/10/20 - + fix --analyze warnings for clang versions 2.8, 2.9. - + add configure check for lint program. - + add check in dlg_getc() in case its window is freed as a side effect - of removing callbacks. - + fix logic in freeing subwindows (report by xDog Walker). - + fix a regression in logic distinguishing between inputmenu and menu - widgets (report by xDog Walker). - + minor fixes to library manpage. - -2011/10/18 - + modify header-sh.in to work around limit on sed script length on - HPUX. - + add a special case of parameter parsing for "--trace" to the - initialization done before calling init_dialog(), to allow users to - capture the initial state of the parameter list before any options - are processed and removed. This is only done if "--trace" is the - first option, otherwise it is handled in the common options as before - (report by xDog Walker). - + modify samples/testdata-8bit, discarding $1 from the parameter list - if it was used, so that the source'ing scripts can consistently use - "$@" to insert parameters before the widget, e.g., as an alternative - to using $DIALOGOPTS (report by xDog Walker). - + modify treatment of function pointers in menubox.c, make - dlg_renamed_menutext() and dlg_dummy_menutext() visible to library - users (request by xDog Walker). - + add dlg_count_real_columns(), use to modify centering for "--hline" - text to account for "\Z"s (report by xDog Walker). - + improve check in dlg_draw_arrows2() for conflict between the window - title and up-arrow marker to take into account that the given window - may not be the top-level window of the widget. - + change width of page up/down mouse areas in fselect panes to use the - full width of the panes rather than only the portion from the left - margin to the up/down arrow. - + add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the - secondary borders. - + modify rc-file read/write to accept/generate color values that refer - to previously-processed items in the color table. This reduces the - number of distinct colors that must be specified to set up a color - scheme. - + add color table entries for secondary borders, i.e., the ones that - are normally drawn with the dialog's text-colors (Debian #641168). - + modify fselect.c to scan the current directory if the input field - happens to be empty (Debian #640905). - + repeated the discussion of environment variables that can override - the exit-status values in the manpage's return-codes section - (Debian #642105). - + add an example to the manpage showing how to override the form - widget's keys used for field/button traversal (Debian #642108). - + modify call to dlg_register_window() in formbox.c so that the editing - bindings are attached to the form sub-window rather than the - top-level dialog window. Also change the name by which the editing - bindings are bound for editbox.c, fselect.c and inputbox.c, so that - the editing and navigation bindings can be different. - + correct logic in dlg_lookup_key() so that it matches the widget name - before using a binding from .dialogrc, allowing the inner/outer - windows of form and other editing widgets to have different bindings. - + modify dlg_register_window() to call dlg_dump_window_keys() after - its updates, via the --trace output, to supplement the manpage - description of key bindings (Debian #642108). - + add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to - allow binding a single key to traverse both form-fields and buttons - (Debian #642108). - + modify dlg_parse_rc() to check for error return from - dlg_parse_bindkey(). - + add function dlg_dump_window_keys(), to help with debugging widgets. - + add CR, LF, TAB, FF and ESC to table of curses names to help make - key bindings more readable. - + update table of dialog key-names so that helpfile and trace are - dumped properly. - + correct dlg_dump_keys(), which was showing only the first item in - the matched binding table. - + save/restore window current position in dlg_update_mixedgauge(). - + pass return-code from pause_for_ok() from dlg_progressbox() when - pauseopt is set, rather than only DLG_OK. - + call setlocale() in init_dialog() rather than relying on on-demand - use within inputstr.c, since there are paths in textbox widget which - do not exercise the latter (report by xDog Walker). - + fix some places where checks for "\Z" were done without also checking - dialog_vars.colors (report by Moray Henderson). - + correct logic for DIALOGOPTS parsing so that the parse happens only - once unless memory leak checking is enabled (report by xDog Walker). - + remove an incorrect free() call in dlg_free_gauge() (report by xDog - Walker). - + modify dlg_trace_win() to log wide-characters (report by xDog Walker). - + make traces shorter by skipping repeated ERR's, but showing the - number skipped (report by xDog Walker). - + improve description in manpage to distinguish program box and - progress box from tailboxes (adapted from email by xDog Walker). - + modify dlg_trace_win() so that it looks for the topmost window in a - dialog. Because subwindows share space with the top window, tracing - the latter shows the whole widget (report by xDog Walker). - + expand tracing so that each window is traced before soliciting input, - making the ^T feature to print a window on demand partly redundant - (suggested by xDog Walker). - + cosmetic change in dialog.h to avoid "*/*" strings from comments next - to "*" (report by xDog Walker). - + ensure result from dlg_align_columns() has trailing null on each - string. Analysis was hindered by libc6's continuance of libc5's - early-1990s misfeature of clearing the result from malloc, noting - that libc6's documentation incorrectly claims that it does not do - this (report by xDog Walker). - 2011/07/07 + modify util.c to work better with old versions of ncurses: + suppress use of wchgat() before fix in 20060715 which is needed @@ -250,7 +87,7 @@ to it: + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h doesn't do anything, so it needs a crutch). - + update config.guess, config.sub + + updated config.guess, config.sub 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). @@ -318,7 +155,7 @@ to it: CF_ADD_LIBDIR for the curses-directory here, from CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even with the default checking, e.g., no --with-ncurses, etc. - + update config.guess, config.sub + + updated config.guess, config.sub 2010/04/28 + several improvements to configure script: @@ -413,7 +250,7 @@ to it: libutf8 and libiconv. + update da.po, ru.po from http://translationproject.org/latest/dialog/ - + update config.guess, config.sub + + updated config.guess, config.sub 2008/08/19 + amend changes to quoting; by default, the checklist widget quotes its @@ -496,7 +333,7 @@ to it: ESC to be returned, quitting dialog (report by Reiner Huober). + add extern "C" declarations to dlg_keys.h so the corresponding function declarations are exported to C++ as C symbols. - + update config.guess, config.sub + + updated config.guess, config.sub 2007/06/04 + fix a memory leak in editbox.c @@ -599,7 +436,7 @@ to it: CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS, CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC, CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE. - + update config.guess, config.sub + + updated config.guess, config.sub > adapted fixes from SuSE package (Werner Fink): + add some limit-checks in dlg_draw_shadow(). + make shadows resizable, using new dlg_move_window() in msgbox.c Modified: projects/diffused_head/contrib/dialog/VERSION ============================================================================== --- projects/diffused_head/contrib/dialog/VERSION Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/VERSION Thu Jan 10 05:36:42 2013 (r245247) @@ -1 +1 @@ -10:4:0 1.1 20120706 +10:0:0 1.1 20110707 Modified: projects/diffused_head/contrib/dialog/aclocal.m4 ============================================================================== --- projects/diffused_head/contrib/dialog/aclocal.m4 Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/aclocal.m4 Thu Jan 10 05:36:42 2013 (r245247) @@ -1,7 +1,7 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.87 2012/02/16 02:11:26 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2011,2012 -- Thomas E. Dickey +dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -592,31 +592,6 @@ changequote([,])dnl AC_SUBST(GENCAT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03 -dnl ------------------ -dnl Conditionally generate script according to whether we're using a given autoconf. -dnl -dnl $1 = version to compare against -dnl $2 = code to use if AC_ACVERSION is at least as high as $1. -dnl $3 = code to use if AC_ACVERSION is older than $1. -define(CF_ACVERSION_CHECK, -[ -ifdef([m4_version_compare], -[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], -[CF_ACVERSION_COMPARE( -AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), -AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50 -dnl -------------------- -dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, -dnl MAJOR2, MINOR2, TERNARY2, -dnl PRINTABLE2, not FOUND, FOUND) -define(CF_ACVERSION_COMPARE, -[ifelse(builtin([eval], [$2 < $5]), 1, -[ifelse([$8], , ,[$8])], -[ifelse([$9], , ,[$9])])])dnl -dnl --------------------------------------------------------------------------- dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56 dnl ------------ dnl Conditionally generate script according to whether we're using the release @@ -1252,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 35 updated: 2011/08/09 21:06:37 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1332,7 +1307,7 @@ if test ".$ac_cv_func_initscr" != .yes ; # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list otermcap termcap termlib unknown + for cf_term_lib in $cf_check_list termcap termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[break]) done @@ -1558,30 +1533,6 @@ fi test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WGETPARENT version: 2 updated: 2011/10/17 20:12:04 -dnl -------------------- -dnl Check for curses support for directly determining the parent of a given -dnl window. Some implementations make this difficult, so we provide for -dnl defining an application-specific function that gives this functionality. -dnl -dnl $1 = name of function to use if the feature is missing -AC_DEFUN([CF_CURSES_WGETPARENT],[ -CF_CURSES_FUNCS(wgetparent) -if test "x$cf_cv_func_wgetparent" != xyes -then - AC_MSG_CHECKING(if WINDOW has _parent member) - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [WINDOW *p = stdscr->_parent], - [cf_window__parent=yes], - [cf_window__parent=no]) - AC_MSG_RESULT($cf_window__parent) - if test "$cf_window__parent" = yes - then - AC_DEFINE(HAVE_WINDOW__PARENT) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. @@ -2386,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2410,7 +2361,7 @@ linux*|gnu*|k*bsd*-gnu) #(vi openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -dragonfly*|freebsd*) #(vi +freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2469,11 +2420,11 @@ CF_SUBDIR_PATH($1,$2,lib) $1="$cf_library_path_list [$]$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 +dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set -define([CF_LIB_PREFIX], +AC_DEFUN([CF_LIB_PREFIX], [ case $cf_cv_system_name in #(vi OS/2*|os2*) #(vi @@ -2694,7 +2645,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05 +dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30 dnl ----------------- dnl Tie together the configure-script macros for ncurses. dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. @@ -2706,10 +2657,7 @@ AC_DEFUN([CF_NCURSES_CONFIG], cf_ncuconfig_root=ifelse($1,,ncurses,$1) echo "Looking for ${cf_ncuconfig_root}-config" - -CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], - [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) +AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none) if test "$NCURSES_CONFIG" != none ; then @@ -3223,14 +3171,6 @@ AC_SUBST(PROG_EXT) test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 -dnl ------------ -AC_DEFUN([CF_PROG_LINT], -[ -AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint) -AC_SUBST(LINT_OPTS) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 dnl ---------------- dnl Remove all -U and -D options that refer to the given symbol from a list @@ -3478,45 +3418,6 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 -dnl ------------------- -dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we -dnl can define it successfully. -AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ -AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - -if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) -fi -]) -dnl --------------------------------------------------------------------------- dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44 dnl ------------- dnl Check to see if the BSD-style union wait is declared. Some platforms may @@ -3779,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 28 updated: 2011/07/02 15:40:32 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3880,7 +3781,7 @@ ifdef([AC_PROG_LIBTOOL],[ # special hack to add -no-undefined (which libtool should do for itself) LT_UNDEF= case "$cf_cv_system_name" in #(vi - cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi + cygwin*|mingw32*|uwin*|aix[[456]]) #(vi LT_UNDEF=-no-undefined ;; esac @@ -4049,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -4065,7 +3966,7 @@ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[ cf_xopen_source= case $host_os in #(vi -aix[[4-7]]*) #(vi +aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; cygwin) #(vi @@ -4076,7 +3977,6 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -4094,23 +3994,15 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks ;; netbsd*) #(vi - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd[[4-9]]*) #(vi - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 + # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -4124,46 +4016,42 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.*) #(vi +solaris2.1[[0-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[[1-9]]) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - CF_TRY_XOPEN_SOURCE - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source) -fi - -dnl In anything but the default case, we may have system-specific setting -dnl which is still not guaranteed to provide all of the entrypoints that -dnl _XOPEN_SOURCE would yield. -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) - AC_TRY_COMPILE([#include ],[ + AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([#include ],[ #ifndef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set=yes], - [cf_XOPEN_SOURCE_set=no]) - AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test $cf_XOPEN_SOURCE_set = yes - then - AC_TRY_COMPILE([#include ],[ -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([#include ],[ +#ifdef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set_ok=yes], - [cf_XOPEN_SOURCE_set_ok=no]) - if test $cf_XOPEN_SOURCE_set_ok = no - then - AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) - fi - else - CF_TRY_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) fi + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + ;; +esac + +if test -n "$cf_xopen_source" ; then + CF_ADD_CFLAGS($cf_xopen_source) fi ]) dnl --------------------------------------------------------------------------- Modified: projects/diffused_head/contrib/dialog/arrows.c ============================================================================== --- projects/diffused_head/contrib/dialog/arrows.c Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/arrows.c Thu Jan 10 05:36:42 2013 (r245247) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.41 2011/10/20 23:37:17 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -79,9 +79,9 @@ dlg_draw_helpline(WINDOW *win, bool deco const int *cols = dlg_index_columns(dialog_vars.help_line); int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; int avail = (getmaxx(win) - other - 2); - int limit = dlg_count_real_columns(dialog_vars.help_line) + 2; + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); - if (limit < avail) { + if (limit > 0) { getyx(win, cur_y, cur_x); other = decorations ? ON_LEFT : 0; (void) wmove(win, bottom, other + (avail - limit) / 2); @@ -107,14 +107,13 @@ dlg_draw_arrows2(WINDOW *win, int cur_x, cur_y; int limit_x = getmaxx(win); bool draw_top = TRUE; - bool is_toplevel = (wgetparent(win) == stdscr); getyx(win, cur_y, cur_x); /* * If we're drawing a centered title, do not overwrite with the arrows. */ - if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) { + if (dialog_vars.title) { int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2; int need = x + 5; if (need > have) @@ -124,11 +123,11 @@ dlg_draw_arrows2(WINDOW *win, if (draw_top) { (void) wmove(win, top, x); if (top_arrow) { - (void) wattrset(win, merge_colors(uarrow_attr, attr)); + wattrset(win, merge_colors(uarrow_attr, attr)); (void) add_acs(win, ACS_UARROW); (void) waddstr(win, "(-)"); } else { - (void) wattrset(win, attr); + wattrset(win, attr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } @@ -136,11 +135,11 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, bottom, x); if (bottom_arrow) { - (void) wattrset(win, merge_colors(darrow_attr, attr)); + wattrset(win, merge_colors(darrow_attr, attr)); (void) add_acs(win, ACS_DARROW); (void) waddstr(win, "(+)"); } else { - (void) wattrset(win, borderattr); + wattrset(win, borderattr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -148,7 +147,7 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, cur_y, cur_x); wrefresh(win); - (void) wattrset(win, save); + wattrset(win, save); } void @@ -167,13 +166,14 @@ dlg_draw_scrollbar(WINDOW *win, char buffer[80]; int percent; int len; - int oldy, oldx; + int oldy, oldx, maxy, maxx; chtype save = dlg_get_attrs(win); int top_arrow = (first_data != 0); int bottom_arrow = (next_data < total_data); getyx(win, oldy, oldx); + getmaxyx(win, maxy, maxx); dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { @@ -187,12 +187,12 @@ dlg_draw_scrollbar(WINDOW *win, else if (percent > 100) percent = 100; - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); (void) sprintf(buffer, "%d%%", percent); (void) wmove(win, bottom, right - 7); (void) waddstr(win, buffer); if ((len = dlg_count_columns(buffer)) < 4) { - (void) wattrset(win, border_attr); + wattrset(win, border_attr); whline(win, dlg_boxchar(ACS_HLINE), 4 - len); } } @@ -212,7 +212,7 @@ dlg_draw_scrollbar(WINDOW *win, if (bar_high < all_high) { wmove(win, top + 1, right); - (void) wattrset(win, save); + wattrset(win, save); wvline(win, ACS_VLINE | A_REVERSE, all_high); bar_y = BARSIZE(this_data); @@ -221,7 +221,7 @@ dlg_draw_scrollbar(WINDOW *win, wmove(win, top + 1 + bar_y, right); - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); wattron(win, A_REVERSE); wvline(win, ACS_BLOCK, bar_high); } @@ -236,7 +236,7 @@ dlg_draw_scrollbar(WINDOW *win, attr, borderattr); - (void) wattrset(win, save); + wattrset(win, save); wmove(win, oldy, oldx); } @@ -255,6 +255,6 @@ dlg_draw_arrows(WINDOW *win, x, top, bottom, - menubox_border2_attr, + menubox_attr, menubox_border_attr); } Modified: projects/diffused_head/contrib/dialog/buttons.c ============================================================================== --- projects/diffused_head/contrib/dialog/buttons.c Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/buttons.c Thu Jan 10 05:36:42 2013 (r245247) @@ -1,9 +1,9 @@ /* - * $Id: buttons.c,v 1.90 2012/07/01 20:42:05 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * - * Copyright 2000-2011,2012 Thomas E. Dickey + * Copyright 2000-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -104,11 +104,11 @@ print_button(WINDOW *win, char *label, i : button_label_inactive_attr); (void) wmove(win, y, x); - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, "<"); - (void) wattrset(win, label_attr); + wattrset(win, label_attr); for (i = 0; i < limit; ++i) { int first = indx[i]; int last = indx[i + 1]; @@ -120,14 +120,14 @@ print_button(WINDOW *win, char *label, i const char *temp = (label + first); int cmp = string_to_char(&temp); if (dlg_isupper(cmp)) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; } #endif if (dlg_isupper(UCH(label[first]))) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; @@ -138,9 +138,9 @@ print_button(WINDOW *win, char *label, i } waddnstr(win, label + first, last - first); } - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, ">"); (void) wmove(win, y, x + ((int) strspn(label, " ")) + 1); } @@ -310,7 +310,7 @@ dlg_draw_buttons(WINDOW *win, (void) wmove(win, final_y, final_x); wrefresh(win); free(buffer); - (void) wattrset(win, save); + wattrset(win, save); } /* @@ -488,12 +488,10 @@ dlg_exit_buttoncode(int button) const char ** dlg_ok_label(void) { - static const char *labels[4]; + static const char *labels[3]; int n = 0; labels[n++] = my_ok_label(); - if (dialog_vars.extra_button) - labels[n++] = my_extra_label(); if (dialog_vars.help_button) labels[n++] = my_help_label(); labels[n] = 0; @@ -539,7 +537,6 @@ dlg_ok_buttoncode(int button) } else if (dialog_vars.help_button && (button == n)) { result = DLG_EXIT_HELP; } - dlg_trace_msg("# dlg_ok_buttoncode(%d) = %d\n", button, result); return result; } @@ -578,7 +575,7 @@ dlg_prev_ok_buttonindex(int current, int /* * Find the button-index for the "OK" or "Cancel" button, according to * whether --defaultno is given. If --nocancel was given, we always return - * the index for the first button (usually "OK" unless --nook was used). + * the index for "OK". */ int dlg_defaultno_button(void) @@ -589,30 +586,6 @@ dlg_defaultno_button(void) while (dlg_ok_buttoncode(result) != DLG_EXIT_CANCEL) ++result; } - dlg_trace_msg("# dlg_defaultno_button() = %d\n", result); - return result; -} - -/* - * Find the button-index for a button named with --default-button. If the - * option was not specified, or if the selected button does not exist, return - * the index of the first button (usually "OK" unless --nook was used). - */ -int -dlg_default_button(void) -{ - int i, n; - int result = 0; - - if (dialog_vars.default_button >= 0) { - for (i = 0; (n = dlg_ok_buttoncode(i)) >= 0; i++) { - if (n == dialog_vars.default_button) { - result = i; - break; - } - } - } - dlg_trace_msg("# dlg_default_button() = %d\n", result); return result; } Modified: projects/diffused_head/contrib/dialog/calendar.c ============================================================================== --- projects/diffused_head/contrib/dialog/calendar.c Thu Jan 10 04:51:07 2013 (r245246) +++ projects/diffused_head/contrib/dialog/calendar.c Thu Jan 10 05:36:42 2013 (r245247) @@ -1,9 +1,9 @@ /* - * $Id: calendar.c,v 1.66 2012/07/01 18:13:07 Zoltan.Kelemen Exp $ + * $Id: calendar.c,v 1.62 2011/06/29 09:47:06 tom Exp $ * * calendar.c -- implements the calendar box * - * Copyright 2001-2011,2012 Thomas E. Dickey + * Copyright 2001-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -225,14 +225,12 @@ draw_day(BOX * data, struct tm *current) int prev = days_in_month(current, -1); werase(data->window); - dlg_draw_box2(data->parent, - data->y - MARGIN, data->x - MARGIN, - data->height + (2 * MARGIN), data->width + (2 * MARGIN), - menubox_attr, - menubox_border_attr, - menubox_border2_attr); + dlg_draw_box(data->parent, + data->y - MARGIN, data->x - MARGIN, + data->height + (2 * MARGIN), data->width + (2 * MARGIN), + menubox_border_attr, menubox_attr); /* border of daybox */ - (void) wattrset(data->window, menubox_attr); /* daynames headline */ + wattrset(data->window, menubox_attr); /* daynames headline */ for (x = 0; x < 7; x++) { mvwprintw(data->window, 0, (x + 1) * cell_wide, "%*.*s ", @@ -248,7 +246,7 @@ draw_day(BOX * data, struct tm *current) week = (current->tm_yday + 6 + mday - current->tm_mday) / 7; for (y = 1; mday < last; y++) { - (void) wattrset(data->window, menubox_attr); /* weeknumbers headline */ + wattrset(data->window, menubox_attr); /* weeknumbers headline */ mvwprintw(data->window, y, 0, "%*d ", @@ -259,9 +257,9 @@ draw_day(BOX * data, struct tm *current) ++mday; if (wmove(data->window, y, this_x) == ERR) continue; - (void) wattrset(data->window, item_attr); /* not selected days */ + wattrset(data->window, item_attr); /* not selected days */ if (mday == day) { - (void) wattrset(data->window, item_selected_attr); /* selected day */ + wattrset(data->window, item_selected_attr); /* selected day */ save_y = y; save_x = this_x; } @@ -296,15 +294,13 @@ draw_month(BOX * data, struct tm *curren month = current->tm_mon + 1; - (void) wattrset(data->parent, dialog_attr); /* Headline "Month" */ + wattrset(data->parent, dialog_attr); /* Headline "Month" */ (void) mvwprintw(data->parent, data->y - 2, data->x - 1, _("Month")); - dlg_draw_box2(data->parent, - data->y - 1, data->x - 1, - data->height + 2, data->width + 2, - menubox_attr, - menubox_border_attr, - menubox_border2_attr); - (void) wattrset(data->window, item_attr); /* color the month selection */ + dlg_draw_box(data->parent, + data->y - 1, data->x - 1, + data->height + 2, data->width + 2, + menubox_border_attr, menubox_attr); /* borders of monthbox */ + wattrset(data->window, item_attr); /* color the month selection */ mvwprintw(data->window, 0, 0, "%s", nameOfMonth(month - 1)); wmove(data->window, 0, 0); return 0; @@ -318,15 +314,13 @@ draw_year(BOX * data, struct tm *current *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 16:50:28 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 53C49A72; Thu, 10 Jan 2013 16:50:28 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4689990B; Thu, 10 Jan 2013 16:50:28 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0AGoSVA060400; Thu, 10 Jan 2013 16:50:28 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0AGoSYr060399; Thu, 10 Jan 2013 16:50:28 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301101650.r0AGoSYr060399@svn.freebsd.org> From: Brooks Davis Date: Thu, 10 Jan 2013 16:50:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245257 - projects/mtree/share/zoneinfo X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 16:50:28 -0000 Author: brooks Date: Thu Jan 10 16:50:27 2013 New Revision: 245257 URL: http://svnweb.freebsd.org/changeset/base/245257 Log: Spell PHONY correctly.[0] Add builddir to CLEANDIRS to it's cleaned up properly. Submitted by: jilles [0] Modified: projects/mtree/share/zoneinfo/Makefile Modified: projects/mtree/share/zoneinfo/Makefile ============================================================================== --- projects/mtree/share/zoneinfo/Makefile Thu Jan 10 14:08:19 2013 (r245256) +++ projects/mtree/share/zoneinfo/Makefile Thu Jan 10 16:50:27 2013 (r245257) @@ -29,6 +29,7 @@ # CLEANFILES+= yearistype +CLEANDIRS+= builddir CONTRIBDIR= ${.CURDIR}/../../contrib/tzdata/ .PATH: ${CONTRIBDIR} @@ -68,7 +69,7 @@ TZBUILDSUBDIRS= \ all: zoneinfo -.PHONEY: zoneinfo +.PHONY: zoneinfo zoneinfo: yearistype ${TDATA} mkdir -p ${TZBUILDDIR} cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 17:58:06 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AC1E1D74; Thu, 10 Jan 2013 17:58:06 +0000 (UTC) (envelope-from alfred@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 93CF7D39; Thu, 10 Jan 2013 17:58:06 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0AHw6vW078897; Thu, 10 Jan 2013 17:58:06 GMT (envelope-from alfred@svn.freebsd.org) Received: (from alfred@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0AHw6m7078896; Thu, 10 Jan 2013 17:58:06 GMT (envelope-from alfred@svn.freebsd.org) Message-Id: <201301101758.r0AHw6m7078896@svn.freebsd.org> From: Alfred Perlstein Date: Thu, 10 Jan 2013 17:58:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245259 - projects/utrace2 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 17:58:06 -0000 Author: alfred Date: Thu Jan 10 17:58:05 2013 New Revision: 245259 URL: http://svnweb.freebsd.org/changeset/base/245259 Log: Project branch for utrace2(2) work. The original utrace(2) call from FreeBSD 2.2 did not offer a standardized way to specify the type of data being traced. Examples, a utrace(2) record of 3 words is assumed to be a malloc(3) utrace point, while RTLD uses a string at the start of the utrace record. Instead of risking breaking 10+ years of existing code, utrace2 is introduced which will include "type,version" tuple in the utrace data to allow utilities such as ktrace to parse them safely. Additionally a namespace is provided for both the base system and for developers wishing to make use of the utrace2(2) system so there are no collisions. Added: - copied from r245258, head/ Directory Properties: projects/utrace2/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 18:01:50 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 09AA0C9; Thu, 10 Jan 2013 18:01:50 +0000 (UTC) (envelope-from alfred@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E2198D7D; Thu, 10 Jan 2013 18:01:49 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0AI1nm8081251; Thu, 10 Jan 2013 18:01:49 GMT (envelope-from alfred@svn.freebsd.org) Received: (from alfred@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0AI1lb9081229; Thu, 10 Jan 2013 18:01:47 GMT (envelope-from alfred@svn.freebsd.org) Message-Id: <201301101801.r0AI1lb9081229@svn.freebsd.org> From: Alfred Perlstein Date: Thu, 10 Jan 2013 18:01:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245260 - in projects/utrace2: lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys usr.bin/kdump usr.bin/ktrace X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 18:01:50 -0000 Author: alfred Date: Thu Jan 10 18:01:46 2013 New Revision: 245260 URL: http://svnweb.freebsd.org/changeset/base/245260 Log: utrace2(2) system call and kdump support. Modified: projects/utrace2/lib/libc/sys/Symbol.map projects/utrace2/sys/compat/freebsd32/syscalls.master projects/utrace2/sys/kern/init_sysent.c projects/utrace2/sys/kern/kern_ktrace.c projects/utrace2/sys/kern/syscalls.c projects/utrace2/sys/kern/syscalls.master projects/utrace2/sys/kern/systrace_args.c projects/utrace2/sys/sys/ktrace.h projects/utrace2/sys/sys/syscall.h projects/utrace2/sys/sys/syscall.mk projects/utrace2/sys/sys/sysproto.h projects/utrace2/usr.bin/kdump/kdump.c projects/utrace2/usr.bin/ktrace/ktrace.h projects/utrace2/usr.bin/ktrace/subr.c Modified: projects/utrace2/lib/libc/sys/Symbol.map ============================================================================== --- projects/utrace2/lib/libc/sys/Symbol.map Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/lib/libc/sys/Symbol.map Thu Jan 10 18:01:46 2013 (r245260) @@ -384,6 +384,7 @@ FBSD_1.3 { ffclock_getestimate; ffclock_setestimate; posix_fadvise; + utrace2; wait6; }; @@ -1014,6 +1015,8 @@ FBSDprivate_1.0 { __sys_utimes; _utrace; __sys_utrace; + _utrace2; + __sys_utrace2; _uuidgen; __sys_uuidgen; _vadvise; Modified: projects/utrace2/sys/compat/freebsd32/syscalls.master ============================================================================== --- projects/utrace2/sys/compat/freebsd32/syscalls.master Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/compat/freebsd32/syscalls.master Thu Jan 10 18:01:46 2013 (r245260) @@ -1004,4 +1004,5 @@ int *status, int options, \ struct wrusage32 *wrusage, \ siginfo_t *info); } +533 AUE_NULL STD { int utrace2(const void *addr, size_t len); } Modified: projects/utrace2/sys/kern/init_sysent.c ============================================================================== --- projects/utrace2/sys/kern/init_sysent.c Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/kern/init_sysent.c Thu Jan 10 18:01:46 2013 (r245260) @@ -567,4 +567,5 @@ struct sysent sysent[] = { { AS(posix_fallocate_args), (sy_call_t *)sys_posix_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 530 = posix_fallocate */ { AS(posix_fadvise_args), (sy_call_t *)sys_posix_fadvise, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 531 = posix_fadvise */ { AS(wait6_args), (sy_call_t *)sys_wait6, AUE_WAIT6, NULL, 0, 0, 0, SY_THR_STATIC }, /* 532 = wait6 */ + { AS(utrace2_args), (sy_call_t *)sys_utrace2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 533 = utrace2 */ }; Modified: projects/utrace2/sys/kern/kern_ktrace.c ============================================================================== --- projects/utrace2/sys/kern/kern_ktrace.c Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/kern/kern_ktrace.c Thu Jan 10 18:01:46 2013 (r245260) @@ -123,6 +123,7 @@ static int data_lengths[] = { sizeof(struct ktr_cap_fail), /* KTR_CAPFAIL */ sizeof(struct ktr_fault), /* KTR_FAULT */ sizeof(struct ktr_faultend), /* KTR_FAULTEND */ + 0, /* KTR_USER2 */ }; static STAILQ_HEAD(, ktr_request) ktr_free; @@ -1025,6 +1026,42 @@ sys_utrace(td, uap) #endif /* KTRACE */ } +/* ARGSUSED */ +int +sys_utrace2(td, uap) + struct thread *td; + register struct utrace2_args *uap; +{ + +#ifdef KTRACE + struct ktr_request *req; + void *cp; + int error; + + if (!KTRPOINT(td, KTR_USER2)) + return (0); + if (uap->len > KTR_USER_MAXLEN) + return (EINVAL); + cp = malloc(uap->len, M_KTRACE, M_WAITOK); + error = copyin(uap->addr, cp, uap->len); + if (error) { + free(cp, M_KTRACE); + return (error); + } + req = ktr_getrequest(KTR_USER2); + if (req == NULL) { + free(cp, M_KTRACE); + return (ENOMEM); + } + req->ktr_buffer = cp; + req->ktr_header.ktr_len = uap->len; + ktr_submitrequest(td, req); + return (0); +#else /* !KTRACE */ + return (ENOSYS); +#endif /* KTRACE */ +} + #ifdef KTRACE static int ktrops(td, p, ops, facs, vp) Modified: projects/utrace2/sys/kern/syscalls.c ============================================================================== --- projects/utrace2/sys/kern/syscalls.c Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/kern/syscalls.c Thu Jan 10 18:01:46 2013 (r245260) @@ -540,4 +540,5 @@ const char *syscallnames[] = { "posix_fallocate", /* 530 = posix_fallocate */ "posix_fadvise", /* 531 = posix_fadvise */ "wait6", /* 532 = wait6 */ + "utrace2", /* 533 = utrace2 */ }; Modified: projects/utrace2/sys/kern/syscalls.master ============================================================================== --- projects/utrace2/sys/kern/syscalls.master Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/kern/syscalls.master Thu Jan 10 18:01:46 2013 (r245260) @@ -955,5 +955,6 @@ int *status, int options, \ struct __wrusage *wrusage, \ siginfo_t *info); } +533 AUE_NULL STD { int utrace2(const void *addr, size_t len); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master Modified: projects/utrace2/sys/kern/systrace_args.c ============================================================================== --- projects/utrace2/sys/kern/systrace_args.c Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/kern/systrace_args.c Thu Jan 10 18:01:46 2013 (r245260) @@ -3286,6 +3286,14 @@ systrace_args(int sysnum, void *params, *n_args = 6; break; } + /* utrace2 */ + case 533: { + struct utrace2_args *p = params; + uarg[0] = (intptr_t) p->addr; /* const void * */ + uarg[1] = p->len; /* size_t */ + *n_args = 2; + break; + } default: *n_args = 0; break; @@ -8745,6 +8753,19 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; + /* utrace2 */ + case 533: + switch(ndx) { + case 0: + p = "const void *"; + break; + case 1: + p = "size_t"; + break; + default: + break; + }; + break; default: break; }; @@ -10638,6 +10659,11 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* utrace2 */ + case 533: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; Modified: projects/utrace2/sys/sys/ktrace.h ============================================================================== --- projects/utrace2/sys/sys/ktrace.h Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/sys/sys/ktrace.h Thu Jan 10 18:01:46 2013 (r245260) @@ -216,6 +216,8 @@ struct ktr_faultend { int result; }; +#define KTR_USER2 15 + /* * KTR_DROP - If this bit is set in ktr_type, then at least one event * between the previous record and this record was dropped. @@ -240,6 +242,7 @@ struct ktr_faultend { #define KTRFAC_CAPFAIL (1<ktr_type); type = unknown; @@ -1369,29 +1379,53 @@ ktruser_rtld(int len, unsigned char *p) } } -struct utrace_malloc { - void *p; - size_t s; - void *r; +struct utrace_malloc_old { + void *p; /* Input pointer (as in realloc(p, s)). */ + size_t s; /* Request size. */ + void *r; /* Result pointer. */ +}; + +struct utrace_malloc_v2 { + int utrace_type; /* utrace type UTRACE_MALLOC */ + int utrace_version; /* utrace malloc version */ + void *p; /* Input pointer (as in realloc(p, s)). */ + size_t s; /* Request size. */ + void *r; /* Result pointer. */ + void *caller; /* Caller */ }; void -ktruser_malloc(unsigned char *p) +ktruser_malloc(struct utrace_malloc_v2 *ut, int v2) { - struct utrace_malloc *ut = (struct utrace_malloc *)p; if (ut->p == (void *)(intptr_t)(-1)) - printf("malloc_init()\n"); + printf("malloc_init()"); else if (ut->s == 0) - printf("free(%p)\n", ut->p); + printf("free(%p)", ut->p); else if (ut->p == NULL) - printf("%p = malloc(%zu)\n", ut->r, ut->s); + printf("%p = malloc(%zu)", ut->r, ut->s); else - printf("%p = realloc(%p, %zu)\n", ut->r, ut->p, ut->s); + printf("%p = realloc(%p, %zu)", ut->r, ut->p, ut->s); + if (v2) + printf(", caller %p", ut->caller); + putchar('\n'); } void -ktruser(int len, unsigned char *p) +ktruser_data(size_t len, unsigned char *p) +{ + + printf("%zd ", len); + while (len--) + if (decimal) + printf(" %d", *p++); + else + printf(" %02x", *p++); + printf("\n"); +} + +void +ktruser(int len, void *p) { if (len >= 8 && bcmp(p, "RTLD", 4) == 0) { @@ -1399,18 +1433,60 @@ ktruser(int len, unsigned char *p) return; } - if (len == sizeof(struct utrace_malloc)) { - ktruser_malloc(p); + if (len == sizeof(struct utrace_malloc_old)) { + struct utrace_malloc_old *utm_old; + struct utrace_malloc_v2 utm_v2; + + utm_old = p; + utm_v2.p = utm_old->p; + utm_v2.s = utm_old->s; + utm_v2.r = utm_old->r; + ktruser_malloc(&utm_v2, 0); return; } - printf("%d ", len); - while (len--) - if (decimal) - printf(" %d", *p++); - else - printf(" %02x", *p++); - printf("\n"); + ktruser_data(len, p); +} + +void +ktruser2(size_t len, void *p) +{ + struct ktruser2_header { + int type; + int version; + } *ktru2_hd; + + if (len < sizeof(struct ktruser2_header)) { + warnx("utrace2 size too small: %zd (want: %zd)", + len, sizeof(struct ktruser2_header)); + ktruser_data(len, p); + return; + } + + ktru2_hd = p; + switch (ktru2_hd->type) { + case UTRACE_MALLOC: + if (ktru2_hd->version == 2) { + if (len == sizeof(struct utrace_malloc_v2)) { + ktruser_malloc(p, 1); + return; + } + warnx("ktruser2: UTRACE_MALLOC, version = 2, " + "size incorrect %zd (want: %zd)", + len, sizeof(struct utrace_malloc_v2)); + ktruser_data(len, p); + return; + } else { + warnx("ktruser2: UTRACE_MALLOC, unknown version = %d, " + "(want: %d)", ktru2_hd->version, 2); + ktruser_data(len, p); + return; + } + default: + break; + } + ktruser_data(len, p); + return; } void Modified: projects/utrace2/usr.bin/ktrace/ktrace.h ============================================================================== --- projects/utrace2/usr.bin/ktrace/ktrace.h Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/usr.bin/ktrace/ktrace.h Thu Jan 10 18:01:46 2013 (r245260) @@ -32,7 +32,8 @@ #define DEF_POINTS (KTRFAC_SYSCALL | KTRFAC_SYSRET | KTRFAC_NAMEI | \ KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_USER | \ - KTRFAC_STRUCT | KTRFAC_SYSCTL | KTRFAC_CAPFAIL) + KTRFAC_STRUCT | KTRFAC_SYSCTL | KTRFAC_CAPFAIL | \ + KTRFAC_USER2) #define PROC_ABI_POINTS (KTRFAC_PROCCTOR | KTRFAC_PROCDTOR) Modified: projects/utrace2/usr.bin/ktrace/subr.c ============================================================================== --- projects/utrace2/usr.bin/ktrace/subr.c Thu Jan 10 17:58:05 2013 (r245259) +++ projects/utrace2/usr.bin/ktrace/subr.c Thu Jan 10 18:01:46 2013 (r245260) @@ -82,6 +82,9 @@ getpoints(char *s) case 'u': facs |= KTRFAC_USER; break; + case 'U': + facs |= KTRFAC_USER2; + break; case 'w': facs |= KTRFAC_CSW; break; From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 18:04:43 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 107B520E; Thu, 10 Jan 2013 18:04:43 +0000 (UTC) (envelope-from alfred@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E8DA1D97; Thu, 10 Jan 2013 18:04:42 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0AI4gBj081711; Thu, 10 Jan 2013 18:04:42 GMT (envelope-from alfred@svn.freebsd.org) Received: (from alfred@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0AI4gvf081710; Thu, 10 Jan 2013 18:04:42 GMT (envelope-from alfred@svn.freebsd.org) Message-Id: <201301101804.r0AI4gvf081710@svn.freebsd.org> From: Alfred Perlstein Date: Thu, 10 Jan 2013 18:04:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245261 - projects/utrace2/lib/libc/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 18:04:43 -0000 Author: alfred Date: Thu Jan 10 18:04:42 2013 New Revision: 245261 URL: http://svnweb.freebsd.org/changeset/base/245261 Log: Document the new syscall and conventions used. Modified: projects/utrace2/lib/libc/sys/utrace.2 Modified: projects/utrace2/lib/libc/sys/utrace.2 ============================================================================== --- projects/utrace2/lib/libc/sys/utrace.2 Thu Jan 10 18:01:46 2013 (r245260) +++ projects/utrace2/lib/libc/sys/utrace.2 Thu Jan 10 18:04:42 2013 (r245261) @@ -44,6 +44,16 @@ .In sys/ktrace.h .Ft int .Fn utrace "const void *addr" "size_t len" +.Bd -literal +struct utrace2_data { + int ud_type; /* type of utrace record, + must be >= UTRACE_APPLICATIONMIN */ + int ud_version; /* version of 'type' */ + char application_data[SIZE]; /* your data */ +}; +.Ed +.Ft int +.Fn utrace2 "const void *addr" "size_t len" .Sh DESCRIPTION Adds a record to the process trace with information supplied by user. The record contains @@ -51,6 +61,81 @@ The record contains bytes from memory pointed to by .Fa addr . This call only has an effect if the calling process is being traced. +.Pp +The old +.Fn utrace +system call uses unstructured data and should be avoided. +.Pp +The new +.Fn utrace2 +function is for structured data and should be used with an overlay structure +that matches the +.Vt struct utrace2_data +above. +.Pp The format of the overlay must begin with two integer (int) fields. +The first is the utrace record type, for applications it must be +greater than or equal to UTRACE_APPLICATIONMIN (defined in +.In sys/ktrace.h ) +The second should be the version of the record. +.Pp +.Sh EXAMPLES FOR USER CODE +An example for +.Em non-system +code: +.Bd -literal + #define MY_UTRACE (UTRACE_APPLICATIONMIN + 1) + #define D_SIZE 20 + struct my_utrace2_data { + int ud_type; /* type of utrace record, + must be >= UTRACE_APPLICATIONMIN */ + int ud_version; /* version of 'type' */ + char hello[D_SIZE]; /* your data */ + } ud; + + ud.ud_type = MY_UTRACE; + ud.ud_version = 1; + strcpy(ud.hello, "world"); + utrace2(&ud, sizeof(ud)); + +.Ed +.Sh EXAMPLES FOR FREEBSD SYSTEM CODE +An example for a +.Em system library +(ONLY FOR BASE FREEBSD): +.Pp +First add an entry to +.In sys/ktrace.h +near +.Dv UTRACE_MALLOC . +Then start writing records using code like this: +.Bd -literal + #define UTRACE_THREAD_NEW 1 + #define UTRACE_THREAD_DEL 2 + struct utrace2_thread_data { + int ud_type; /* type of utrace record, + must be >= UTRACE_APPLICATIONMIN */ + int ud_version; /* version of 'type' */ + int ud_thread_op; /* UTRACE_THREAD_NEW/UTRACE_THREAD_DEL */ + int ud_thread_id; /* id of thread */ + }; + + int + thread_create(void) + { + int tid; + struct utrace2_thread_data ud; + + tid = get_new_tid(); + ud.ud_type = UTRACE_THREAD; + ud.ud_version = 1; + ud.ud_thread_op = UTRACE_THREAD_NEW; + ud.ud_thread_id = tid; + return tid; + } +.Ed +.Pp +Then you should add your new data type to +.Xr kdump 1 . .Sh RETURN VALUES .Rv -std .Sh ERRORS From owner-svn-src-projects@FreeBSD.ORG Thu Jan 10 21:12:40 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DCC826F9; Thu, 10 Jan 2013 21:12:40 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id BBE25949; Thu, 10 Jan 2013 21:12:40 +0000 (UTC) Received: from ralph.baldwin.cx (c-68-39-198-164.hsd1.de.comcast.net [68.39.198.164]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 0BD58B979; Thu, 10 Jan 2013 16:12:40 -0500 (EST) From: John Baldwin To: Alfred Perlstein Subject: Re: svn commit: r245259 - projects/utrace2 Date: Thu, 10 Jan 2013 16:10:43 -0500 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <201301101758.r0AHw6m7078896@svn.freebsd.org> In-Reply-To: <201301101758.r0AHw6m7078896@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201301101610.43321.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 10 Jan 2013 16:12:40 -0500 (EST) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 21:12:40 -0000 On Thursday, January 10, 2013 12:58:06 PM Alfred Perlstein wrote: > Author: alfred > Date: Thu Jan 10 17:58:05 2013 > New Revision: 245259 > URL: http://svnweb.freebsd.org/changeset/base/245259 > > Log: > Project branch for utrace2(2) work. > > The original utrace(2) call from FreeBSD 2.2 did not offer a > standardized way to specify the type of data being traced. Examples, > a utrace(2) record of 3 words is assumed to be a malloc(3) utrace > point, while RTLD uses a string at the start of the utrace record. > > Instead of risking breaking 10+ years of existing code, utrace2 is > introduced which will include "type,version" tuple in the utrace > data to allow utilities such as ktrace to parse them safely. > > Additionally a namespace is provided for both the base system and > for developers wishing to make use of the utrace2(2) system so > there are no collisions. Hummm, when I added the RTLD ones, I figured the convention of using a 4 character signature at the beginning for future traces would suffice just fine (e.g., see ACPI tables and most other BIOS tables that all use 4 char signatures (_32_, $PIR, _MP_, etc.). It seems cumbersome to have a separate ktrace/kdump flag, esp. if the plan is to obsolete utrace(). In that case 'u' should just toggle both. Do you have any new traces you want to add that you couldn't do using the 4 char signature method? -- John Baldwin From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 04:45:06 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9FD4B4E4; Fri, 11 Jan 2013 04:45:06 +0000 (UTC) (envelope-from bright@mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 31E1BE5A; Fri, 11 Jan 2013 04:45:06 +0000 (UTC) Received: from Alfreds-MacBook-Pro-9.local (183.sub-174-252-0.myvzw.com [174.252.0.183]) by elvis.mu.org (Postfix) with ESMTPSA id 375A51A3C1B; Thu, 10 Jan 2013 20:44:59 -0800 (PST) Message-ID: <50EF98C3.3000200@mu.org> Date: Thu, 10 Jan 2013 23:44:51 -0500 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: John Baldwin Subject: Re: svn commit: r245259 - projects/utrace2 References: <201301101758.r0AHw6m7078896@svn.freebsd.org> <201301101610.43321.jhb@freebsd.org> In-Reply-To: <201301101610.43321.jhb@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, Alfred Perlstein , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 04:45:06 -0000 On 1/10/13 4:10 PM, John Baldwin wrote: > On Thursday, January 10, 2013 12:58:06 PM Alfred Perlstein wrote: >> Author: alfred >> Date: Thu Jan 10 17:58:05 2013 >> New Revision: 245259 >> URL: http://svnweb.freebsd.org/changeset/base/245259 >> >> Log: >> Project branch for utrace2(2) work. >> >> The original utrace(2) call from FreeBSD 2.2 did not offer a >> standardized way to specify the type of data being traced. Examples, >> a utrace(2) record of 3 words is assumed to be a malloc(3) utrace >> point, while RTLD uses a string at the start of the utrace record. >> >> Instead of risking breaking 10+ years of existing code, utrace2 is >> introduced which will include "type,version" tuple in the utrace >> data to allow utilities such as ktrace to parse them safely. >> >> Additionally a namespace is provided for both the base system and >> for developers wishing to make use of the utrace2(2) system so >> there are no collisions. > Hummm, when I added the RTLD ones, I figured the convention of using a 4 > character signature at the beginning for future traces would suffice just fine > (e.g., see ACPI tables and most other BIOS tables that all use 4 char > signatures (_32_, $PIR, _MP_, etc.). It seems cumbersome to have a separate > ktrace/kdump flag, esp. if the plan is to obsolete utrace(). In that case 'u' > should just toggle both. That is a good idea. My concern is how do we deal with random old utrace data that may have been generated by old applications with unstructured data? > > Do you have any new traces you want to add that you couldn't do using the 4 > char signature method? > The issue with the current system is that there is nothing separating FreeBSD namespace from what an application developer may create. What do you think about putting the old utrace(2) under COMPAT_FREEBSD9 and moving forward to a system that allows FreeBSD to have a separate namespace from application space? Any alternatives? Do we just have the convention that FreeBSD utrace records start with underbar? "_"? Suggestions appreciated. -Alfred From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 05:51:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 900E9E3B; Fri, 11 Jan 2013 05:51:56 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 79E6A8C; Fri, 11 Jan 2013 05:51:56 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B5puno084456; Fri, 11 Jan 2013 05:51:56 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B5puU9084455; Fri, 11 Jan 2013 05:51:56 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110551.r0B5puU9084455@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 05:51:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245284 - projects/portbuild/crontabs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 05:51:56 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 05:51:55 2013 New Revision: 245284 URL: http://svnweb.freebsd.org/changeset/base/245284 Log: Restore the PATH line that somehow got dropped. Modified: projects/portbuild/crontabs/portbuild Modified: projects/portbuild/crontabs/portbuild ============================================================================== --- projects/portbuild/crontabs/portbuild Fri Jan 11 05:39:17 2013 (r245283) +++ projects/portbuild/crontabs/portbuild Fri Jan 11 05:51:55 2013 (r245284) @@ -1,6 +1,9 @@ # # portbuild crontab # +PATH=/root/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/a/portbuild/scripts +TERM=xterm + PORTBUILD="/a/portbuild" ERRORLOGS="${PORTBUILD}/errorlogs/" LOCKFILES="${PORTBUILD}/lockfiles/" From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 06:04:46 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F01D2150; Fri, 11 Jan 2013 06:04:46 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CAE38149; Fri, 11 Jan 2013 06:04:46 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B64kH5087950; Fri, 11 Jan 2013 06:04:46 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B64koH087949; Fri, 11 Jan 2013 06:04:46 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110604.r0B64koH087949@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 06:04:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245285 - projects/portbuild/crontabs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 06:04:47 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 06:04:46 2013 New Revision: 245285 URL: http://svnweb.freebsd.org/changeset/base/245285 Log: Remove the things that have already been proven to work as user portbuild. Modified: projects/portbuild/crontabs/root Modified: projects/portbuild/crontabs/root ============================================================================== --- projects/portbuild/crontabs/root Fri Jan 11 05:51:55 2013 (r245284) +++ projects/portbuild/crontabs/root Fri Jan 11 06:04:46 2013 (r245285) @@ -4,17 +4,6 @@ PATH=/root/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/var/portbuild/scripts TERM=xterm -# -# Update logs -# -##2,12,22,32,42,52 * * * * su ports-i386 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs i386" > /dev/null 2>&1 -##5,15,25,35,45,55 * * * * su ports-sparc64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs sparc64" > /dev/null 2>&1 -##6,16,26,36,46,56 * * * * su ports-ia64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs ia64" > /dev/null 2>&1 -##8,18,28,38,48,58 * * * * su ports-amd64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs amd64" > /dev/null 2>&1 -##0,10,20,30,40,50 * * * * su ports-powerpc -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs powerpc" > /dev/null 2>&1 -##1,11,21,31,41,51 * * * * su ports-arm -c "lockf -k -t 1 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs arm" > /dev/null 2>&1 -##7,17,27,37,47,57 * * * * su ports-mips -c "lockf -k -t 1 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs mips" > /dev/null 2>&1 -# # Compress old logs to save space # # XXX MCL this is totally naive and livelocks the machine. XXX TODO @@ -30,9 +19,3 @@ TERM=xterm # Expire old ZFS snapshots # XXX MCL script not yet converted #50 3 * * * lockf -t 0 -k /var/run/busybusybusy.lock /var/portbuild/scripts/zexpire - -# VCS update of ports -##0 */3 * * * lockf -t 0 -k /var/run/updatesnap.ports.lock /var/portbuild/scripts/updatesnap.ports -# VCS update of src -# NOTE: temporarily halt this whenever RELENG_X is being tagged -##0 2 * * * lockf -t 0 -k /var/run/updatesnap.lock /var/portbuild/scripts/updatesnap From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 06:31:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3C36361D; Fri, 11 Jan 2013 06:31:05 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2E04E1EB; Fri, 11 Jan 2013 06:31:05 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B6V57D096028; Fri, 11 Jan 2013 06:31:05 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B6V5Aq096027; Fri, 11 Jan 2013 06:31:05 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110631.r0B6V5Aq096027@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 06:31:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245287 - projects/portbuild/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 06:31:05 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 06:31:04 2013 New Revision: 245287 URL: http://svnweb.freebsd.org/changeset/base/245287 Log: Start parameterizing zfs expiration. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Fri Jan 11 06:08:32 2013 (r245286) +++ projects/portbuild/conf/server.conf Fri Jan 11 06:31:04 2013 (r245287) @@ -53,6 +53,8 @@ WORLDDIR=${ZFS_MOUNTPOINT}/chroot/ # XXX TODO (note: Python script, so avoid {}) #zbackup a/nfs a/local a/portbuild/* /dumpster #zexpire a/nfs a/local a/portbuild/* a/snap/* +ZFS_DEFAULT_EXPIRATION=14 +ZFS_SNAPSHOT_EXPIRATION=2 # # port build ownership definitions. From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 07:39:12 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 61F89A29; Fri, 11 Jan 2013 07:39:12 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 44DE6739; Fri, 11 Jan 2013 07:39:12 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B7dCrp013999; Fri, 11 Jan 2013 07:39:12 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B7dC4l013998; Fri, 11 Jan 2013 07:39:12 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110739.r0B7dC4l013998@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 07:39:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245288 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 07:39:12 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 07:39:11 2013 New Revision: 245288 URL: http://svnweb.freebsd.org/changeset/base/245288 Log: Smash hard-coding once and for all. Modified: projects/portbuild/scripts/zexpire Modified: projects/portbuild/scripts/zexpire ============================================================================== --- projects/portbuild/scripts/zexpire Fri Jan 11 06:31:04 2013 (r245287) +++ projects/portbuild/scripts/zexpire Fri Jan 11 07:39:11 2013 (r245288) @@ -2,41 +2,123 @@ # # Expire old snapshots -import sys, commands, datetime, os +import sys, commands, datetime, os, string -sys.path.insert(0, '/var/portbuild/lib/python') +pbc = os.getenv('PORTBUILD_CHECKOUT') \ + if os.getenv('PORTBUILD_CHECKOUT') else "/a/portbuild" +pbd = os.getenv('PORTBUILD_DATA') \ + if os.getenv('PORTBUILD_DATA') else "/a/portbuild" +sys.path.insert(0, '%s/lib/python' % pbc) + +from freebsd import * +from freebsd_config import * import zfs -ENABLED = True +CONFIG_SUBDIR="conf" +CONFIG_FILENAME="server.conf" + +ENABLED = False VERBOSE= True -# List of filesystems to expire -expirelist=(("a", 14), - ("a/portbuild/amd64", 14), - ("a/portbuild/arm", 14), - ("a/portbuild/i386", 14), - ("a/portbuild/ia64", 14), - ("a/portbuild/mips", 14), - ("a/portbuild/powerpc", 14), - ("a/portbuild/sparc64", 14), - ("a/portbuild/sun4v", 14), - ("a/snap", 7), - ("a/snap/ports-head", 2), - ("a/snap/ports-head/ports", 2), - ("a/snap/src-7", 2), - ("a/snap/src-7/src", 2), - ("a/snap/src-8", 2), - ("a/snap/src-8/src", 2), - ("a/snap/src-9", 2), - ("a/snap/src-9/src", 2), - ("a/snap/src-10", 2), - ("a/snap/src-10/src", 2)) +## List of filesystems to expire +## XXX MCL so much hardcoding. +#expirelist=(("a", 14), +# ("a/portbuild/amd64", 14), +# ("a/portbuild/arm", 14), +# ("a/portbuild/i386", 14), +# ("a/portbuild/ia64", 14), +# ("a/portbuild/mips", 14), +# ("a/portbuild/powerpc", 14), +# ("a/portbuild/sparc64", 14), +# ("a/portbuild/sun4v", 14), +# ("a/snap", 7), +# ("a/snap/ports-head", 2), +# ("a/snap/ports-head/ports", 2), +# ("a/snap/src-7", 2), +# ("a/snap/src-7/src", 2), +# ("a/snap/src-8", 2), +# ("a/snap/src-8/src", 2), +# ("a/snap/src-9", 2), +# ("a/snap/src-9/src", 2), +# ("a/snap/src-10", 2), +# ("a/snap/src-10/src", 2)) +expirelist2={} now = datetime.datetime.now() print "zexpire: starting at " + now.ctime() -for (fs, maxage) in expirelist: +config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME ) +ZFS_VOLUME = config.get( 'ZFS_VOLUME' ) +if not ZFS_VOLUME: + print "you must define ZFS_VOLUME" + sys.exit( 1 ) +ZFS_MOUNTPOINT = config.get( 'ZFS_MOUNTPOINT' ) +if not ZFS_MOUNTPOINT: + print "you must define ZFS_MOUNTPOINT" + sys.exit( 1 ) +PORTBUILD_DIRECTORY = config.get( 'PORTBUILD_DIRECTORY' ) +if not PORTBUILD_DIRECTORY: + print "you must define PORTBUILD_DIRECTORY" + sys.exit( 1 ) +portbuild_directory = os.path.join( ZFS_VOLUME, PORTBUILD_DIRECTORY ) +SNAP_DIRECTORY = config.get( 'SNAP_DIRECTORY' ) +if not SNAP_DIRECTORY: + print "you must define SNAP_DIRECTORY" + sys.exit( 1 ) +snap_directory = os.path.join( ZFS_VOLUME, SNAP_DIRECTORY ) +snap_mountpoint = os.path.join( ZFS_MOUNTPOINT, SNAP_DIRECTORY ) +SUPPORTED_ARCHS = config.get( 'SUPPORTED_ARCHS' ) +if not SUPPORTED_ARCHS: + print "you must define SUPPORTED_ARCHS" + sys.exit( 1 ) +supported_archs = string.split( SUPPORTED_ARCHS ) +ZFS_DEFAULT_EXPIRATION = config.get( 'ZFS_DEFAULT_EXPIRATION' ) +if not ZFS_DEFAULT_EXPIRATION: + print "you must define ZFS_DEFAULT_EXPIRATION" + sys.exit( 1 ) +ZFS_SNAPSHOT_EXPIRATION = config.get( 'ZFS_SNAPSHOT_EXPIRATION' ) +if not ZFS_SNAPSHOT_EXPIRATION: + print "you must define ZFS_SNAPSHOT_EXPIRATION" + sys.exit( 1 ) + +#print portbuild_directory +#print snap_directory +#print supported_archs +#print ZFS_DEFAULT_EXPIRATION +#print ZFS_SNAPSHOT_EXPIRATION + +expirelist2[ ZFS_VOLUME ] = ZFS_DEFAULT_EXPIRATION +expirelist2[ portbuild_directory ] = ZFS_DEFAULT_EXPIRATION +for arch in supported_archs: + expirelist2[ os.path.join( portbuild_directory, arch ) ] = ZFS_DEFAULT_EXPIRATION +expirelist2[ snap_directory ] = ZFS_SNAPSHOT_EXPIRATION +try: + snapdirs = os.listdir( snap_mountpoint ) + for snapdir in snapdirs: + subdir = os.path.join( snap_mountpoint, snapdir ) + tmp = os.path.join( snap_directory, snapdir ) + expirelist2[ tmp ] = ZFS_SNAPSHOT_EXPIRATION + try: + snapsubdirs = os.listdir( subdir ) + for snapsubdir in snapsubdirs: + expirelist2[ os.path.join( tmp, snapsubdir ) ] = ZFS_SNAPSHOT_EXPIRATION + except: + pass +except: + pass + +keys = expirelist2.keys() +keys.sort() +for key in keys: + fs = key + maxage = 2 + try: + maxage = int( expirelist2[ key ] ) + except: + pass + +#for (fs, maxage) in expirelist: print if VERBOSE: From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 07:43:33 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A9CDED34; Fri, 11 Jan 2013 07:43:33 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8C7E6764; Fri, 11 Jan 2013 07:43:33 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B7hXXb016157; Fri, 11 Jan 2013 07:43:33 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B7hXcD016156; Fri, 11 Jan 2013 07:43:33 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110743.r0B7hXcD016156@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 07:43:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245289 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 07:43:33 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 07:43:32 2013 New Revision: 245289 URL: http://svnweb.freebsd.org/changeset/base/245289 Log: Smash the remnants of the hardcoding and enable the new code as a replacement. Modified: projects/portbuild/scripts/zexpire Modified: projects/portbuild/scripts/zexpire ============================================================================== --- projects/portbuild/scripts/zexpire Fri Jan 11 07:39:11 2013 (r245288) +++ projects/portbuild/scripts/zexpire Fri Jan 11 07:43:32 2013 (r245289) @@ -18,32 +18,10 @@ import zfs CONFIG_SUBDIR="conf" CONFIG_FILENAME="server.conf" -ENABLED = False +ENABLED = True VERBOSE= True -## List of filesystems to expire -## XXX MCL so much hardcoding. -#expirelist=(("a", 14), -# ("a/portbuild/amd64", 14), -# ("a/portbuild/arm", 14), -# ("a/portbuild/i386", 14), -# ("a/portbuild/ia64", 14), -# ("a/portbuild/mips", 14), -# ("a/portbuild/powerpc", 14), -# ("a/portbuild/sparc64", 14), -# ("a/portbuild/sun4v", 14), -# ("a/snap", 7), -# ("a/snap/ports-head", 2), -# ("a/snap/ports-head/ports", 2), -# ("a/snap/src-7", 2), -# ("a/snap/src-7/src", 2), -# ("a/snap/src-8", 2), -# ("a/snap/src-8/src", 2), -# ("a/snap/src-9", 2), -# ("a/snap/src-9/src", 2), -# ("a/snap/src-10", 2), -# ("a/snap/src-10/src", 2)) -expirelist2={} +expirelist={} now = datetime.datetime.now() print "zexpire: starting at " + now.ctime() @@ -82,43 +60,36 @@ if not ZFS_SNAPSHOT_EXPIRATION: print "you must define ZFS_SNAPSHOT_EXPIRATION" sys.exit( 1 ) -#print portbuild_directory -#print snap_directory -#print supported_archs -#print ZFS_DEFAULT_EXPIRATION -#print ZFS_SNAPSHOT_EXPIRATION - -expirelist2[ ZFS_VOLUME ] = ZFS_DEFAULT_EXPIRATION -expirelist2[ portbuild_directory ] = ZFS_DEFAULT_EXPIRATION +expirelist[ ZFS_VOLUME ] = ZFS_DEFAULT_EXPIRATION +expirelist[ portbuild_directory ] = ZFS_DEFAULT_EXPIRATION for arch in supported_archs: - expirelist2[ os.path.join( portbuild_directory, arch ) ] = ZFS_DEFAULT_EXPIRATION -expirelist2[ snap_directory ] = ZFS_SNAPSHOT_EXPIRATION + expirelist[ os.path.join( portbuild_directory, arch ) ] = ZFS_DEFAULT_EXPIRATION +expirelist[ snap_directory ] = ZFS_SNAPSHOT_EXPIRATION try: snapdirs = os.listdir( snap_mountpoint ) for snapdir in snapdirs: subdir = os.path.join( snap_mountpoint, snapdir ) tmp = os.path.join( snap_directory, snapdir ) - expirelist2[ tmp ] = ZFS_SNAPSHOT_EXPIRATION + expirelist[ tmp ] = ZFS_SNAPSHOT_EXPIRATION try: snapsubdirs = os.listdir( subdir ) for snapsubdir in snapsubdirs: - expirelist2[ os.path.join( tmp, snapsubdir ) ] = ZFS_SNAPSHOT_EXPIRATION + expirelist[ os.path.join( tmp, snapsubdir ) ] = ZFS_SNAPSHOT_EXPIRATION except: pass except: pass -keys = expirelist2.keys() +keys = expirelist.keys() keys.sort() for key in keys: fs = key maxage = 2 try: - maxage = int( expirelist2[ key ] ) + maxage = int( expirelist[ key ] ) except: pass -#for (fs, maxage) in expirelist: print if VERBOSE: From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 07:47:42 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B0EDEF8A; Fri, 11 Jan 2013 07:47:42 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9E04A793; Fri, 11 Jan 2013 07:47:42 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B7lgqF016680; Fri, 11 Jan 2013 07:47:42 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B7lg6F016679; Fri, 11 Jan 2013 07:47:42 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110747.r0B7lg6F016679@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 07:47:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245290 - projects/portbuild/crontabs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 07:47:42 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 07:47:41 2013 New Revision: 245290 URL: http://svnweb.freebsd.org/changeset/base/245290 Log: Start bringing over the rest of the things from root crontab. zexpire has now been converted. Modified: projects/portbuild/crontabs/portbuild Modified: projects/portbuild/crontabs/portbuild ============================================================================== --- projects/portbuild/crontabs/portbuild Fri Jan 11 07:43:32 2013 (r245289) +++ projects/portbuild/crontabs/portbuild Fri Jan 11 07:47:41 2013 (r245290) @@ -4,10 +4,9 @@ PATH=/root/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/a/portbuild/scripts TERM=xterm -PORTBUILD="/a/portbuild" -ERRORLOGS="${PORTBUILD}/errorlogs/" -LOCKFILES="${PORTBUILD}/lockfiles/" -SCRIPTS="${PORTBUILD}/scripts/" +ERRORLOGS=/a/portbuild/errorlogs/ +LOCKFILES=/a/portbuild/lockfiles/ +SCRIPTS=/a/portbuild/scripts/ # # Update package statistics # @@ -30,3 +29,20 @@ SCRIPTS="${PORTBUILD}/scripts/" # VCS update of src # #0 2 * * * lockf -t 0 -k ${LOCKFILES}/updatesnap.lock ${SCRIPTS}/updatesnap +# +# XXX MCL 20130111 the last things from root crontab +# +# Compress old logs to save space +# +# XXX MCL this is totally naive and livelocks the machine. XXX TODO +#50 5 * * * lockf -t 0 -k ${LOCKFILES}/busybusybusy.lock find /a/portbuild/*/archive/ -name \*.log -mtime +7 | xargs bzip2 -9f +# +# Clean up old chroots on client machines +#30 * * * * ${SCRIPTS}/do-cleanup-chroots all +# +# Backup ZFS filesystems +# XXX MCL script not yet converted +#50 4 * * * lockf -t 0 -k ${LOCKFILES}/busybusybusy.lock ${SCRIPTS}/zbackup +# +# Expire old ZFS snapshots +#50 3 * * * lockf -t 0 -k ${LOCKFILES}/busybusybusy.lock ${SCRIPTS}/zexpire From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 07:48:30 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id ACC4C1DA; Fri, 11 Jan 2013 07:48:30 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 81E0F7AC; Fri, 11 Jan 2013 07:48:30 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0B7mUpY016805; Fri, 11 Jan 2013 07:48:30 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0B7mUsc016803; Fri, 11 Jan 2013 07:48:30 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301110748.r0B7mUsc016803@svn.freebsd.org> From: Mark Linimon Date: Fri, 11 Jan 2013 07:48:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245291 - projects/portbuild/crontabs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 07:48:30 -0000 Author: linimon (doc,ports committer) Date: Fri Jan 11 07:48:29 2013 New Revision: 245291 URL: http://svnweb.freebsd.org/changeset/base/245291 Log: Deorbit burn. From now on all cron jobs belong to portbuild. (Still some work to do to finish this.) Deleted: projects/portbuild/crontabs/root From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 20:42:03 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3864F93C; Fri, 11 Jan 2013 20:42:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 0A549F70; Fri, 11 Jan 2013 20:42:03 +0000 (UTC) Received: from ralph.baldwin.cx (c-68-39-198-164.hsd1.de.comcast.net [68.39.198.164]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 2CA21B95B; Fri, 11 Jan 2013 15:42:02 -0500 (EST) From: John Baldwin To: Alfred Perlstein Subject: Re: svn commit: r245259 - projects/utrace2 Date: Fri, 11 Jan 2013 10:29:23 -0500 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <201301101758.r0AHw6m7078896@svn.freebsd.org> <201301101610.43321.jhb@freebsd.org> <50EF98C3.3000200@mu.org> In-Reply-To: <50EF98C3.3000200@mu.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201301111029.23235.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 11 Jan 2013 15:42:02 -0500 (EST) Cc: svn-src-projects@freebsd.org, Alfred Perlstein , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 20:42:03 -0000 On Thursday, January 10, 2013 11:44:51 PM Alfred Perlstein wrote: > On 1/10/13 4:10 PM, John Baldwin wrote: > > On Thursday, January 10, 2013 12:58:06 PM Alfred Perlstein wrote: > >> Author: alfred > >> Date: Thu Jan 10 17:58:05 2013 > >> New Revision: 245259 > >> URL: http://svnweb.freebsd.org/changeset/base/245259 > >> > >> Log: > >> Project branch for utrace2(2) work. > >> > >> The original utrace(2) call from FreeBSD 2.2 did not offer a > >> standardized way to specify the type of data being traced. Examples, > >> a utrace(2) record of 3 words is assumed to be a malloc(3) utrace > >> point, while RTLD uses a string at the start of the utrace record. > >> > >> Instead of risking breaking 10+ years of existing code, utrace2 is > >> introduced which will include "type,version" tuple in the utrace > >> data to allow utilities such as ktrace to parse them safely. > >> > >> Additionally a namespace is provided for both the base system and > >> for developers wishing to make use of the utrace2(2) system so > >> there are no collisions. > > > > Hummm, when I added the RTLD ones, I figured the convention of using a 4 > > character signature at the beginning for future traces would suffice just > > fine (e.g., see ACPI tables and most other BIOS tables that all use 4 > > char signatures (_32_, $PIR, _MP_, etc.). It seems cumbersome to have a > > separate ktrace/kdump flag, esp. if the plan is to obsolete utrace(). > > In that case 'u' should just toggle both. > > That is a good idea. My concern is how do we deal with random old > utrace data that may have been generated by old applications with > unstructured data? Let the users who wrote them cope with that. I suspect there are close to zero of those, and if someone was able to write something that used utrace(2) they should be clueful enough to cope. > > Do you have any new traces you want to add that you couldn't do using the > > 4 char signature method? > > The issue with the current system is that there is nothing separating > FreeBSD namespace from what an application developer may create. Do we really think there are any application developers doing this? Also, I think the integer version is far more prone to conflicts if any applications do ever use it than a 4-character signature. > What do you think about putting the old utrace(2) under COMPAT_FREEBSD9 > and moving forward to a system that allows FreeBSD to have a separate > namespace from application space? > > Any alternatives? Do we just have the convention that FreeBSD utrace > records start with underbar? "_"? Suggestions appreciated. Well, RTLD already starts with a non-underbar, but perhaps we could mandate that for any future traces. However, I have mostly assumed that there is little-to-no use of utrace() by applications and instead that the only real uses are in system libraries such as for malloc() and rtld's LD_UTRACE. Do you know of any applications that use utrace? As far as future system uses, it might be neat to add some libthr traces (_THR?) to denote pthread operations like acquiring locks. OTOH, a better use of time for that might be porting ltrace to FreeBSD. -- John Baldwin From owner-svn-src-projects@FreeBSD.ORG Fri Jan 11 21:26:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4ABC52C0; Fri, 11 Jan 2013 21:26:05 +0000 (UTC) (envelope-from bright@mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 02D9026D; Fri, 11 Jan 2013 21:26:05 +0000 (UTC) Received: from Alfreds-MacBook-Pro-9.local (unknown [207.238.187.242]) by elvis.mu.org (Postfix) with ESMTPSA id 31B301A3C27; Fri, 11 Jan 2013 13:25:56 -0800 (PST) Message-ID: <50F08363.5020909@mu.org> Date: Fri, 11 Jan 2013 16:25:55 -0500 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: John Baldwin Subject: Re: svn commit: r245259 - projects/utrace2 References: <201301101758.r0AHw6m7078896@svn.freebsd.org> <201301101610.43321.jhb@freebsd.org> <50EF98C3.3000200@mu.org> <201301111029.23235.jhb@freebsd.org> In-Reply-To: <201301111029.23235.jhb@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, Alfred Perlstein , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2013 21:26:05 -0000 On 1/11/13 10:29 AM, John Baldwin wrote: > On Thursday, January 10, 2013 11:44:51 PM Alfred Perlstein wrote: >> On 1/10/13 4:10 PM, John Baldwin wrote: >>> On Thursday, January 10, 2013 12:58:06 PM Alfred Perlstein wrote: >>>> Author: alfred >>>> Date: Thu Jan 10 17:58:05 2013 >>>> New Revision: 245259 >>>> URL: http://svnweb.freebsd.org/changeset/base/245259 >>>> >>>> Log: >>>> Project branch for utrace2(2) work. >>>> >>>> The original utrace(2) call from FreeBSD 2.2 did not offer a >>>> standardized way to specify the type of data being traced. Examples, >>>> a utrace(2) record of 3 words is assumed to be a malloc(3) utrace >>>> point, while RTLD uses a string at the start of the utrace record. >>>> >>>> Instead of risking breaking 10+ years of existing code, utrace2 is >>>> introduced which will include "type,version" tuple in the utrace >>>> data to allow utilities such as ktrace to parse them safely. >>>> >>>> Additionally a namespace is provided for both the base system and >>>> for developers wishing to make use of the utrace2(2) system so >>>> there are no collisions. >>> Hummm, when I added the RTLD ones, I figured the convention of using a 4 >>> character signature at the beginning for future traces would suffice just >>> fine (e.g., see ACPI tables and most other BIOS tables that all use 4 >>> char signatures (_32_, $PIR, _MP_, etc.). It seems cumbersome to have a >>> separate ktrace/kdump flag, esp. if the plan is to obsolete utrace(). >>> In that case 'u' should just toggle both. >> That is a good idea. My concern is how do we deal with random old >> utrace data that may have been generated by old applications with >> unstructured data? > Let the users who wrote them cope with that. I suspect there are close to > zero of those, and if someone was able to write something that used utrace(2) > they should be clueful enough to cope. Interesting. Care to explain why you feel we need to break these consumers considering that the code not to break them is already written? > >>> Do you have any new traces you want to add that you couldn't do using the >>> 4 char signature method? >> The issue with the current system is that there is nothing separating >> FreeBSD namespace from what an application developer may create. > Do we really think there are any application developers doing this? Also, > I think the integer version is far more prone to conflicts if any applications > do ever use it than a 4-character signature. Interesting. In the branch I created I specifically said that the space below 100 was for project use only. As far as a 4 character signature versus integer I am now very confused. Isn't sizeof(char[4]) == sizeof(int) on most (all?) of our platforms? Maybe I am missing something? > >> What do you think about putting the old utrace(2) under COMPAT_FREEBSD9 >> and moving forward to a system that allows FreeBSD to have a separate >> namespace from application space? >> >> Any alternatives? Do we just have the convention that FreeBSD utrace >> records start with underbar? "_"? Suggestions appreciated. > Well, RTLD already starts with a non-underbar, but perhaps we could mandate > that for any future traces. However, I have mostly assumed that there is > little-to-no use of utrace() by applications and instead that the only real > uses are in system libraries such as for malloc() and rtld's LD_UTRACE. Do > you know of any applications that use utrace? Interesting, I really don't know that many consumers of it, but I don't see the need to break them if the code not to break them is already written and ready for prime time. One particular consumer I know of was Kerimada, he actually used utrace(2) malloc to write a leak detector, which is how I came across this. I'm not sure how long his code has been posted, but it is detrimental to break his code: http://keramida.wordpress.com/2008/10/15/extracting-useful-info-from-freebsd-malloc-tracing/ Having been on the other side of such changes "the user will catch up" I truly find such decisions to impact my opinion very negatively of whatever project I'm utilizing that chooses to take that path, in particular when I see how easy it would have been for them to maintain some level of compatibility. If you'd like we can discuss the root cause as to why keeping things comfortably compatible is an issue for you: Is due to additional code? If so we can put the old utrace2(2) code under COMPAT_FREEBSD9, then we can have it gone. If it's due to kdump's u/U code, I think maybe we can merge them into just 'u' Other issues? Please expound, I would love to address how we can get this working. > > As far as future system uses, it might be neat to add some libthr traces > (_THR?) to denote pthread operations like acquiring locks. OTOH, a better use > of time for that might be porting ltrace to FreeBSD. > ltrace may be portable via the ktrace hooks, it would be relatively clean to do so using the new utrace2(2) API. -Alfred From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 00:31:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E37063A2; Sat, 12 Jan 2013 00:31:13 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD703B5C; Sat, 12 Jan 2013 00:31:13 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0C0VDoK017353; Sat, 12 Jan 2013 00:31:13 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0C0VAAJ017335; Sat, 12 Jan 2013 00:31:10 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301120031.r0C0VAAJ017335@svn.freebsd.org> From: Andrew Turner Date: Sat, 12 Jan 2013 00:31:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245319 - in projects/arm_eabi: . bin/ln bin/ls bin/sh bin/test cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zpool contrib/binutils/bfd contrib/dialog contrib/dialog/pa... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 00:31:14 -0000 Author: andrew Date: Sat Jan 12 00:31:09 2013 New Revision: 245319 URL: http://svnweb.freebsd.org/changeset/base/245319 Log: MFC to r245318 Added: projects/arm_eabi/contrib/dialog/samples/dselect - copied unchanged from r245318, head/contrib/dialog/samples/dselect projects/arm_eabi/contrib/dialog/samples/valgrind.log - copied unchanged from r245318, head/contrib/dialog/samples/valgrind.log projects/arm_eabi/contrib/libcxxrt/atomic.h - copied unchanged from r245318, head/contrib/libcxxrt/atomic.h projects/arm_eabi/lib/libc/nls/zh_CN.GB18030.msg - copied unchanged from r245318, head/lib/libc/nls/zh_CN.GB18030.msg projects/arm_eabi/lib/libc/nls/zh_CN.GB2312.msg - copied unchanged from r245318, head/lib/libc/nls/zh_CN.GB2312.msg projects/arm_eabi/lib/libc/nls/zh_CN.UTF-8.msg - copied unchanged from r245318, head/lib/libc/nls/zh_CN.UTF-8.msg projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r245318, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c projects/arm_eabi/sys/dev/ath/if_ath_spectral.c - copied unchanged from r245318, head/sys/dev/ath/if_ath_spectral.c projects/arm_eabi/sys/dev/ath/if_ath_spectral.h - copied unchanged from r245318, head/sys/dev/ath/if_ath_spectral.h projects/arm_eabi/tools/build/options/WITHOUT_LZMA_SUPPORT - copied unchanged from r245318, head/tools/build/options/WITHOUT_LZMA_SUPPORT projects/arm_eabi/tools/build/options/WITH_NMTREE - copied unchanged from r245318, head/tools/build/options/WITH_NMTREE projects/arm_eabi/tools/tools/ath/athspectral/ - copied from r245318, head/tools/tools/ath/athspectral/ projects/arm_eabi/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r245318, head/usr.sbin/bsdconfig/share/script.subr projects/arm_eabi/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r245318, head/usr.sbin/bsdconfig/share/variable.subr projects/arm_eabi/usr.sbin/bsdinstall/partedit/sade.8 - copied unchanged from r245318, head/usr.sbin/bsdinstall/partedit/sade.8 Deleted: projects/arm_eabi/contrib/dialog/samples/dft-cancel projects/arm_eabi/contrib/dialog/samples/dft-extra projects/arm_eabi/contrib/dialog/samples/dft-help projects/arm_eabi/contrib/dialog/samples/dft-no projects/arm_eabi/contrib/dialog/samples/fselect0 projects/arm_eabi/contrib/dialog/samples/with-dquotes projects/arm_eabi/contrib/dialog/samples/with-squotes projects/arm_eabi/lib/libdisk/ projects/arm_eabi/share/examples/cvsup/gnats-supfile projects/arm_eabi/share/mk/bsd.compat.mk projects/arm_eabi/sys/dev/xen/evtchn/ projects/arm_eabi/sys/dev/xen/xenpci/machine_reboot.c projects/arm_eabi/usr.sbin/sade/ Modified: projects/arm_eabi/COPYRIGHT projects/arm_eabi/LOCKS projects/arm_eabi/ObsoleteFiles.inc projects/arm_eabi/UPDATING projects/arm_eabi/bin/ln/ln.1 projects/arm_eabi/bin/ls/util.c projects/arm_eabi/bin/sh/jobs.c projects/arm_eabi/bin/test/test.1 projects/arm_eabi/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/arm_eabi/contrib/binutils/bfd/elflink.c projects/arm_eabi/contrib/dialog/CHANGES projects/arm_eabi/contrib/dialog/VERSION projects/arm_eabi/contrib/dialog/aclocal.m4 projects/arm_eabi/contrib/dialog/arrows.c projects/arm_eabi/contrib/dialog/buttons.c projects/arm_eabi/contrib/dialog/calendar.c projects/arm_eabi/contrib/dialog/checklist.c projects/arm_eabi/contrib/dialog/columns.c projects/arm_eabi/contrib/dialog/configure projects/arm_eabi/contrib/dialog/configure.in projects/arm_eabi/contrib/dialog/dialog.1 projects/arm_eabi/contrib/dialog/dialog.3 projects/arm_eabi/contrib/dialog/dialog.c projects/arm_eabi/contrib/dialog/dialog.h projects/arm_eabi/contrib/dialog/dlg_colors.h projects/arm_eabi/contrib/dialog/dlg_keys.c projects/arm_eabi/contrib/dialog/dlg_keys.h projects/arm_eabi/contrib/dialog/editbox.c projects/arm_eabi/contrib/dialog/formbox.c projects/arm_eabi/contrib/dialog/fselect.c projects/arm_eabi/contrib/dialog/guage.c projects/arm_eabi/contrib/dialog/headers-sh.in projects/arm_eabi/contrib/dialog/inputbox.c projects/arm_eabi/contrib/dialog/inputstr.c projects/arm_eabi/contrib/dialog/makefile.in projects/arm_eabi/contrib/dialog/menubox.c projects/arm_eabi/contrib/dialog/mixedform.c projects/arm_eabi/contrib/dialog/mixedgauge.c projects/arm_eabi/contrib/dialog/msgbox.c projects/arm_eabi/contrib/dialog/package/debian/changelog projects/arm_eabi/contrib/dialog/package/dialog.spec projects/arm_eabi/contrib/dialog/pause.c projects/arm_eabi/contrib/dialog/po/cs.po projects/arm_eabi/contrib/dialog/po/el.po projects/arm_eabi/contrib/dialog/po/hr.po projects/arm_eabi/contrib/dialog/po/sr.po projects/arm_eabi/contrib/dialog/prgbox.c projects/arm_eabi/contrib/dialog/progressbox.c projects/arm_eabi/contrib/dialog/rc.c projects/arm_eabi/contrib/dialog/samples/copifuncs/admin.funcs projects/arm_eabi/contrib/dialog/samples/copifuncs/common.funcs projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.funcs projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.ifman2 projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.ifpoll2 projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.ifreq2 projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.sendifm1 projects/arm_eabi/contrib/dialog/samples/copifuncs/copi.wheel projects/arm_eabi/contrib/dialog/samples/copismall projects/arm_eabi/contrib/dialog/samples/debian.rc projects/arm_eabi/contrib/dialog/samples/dialog.py projects/arm_eabi/contrib/dialog/samples/form1 projects/arm_eabi/contrib/dialog/samples/inputmenu projects/arm_eabi/contrib/dialog/samples/inputmenu-stdout projects/arm_eabi/contrib/dialog/samples/inputmenu1 projects/arm_eabi/contrib/dialog/samples/inputmenu2 projects/arm_eabi/contrib/dialog/samples/inputmenu3 projects/arm_eabi/contrib/dialog/samples/inputmenu4 projects/arm_eabi/contrib/dialog/samples/killall projects/arm_eabi/contrib/dialog/samples/prgbox projects/arm_eabi/contrib/dialog/samples/prgbox2 projects/arm_eabi/contrib/dialog/samples/report-button projects/arm_eabi/contrib/dialog/samples/report-edit projects/arm_eabi/contrib/dialog/samples/report-string projects/arm_eabi/contrib/dialog/samples/report-tempfile projects/arm_eabi/contrib/dialog/samples/report-yesno projects/arm_eabi/contrib/dialog/samples/setup-edit projects/arm_eabi/contrib/dialog/samples/setup-tempfile projects/arm_eabi/contrib/dialog/samples/setup-utf8 projects/arm_eabi/contrib/dialog/samples/setup-vars projects/arm_eabi/contrib/dialog/samples/slackware.rc projects/arm_eabi/contrib/dialog/samples/sourcemage.rc projects/arm_eabi/contrib/dialog/samples/suse.rc projects/arm_eabi/contrib/dialog/samples/tailboxbg projects/arm_eabi/contrib/dialog/samples/tailboxbg1 projects/arm_eabi/contrib/dialog/samples/tailboxbg2 projects/arm_eabi/contrib/dialog/samples/testdata-8bit projects/arm_eabi/contrib/dialog/samples/wheel projects/arm_eabi/contrib/dialog/samples/whiptail.rc projects/arm_eabi/contrib/dialog/tailbox.c projects/arm_eabi/contrib/dialog/textbox.c projects/arm_eabi/contrib/dialog/timebox.c projects/arm_eabi/contrib/dialog/trace.c projects/arm_eabi/contrib/dialog/ui_getc.c projects/arm_eabi/contrib/dialog/util.c projects/arm_eabi/contrib/dialog/yesno.c projects/arm_eabi/contrib/file/Magdir/lua projects/arm_eabi/contrib/gcc/dwarf2out.c projects/arm_eabi/contrib/gcc/unwind-dw2.c projects/arm_eabi/contrib/libcxxrt/exception.cc projects/arm_eabi/contrib/libcxxrt/memory.cc projects/arm_eabi/contrib/libcxxrt/typeinfo.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCExpr.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/arm_eabi/contrib/llvm/lib/MC/MCExpr.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsJITInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsJITInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/arm_eabi/contrib/one-true-awk/FIXES projects/arm_eabi/contrib/one-true-awk/main.c projects/arm_eabi/contrib/one-true-awk/makefile projects/arm_eabi/contrib/one-true-awk/proto.h projects/arm_eabi/contrib/one-true-awk/run.c projects/arm_eabi/contrib/one-true-awk/tran.c projects/arm_eabi/contrib/sendmail/FREEBSD-upgrade projects/arm_eabi/contrib/sendmail/LICENSE projects/arm_eabi/contrib/sendmail/PGPKEYS projects/arm_eabi/contrib/sendmail/RELEASE_NOTES projects/arm_eabi/contrib/sendmail/cf/README projects/arm_eabi/contrib/sendmail/cf/cf/submit.cf projects/arm_eabi/contrib/sendmail/cf/feature/ldap_routing.m4 projects/arm_eabi/contrib/sendmail/cf/m4/proto.m4 projects/arm_eabi/contrib/sendmail/cf/m4/version.m4 projects/arm_eabi/contrib/sendmail/doc/op/op.me projects/arm_eabi/contrib/sendmail/include/libmilter/mfapi.h projects/arm_eabi/contrib/sendmail/include/sm/clock.h projects/arm_eabi/contrib/sendmail/include/sm/tailq.h projects/arm_eabi/contrib/sendmail/libmilter/Makefile.m4 projects/arm_eabi/contrib/sendmail/libmilter/docs/api.html projects/arm_eabi/contrib/sendmail/libmilter/docs/smfi_setsymlist.html projects/arm_eabi/contrib/sendmail/libmilter/docs/smfi_settimeout.html projects/arm_eabi/contrib/sendmail/libmilter/worker.c projects/arm_eabi/contrib/sendmail/src/Makefile.m4 projects/arm_eabi/contrib/sendmail/src/TRACEFLAGS projects/arm_eabi/contrib/sendmail/src/collect.c projects/arm_eabi/contrib/sendmail/src/conf.c projects/arm_eabi/contrib/sendmail/src/daemon.c projects/arm_eabi/contrib/sendmail/src/deliver.c projects/arm_eabi/contrib/sendmail/src/headers.c projects/arm_eabi/contrib/sendmail/src/main.c projects/arm_eabi/contrib/sendmail/src/map.c projects/arm_eabi/contrib/sendmail/src/milter.c projects/arm_eabi/contrib/sendmail/src/parseaddr.c projects/arm_eabi/contrib/sendmail/src/queue.c projects/arm_eabi/contrib/sendmail/src/sasl.c projects/arm_eabi/contrib/sendmail/src/savemail.c projects/arm_eabi/contrib/sendmail/src/sendmail.h projects/arm_eabi/contrib/sendmail/src/srvrsmtp.c projects/arm_eabi/contrib/sendmail/src/stab.c projects/arm_eabi/contrib/sendmail/src/util.c projects/arm_eabi/contrib/sendmail/src/version.c projects/arm_eabi/contrib/xz/AUTHORS projects/arm_eabi/contrib/xz/ChangeLog projects/arm_eabi/contrib/xz/README projects/arm_eabi/contrib/xz/THANKS projects/arm_eabi/contrib/xz/po/de.po projects/arm_eabi/contrib/xz/po/fr.po projects/arm_eabi/contrib/xz/po/it.po projects/arm_eabi/contrib/xz/po/pl.po projects/arm_eabi/contrib/xz/src/common/sysdefs.h projects/arm_eabi/contrib/xz/src/liblzma/api/lzma/version.h projects/arm_eabi/contrib/xz/src/liblzma/simple/simple_coder.c projects/arm_eabi/contrib/xz/src/liblzma/simple/simple_private.h projects/arm_eabi/contrib/xz/src/xz/args.c projects/arm_eabi/contrib/xz/src/xz/coder.c projects/arm_eabi/contrib/xz/src/xz/message.c projects/arm_eabi/contrib/xz/src/xz/xz.1 projects/arm_eabi/crypto/openssl/crypto/bn/bn_word.c projects/arm_eabi/crypto/openssl/crypto/opensslv.h projects/arm_eabi/etc/mtree/BSD.var.dist projects/arm_eabi/etc/namedb/named.root projects/arm_eabi/etc/rc.subr projects/arm_eabi/etc/sendmail/freebsd.mc projects/arm_eabi/etc/sendmail/freebsd.submit.mc projects/arm_eabi/etc/sendmail/freefall.mc projects/arm_eabi/gnu/lib/libdialog/dlg_config.h projects/arm_eabi/gnu/usr.bin/dialog/Makefile projects/arm_eabi/lib/Makefile projects/arm_eabi/lib/clang/include/clang/Basic/Version.inc projects/arm_eabi/lib/csu/amd64/crt1.c projects/arm_eabi/lib/csu/arm/crt1.c projects/arm_eabi/lib/csu/common/ignore_init.c projects/arm_eabi/lib/csu/i386-elf/crt1_c.c projects/arm_eabi/lib/csu/mips/crt1.c projects/arm_eabi/lib/csu/powerpc/crt1.c projects/arm_eabi/lib/csu/powerpc64/crt1.c projects/arm_eabi/lib/csu/sparc64/crt1.c projects/arm_eabi/lib/libbsnmp/libbsnmp/Makefile projects/arm_eabi/lib/libc/arm/softfloat/arm-gcc.h projects/arm_eabi/lib/libc/gen/Makefile.inc projects/arm_eabi/lib/libc/gen/Symbol.map projects/arm_eabi/lib/libc/net/name6.c projects/arm_eabi/lib/libc/nls/Makefile.inc projects/arm_eabi/lib/libc/sys/mlock.2 projects/arm_eabi/lib/libc/sys/mlockall.2 projects/arm_eabi/lib/libedit/map.c projects/arm_eabi/lib/libproc/test/t1-bkpt/t1-bkpt.c projects/arm_eabi/lib/libradius/libradius.3 projects/arm_eabi/lib/libutil/gr_util.c projects/arm_eabi/lib/libutil/libutil.h projects/arm_eabi/lib/libutil/pw_util.c projects/arm_eabi/libexec/tftpd/tftp-io.c projects/arm_eabi/release/amd64/mkisoimages.sh projects/arm_eabi/release/i386/mkisoimages.sh projects/arm_eabi/release/ia64/mkisoimages.sh projects/arm_eabi/release/pc98/mkisoimages.sh projects/arm_eabi/release/picobsd/build/picobsd projects/arm_eabi/release/powerpc/mkisoimages.sh projects/arm_eabi/release/sparc64/mkisoimages.sh projects/arm_eabi/sbin/geom/class/journal/geom_journal_ufs.c projects/arm_eabi/sbin/geom/class/part/gpart.8 projects/arm_eabi/sbin/ifconfig/af_inet6.c projects/arm_eabi/sbin/ifconfig/af_nd6.c projects/arm_eabi/sbin/ifconfig/ifconfig.8 projects/arm_eabi/sbin/mount_nullfs/mount_nullfs.c projects/arm_eabi/sbin/pflogd/Makefile projects/arm_eabi/sbin/route/route.c projects/arm_eabi/share/examples/Makefile projects/arm_eabi/share/examples/cvsup/README projects/arm_eabi/share/examples/cvsup/cvs-supfile projects/arm_eabi/share/examples/cvsup/ports-supfile projects/arm_eabi/share/examples/cvsup/stable-supfile projects/arm_eabi/share/examples/cvsup/standard-supfile projects/arm_eabi/share/man/man4/carp.4 projects/arm_eabi/share/man/man4/mps.4 projects/arm_eabi/share/man/man4/ng_ubt.4 projects/arm_eabi/share/man/man4/stf.4 projects/arm_eabi/share/man/man4/wbwd.4 projects/arm_eabi/share/man/man5/src.conf.5 projects/arm_eabi/share/man/man9/lock.9 projects/arm_eabi/share/man/man9/make_dev.9 projects/arm_eabi/share/man/man9/sleep.9 projects/arm_eabi/share/man/man9/vm_map_insert.9 projects/arm_eabi/share/man/man9/vm_map_stack.9 projects/arm_eabi/share/misc/committers-ports.dot projects/arm_eabi/share/mk/Makefile projects/arm_eabi/share/mk/bsd.cpu.mk projects/arm_eabi/share/mk/bsd.init.mk projects/arm_eabi/share/mk/bsd.lib.mk projects/arm_eabi/share/mk/bsd.libnames.mk projects/arm_eabi/share/mk/bsd.own.mk projects/arm_eabi/share/mk/bsd.prog.mk projects/arm_eabi/share/mk/sys.mk projects/arm_eabi/share/zoneinfo/Makefile projects/arm_eabi/sys/amd64/amd64/vm_machdep.c projects/arm_eabi/sys/amd64/conf/GENERIC projects/arm_eabi/sys/arm/arm/busdma_machdep-v6.c projects/arm_eabi/sys/arm/arm/machdep.c projects/arm_eabi/sys/arm/arm/pl310.c projects/arm_eabi/sys/arm/arm/pmap-v6.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_systimer.c projects/arm_eabi/sys/arm/conf/BEAGLEBONE projects/arm_eabi/sys/arm/include/atomic.h projects/arm_eabi/sys/arm/include/machdep.h projects/arm_eabi/sys/arm/include/pcpu.h projects/arm_eabi/sys/arm/include/pl310.h projects/arm_eabi/sys/arm/include/pmap.h projects/arm_eabi/sys/arm/ti/cpsw/if_cpsw.c projects/arm_eabi/sys/arm/ti/cpsw/if_cpswreg.h projects/arm_eabi/sys/arm/ti/cpsw/if_cpswvar.h projects/arm_eabi/sys/arm/ti/omap4/omap4_l2cache.c projects/arm_eabi/sys/arm/ti/omap4/omap4_smc.h projects/arm_eabi/sys/arm/ti/omap4/std.omap4 projects/arm_eabi/sys/arm/ti/ti_cpuid.c projects/arm_eabi/sys/arm/ti/ti_cpuid.h projects/arm_eabi/sys/arm/versatile/versatile_clcd.c projects/arm_eabi/sys/boot/common/interp_forth.c projects/arm_eabi/sys/boot/fdt/dts/pandaboard.dts projects/arm_eabi/sys/boot/userboot/userboot/Makefile projects/arm_eabi/sys/boot/userboot/userboot/main.c projects/arm_eabi/sys/cam/ctl/ctl.c projects/arm_eabi/sys/cam/ctl/scsi_ctl.c projects/arm_eabi/sys/cam/scsi/scsi_cd.c projects/arm_eabi/sys/cam/scsi/scsi_da.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/arm_eabi/sys/cddl/dev/dtrace/dtrace_debug.c projects/arm_eabi/sys/conf/files projects/arm_eabi/sys/conf/options.mips projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-init.h projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/arm_eabi/sys/dev/acpica/acpi_thermal.c projects/arm_eabi/sys/dev/agp/agp_ali.c projects/arm_eabi/sys/dev/agp/agp_amd.c projects/arm_eabi/sys/dev/agp/agp_amd64.c projects/arm_eabi/sys/dev/agp/agp_ati.c projects/arm_eabi/sys/dev/agp/agp_intel.c projects/arm_eabi/sys/dev/agp/agp_sis.c projects/arm_eabi/sys/dev/agp/agp_via.c projects/arm_eabi/sys/dev/ahci/ahci.c projects/arm_eabi/sys/dev/ata/ata-pci.h projects/arm_eabi/sys/dev/ata/chipsets/ata-intel.c projects/arm_eabi/sys/dev/ath/ath_dfs/null/dfs_null.c projects/arm_eabi/sys/dev/ath/ath_hal/ah.c projects/arm_eabi/sys/dev/ath/ath_hal/ah.h projects/arm_eabi/sys/dev/ath/ath_hal/ah_internal.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/arm_eabi/sys/dev/ath/if_ath.c projects/arm_eabi/sys/dev/ath/if_ath_rx.c projects/arm_eabi/sys/dev/ath/if_athdfs.h projects/arm_eabi/sys/dev/ath/if_athioctl.h projects/arm_eabi/sys/dev/ath/if_athvar.h projects/arm_eabi/sys/dev/atkbdc/atkbd.c projects/arm_eabi/sys/dev/atkbdc/atkbd_atkbdc.c projects/arm_eabi/sys/dev/atkbdc/atkbdreg.h projects/arm_eabi/sys/dev/cxgbe/adapter.h projects/arm_eabi/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/arm_eabi/sys/dev/cxgbe/offload.h projects/arm_eabi/sys/dev/cxgbe/t4_main.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_listen.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_tom.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_tom.h projects/arm_eabi/sys/dev/fdt/fdtbus.c projects/arm_eabi/sys/dev/ichsmb/ichsmb_pci.c projects/arm_eabi/sys/dev/ichwd/ichwd.c projects/arm_eabi/sys/dev/ichwd/ichwd.h projects/arm_eabi/sys/dev/nvme/nvme_test.c projects/arm_eabi/sys/dev/pci/pci.c projects/arm_eabi/sys/dev/pci/pci_user.c projects/arm_eabi/sys/dev/sound/pci/hda/hdac.c projects/arm_eabi/sys/dev/sound/pci/hda/hdac.h projects/arm_eabi/sys/dev/sym/sym_hipd.c projects/arm_eabi/sys/dev/usb/controller/xhci.c projects/arm_eabi/sys/dev/usb/input/ukbd.c projects/arm_eabi/sys/dev/usb/input/ums.c projects/arm_eabi/sys/dev/usb/quirk/usb_quirk.c projects/arm_eabi/sys/dev/usb/serial/u3g.c projects/arm_eabi/sys/dev/usb/storage/ustorage_fs.c projects/arm_eabi/sys/dev/usb/usb_hid.c projects/arm_eabi/sys/dev/usb/usb_msctest.c projects/arm_eabi/sys/dev/usb/usbdevs projects/arm_eabi/sys/dev/usb/usbhid.h projects/arm_eabi/sys/dev/usb/wlan/if_run.c projects/arm_eabi/sys/dev/usb/wlan/if_urtw.c projects/arm_eabi/sys/dev/wbwd/wbwd.c projects/arm_eabi/sys/dev/xen/control/control.c projects/arm_eabi/sys/dev/xen/netfront/netfront.c projects/arm_eabi/sys/fs/devfs/devfs_vnops.c projects/arm_eabi/sys/fs/ext2fs/ext2_dinode.h projects/arm_eabi/sys/fs/fuse/fuse_io.c projects/arm_eabi/sys/fs/nandfs/nandfs_segment.c projects/arm_eabi/sys/fs/nullfs/null.h projects/arm_eabi/sys/fs/nullfs/null_subr.c projects/arm_eabi/sys/fs/nullfs/null_vfsops.c projects/arm_eabi/sys/fs/nullfs/null_vnops.c projects/arm_eabi/sys/fs/tmpfs/tmpfs.h projects/arm_eabi/sys/fs/tmpfs/tmpfs_subr.c projects/arm_eabi/sys/fs/tmpfs/tmpfs_vfsops.c projects/arm_eabi/sys/fs/tmpfs/tmpfs_vnops.c projects/arm_eabi/sys/geom/geom_io.c projects/arm_eabi/sys/geom/journal/g_journal.c projects/arm_eabi/sys/geom/label/g_label.c projects/arm_eabi/sys/i386/conf/GENERIC projects/arm_eabi/sys/i386/xen/xen_machdep.c projects/arm_eabi/sys/ia64/conf/GENERIC projects/arm_eabi/sys/kern/kern_conf.c projects/arm_eabi/sys/kern/kern_exit.c projects/arm_eabi/sys/kern/kern_lock.c projects/arm_eabi/sys/kern/kern_mutex.c projects/arm_eabi/sys/kern/kern_rmlock.c projects/arm_eabi/sys/kern/kern_rwlock.c projects/arm_eabi/sys/kern/kern_sx.c projects/arm_eabi/sys/kern/kern_synch.c projects/arm_eabi/sys/kern/subr_param.c projects/arm_eabi/sys/kern/subr_syscall.c projects/arm_eabi/sys/kern/sys_generic.c projects/arm_eabi/sys/kern/vfs_mount.c projects/arm_eabi/sys/kern/vfs_subr.c projects/arm_eabi/sys/kern/vfs_vnops.c projects/arm_eabi/sys/mips/atheros/ar71xx_pci.c projects/arm_eabi/sys/mips/beri/beri_machdep.c projects/arm_eabi/sys/mips/conf/OCTEON1 projects/arm_eabi/sys/modules/ath/Makefile projects/arm_eabi/sys/net/if_pfsync.h projects/arm_eabi/sys/net/if_stf.c projects/arm_eabi/sys/net/zlib.c projects/arm_eabi/sys/net/zlib.h projects/arm_eabi/sys/net80211/ieee80211_hostap.c projects/arm_eabi/sys/net80211/ieee80211_hwmp.c projects/arm_eabi/sys/net80211/ieee80211_radiotap.h projects/arm_eabi/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/arm_eabi/sys/netinet/in.c projects/arm_eabi/sys/netinet/ip_carp.c projects/arm_eabi/sys/netinet/sctp_pcb.c projects/arm_eabi/sys/netinet/sctp_usrreq.c projects/arm_eabi/sys/netinet/sctputil.c projects/arm_eabi/sys/netinet/tcp_reass.c projects/arm_eabi/sys/netinet/tcp_syncache.c projects/arm_eabi/sys/netinet/tcp_timer.c projects/arm_eabi/sys/netinet6/in6_src.c projects/arm_eabi/sys/netinet6/nd6.h projects/arm_eabi/sys/netinet6/scope6.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw2.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_dynamic.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_log.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_private.h projects/arm_eabi/sys/netpfil/pf/if_pflog.c projects/arm_eabi/sys/netpfil/pf/if_pfsync.c projects/arm_eabi/sys/netpfil/pf/pf.c projects/arm_eabi/sys/netpfil/pf/pf_if.c projects/arm_eabi/sys/netpfil/pf/pf_ioctl.c projects/arm_eabi/sys/netpfil/pf/pf_lb.c projects/arm_eabi/sys/netpfil/pf/pf_norm.c projects/arm_eabi/sys/netpfil/pf/pf_osfp.c projects/arm_eabi/sys/netpfil/pf/pf_ruleset.c projects/arm_eabi/sys/netpfil/pf/pf_table.c projects/arm_eabi/sys/pc98/cbus/pckbd.c projects/arm_eabi/sys/pc98/conf/GENERIC projects/arm_eabi/sys/powerpc/conf/GENERIC projects/arm_eabi/sys/powerpc/conf/GENERIC64 projects/arm_eabi/sys/sparc64/conf/GENERIC projects/arm_eabi/sys/sparc64/sparc64/interrupt.S projects/arm_eabi/sys/sys/buf_ring.h projects/arm_eabi/sys/sys/copyright.h projects/arm_eabi/sys/sys/file.h projects/arm_eabi/sys/sys/mbuf.h projects/arm_eabi/sys/sys/mount.h projects/arm_eabi/sys/sys/param.h projects/arm_eabi/sys/sys/vnode.h projects/arm_eabi/sys/tools/vnode_if.awk projects/arm_eabi/sys/ufs/ffs/ffs_snapshot.c projects/arm_eabi/sys/ufs/ffs/ffs_softdep.c projects/arm_eabi/sys/ufs/ffs/ffs_suspend.c projects/arm_eabi/sys/ufs/ffs/ffs_vfsops.c projects/arm_eabi/sys/vm/device_pager.c projects/arm_eabi/sys/vm/vm_map.c projects/arm_eabi/sys/vm/vm_mmap.c projects/arm_eabi/sys/vm/vm_object.h projects/arm_eabi/sys/vm/vm_unix.c projects/arm_eabi/sys/x86/include/specialreg.h projects/arm_eabi/tools/build/Makefile projects/arm_eabi/tools/build/make_check/Makefile projects/arm_eabi/tools/tools/ath/Makefile projects/arm_eabi/tools/tools/ath/arcode/arcode.c projects/arm_eabi/tools/tools/ath/ath_prom_read/ath_prom_read.c projects/arm_eabi/tools/tools/ath/athdebug/athdebug.c projects/arm_eabi/tools/tools/ath/athdecode/main.c projects/arm_eabi/tools/tools/ath/athkey/athkey.c projects/arm_eabi/tools/tools/ath/athprom/athprom.c projects/arm_eabi/tools/tools/ath/athratestats/main.c projects/arm_eabi/tools/tools/ath/athstats/Makefile projects/arm_eabi/tools/tools/ath/athstats/athstats.c projects/arm_eabi/tools/tools/ath/athsurvey/athsurvey.c projects/arm_eabi/tools/tools/netrate/netreceive/Makefile projects/arm_eabi/tools/tools/netrate/netreceive/netreceive.c projects/arm_eabi/tools/tools/netrate/netsend/netsend.c projects/arm_eabi/usr.bin/apply/apply.c projects/arm_eabi/usr.bin/clang/clang/clang.1 projects/arm_eabi/usr.bin/dc/bcode.c projects/arm_eabi/usr.bin/dc/bcode.h projects/arm_eabi/usr.bin/dc/inout.c projects/arm_eabi/usr.bin/grep/Makefile projects/arm_eabi/usr.bin/grep/file.c projects/arm_eabi/usr.bin/grep/grep.c projects/arm_eabi/usr.bin/grep/regex/tre-fastmatch.c projects/arm_eabi/usr.bin/m4/Makefile projects/arm_eabi/usr.bin/tail/read.c projects/arm_eabi/usr.bin/xargs/strnsubst.c projects/arm_eabi/usr.bin/xinstall/Makefile projects/arm_eabi/usr.bin/xinstall/install.1 projects/arm_eabi/usr.bin/xinstall/xinstall.c projects/arm_eabi/usr.sbin/Makefile.amd64 projects/arm_eabi/usr.sbin/Makefile.i386 projects/arm_eabi/usr.sbin/Makefile.sparc64 projects/arm_eabi/usr.sbin/bsdconfig/USAGE projects/arm_eabi/usr.sbin/bsdconfig/bsdconfig projects/arm_eabi/usr.sbin/bsdconfig/bsdconfig.8 projects/arm_eabi/usr.sbin/bsdconfig/console/console projects/arm_eabi/usr.sbin/bsdconfig/console/font projects/arm_eabi/usr.sbin/bsdconfig/console/keymap projects/arm_eabi/usr.sbin/bsdconfig/console/repeat projects/arm_eabi/usr.sbin/bsdconfig/console/saver projects/arm_eabi/usr.sbin/bsdconfig/console/screenmap projects/arm_eabi/usr.sbin/bsdconfig/console/ttys projects/arm_eabi/usr.sbin/bsdconfig/diskmgmt/diskmgmt projects/arm_eabi/usr.sbin/bsdconfig/docsinstall/docsinstall projects/arm_eabi/usr.sbin/bsdconfig/dot/dot projects/arm_eabi/usr.sbin/bsdconfig/include/messages.subr projects/arm_eabi/usr.sbin/bsdconfig/mouse/disable projects/arm_eabi/usr.sbin/bsdconfig/mouse/enable projects/arm_eabi/usr.sbin/bsdconfig/mouse/flags projects/arm_eabi/usr.sbin/bsdconfig/mouse/mouse projects/arm_eabi/usr.sbin/bsdconfig/mouse/port projects/arm_eabi/usr.sbin/bsdconfig/mouse/type projects/arm_eabi/usr.sbin/bsdconfig/networking/defaultrouter projects/arm_eabi/usr.sbin/bsdconfig/networking/devices projects/arm_eabi/usr.sbin/bsdconfig/networking/hostname projects/arm_eabi/usr.sbin/bsdconfig/networking/nameservers projects/arm_eabi/usr.sbin/bsdconfig/networking/networking projects/arm_eabi/usr.sbin/bsdconfig/networking/share/common.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/device.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/hostname.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/media.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/netmask.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/resolv.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/routing.subr projects/arm_eabi/usr.sbin/bsdconfig/password/password projects/arm_eabi/usr.sbin/bsdconfig/password/share/password.subr projects/arm_eabi/usr.sbin/bsdconfig/security/kern_securelevel projects/arm_eabi/usr.sbin/bsdconfig/security/security projects/arm_eabi/usr.sbin/bsdconfig/share/Makefile projects/arm_eabi/usr.sbin/bsdconfig/share/common.subr projects/arm_eabi/usr.sbin/bsdconfig/share/dialog.subr projects/arm_eabi/usr.sbin/bsdconfig/share/mustberoot.subr projects/arm_eabi/usr.sbin/bsdconfig/share/strings.subr projects/arm_eabi/usr.sbin/bsdconfig/share/sysrc.subr projects/arm_eabi/usr.sbin/bsdconfig/startup/misc projects/arm_eabi/usr.sbin/bsdconfig/startup/rcadd projects/arm_eabi/usr.sbin/bsdconfig/startup/rcconf projects/arm_eabi/usr.sbin/bsdconfig/startup/rcdelete projects/arm_eabi/usr.sbin/bsdconfig/startup/rcedit projects/arm_eabi/usr.sbin/bsdconfig/startup/rcvar projects/arm_eabi/usr.sbin/bsdconfig/startup/share/rcconf.subr projects/arm_eabi/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/arm_eabi/usr.sbin/bsdconfig/startup/share/rcvar.subr projects/arm_eabi/usr.sbin/bsdconfig/startup/startup projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/continents.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/countries.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/iso3166.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/menus.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/zones.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/timezone projects/arm_eabi/usr.sbin/bsdconfig/ttys/ttys projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/groupadd projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/groupdel projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/groupedit projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/groupinput projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/share/group_input.subr projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/share/user_input.subr projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/useradd projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/userdel projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/useredit projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/userinput projects/arm_eabi/usr.sbin/bsdconfig/usermgmt/usermgmt projects/arm_eabi/usr.sbin/bsdinstall/partedit/Makefile projects/arm_eabi/usr.sbin/bsdinstall/partedit/partedit.c projects/arm_eabi/usr.sbin/daemon/daemon.c projects/arm_eabi/usr.sbin/gssd/Makefile projects/arm_eabi/usr.sbin/gssd/gssd.8 projects/arm_eabi/usr.sbin/gssd/gssd.c projects/arm_eabi/usr.sbin/ifmcstat/ifmcstat.c projects/arm_eabi/usr.sbin/mountd/exports.5 projects/arm_eabi/usr.sbin/mtree/Makefile projects/arm_eabi/usr.sbin/ndp/ndp.8 projects/arm_eabi/usr.sbin/ndp/ndp.c projects/arm_eabi/usr.sbin/newsyslog/newsyslog.8 projects/arm_eabi/usr.sbin/newsyslog/newsyslog.c projects/arm_eabi/usr.sbin/nfsd/nfsv4.4 projects/arm_eabi/usr.sbin/nmtree/Makefile projects/arm_eabi/usr.sbin/pkg/pkg.c projects/arm_eabi/usr.sbin/pw/pw_group.c projects/arm_eabi/usr.sbin/pw/pw_user.c projects/arm_eabi/usr.sbin/pw/pw_vpw.c projects/arm_eabi/usr.sbin/pw/pwupd.c Directory Properties: projects/arm_eabi/ (props changed) projects/arm_eabi/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/contrib/binutils/ (props changed) projects/arm_eabi/contrib/dialog/ (props changed) projects/arm_eabi/contrib/file/ (props changed) projects/arm_eabi/contrib/gcc/ (props changed) projects/arm_eabi/contrib/libcxxrt/ (props changed) projects/arm_eabi/contrib/llvm/ (props changed) projects/arm_eabi/contrib/llvm/tools/clang/ (props changed) projects/arm_eabi/contrib/one-true-awk/ (props changed) projects/arm_eabi/contrib/sendmail/ (props changed) projects/arm_eabi/contrib/xz/ (props changed) projects/arm_eabi/crypto/openssl/ (props changed) projects/arm_eabi/gnu/lib/ (props changed) projects/arm_eabi/gnu/usr.bin/binutils/ (props changed) projects/arm_eabi/lib/libc/ (props changed) projects/arm_eabi/lib/libutil/ (props changed) projects/arm_eabi/sbin/ (props changed) projects/arm_eabi/share/man/man4/ (props changed) projects/arm_eabi/share/zoneinfo/ (props changed) projects/arm_eabi/sys/ (props changed) projects/arm_eabi/sys/boot/ (props changed) projects/arm_eabi/sys/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/sys/conf/ (props changed) projects/arm_eabi/sys/contrib/octeon-sdk/ (props changed) projects/arm_eabi/tools/regression/bin/sh/errors/write-error1.0 (props changed) Modified: projects/arm_eabi/COPYRIGHT ============================================================================== --- projects/arm_eabi/COPYRIGHT Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/COPYRIGHT Sat Jan 12 00:31:09 2013 (r245319) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/arm_eabi/LOCKS ============================================================================== --- projects/arm_eabi/LOCKS Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/LOCKS Sat Jan 12 00:31:09 2013 (r245319) @@ -11,3 +11,4 @@ releng/4.* Requires Security Officer app releng/5.* Requires Security Officer approval. releng/6.* Requires Security Officer approval. releng/7.* Requires Security Officer approval. +releng/8.* Requires Security Officer approval. Modified: projects/arm_eabi/ObsoleteFiles.inc ============================================================================== --- projects/arm_eabi/ObsoleteFiles.inc Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/ObsoleteFiles.inc Sat Jan 12 00:31:09 2013 (r245319) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20121230: libdisk removed +OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h +OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a +# 20121230: remove wrongly created directories for auditdistd +OLD_DIRS+=var/dist +OLD_DIRS+=var/remote # 20121114: zpool-features manual page moved from section 5 to 7 OLD_FILES+=usr/share/man/man5/zpool-features.5.gz # 20121022: remove harp, hfa and idt man page Modified: projects/arm_eabi/UPDATING ============================================================================== --- projects/arm_eabi/UPDATING Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/UPDATING Sat Jan 12 00:31:09 2013 (r245319) @@ -26,6 +26,17 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121223: + After switching to Clang as the default compiler some users of ZFS + on i386 systems started to experience stack overflow kernel panics. + Please consider using 'options KSTACK_PAGES=4' in such configurations. + +20121222: + GEOM_LABEL now mangles label names read from file system metadata. + Mangling affect labels containing spaces, non-printable characters, + '%' or '"'. Device names in /etc/fstab and other places may need to + be updated. + 20121217: By default, only the 10 most recent kernel dumps will be saved. To restore the previous behaviour (no limit on the number of kernel dumps Modified: projects/arm_eabi/bin/ln/ln.1 ============================================================================== --- projects/arm_eabi/bin/ln/ln.1 Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/bin/ln/ln.1 Sat Jan 12 00:31:09 2013 (r245319) @@ -291,7 +291,7 @@ implementations. .Pp The .Fl F -option is +option is a .Fx extension and should not be used in portable scripts. .Sh SEE ALSO Modified: projects/arm_eabi/bin/ls/util.c ============================================================================== --- projects/arm_eabi/bin/ls/util.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/bin/ls/util.c Sat Jan 12 00:31:09 2013 (r245319) @@ -186,7 +186,7 @@ prn_octal(const char *s) len += wcwidth(wc); } else if (goodchar && f_octal_escape && #if WCHAR_MIN < 0 - wc >= 0 && + wc >= 0 && #endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { Modified: projects/arm_eabi/bin/sh/jobs.c ============================================================================== --- projects/arm_eabi/bin/sh/jobs.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/bin/sh/jobs.c Sat Jan 12 00:31:09 2013 (r245319) @@ -298,6 +298,7 @@ showjob(struct job *jp, int mode) { char s[64]; char statestr[64]; + const char *sigstr; struct procstat *ps; struct job *j; int col, curr, i, jobno, prev, procno; @@ -324,8 +325,9 @@ showjob(struct job *jp, int mode) i = WSTOPSIG(ps->status); else i = -1; - if (i > 0 && i < sys_nsig && sys_siglist[i]) - strcpy(statestr, sys_siglist[i]); + sigstr = strsignal(i); + if (sigstr != NULL) + strcpy(statestr, sigstr); else strcpy(statestr, "Suspended"); #endif @@ -337,10 +339,11 @@ showjob(struct job *jp, int mode) WEXITSTATUS(ps->status)); } else { i = WTERMSIG(ps->status); - if (i > 0 && i < sys_nsig && sys_siglist[i]) - strcpy(statestr, sys_siglist[i]); + sigstr = strsignal(i); + if (sigstr != NULL) + strcpy(statestr, sigstr); else - fmtstr(statestr, 64, "Signal %d", i); + strcpy(statestr, "Unknown signal"); if (WCOREDUMP(ps->status)) strcat(statestr, " (core dumped)"); } @@ -1019,6 +1022,7 @@ dowait(int mode, struct job *job) struct procstat *sp; struct job *jp; struct job *thisjob; + const char *sigstr; int done; int stopped; int sig; @@ -1129,10 +1133,11 @@ dowait(int mode, struct job *job) coredump = WCOREDUMP(sp->status); } if (sig > 0 && sig != SIGINT && sig != SIGPIPE) { - if (sig < sys_nsig && sys_siglist[sig]) - out2str(sys_siglist[sig]); + sigstr = strsignal(sig); + if (sigstr != NULL) + out2str(sigstr); else - outfmt(out2, "Signal %d", sig); + out2str("Unknown signal"); if (coredump) out2str(" (core dumped)"); out2c('\n'); Modified: projects/arm_eabi/bin/test/test.1 ============================================================================== --- projects/arm_eabi/bin/test/test.1 Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/bin/test/test.1 Sat Jan 12 00:31:09 2013 (r245319) @@ -32,7 +32,7 @@ .\" @(#)test.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd September 10, 2010 +.Dd December 27, 2012 .Dt TEST 1 .Os .Sh NAME @@ -331,6 +331,13 @@ missing. .It >1 An error occurred. .El +.Sh COMPATIBILITY +For compatibility with some other implementations, +the +.Cm = +primary can be substituted with +.Cm == +with the same meaning. .Sh SEE ALSO .Xr builtin 1 , .Xr expr 1 , Modified: projects/arm_eabi/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zdb/zdb.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Jan 12 00:31:09 2013 (r245319) @@ -704,7 +704,9 @@ dump_ddt(ddt_t *ddt, enum ddt_type type, return; ASSERT(error == 0); - if ((count = ddt_object_count(ddt, type, class)) == 0) + error = ddt_object_count(ddt, type, class, &count); + ASSERT(error == 0); + if (count == 0) return; dspace = doi.doi_physical_blocks_512 << 9; Modified: projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Jan 12 00:31:09 2013 (r245319) @@ -906,10 +906,11 @@ zpool_do_create(int argc, char **argv) /* * Check the validity of the mountpoint and direct the user to use the * '-m' mountpoint option if it looks like its in use. + * Ignore the checks if the '-f' option is given. */ - if (mountpoint == NULL || + if (!force && (mountpoint == NULL || (strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 && - strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0)) { + strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0))) { char buf[MAXPATHLEN]; DIR *dirp; Modified: projects/arm_eabi/contrib/binutils/bfd/elflink.c ============================================================================== --- projects/arm_eabi/contrib/binutils/bfd/elflink.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/binutils/bfd/elflink.c Sat Jan 12 00:31:09 2013 (r245319) @@ -10584,6 +10584,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link { /* Keep debug and special sections. */ if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0 + || elf_section_data (o)->this_hdr.sh_type == SHT_NOTE || (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0) o->gc_mark = 1; Modified: projects/arm_eabi/contrib/dialog/CHANGES ============================================================================== --- projects/arm_eabi/contrib/dialog/CHANGES Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/dialog/CHANGES Sat Jan 12 00:31:09 2013 (r245319) @@ -1,172 +1,9 @@ --- $Id: CHANGES,v 1.419 2012/07/06 18:18:48 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: -2012/07/06 - + modify samples/setup-tempfile to work with Tru64's shell. - + modify inputmenu sample scripts to make them more portable: - + use "id" rather than "$GROUPS", use sed to work with Solaris. - + use sed to split-up the rename results to work with HPUX. - + fix regression in msgbox (ArchLinux #30574) - -2012/07/03 - + modify prgbox widget to work with --extra-button, etc. - + add case values to several widgets to allow for mouse-clicks with - "--extra-button" and "--help-button" additions. - + correct timebox widget's exit code for "--extra-button" when handing - the "enter" key. - + modify msgbox widget to honor "--extra-button". - + corrected processing of "--trace" option, which did not update the - index into command-line to point past its value. - + add a check in dialog program for valid characters used in option, - e.g., to generate an error if a script attempts to add option value - using "=" rather than with whitespace. - + add new command-line option --default-button and library function - dlg_default_button() to retrieve the value set by the option - to provide a way to set the default button directly rather than - by combining --nook, etc. (patch by Zoltan Kelemen). - + amend include of unctrl.h to apply only to the case where curses.h - is included, to avoid conflict of ncurses' unctrl.h with a system - implementation (report by Martin Roedlach) - + add limit-check to dlg_toupper() in non-wide curses mode to work - when non-character values such as arrow-key codes are passed to - it (patch by Zoltan Kelemen). - + override timeout value, e.g., as set via --timeout command-line - option in pause widget because that interferes with pause's behavior - (report by Jan Spitalnik). - + modify samples/inputmenu* to allow ":" in renamed text (report by - Andreas Stoewing). - + modify double-quoting to make it more consistent, i.e., checklist - output is quoted only when needed. This fixes the case where - single-quotes were used whether or not needed, but also modifies - older checklist behavior for double-quoting which always added those - (Debian #663664). - + correct exit-code used in inputmenu for "rename" button (Debian - #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim). - + update el.po and hr.po from - http://translationproject.org/latest/dialog/ - + use checkbashisms to clean up sample scripts. - -2012/02/15 - + modify menubox.c to use the same improvement as in checklist.c - + improve auto width computation for checklist widget by using - dlg_calc_list_width as in the non-auto case (Edho Arief). - + eliminate some bashisms in the sample scripts (Pedro Giffuni). - + makefile fixes from FreeBSD ports (Li-Wen Hsu): - + make --with-package option of configure script work. - + get LIBTOOL_VERSION from configure script, needed by - ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and - aclocal.m4) - + update cs.po and sr.po from - http://translationproject.org/latest/dialog/ - + updated configure script macros, improving CF_XOPEN_SOURCE among - other fixes. - -2011/10/20 - + fix --analyze warnings for clang versions 2.8, 2.9. - + add configure check for lint program. - + add check in dlg_getc() in case its window is freed as a side effect - of removing callbacks. - + fix logic in freeing subwindows (report by xDog Walker). - + fix a regression in logic distinguishing between inputmenu and menu - widgets (report by xDog Walker). - + minor fixes to library manpage. - -2011/10/18 - + modify header-sh.in to work around limit on sed script length on - HPUX. - + add a special case of parameter parsing for "--trace" to the - initialization done before calling init_dialog(), to allow users to - capture the initial state of the parameter list before any options - are processed and removed. This is only done if "--trace" is the - first option, otherwise it is handled in the common options as before - (report by xDog Walker). - + modify samples/testdata-8bit, discarding $1 from the parameter list - if it was used, so that the source'ing scripts can consistently use - "$@" to insert parameters before the widget, e.g., as an alternative - to using $DIALOGOPTS (report by xDog Walker). - + modify treatment of function pointers in menubox.c, make - dlg_renamed_menutext() and dlg_dummy_menutext() visible to library - users (request by xDog Walker). - + add dlg_count_real_columns(), use to modify centering for "--hline" - text to account for "\Z"s (report by xDog Walker). - + improve check in dlg_draw_arrows2() for conflict between the window - title and up-arrow marker to take into account that the given window - may not be the top-level window of the widget. - + change width of page up/down mouse areas in fselect panes to use the - full width of the panes rather than only the portion from the left - margin to the up/down arrow. - + add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the - secondary borders. - + modify rc-file read/write to accept/generate color values that refer - to previously-processed items in the color table. This reduces the - number of distinct colors that must be specified to set up a color - scheme. - + add color table entries for secondary borders, i.e., the ones that - are normally drawn with the dialog's text-colors (Debian #641168). - + modify fselect.c to scan the current directory if the input field - happens to be empty (Debian #640905). - + repeated the discussion of environment variables that can override - the exit-status values in the manpage's return-codes section - (Debian #642105). - + add an example to the manpage showing how to override the form - widget's keys used for field/button traversal (Debian #642108). - + modify call to dlg_register_window() in formbox.c so that the editing - bindings are attached to the form sub-window rather than the - top-level dialog window. Also change the name by which the editing - bindings are bound for editbox.c, fselect.c and inputbox.c, so that - the editing and navigation bindings can be different. - + correct logic in dlg_lookup_key() so that it matches the widget name - before using a binding from .dialogrc, allowing the inner/outer - windows of form and other editing widgets to have different bindings. - + modify dlg_register_window() to call dlg_dump_window_keys() after - its updates, via the --trace output, to supplement the manpage - description of key bindings (Debian #642108). - + add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to - allow binding a single key to traverse both form-fields and buttons - (Debian #642108). - + modify dlg_parse_rc() to check for error return from - dlg_parse_bindkey(). - + add function dlg_dump_window_keys(), to help with debugging widgets. - + add CR, LF, TAB, FF and ESC to table of curses names to help make - key bindings more readable. - + update table of dialog key-names so that helpfile and trace are - dumped properly. - + correct dlg_dump_keys(), which was showing only the first item in - the matched binding table. - + save/restore window current position in dlg_update_mixedgauge(). - + pass return-code from pause_for_ok() from dlg_progressbox() when - pauseopt is set, rather than only DLG_OK. - + call setlocale() in init_dialog() rather than relying on on-demand - use within inputstr.c, since there are paths in textbox widget which - do not exercise the latter (report by xDog Walker). - + fix some places where checks for "\Z" were done without also checking - dialog_vars.colors (report by Moray Henderson). - + correct logic for DIALOGOPTS parsing so that the parse happens only - once unless memory leak checking is enabled (report by xDog Walker). - + remove an incorrect free() call in dlg_free_gauge() (report by xDog - Walker). - + modify dlg_trace_win() to log wide-characters (report by xDog Walker). - + make traces shorter by skipping repeated ERR's, but showing the - number skipped (report by xDog Walker). - + improve description in manpage to distinguish program box and - progress box from tailboxes (adapted from email by xDog Walker). - + modify dlg_trace_win() so that it looks for the topmost window in a - dialog. Because subwindows share space with the top window, tracing - the latter shows the whole widget (report by xDog Walker). - + expand tracing so that each window is traced before soliciting input, - making the ^T feature to print a window on demand partly redundant - (suggested by xDog Walker). - + cosmetic change in dialog.h to avoid "*/*" strings from comments next - to "*" (report by xDog Walker). - + ensure result from dlg_align_columns() has trailing null on each - string. Analysis was hindered by libc6's continuance of libc5's - early-1990s misfeature of clearing the result from malloc, noting - that libc6's documentation incorrectly claims that it does not do - this (report by xDog Walker). - 2011/07/07 + modify util.c to work better with old versions of ncurses: + suppress use of wchgat() before fix in 20060715 which is needed @@ -250,7 +87,7 @@ to it: + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h doesn't do anything, so it needs a crutch). - + update config.guess, config.sub + + updated config.guess, config.sub 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). @@ -318,7 +155,7 @@ to it: CF_ADD_LIBDIR for the curses-directory here, from CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even with the default checking, e.g., no --with-ncurses, etc. - + update config.guess, config.sub + + updated config.guess, config.sub 2010/04/28 + several improvements to configure script: @@ -413,7 +250,7 @@ to it: libutf8 and libiconv. + update da.po, ru.po from http://translationproject.org/latest/dialog/ - + update config.guess, config.sub + + updated config.guess, config.sub 2008/08/19 + amend changes to quoting; by default, the checklist widget quotes its @@ -496,7 +333,7 @@ to it: ESC to be returned, quitting dialog (report by Reiner Huober). + add extern "C" declarations to dlg_keys.h so the corresponding function declarations are exported to C++ as C symbols. - + update config.guess, config.sub + + updated config.guess, config.sub 2007/06/04 + fix a memory leak in editbox.c @@ -599,7 +436,7 @@ to it: CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS, CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC, CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE. - + update config.guess, config.sub + + updated config.guess, config.sub > adapted fixes from SuSE package (Werner Fink): + add some limit-checks in dlg_draw_shadow(). + make shadows resizable, using new dlg_move_window() in msgbox.c Modified: projects/arm_eabi/contrib/dialog/VERSION ============================================================================== --- projects/arm_eabi/contrib/dialog/VERSION Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/dialog/VERSION Sat Jan 12 00:31:09 2013 (r245319) @@ -1 +1 @@ -10:4:0 1.1 20120706 +10:0:0 1.1 20110707 Modified: projects/arm_eabi/contrib/dialog/aclocal.m4 ============================================================================== --- projects/arm_eabi/contrib/dialog/aclocal.m4 Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/dialog/aclocal.m4 Sat Jan 12 00:31:09 2013 (r245319) @@ -1,7 +1,7 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.87 2012/02/16 02:11:26 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2011,2012 -- Thomas E. Dickey +dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -592,31 +592,6 @@ changequote([,])dnl AC_SUBST(GENCAT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03 -dnl ------------------ -dnl Conditionally generate script according to whether we're using a given autoconf. -dnl -dnl $1 = version to compare against -dnl $2 = code to use if AC_ACVERSION is at least as high as $1. -dnl $3 = code to use if AC_ACVERSION is older than $1. -define(CF_ACVERSION_CHECK, -[ -ifdef([m4_version_compare], -[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], -[CF_ACVERSION_COMPARE( -AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), -AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50 -dnl -------------------- -dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, -dnl MAJOR2, MINOR2, TERNARY2, -dnl PRINTABLE2, not FOUND, FOUND) -define(CF_ACVERSION_COMPARE, -[ifelse(builtin([eval], [$2 < $5]), 1, -[ifelse([$8], , ,[$8])], -[ifelse([$9], , ,[$9])])])dnl -dnl --------------------------------------------------------------------------- dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56 dnl ------------ dnl Conditionally generate script according to whether we're using the release @@ -1252,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 35 updated: 2011/08/09 21:06:37 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1332,7 +1307,7 @@ if test ".$ac_cv_func_initscr" != .yes ; # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list otermcap termcap termlib unknown + for cf_term_lib in $cf_check_list termcap termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[break]) done @@ -1558,30 +1533,6 @@ fi test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WGETPARENT version: 2 updated: 2011/10/17 20:12:04 -dnl -------------------- -dnl Check for curses support for directly determining the parent of a given -dnl window. Some implementations make this difficult, so we provide for -dnl defining an application-specific function that gives this functionality. -dnl -dnl $1 = name of function to use if the feature is missing -AC_DEFUN([CF_CURSES_WGETPARENT],[ -CF_CURSES_FUNCS(wgetparent) -if test "x$cf_cv_func_wgetparent" != xyes -then - AC_MSG_CHECKING(if WINDOW has _parent member) - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [WINDOW *p = stdscr->_parent], - [cf_window__parent=yes], - [cf_window__parent=no]) - AC_MSG_RESULT($cf_window__parent) - if test "$cf_window__parent" = yes - then - AC_DEFINE(HAVE_WINDOW__PARENT) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. @@ -2386,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2410,7 +2361,7 @@ linux*|gnu*|k*bsd*-gnu) #(vi openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -dragonfly*|freebsd*) #(vi +freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2469,11 +2420,11 @@ CF_SUBDIR_PATH($1,$2,lib) $1="$cf_library_path_list [$]$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 +dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set -define([CF_LIB_PREFIX], +AC_DEFUN([CF_LIB_PREFIX], [ case $cf_cv_system_name in #(vi OS/2*|os2*) #(vi @@ -2694,7 +2645,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05 +dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30 dnl ----------------- dnl Tie together the configure-script macros for ncurses. dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. @@ -2706,10 +2657,7 @@ AC_DEFUN([CF_NCURSES_CONFIG], cf_ncuconfig_root=ifelse($1,,ncurses,$1) echo "Looking for ${cf_ncuconfig_root}-config" - -CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], - [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) +AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none) if test "$NCURSES_CONFIG" != none ; then @@ -3223,14 +3171,6 @@ AC_SUBST(PROG_EXT) test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 -dnl ------------ -AC_DEFUN([CF_PROG_LINT], -[ -AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint) -AC_SUBST(LINT_OPTS) -])dnl -dnl --------------------------------------------------------------------------- dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 dnl ---------------- dnl Remove all -U and -D options that refer to the given symbol from a list @@ -3478,45 +3418,6 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 -dnl ------------------- -dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we -dnl can define it successfully. -AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ -AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([ -#include -#include -#include -],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - -if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) -fi -]) -dnl --------------------------------------------------------------------------- dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44 dnl ------------- dnl Check to see if the BSD-style union wait is declared. Some platforms may @@ -3779,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 28 updated: 2011/07/02 15:40:32 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3880,7 +3781,7 @@ ifdef([AC_PROG_LIBTOOL],[ # special hack to add -no-undefined (which libtool should do for itself) LT_UNDEF= case "$cf_cv_system_name" in #(vi - cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi + cygwin*|mingw32*|uwin*|aix[[456]]) #(vi LT_UNDEF=-no-undefined ;; esac @@ -4049,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -4065,7 +3966,7 @@ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[ cf_xopen_source= case $host_os in #(vi -aix[[4-7]]*) #(vi +aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; cygwin) #(vi @@ -4076,7 +3977,6 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -4094,23 +3994,15 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks ;; netbsd*) #(vi - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd[[4-9]]*) #(vi - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 + # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -4124,46 +4016,42 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.*) #(vi +solaris2.1[[0-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[[1-9]]) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - CF_TRY_XOPEN_SOURCE - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source) -fi - -dnl In anything but the default case, we may have system-specific setting -dnl which is still not guaranteed to provide all of the entrypoints that -dnl _XOPEN_SOURCE would yield. -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) - AC_TRY_COMPILE([#include ],[ + AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([#include ],[ #ifndef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set=yes], - [cf_XOPEN_SOURCE_set=no]) - AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test $cf_XOPEN_SOURCE_set = yes - then - AC_TRY_COMPILE([#include ],[ -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([#include ],[ +#ifdef _XOPEN_SOURCE make an error #endif], - [cf_XOPEN_SOURCE_set_ok=yes], - [cf_XOPEN_SOURCE_set_ok=no]) - if test $cf_XOPEN_SOURCE_set_ok = no - then - AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) - fi - else - CF_TRY_XOPEN_SOURCE + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) fi + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) + ;; +esac + +if test -n "$cf_xopen_source" ; then + CF_ADD_CFLAGS($cf_xopen_source) fi ]) dnl --------------------------------------------------------------------------- Modified: projects/arm_eabi/contrib/dialog/arrows.c ============================================================================== --- projects/arm_eabi/contrib/dialog/arrows.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/dialog/arrows.c Sat Jan 12 00:31:09 2013 (r245319) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.41 2011/10/20 23:37:17 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -79,9 +79,9 @@ dlg_draw_helpline(WINDOW *win, bool deco const int *cols = dlg_index_columns(dialog_vars.help_line); int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; int avail = (getmaxx(win) - other - 2); - int limit = dlg_count_real_columns(dialog_vars.help_line) + 2; + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); - if (limit < avail) { + if (limit > 0) { getyx(win, cur_y, cur_x); other = decorations ? ON_LEFT : 0; (void) wmove(win, bottom, other + (avail - limit) / 2); @@ -107,14 +107,13 @@ dlg_draw_arrows2(WINDOW *win, int cur_x, cur_y; int limit_x = getmaxx(win); bool draw_top = TRUE; - bool is_toplevel = (wgetparent(win) == stdscr); getyx(win, cur_y, cur_x); /* * If we're drawing a centered title, do not overwrite with the arrows. */ - if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) { + if (dialog_vars.title) { int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2; int need = x + 5; if (need > have) @@ -124,11 +123,11 @@ dlg_draw_arrows2(WINDOW *win, if (draw_top) { (void) wmove(win, top, x); if (top_arrow) { - (void) wattrset(win, merge_colors(uarrow_attr, attr)); + wattrset(win, merge_colors(uarrow_attr, attr)); (void) add_acs(win, ACS_UARROW); (void) waddstr(win, "(-)"); } else { - (void) wattrset(win, attr); + wattrset(win, attr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } @@ -136,11 +135,11 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, bottom, x); if (bottom_arrow) { - (void) wattrset(win, merge_colors(darrow_attr, attr)); + wattrset(win, merge_colors(darrow_attr, attr)); (void) add_acs(win, ACS_DARROW); (void) waddstr(win, "(+)"); } else { - (void) wattrset(win, borderattr); + wattrset(win, borderattr); (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -148,7 +147,7 @@ dlg_draw_arrows2(WINDOW *win, (void) wmove(win, cur_y, cur_x); wrefresh(win); - (void) wattrset(win, save); + wattrset(win, save); } void @@ -167,13 +166,14 @@ dlg_draw_scrollbar(WINDOW *win, char buffer[80]; int percent; int len; - int oldy, oldx; + int oldy, oldx, maxy, maxx; chtype save = dlg_get_attrs(win); int top_arrow = (first_data != 0); int bottom_arrow = (next_data < total_data); getyx(win, oldy, oldx); + getmaxyx(win, maxy, maxx); dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { @@ -187,12 +187,12 @@ dlg_draw_scrollbar(WINDOW *win, else if (percent > 100) percent = 100; - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); (void) sprintf(buffer, "%d%%", percent); (void) wmove(win, bottom, right - 7); (void) waddstr(win, buffer); if ((len = dlg_count_columns(buffer)) < 4) { - (void) wattrset(win, border_attr); + wattrset(win, border_attr); whline(win, dlg_boxchar(ACS_HLINE), 4 - len); } } @@ -212,7 +212,7 @@ dlg_draw_scrollbar(WINDOW *win, if (bar_high < all_high) { wmove(win, top + 1, right); - (void) wattrset(win, save); + wattrset(win, save); wvline(win, ACS_VLINE | A_REVERSE, all_high); bar_y = BARSIZE(this_data); @@ -221,7 +221,7 @@ dlg_draw_scrollbar(WINDOW *win, wmove(win, top + 1 + bar_y, right); - (void) wattrset(win, position_indicator_attr); + wattrset(win, position_indicator_attr); wattron(win, A_REVERSE); wvline(win, ACS_BLOCK, bar_high); } @@ -236,7 +236,7 @@ dlg_draw_scrollbar(WINDOW *win, attr, borderattr); - (void) wattrset(win, save); + wattrset(win, save); wmove(win, oldy, oldx); } @@ -255,6 +255,6 @@ dlg_draw_arrows(WINDOW *win, x, top, bottom, - menubox_border2_attr, + menubox_attr, menubox_border_attr); } Modified: projects/arm_eabi/contrib/dialog/buttons.c ============================================================================== --- projects/arm_eabi/contrib/dialog/buttons.c Fri Jan 11 23:44:35 2013 (r245318) +++ projects/arm_eabi/contrib/dialog/buttons.c Sat Jan 12 00:31:09 2013 (r245319) @@ -1,9 +1,9 @@ /* - * $Id: buttons.c,v 1.90 2012/07/01 20:42:05 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * - * Copyright 2000-2011,2012 Thomas E. Dickey + * Copyright 2000-2010,2011 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 @@ -104,11 +104,11 @@ print_button(WINDOW *win, char *label, i : button_label_inactive_attr); (void) wmove(win, y, x); - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, "<"); - (void) wattrset(win, label_attr); + wattrset(win, label_attr); for (i = 0; i < limit; ++i) { int first = indx[i]; int last = indx[i + 1]; @@ -120,14 +120,14 @@ print_button(WINDOW *win, char *label, i const char *temp = (label + first); int cmp = string_to_char(&temp); if (dlg_isupper(cmp)) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; } #endif if (dlg_isupper(UCH(label[first]))) { - (void) wattrset(win, key_attr); + wattrset(win, key_attr); state = 1; } break; @@ -138,9 +138,9 @@ print_button(WINDOW *win, char *label, i } waddnstr(win, label + first, last - first); } - (void) wattrset(win, selected - ? button_active_attr - : button_inactive_attr); + wattrset(win, selected + ? button_active_attr + : button_inactive_attr); (void) waddstr(win, ">"); (void) wmove(win, y, x + ((int) strspn(label, " ")) + 1); } @@ -310,7 +310,7 @@ dlg_draw_buttons(WINDOW *win, (void) wmove(win, final_y, final_x); wrefresh(win); free(buffer); - (void) wattrset(win, save); + wattrset(win, save); } /* @@ -488,12 +488,10 @@ dlg_exit_buttoncode(int button) const char ** dlg_ok_label(void) { - static const char *labels[4]; + static const char *labels[3]; int n = 0; labels[n++] = my_ok_label(); - if (dialog_vars.extra_button) - labels[n++] = my_extra_label(); if (dialog_vars.help_button) labels[n++] = my_help_label(); labels[n] = 0; @@ -539,7 +537,6 @@ dlg_ok_buttoncode(int button) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 04:36:40 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BC302401; Sat, 12 Jan 2013 04:36:40 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A47672F3; Sat, 12 Jan 2013 04:36:40 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0C4aevO086384; Sat, 12 Jan 2013 04:36:40 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0C4aecl086382; Sat, 12 Jan 2013 04:36:40 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301120436.r0C4aecl086382@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 12 Jan 2013 04:36:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245322 - projects/altix2/sys/ia64/sgisn X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 04:36:40 -0000 Author: marcel Date: Sat Jan 12 04:36:40 2013 New Revision: 245322 URL: http://svnweb.freebsd.org/changeset/base/245322 Log: Put x in parenthesis fo safe macro expansion. Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.h ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Sat Jan 12 00:59:41 2013 (r245321) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.h Sat Jan 12 04:36:40 2013 (r245322) @@ -63,17 +63,17 @@ #define PIC_REG_INT_MODE 0x00118 #define PIC_REG_INT_DEVICE 0x00120 #define PIC_REG_INT_HOSTERR 0x00128 -#define PIC_REG_INT_ADDR(x) (0x00130 + (x << 3)) +#define PIC_REG_INT_ADDR(x) (0x00130 + ((x) << 3)) #define PIC_REG_INT_ERRVIEW 0x00170 #define PIC_REG_INT_MULTI 0x00178 -#define PIC_REG_INT_FORCE(x) (0x00180 + (x << 3)) -#define PIC_REG_INT_PIN(x) (0x001c0 + (x << 3)) +#define PIC_REG_INT_FORCE(x) (0x00180 + ((x) << 3)) +#define PIC_REG_INT_PIN(x) (0x001c0 + ((x) << 3)) -#define PIC_REG_DEVICE(x) (0x00200 + (x << 3)) -#define PIC_REG_WR_REQ(x) (0x00240 + (x << 3)) -#define PIC_REG_RRB_MAP(x) (0x00280 + (x << 3)) +#define PIC_REG_DEVICE(x) (0x00200 + ((x) << 3)) +#define PIC_REG_WR_REQ(x) (0x00240 + ((x) << 3)) +#define PIC_REG_RRB_MAP(x) (0x00280 + ((x) << 3)) -#define PIC_REG_ATE(x) (0x10000 + (x << 3)) +#define PIC_REG_ATE(x) (0x10000 + ((x) << 3)) #define PIC_REG_ATE_SIZE 1024 struct sgisn_fwpcib { From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 20:21:48 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D7A4A5FC for ; Sat, 12 Jan 2013 20:21:48 +0000 (UTC) (envelope-from andrey@zonov.org) Received: from mail-la0-f47.google.com (mail-la0-f47.google.com [209.85.215.47]) by mx1.freebsd.org (Postfix) with ESMTP id 5B52F86D for ; Sat, 12 Jan 2013 20:21:47 +0000 (UTC) Received: by mail-la0-f47.google.com with SMTP id fh20so2725487lab.20 for ; Sat, 12 Jan 2013 12:21:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:x-enigmail-version:content-type :x-gm-message-state; bh=2kxTWfgxs6F/tPVBOtGJWxMT7D88X9tkIAAF0yXQ7LU=; b=WZl+0PuKHySHsF2gr30K36hmukookE6CnrrTEeQyNFRH0kiT59/MwWtxEaNNNG/UZ+ dEmwJ0nnnJ9yJEfPnqoY+XJEJQHIqWKT84oA2pglbsHcrFy0g/TgSvuwZchWFPbFONVN M2sv7zB305gXZ3IKX2V/kyCl9tKTmMIWq2Y66NC6XpvftE12f7sGIIFCPFLtaj9y7uuv s15KlxqGpgJtVMh4/eVajEwZEhmNtGwsMWkV5GEfF5T+Lyw1N3HxS0HfdiH0icoCutSa 6GdWbQtMzGYF+BF6Cej4w9VepmHEfB7xOqBfLMN6tXZRWDlNfCV2HNrZ5uNr0cmfTBMr x9HQ== X-Received: by 10.112.14.6 with SMTP id l6mr28203111lbc.81.1358022106823; Sat, 12 Jan 2013 12:21:46 -0800 (PST) Received: from zont-osx.local (ppp95-165-128-93.pppoe.spdop.ru. [95.165.128.93]) by mx.google.com with ESMTPS id fh4sm3467347lbb.7.2013.01.12.12.21.44 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 12 Jan 2013 12:21:45 -0800 (PST) Sender: Andrey Zonov Message-ID: <50F1C5D5.9090700@FreeBSD.org> Date: Sun, 13 Jan 2013 00:21:41 +0400 From: Andrey Zonov User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: John Baldwin Subject: Re: svn commit: r245259 - projects/utrace2 References: <201301101758.r0AHw6m7078896@svn.freebsd.org> <201301101610.43321.jhb@freebsd.org> <50EF98C3.3000200@mu.org> <201301111029.23235.jhb@freebsd.org> In-Reply-To: <201301111029.23235.jhb@freebsd.org> X-Enigmail-Version: 1.4.6 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig7C69FC61DFE46853A77919DB" X-Gm-Message-State: ALoCoQlFejZBQFArtu8f23t1Nd+ZQEGYqI7LLbc/xttmGu9H0XjrVH4apgvLcPD+5mIjZ80RjBzS Cc: svn-src-projects@freebsd.org, Alfred Perlstein , src-committers@freebsd.org, Alfred Perlstein X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 20:21:48 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig7C69FC61DFE46853A77919DB Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 1/11/13 7:29 PM, John Baldwin wrote: [snip] >=20 > Well, RTLD already starts with a non-underbar, but perhaps we could man= date=20 > that for any future traces. However, I have mostly assumed that there = is=20 > little-to-no use of utrace() by applications and instead that the only = real=20 > uses are in system libraries such as for malloc() and rtld's LD_UTRACE.= Do=20 > you know of any applications that use utrace? I think there are some closed source. >=20 > As far as future system uses, it might be neat to add some libthr trace= s=20 > (_THR?) to denote pthread operations like acquiring locks. OTOH, a bet= ter use=20 > of time for that might be porting ltrace to FreeBSD. >=20 I've already ported it [1]. And the only thing that missed in port is threading support, but I'm working on fixing that. [1] https://github.com/z0nt/ltrace/commits/freebsd-0.6.0 --=20 Andrey Zonov --------------enig7C69FC61DFE46853A77919DB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.18 (Darwin) Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJQ8cXYAAoJEBWLemxX/CvT0IwH/3ry4/EOtoI277A9cBYW9ntC w2d8IUV8XWIiZFPeksALGNp8Uiccji/FdfAYc9xa0P8HW+aZs5mVgPLOaM+t3fVd OYr123kNv5I5SuYUmulDQDjAqnlLiVyUGcIQYEzZNJv8LFat7CpVy7D6OuIAIGsp JkUtxAU//C03y0KAGEKVeS2fg1YzrU9MAi++uaF2UyYfymsBZo8GFTcoX5JFxGkG fFA2/nsF2xadpE9NY83xoFoUmJRtiCxx4WTz3C0vce2gik7TknJZtXZuE3tAY9gT acHcRTkUETLXMr/32FlfrAtrH+CGRVxdi9Hv3qWsyjCXeaUe6NVPqXmCaUplvpY= =PH3i -----END PGP SIGNATURE----- --------------enig7C69FC61DFE46853A77919DB-- From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 21:52:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7ACCD466; Sat, 12 Jan 2013 21:52:05 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6D940A94; Sat, 12 Jan 2013 21:52:05 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CLq5vQ083269; Sat, 12 Jan 2013 21:52:05 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CLq5MF083268; Sat, 12 Jan 2013 21:52:05 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301122152.r0CLq5MF083268@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 12 Jan 2013 21:52:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245342 - projects/altix2/sys/ia64/sgisn X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 21:52:05 -0000 Author: marcel Date: Sat Jan 12 21:52:04 2013 New Revision: 245342 URL: http://svnweb.freebsd.org/changeset/base/245342 Log: Make DMA work reliably for isp(4). As it turns out, consistent DMA only work for 64-bit direct-mapped addresses when the PCI bus is in PCI-X mode. As it turns out, we're not on my machine. With both 32-bit and 64-bit direct-mapped addresses out of the picture WRT to consistent DMA, we're left with programming the I/O MMU (aka ATEs). Hack it enough for use by isp(4) to see what's needed. With this commit, we can install FreeBSD on an Altix 350 (single node). with SMP of course. Next steps: 1. make the I/O MMU code generic. 2. port bge(4) so that we have networking. 3. make it all work with 2 nodes (mostly VM coherency) Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Sat Jan 12 21:51:49 2013 (r245341) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Sat Jan 12 21:52:04 2013 (r245342) @@ -56,6 +56,10 @@ __FBSDID("$FreeBSD$"); #include +#define SGISN_PCIB_PAGE_SHIFT 14 /* 16KB; Use 12 for 4KB */ +#define SGISN_PCIB_PAGE_SIZE (1UL << SGISN_PCIB_PAGE_SHIFT) +#define SGISN_PCIB_PAGE_MASK (SGISN_PCIB_PAGE_SIZE - 1UL) + static struct sgisn_fwdev sgisn_dev; static struct sgisn_fwirq sgisn_irq; @@ -427,6 +431,7 @@ sgisn_pcib_attach(device_t dev) device_t parent; size_t fwflushsz; uintptr_t addr, ivar; + uint64_t ctrl; int error; sc = device_get_softc(dev); @@ -461,6 +466,15 @@ sgisn_pcib_attach(device_t dev) sc->sc_fwbus->fw_common.bus_xid, sc->sc_fwbus->fw_type, sc->sc_fwbus->fw_mode); + /* Set the preferred I/O MMU page size -- 4KB or 16KB. */ + ctrl = bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_WGT_CTRL); +#if SGISN_PCIB_PAGE_SHIFT == 12 + ctrl &= ~(1UL << 21); +#else + ctrl |= 1UL << 21; +#endif + bus_space_write_8(sc->sc_tag, sc->sc_hndl, PIC_REG_WGT_CTRL, ctrl); + fwflushsz = (PCI_SLOTMAX + 1) * sizeof(struct sgisn_fwflush); fwflush = contigmalloc(fwflushsz, M_TEMP, M_ZERO, 0UL, ~0UL, 16, 0); BUS_READ_IVAR(parent, dev, SHUB_IVAR_NASID, &ivar); @@ -524,12 +538,25 @@ sgisn_pcib_iommu_xlate(device_t bus, dev vm_paddr_t bndry = 0x80000000UL; /* + * 64-bit consistent DMA is only guaranteed for PCI-X. So, if we + * need consistent DMA and we're not in PCI-X mode, force 32-bit + * mappings. + */ + if ((mtag->dmt_flags & BUSDMA_ALLOC_CONSISTENT) && + (sc->sc_fwbus->fw_mode & 1) == 0 && + mtag->dmt_maxaddr == BUS_SPACE_MAXADDR) + mtag->dmt_maxaddr >>= 4; + + /* * Use a 31-bit direct-mapped window for PCI devices that are not - * 64-bit capable and we're not in PCI-X mode. + * 64-bit capable and we're not in PCI-X mode and we don't need + * consistent DMA. * For 31-bit direct-mapped DMA we need to make sure allocations * do not cross the 2G boundary. */ - if (mtag->dmt_maxaddr < ~0UL && (sc->sc_fwbus->fw_mode & 1) == 0) + if (mtag->dmt_maxaddr < BUS_SPACE_MAXADDR && + (sc->sc_fwbus->fw_mode & 1) == 0 && + (mtag->dmt_flags & BUSDMA_ALLOC_CONSISTENT) == 0) mtag->dmt_flags |= BUSDMA_MD_IA64_DIRECT32; if (mtag->dmt_flags & BUSDMA_MD_IA64_DIRECT32) { @@ -560,14 +587,48 @@ sgisn_pcib_iommu_map(device_t bus, devic tag = busdma_md_get_tag(md); maxaddr = busdma_tag_get_maxaddr(tag); - if (maxaddr == ~0UL) { + if (maxaddr == BUS_SPACE_MAXADDR) { *ba_p = ba | ((u_long)sc->sc_fwbus->fw_hub_xid << 60) | - (1UL << 59); + (1UL << ((flags & BUSDMA_ALLOC_CONSISTENT) ? 56 : 59)); return (0); } - /* XXX 32-bit mapped DMA */ - return (ENXIO); + /* + * 32-bit mapped DMA. + * + * XXX HACK START XXX + */ + { + bus_addr_t size; + size_t count; + u_int entry; + + size = busdma_md_get_size(md, idx); + count = ((ba & SGISN_PCIB_PAGE_MASK) + size + + SGISN_PCIB_PAGE_MASK) >> SGISN_PCIB_PAGE_SHIFT; + + entry = 0; + + *ba_p = (1UL << 30) | (ba & SGISN_PCIB_PAGE_MASK) | + (SGISN_PCIB_PAGE_SIZE * entry); + + ba &= ~SGISN_PCIB_PAGE_MASK; + ba |= 1 << 0; /* valid */ + ba |= 1 << ((flags & BUSDMA_ALLOC_CONSISTENT) ? 4 : 3); + ba |= (u_long)sc->sc_fwbus->fw_hub_xid << 8; + + while (count > 0) { + bus_space_write_8(sc->sc_tag, sc->sc_hndl, + PIC_REG_ATE(entry), ba); + ba += SGISN_PCIB_PAGE_SIZE; + entry++; + count--; + } + } + /* + * XXX HACK END XXX + */ + return (0); } static int From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 22:00:36 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2AD53666; Sat, 12 Jan 2013 22:00:36 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1D852AC3; Sat, 12 Jan 2013 22:00:36 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CM0abd085934; Sat, 12 Jan 2013 22:00:36 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CM0ZDb085933; Sat, 12 Jan 2013 22:00:35 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301122200.r0CM0ZDb085933@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 12 Jan 2013 22:00:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245343 - projects/altix2/sys/dev/isp X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 22:00:36 -0000 Author: marcel Date: Sat Jan 12 22:00:35 2013 New Revision: 245343 URL: http://svnweb.freebsd.org/changeset/base/245343 Log: Slightly optimize the request and response queue synchronization. We have a single map that's used for both and we only need to synchronize 1 request and 1 rsponse. Avoid using busdma_sync with post R/W that may force a platform to synchronize 80KB worth of cache and instead use busdma_sync_range twice: once for the request with post write (64B) and once for the response with post read (64B). Modified: projects/altix2/sys/dev/isp/isp_freebsd.h Modified: projects/altix2/sys/dev/isp/isp_freebsd.h ============================================================================== --- projects/altix2/sys/dev/isp/isp_freebsd.h Sat Jan 12 21:52:04 2013 (r245342) +++ projects/altix2/sys/dev/isp/isp_freebsd.h Sat Jan 12 22:00:35 2013 (r245343) @@ -431,8 +431,10 @@ case SYNC_SFORDEV: \ break; \ } \ case SYNC_REQUEST: \ - busdma_sync(isp->isp_osinfo.cdmd, \ - BUSDMA_SYNC_PREREAD | BUSDMA_SYNC_PREWRITE); \ + busdma_sync_range(isp->isp_osinfo.cdmd, BUSDMA_SYNC_PREWRITE, \ + isp->isp_rquest_dma + (offset * size), size); \ + busdma_sync_range(isp->isp_osinfo.cdmd, BUSDMA_SYNC_PREREAD, \ + isp->isp_result_dma + (offset * size), size); \ break; \ case SYNC_SFORCPU: \ { \ @@ -441,8 +443,10 @@ case SYNC_SFORCPU: \ break; \ } \ case SYNC_RESULT: \ - busdma_sync(isp->isp_osinfo.cdmd, \ - BUSDMA_SYNC_POSTREAD | BUSDMA_SYNC_POSTWRITE); \ + busdma_sync_range(isp->isp_osinfo.cdmd, BUSDMA_SYNC_POSTWRITE, \ + isp->isp_rquest_dma + (offset * size), size); \ + busdma_sync_range(isp->isp_osinfo.cdmd, BUSDMA_SYNC_POSTREAD, \ + isp->isp_result_dma + (offset * size), size); \ break; \ case SYNC_REG: \ bus_space_barrier(isp->isp_osinfo.bus_tag, \ From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 22:17:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0662483E; Sat, 12 Jan 2013 22:17:44 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E786EB0B; Sat, 12 Jan 2013 22:17:43 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CMHhYA090109; Sat, 12 Jan 2013 22:17:43 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CMHhoL090108; Sat, 12 Jan 2013 22:17:43 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201301122217.r0CMHhoL090108@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 12 Jan 2013 22:17:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245344 - projects/altix2/etc/etc.ia64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 22:17:44 -0000 Author: marcel Date: Sat Jan 12 22:17:43 2013 New Revision: 245344 URL: http://svnweb.freebsd.org/changeset/base/245344 Log: Replace dcons with ttys0. We have more use for the SGI L1 console than any firewire based console. Modified: projects/altix2/etc/etc.ia64/ttys Modified: projects/altix2/etc/etc.ia64/ttys ============================================================================== --- projects/altix2/etc/etc.ia64/ttys Sat Jan 12 22:00:35 2013 (r245343) +++ projects/altix2/etc/etc.ia64/ttys Sat Jan 12 22:17:43 2013 (r245344) @@ -45,5 +45,5 @@ ttyu0 "/usr/libexec/getty std.9600" vt10 ttyu1 "/usr/libexec/getty std.9600" dialup off secure ttyu2 "/usr/libexec/getty std.9600" dialup off secure ttyu3 "/usr/libexec/getty std.9600" dialup off secure -# Dumb console -dcons "/usr/libexec/getty std.9600" vt100 off secure +# SGI Altix 350 L1 console +ttys0 "/usr/libexec/getty std.9600" vt100 on secure From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 23:46:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8D2D1E03; Sat, 12 Jan 2013 23:46:13 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7E209E07; Sat, 12 Jan 2013 23:46:13 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CNkDkt016066; Sat, 12 Jan 2013 23:46:13 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CNkDgU016064; Sat, 12 Jan 2013 23:46:13 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301122346.r0CNkDgU016064@svn.freebsd.org> From: Bryan Venteicher Date: Sat, 12 Jan 2013 23:46:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245348 - projects/vmxnet/share/man/man4 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 23:46:13 -0000 Author: bryanv Date: Sat Jan 12 23:46:12 2013 New Revision: 245348 URL: http://svnweb.freebsd.org/changeset/base/245348 Log: Adapt the vic(4) man page from OpenBSD Approved by: grehan (implicit) Added: projects/vmxnet/share/man/man4/vic.4 (contents, props changed) Modified: projects/vmxnet/share/man/man4/Makefile Modified: projects/vmxnet/share/man/man4/Makefile ============================================================================== --- projects/vmxnet/share/man/man4/Makefile Sat Jan 12 23:44:13 2013 (r245347) +++ projects/vmxnet/share/man/man4/Makefile Sat Jan 12 23:46:12 2013 (r245348) @@ -524,6 +524,7 @@ MAN= aac.4 \ vge.4 \ viapm.4 \ ${_viawd.4} \ + ${_vic.4} \ vinum.4 \ ${_virtio.4} \ ${_virtio_balloon.4} \ @@ -775,6 +776,7 @@ _spkr.4= spkr.4 _tpm.4= tpm.4 _urtw.4= urtw.4 _viawd.4= viawd.4 +_vic.4= vic.4 _wbwd.4= wbwd.4 _wpi.4= wpi.4 _xen.4= xen.4 Added: projects/vmxnet/share/man/man4/vic.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vmxnet/share/man/man4/vic.4 Sat Jan 12 23:46:12 2013 (r245348) @@ -0,0 +1,120 @@ +.\" $OpenBSD: src/share/man/man4/vic.4,v 1.21 2008/07/28 19:52:21 brad Exp $ +.\" +.\" Copyright (c) 2006 Reyk Floeter +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd January 12, 2013 +.Dt VIC 4 +.Os +.Sh NAME +.Nm vic +.Nd VMware VMXnet Virtual Interface Controller device +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device vic" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +if_vic_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for the VMXnet virtual NIC available in virtual +machines by VMware. +It appears as a simple Ethernet device but is actually a virtual network +interface to the underlying host operating system. +.Pp +This driver supports the +.Ic vmxnet +driver protocol, as an alternative to the emulated +.Xr pcn 4 +and +.Xr em 4 +interfaces also available in the VMware environment. +The +.Nm vic +driver is optimized for the virtual machine, it can provide advanced +capabilities depending on the underlying host operating system and +the physical network interface controller of the host. +.Pp +The +.Nm +driver supports VMware virtual NICs provided by the following products: +.Pp +.Bl -bullet -compact -offset indent +.It +VMware ESX 2.0 and newer +.It +VMware GSX 2.5 and newer +.It +VMware Server 1.0 and newer +.It +VMware Workstation 4.5 and newer +.It +VMware Fusion 1.0 and newer +.El +.Pp +The +.Nm +driver supports the following media types: +.Bl -tag -width autoselect +.It autoselect +Enable autoselection of the media type and options. +The driver always uses the fastest available speed and the media +options provided by the underlying host of the virtual machine. +.El +.Pp +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh EXAMPLES +The following entry must be added to the VMware configuration file +to provide the +.Nm +device: +.Bd -literal -offset indent +ethernet0.virtualDev = "vmxnet" +.Ed +.Sh SEE ALSO +.Xr arp 4 , +.Xr em 4 , +.Xr ifconfig 8 , +.Xr netintro 4 , +.Xr pcn 4 , +.Xr vlan 4 +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was ported from +.Ox +by +.An Bryan Venteicher Aq bryanv@freebsd.org . +The +.Ox +driver was written by +.An Reyk Floeter Aq reyk@openbsd.org +and +.An David Gwynne Aq dlg@openbsd.org . +.Sh BUGS +There are tons of bugs in VMware and the underlying host operating systems. +Please consider that the security of the +.Fx +guest can be circumvented by attacking the host environment. From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 23:47:40 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E56907B; Sat, 12 Jan 2013 23:47:40 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D884FE12; Sat, 12 Jan 2013 23:47:40 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CNleoS016270; Sat, 12 Jan 2013 23:47:40 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CNleJo016268; Sat, 12 Jan 2013 23:47:40 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301122347.r0CNleJo016268@svn.freebsd.org> From: Bryan Venteicher Date: Sat, 12 Jan 2013 23:47:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245349 - projects/vmxnet/sys/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 23:47:41 -0000 Author: bryanv Date: Sat Jan 12 23:47:40 2013 New Revision: 245349 URL: http://svnweb.freebsd.org/changeset/base/245349 Log: Add vic to files.{i386,amd64} Approved by: grehan (implicit) Modified: projects/vmxnet/sys/conf/files.amd64 projects/vmxnet/sys/conf/files.i386 Modified: projects/vmxnet/sys/conf/files.amd64 ============================================================================== --- projects/vmxnet/sys/conf/files.amd64 Sat Jan 12 23:46:12 2013 (r245348) +++ projects/vmxnet/sys/conf/files.amd64 Sat Jan 12 23:47:40 2013 (r245349) @@ -279,6 +279,7 @@ dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd +dev/vmware/vmxnet/if_vic.c optional vic pci dev/wbwd/wbwd.c optional wbwd dev/wpi/if_wpi.c optional wpi dev/isci/isci.c optional isci Modified: projects/vmxnet/sys/conf/files.i386 ============================================================================== --- projects/vmxnet/sys/conf/files.i386 Sat Jan 12 23:46:12 2013 (r245348) +++ projects/vmxnet/sys/conf/files.i386 Sat Jan 12 23:47:40 2013 (r245349) @@ -258,6 +258,7 @@ dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd +dev/vmware/vmxnet/if_vic.c optional vic pci dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard dev/wbwd/wbwd.c optional wbwd From owner-svn-src-projects@FreeBSD.ORG Sat Jan 12 23:49:12 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 53A731CC; Sat, 12 Jan 2013 23:49:12 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 13605E2E; Sat, 12 Jan 2013 23:49:12 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0CNnBlP016504; Sat, 12 Jan 2013 23:49:11 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0CNnBGA016502; Sat, 12 Jan 2013 23:49:11 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301122349.r0CNnBGA016502@svn.freebsd.org> From: Bryan Venteicher Date: Sat, 12 Jan 2013 23:49:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245350 - in projects/vmxnet/sys: amd64/conf i386/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jan 2013 23:49:12 -0000 Author: bryanv Date: Sat Jan 12 23:49:11 2013 New Revision: 245350 URL: http://svnweb.freebsd.org/changeset/base/245350 Log: Add vic to i386/amd64 NOTES Approved by: grehan (implicit) Modified: projects/vmxnet/sys/amd64/conf/NOTES projects/vmxnet/sys/i386/conf/NOTES Modified: projects/vmxnet/sys/amd64/conf/NOTES ============================================================================== --- projects/vmxnet/sys/amd64/conf/NOTES Sat Jan 12 23:47:40 2013 (r245349) +++ projects/vmxnet/sys/amd64/conf/NOTES Sat Jan 12 23:49:11 2013 (r245350) @@ -309,6 +309,7 @@ options DRM_DEBUG # Include debug print # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # nve: nVidia nForce MCP on-board Ethernet Networking # sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters +# vic: VMware VMXNET Ethernet # wpi: Intel 3945ABG Wireless LAN controller # Requires the wpi firmware module @@ -325,6 +326,7 @@ device mthca # Mellanox HCA InfiniBan device nfe # nVidia nForce MCP on-board Ethernet device nve # nVidia nForce MCP on-board Ethernet Networking device sfxge # Solarflare SFC9000 10Gb Ethernet +device vic # VMware VMXNET Ethernet device wpi # Intel 3945ABG wireless NICs. # IEEE 802.11 adapter firmware modules Modified: projects/vmxnet/sys/i386/conf/NOTES ============================================================================== --- projects/vmxnet/sys/i386/conf/NOTES Sat Jan 12 23:47:40 2013 (r245349) +++ projects/vmxnet/sys/i386/conf/NOTES Sat Jan 12 23:49:11 2013 (r245350) @@ -580,6 +580,7 @@ hint.mse.0.irq="5" # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # nve: nVidia nForce MCP on-board Ethernet Networking # sbni: Granch SBNI12-xx ISA and PCI adapters +# vic: VMware VMXNET Ethernet # wl: Lucent Wavelan (ISA card only). # wpi: Intel 3945ABG Wireless LAN controller # Requires the wpi firmware module @@ -629,6 +630,7 @@ hint.sbni.0.at="isa" hint.sbni.0.port="0x210" hint.sbni.0.irq="0xefdead" hint.sbni.0.flags="0" +device vic # VMware VMXNET Ethernet device wl hint.wl.0.at="isa" hint.wl.0.port="0x300"