From owner-p4-projects@FreeBSD.ORG Sun Jul 16 04:06:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87D0716A4DF; Sun, 16 Jul 2006 04:06:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD11E16A4E5 for ; Sun, 16 Jul 2006 04:06:16 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 883E343D4C for ; Sun, 16 Jul 2006 04:06:16 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6G46Gxt072527 for ; Sun, 16 Jul 2006 04:06:16 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6G46GEg072524 for perforce@freebsd.org; Sun, 16 Jul 2006 04:06:16 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 16 Jul 2006 04:06:16 GMT Message-Id: <200607160406.k6G46GEg072524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 101679 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 04:06:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=101679 Change 101679 by kmacy@kmacy_storage:sun4v_work_stable on 2006/07/16 04:05:43 make sure that a fragment page is allocated for the kernel hash table Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/tte_hash.h#2 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/pmap.c#9 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/tte_hash.c#3 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/tte_hash.h#2 (text+ko) ==== @@ -19,7 +19,7 @@ tte_t tte_hash_clear_bits(tte_hash_t hash, vm_offset_t va, uint64_t flags); -tte_hash_t tte_hash_kernel_create(vm_offset_t, uint64_t); +tte_hash_t tte_hash_kernel_create(vm_offset_t, uint64_t, vm_paddr_t); tte_hash_t tte_hash_create(uint64_t context, uint64_t *scratchval); ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/pmap.c#9 (text+ko) ==== @@ -756,7 +756,7 @@ * This could happen earlier - but I put it here to avoid * attempts to do updates until they're legal */ - pm->pm_hash = tte_hash_kernel_create(TLB_PHYS_TO_DIRECT(kernel_hash_pa), kernel_hash_size); + pm->pm_hash = tte_hash_kernel_create(TLB_PHYS_TO_DIRECT(kernel_hash_pa), kernel_hash_size, pmap_bootstrap_alloc(PAGE_SIZE)); pm->pm_hashscratch = tte_hash_set_scratchpad_kernel(pm->pm_hash); for (i = 0; i < translations_size; i++) { ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/tte_hash.c#3 (text+ko) ==== @@ -150,7 +150,7 @@ } tte_hash_t -tte_hash_kernel_create(vm_offset_t va, uint64_t size) +tte_hash_kernel_create(vm_offset_t va, uint64_t size, vm_paddr_t fragment_page) { tte_hash_t th; @@ -159,17 +159,40 @@ th->th_entries = 0; th->th_context = 0; th->th_hashtable = (tte_hash_entry_t)va; - + th->th_fhtail = th->th_fhhead = (void *)TLB_PHYS_TO_DIRECT(fragment_page); + return th; } +static inline vm_page_t +alloc_zeroed_page(void) +{ + vm_page_t m; + static int color; + + m = NULL; + + while (m == NULL) { + m = vm_page_alloc(NULL, color++, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | + VM_ALLOC_ZERO); + + if (m == NULL) + VM_WAIT; + } + + if ((m->flags & PG_ZERO) == 0) + pmap_zero_page(m); + + return (m); +} + tte_hash_t tte_hash_create(uint64_t context, uint64_t *scratchval) { tte_hash_t th; vm_page_t m, tm; int i; - static int color; th = get_tte_hash(); @@ -191,20 +214,11 @@ pmap_zero_page(tm); th->th_hashtable = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); - m = NULL; - while (m == NULL) { - m = vm_page_alloc(NULL, color++, - VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | - VM_ALLOC_ZERO); + m = alloc_zeroed_page(); - if (m == NULL) - VM_WAIT; - } - if ((m->flags & PG_ZERO) == 0) - pmap_zero_page(m); - th->th_fhtail = th->th_fhhead = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); + KASSERT(th->th_fhtail != NULL, ("th->th_fhtail == NULL")); *scratchval = (uint64_t)((vm_offset_t)th->th_hashtable) | ((vm_offset_t)th->th_size); @@ -273,30 +287,17 @@ struct tte_hash_fragment *fh; tte_hash_entry_t newentry; vm_page_t m; - static int color; - + fh = th->th_fhtail; if (fh->thf_head.fh_free_head == MAX_FRAGMENT_ENTRIES) { - m = NULL; - while (m == NULL) { - m = vm_page_alloc(NULL, color++, - VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | - VM_ALLOC_ZERO); - - if (m == NULL) - VM_WAIT; - } + m = alloc_zeroed_page(); - if ((m->flags & PG_ZERO) == 0) - pmap_zero_page(m); - fh->thf_head.fh_next = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); fh = th->th_fhtail = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); fh->thf_head.fh_free_head = 1; #ifdef NOISY_DEBUG printf("new fh=%p \n", fh); #endif - } newentry = &fh->thf_entries[fh->thf_head.fh_free_head]; From owner-p4-projects@FreeBSD.ORG Sun Jul 16 04:07:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98E3416A4E1; Sun, 16 Jul 2006 04:07:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C0B216A4DE for ; Sun, 16 Jul 2006 04:07:18 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EC2143D45 for ; Sun, 16 Jul 2006 04:07:18 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6G47ILh072617 for ; Sun, 16 Jul 2006 04:07:18 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6G47Hbk072614 for perforce@freebsd.org; Sun, 16 Jul 2006 04:07:17 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 16 Jul 2006 04:07:17 GMT Message-Id: <200607160407.k6G47Hbk072614@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 101680 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 04:07:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=101680 Change 101680 by kmacy@kmacy_storage:sun4v_work_stable on 2006/07/16 04:07:03 ensure that context is set so that a trap here is attributed to the user process Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/mmu.h#2 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/wbuf.S#2 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/mmu.h#2 (text+ko) ==== @@ -85,6 +85,7 @@ * are ever valid in it (so any user access pagefaults). */ #define KCONTEXT 0 +#define CTX_OTHER_SHIFT 16 /* * FLUSH_ADDR is used in the flush instruction to guarantee stores to mmu ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/wbuf.S#2 (text+ko) ==== @@ -145,9 +145,11 @@ wrpr %g0, %g1, %tpc add %g1, 4, %g1 wrpr %g0, %g1, %tnpc - + set trap, %g1 - mov %g5, %g2 + mov 1, %g2 + sllx %g2, CTX_OTHER_SHIFT, %g2 + or %g5, %g2, %g2 mov %g6, %g3 sub %g0, 1, %g4 From owner-p4-projects@FreeBSD.ORG Sun Jul 16 04:10:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2940C16A4EA; Sun, 16 Jul 2006 04:10:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DBDBB16A4E8 for ; Sun, 16 Jul 2006 04:10:22 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6601943D46 for ; Sun, 16 Jul 2006 04:10:22 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6G4AM8Q072712 for ; Sun, 16 Jul 2006 04:10:22 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6G4AMPj072709 for perforce@freebsd.org; Sun, 16 Jul 2006 04:10:22 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 16 Jul 2006 04:10:22 GMT Message-Id: <200607160410.k6G4AMPj072709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 101681 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 04:10:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=101681 Change 101681 by kmacy@kmacy_storage:sun4v_work_stable on 2006/07/16 04:09:54 fix unaligned panics from casuptr and fuword64 by not insisting that %asi was set copyin / copyout use ASI_AIUS on sun4v not ASI_AIUP Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/trap.c#4 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/trap.c#4 (text+ko) ==== @@ -377,10 +377,16 @@ break; case T_DATA_EXCEPTION: printf("data exception on 0x%lx at 0x%lx\n", data, tf->tf_tpc); - printf("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx\n", trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc); + printf("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx\n", trapno, + trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc); + case T_ILLEGAL_INSTRUCTION: + if (tf->tf_tpc > KERNBASE) { + printf("illinstr: 0x%lx\n", tf->tf_tpc); + printf("illinstr: 0x%x\n", *((uint32_t *)tf->tf_tpc)); + } case T_DATA_ERROR: - case T_MEM_ADDRESS_NOT_ALIGNED: - if (tf->tf_asi == ASI_AIUP) { + case T_ALIGNMENT: + if (tf->tf_asi == ASI_AIUS) { if (tf->tf_tpc >= (u_long)copy_nofault_begin && tf->tf_tpc <= (u_long)copy_nofault_end) { tf->tf_tpc = (u_long)copy_fault; @@ -388,39 +394,29 @@ error = 0; break; } - if (tf->tf_tpc >= (u_long)fs_nofault_begin && - tf->tf_tpc <= (u_long)fs_nofault_end) { - tf->tf_tpc = (u_long)fs_fault; - tf->tf_tnpc = tf->tf_tpc + 4; - error = 0; - break; - } - /* this is really too permissive, but it is needed to cope with umtx's - * casuptr - */ + + printf("ASI_AIUS but bad tpc\n"); + } + if (tf->tf_tpc >= (u_long)fs_nofault_begin && + tf->tf_tpc <= (u_long)fs_nofault_end) { tf->tf_tpc = (u_long)fs_fault; tf->tf_tnpc = tf->tf_tpc + 4; error = 0; - break; - - + break; } + printf("asi=0x%lx\n", tf->tf_asi); error = 1; break; - - case T_ILLEGAL_INSTRUCTION: - if (tf->tf_tpc > KERNBASE) { - printf("illinstr: 0x%lx\n", tf->tf_tpc); - printf("illinstr: 0x%x\n", *((uint32_t *)tf->tf_tpc)); - } - default: + printf("unchecked trap 0x%lx asi=0x%lx\n", trapno, tf->tf_asi); error = 1; break; } if (error != 0) - panic("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx error=%d", trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc, error); + panic("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx error=%d asi=0x%lx", + trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, + tf->tf_tnpc, error, tf->tf_asi); } CTR1(KTR_TRAP, "trap: td=%p return", td); } From owner-p4-projects@FreeBSD.ORG Sun Jul 16 04:41:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B1DD16A4E0; Sun, 16 Jul 2006 04:41:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3486316A4DE for ; Sun, 16 Jul 2006 04:41:02 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F0E0043D49 for ; Sun, 16 Jul 2006 04:41:01 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6G4f11A074207 for ; Sun, 16 Jul 2006 04:41:01 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6G4f1Qe074204 for perforce@freebsd.org; Sun, 16 Jul 2006 04:41:01 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 16 Jul 2006 04:41:01 GMT Message-Id: <200607160441.k6G4f1Qe074204@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 101683 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 04:41:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=101683 Change 101683 by kmacy@kmacy_storage:sun4v_work_stable on 2006/07/16 04:40:27 remove unused fields pc_node and pc_mid add pc_caller field for tracking last call site Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/sparc64/sparc64/genassym.c#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/pcpu.h#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/machdep.c#4 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/mp_machdep.c#2 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/sparc64/sparc64/genassym.c#3 (text+ko) ==== @@ -198,13 +198,13 @@ ASSYM(V_INTR, offsetof(struct vmmeter, v_intr)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); +ASSYM(PC_CALLER, offsetof(struct pcpu, pc_caller)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_CPUMASK, offsetof(struct pcpu, pc_cpumask)); ASSYM(PC_IRHEAD, offsetof(struct pcpu, pc_irhead)); ASSYM(PC_IRTAIL, offsetof(struct pcpu, pc_irtail)); ASSYM(PC_IRFREE, offsetof(struct pcpu, pc_irfree)); -ASSYM(PC_MID, offsetof(struct pcpu, pc_mid)); ASSYM(PC_CNT, offsetof(struct pcpu, pc_cnt)); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); @@ -230,6 +230,7 @@ ASSYM(PCB_KSTACK, offsetof(struct pcb, pcb_kstack)); ASSYM(INTR_REPORT_SIZE, INTR_REPORT_SIZE); #else +ASSYM(PC_MID, offsetof(struct pcpu, pc_mid)); ASSYM(PC_TLB_CTX, offsetof(struct pcpu, pc_tlb_ctx)); ASSYM(PC_TLB_CTX_MAX, offsetof(struct pcpu, pc_tlb_ctx_max)); ASSYM(PC_TLB_CTX_MIN, offsetof(struct pcpu, pc_tlb_ctx_min)); ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/include/pcpu.h#3 (text+ko) ==== @@ -72,14 +72,13 @@ u_long pc_lookup_field; \ u_long pc_last_field; \ u_long pc_tickadj; \ - u_int pc_mid; \ struct rwindow pc_kwbuf; \ u_long pc_kwbuf_sp; \ u_int pc_kwbuf_full; \ struct rwindow pc_tsbwbuf[2]; \ - u_int pc_node; \ + uint64_t pc_caller; \ uint16_t pc_cpulist[MAXCPU]; \ - uint64_t pad[6]; + uint64_t pad[7]; /* XXX SUN4V_FIXME - as we access the *_ra and *_size fields in quick * succession we _really_ want them to be L1 cache line size aligned ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/machdep.c#4 (text+ko) ==== @@ -394,7 +394,6 @@ pc->pc_mid = UPA_CR_GET_MID(ldxa(0, ASI_UPA_CONFIG_REG)); #endif pc->pc_addr = (vm_offset_t)pcpu0; - pc->pc_node = child; /* * Initialize global registers. ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/mp_machdep.c#2 (text+ko) ==== @@ -165,7 +165,6 @@ int cpus; all_cpus = 1 << PCPU_GET(cpuid); - mp_boot_mid = PCPU_GET(mid); mp_ncpus = 1; cpus = 0; @@ -262,7 +261,6 @@ pc = (struct pcpu *)(va + (PCPU_PAGES * PAGE_SIZE)) - 1; pcpu_init(pc, cpuid, sizeof(*pc)); pc->pc_addr = va; - pc->pc_node = child; all_cpus |= 1 << cpuid; From owner-p4-projects@FreeBSD.ORG Sun Jul 16 15:09:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B94116A4E2; Sun, 16 Jul 2006 15:09:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 38BA816A4DA for ; Sun, 16 Jul 2006 15:09:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13A9C43D4C for ; Sun, 16 Jul 2006 15:09:31 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6GF9Ugm040971 for ; Sun, 16 Jul 2006 15:09:30 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6GF9UcO040968 for perforce@freebsd.org; Sun, 16 Jul 2006 15:09:30 GMT (envelope-from imp@freebsd.org) Date: Sun, 16 Jul 2006 15:09:30 GMT Message-Id: <200607161509.k6GF9UcO040968@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101700 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 15:09:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=101700 Change 101700 by imp@imp_paco-paco on 2006/07/16 15:09:07 Remove duplicate entries from moving stuff in config files. NO_SYSCTL_DESCR Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TSC4370#6 edit .. //depot/projects/arm/src/sys/conf/options#24 edit .. //depot/projects/arm/src/sys/sys/sysctl.h#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TSC4370#6 (text+ko) ==== @@ -21,10 +21,6 @@ machine arm ident KB920X -options KERNPHYSADDR=0x20000000 -options KERNVIRTADDR=0xc0000000 -options PHYSADDR=0x20000000 -options STARTUP_PAGETABLE_ADDR=0x20800000 options AT91_TSC include "../at91/std.kb920x" #To statically compile in device wiring instead of /boot/device.hints @@ -32,7 +28,6 @@ #hints "KB920X.hints" #Default places to look for devices. #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols -makeoptions CONF_CFLAGS=-mcpu=arm9 options DDB options KDB options BREAK_TO_DEBUGGER @@ -64,7 +59,7 @@ options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -#options SYSCTL_OMIT_DESCR +options NO_SYSCTL_DESCR options MUTEX_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING ==== //depot/projects/arm/src/sys/conf/options#24 (text+ko) ==== @@ -56,7 +56,7 @@ KDB_UNATTENDED opt_kdb.h SYSCTL_DEBUG opt_sysctl.h -SYSCTL_OMIT_DESCR opt_global.h +NO_SYSCTL_DESCR opt_global.h # Miscellaneous options. ADAPTIVE_GIANT opt_adaptive_mutexes.h ==== //depot/projects/arm/src/sys/sys/sysctl.h#8 (text+ko) ==== @@ -205,7 +205,7 @@ #define SYSCTL_NODE_CHILDREN(parent, name) \ sysctl_##parent##_##name##_children -#ifndef SYSCTL_OMIT_DESCR +#ifndef NO_SYSCTL_DESCR #define __DESCR(d) d #else #define __DESCR(d) "" From owner-p4-projects@FreeBSD.ORG Sun Jul 16 18:47:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 332BA16A4DE; Sun, 16 Jul 2006 18:47:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0E76416A4DA for ; Sun, 16 Jul 2006 18:47:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D069043D46 for ; Sun, 16 Jul 2006 18:47:02 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6GIl2Rn063254 for ; Sun, 16 Jul 2006 18:47:02 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6GIl2Wk063251 for perforce@freebsd.org; Sun, 16 Jul 2006 18:47:02 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 16 Jul 2006 18:47:02 GMT Message-Id: <200607161847.k6GIl2Wk063251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101709 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 18:47:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=101709 Change 101709 by gonzo@gonzo_hq on 2006/07/16 18:46:11 o Use YAMON_GETCHAR to get a char from console. Requires gxemul with patch for getting yamon "getchar" vector working. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips4k/malta/malta_console.c#2 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips4k/malta/malta_console.c#2 (text+ko) ==== @@ -115,7 +115,6 @@ malta_cninit(struct consdev *cp) { sprintf(cp->cn_name, "yamon"); - cp->cn_flags |= CN_FLAG_NODEBUG; } static void @@ -129,7 +128,14 @@ static int malta_cngetc(struct consdev *cp) { - return (-1); + unsigned char ch; + + YAMON_GETCHAR(&ch); + + if(ch == (unsigned char)'\xff') + return -1; + else + return ch; } static void @@ -137,4 +143,5 @@ { PUTC(c); } + CONSOLE_DRIVER(malta); From owner-p4-projects@FreeBSD.ORG Sun Jul 16 19:48:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA8E116A4E2; Sun, 16 Jul 2006 19:48:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 979E416A4DD for ; Sun, 16 Jul 2006 19:48:21 +0000 (UTC) (envelope-from clem1@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4ED9443D6B for ; Sun, 16 Jul 2006 19:48:21 +0000 (GMT) (envelope-from clem1@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6GJmLFS068497 for ; Sun, 16 Jul 2006 19:48:21 GMT (envelope-from clem1@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6GJmLlo068494 for perforce@freebsd.org; Sun, 16 Jul 2006 19:48:21 GMT (envelope-from clem1@FreeBSD.org) Date: Sun, 16 Jul 2006 19:48:21 GMT Message-Id: <200607161948.k6GJmLlo068494@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to clem1@FreeBSD.org using -f From: Clément Lecigne To: Perforce Change Reviews Cc: Subject: PERFORCE change 101715 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 19:48:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=101715 Change 101715 by clem1@clem1_ipv6vulns on 2006/07/16 19:47:39 IPComp support for pcs, libnet and isicng. Affected files ... .. //depot/projects/soc2006/clem1_ipv6vulns/fuzzers/isicng/ChangeLog#4 edit .. //depot/projects/soc2006/clem1_ipv6vulns/fuzzers/isicng/Makefile.in#2 edit .. //depot/projects/soc2006/clem1_ipv6vulns/fuzzers/isicng/ipcompsicng.c#1 add .. //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-functions.h#7 edit .. //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-headers.h#6 edit .. //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-structures.h#5 edit .. //depot/projects/soc2006/clem1_ipv6vulns/libnet/src/Makefile.in#4 edit .. //depot/projects/soc2006/clem1_ipv6vulns/libnet/src/libnet_build_ipcomp.c#1 add .. //depot/projects/soc2006/clem1_ipv6vulns/pcs/pcs/packets/ipcomp.py#1 add Differences ... ==== //depot/projects/soc2006/clem1_ipv6vulns/fuzzers/isicng/ChangeLog#4 (text+ko) ==== @@ -1,4 +1,8 @@ -ISICNG (v0.0.3) 06/07/05, by Clément Lecigne (clem1@FreeBSD.org) +ISICNG (v0.01.4) 06/07/16, by Clément Lecigne (clem1@FreeBSD.org) + + o ipcompsicng generates random ipcomp (IPCompression) packets. + +ISICNG (v0.01.3) 06/07/05, by Clément Lecigne (clem1@FreeBSD.org) o randipv6() improvements o -L number of link local random ipv6 addresses (in percent) @@ -7,7 +11,7 @@ will generate a random ipv6 packet as data... especially for *6_ctlinput() functions fuzzing. -ISICNG (v0.0.2) 06/07/04, by Clément Lecigne (clem1@FreeBSD.org) +ISICNG (v0.01.2) 06/07/04, by Clément Lecigne (clem1@FreeBSD.org) o Some new feature added to icmpsicng.c o new parameters related to packet size @@ -17,7 +21,7 @@ o bug fix around checksum calculation. -ISICNG (v0.0.1) 06/07/03, by Clément Lecigne (clem1@FreeBSD.org) +ISICNG (v0.01.1) 06/07/03, by Clément Lecigne (clem1@FreeBSD.org) o Port of all *sic.c to IPv6 isicng.c supports IPv6 and extension headers fuzzing. ==== //depot/projects/soc2006/clem1_ipv6vulns/fuzzers/isicng/Makefile.in#2 (text+ko) ==== @@ -15,7 +15,7 @@ VERSION = 0.01 DEFS += -DVERSION=\"$(VERSION)\" -BINS = isicng tcpsicng udpsicng icmpsicng +BINS = isicng tcpsicng udpsicng icmpsicng ipcompsicng all: $(BINS) @@ -31,6 +31,9 @@ icmpsicng: icmpsicng.c isicng.h gcc -o icmpsicng icmpsicng.c -Wall -W $(CFLAGS) $(DEFS) $(LIBS) $(LDFLAGS) +ipcompsicng: ipcompsicng.c isicng.h + gcc -o ipcompsicng ipcompsicng.c -Wall -W $(CFLAGS) $(DEFS) $(LIBS) $(LDFLAGS) + realclean: distclean distclean: clean rm -f config.cache config.log config.status ==== //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-functions.h#7 (text+ko) ==== @@ -1348,6 +1348,21 @@ u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag); /** + * Builds an RFC 2393 IP Compression header. + * @param nx next header field + * @param flags reserved for future use + * @param cpi compression parameter index + * @param payload optional payload or NULL + * @param payload_s payload length or 0 + * @param l pointer to a libnet context + * @param ptag protocol tag to modify an existing header, 0 to build a new one + * @return protocol tag value on success, -1 on error + */ +libnet_ptag_t +libnet_build_ipcomp(u_int8_t nx, u_int8_t flags, u_int16_t cpi, +u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag); + +/** * Builds an RFC 1035 version 4 DNS header. Additional DNS payload information * should be specified using the payload interface. * @param id DNS packet id ==== //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-headers.h#6 (text+ko) ==== @@ -90,6 +90,7 @@ #define LIBNET_IPSEC_ESP_HDR_H 0x0c /**< IPSEC ESP header: 12 bytes */ #define LIBNET_IPSEC_ESP_FTR_H 0x02 /**< IPSEC ESP footer: 2 bytes */ #define LIBNET_IPSEC_AH_H 0x10 /**< IPSEC AH header: 16 bytes */ +#define LIBNET_IPCOMP_H 0x04 /**< IPCOMP header: 4 bytes */ #define LIBNET_ISL_H 0x1a /**< ISL header: 26 bytes */ #define LIBNET_GRE_H 0x04 /**< GRE header: 4 bytes */ #define LIBNET_GRE_SRE_H 0x04 /**< GRE SRE header: 4 bytes */ @@ -1329,6 +1330,23 @@ /* + * IPCOMP header + * IP Compression porotocol + * Static header size: 4 bytes + * RFC2393 + */ +#ifndef IPPROTO_IPCOMP +#define IPPROTO_IPCOMP 108 +#endif +struct libnet_ipcomp_hdr +{ + u_int8_t nh; /* Next header */ + u_int8_t flags; /* Flags */ + u_int16_t cpi; /* Compression param idex */ +}; + + +/* * ISL header * Cisco Inter-Switch Link * Static header size: 26 bytes ==== //depot/projects/soc2006/clem1_ipv6vulns/libnet/include/libnet/libnet-structures.h#5 (text+ko) ==== @@ -164,6 +164,7 @@ #define LIBNET_PBLOCK_ICMPV6_OPT_PI_H 0x4f /* ICMP6 option prefix information header */ #define LIBNET_PBLOCK_ICMPV6_OPT_RH_H 0x50 /* ICMP6 option redirect header */ #define LIBNET_PBLOCK_ICMPV6_OPT_MTU_H 0x51 /* ICMP6 option MTU header */ +#define LIBNET_PBLOCK_IPCOMP_H 0x52 /* IPCOMP header */ u_int8_t flags; /* control flags */ #define LIBNET_PBLOCK_DO_CHECKSUM 0x01 /* needs a checksum */ libnet_ptag_t ptag; /* protocol block tag */ ==== //depot/projects/soc2006/clem1_ipv6vulns/libnet/src/Makefile.in#4 (text+ko) ==== @@ -130,6 +130,7 @@ libnet_build_igmp.c \ libnet_build_ip.c \ libnet_build_ipsec.c \ + libnet_build_ipcomp.c \ libnet_build_isl.c \ libnet_build_mpls.c \ libnet_build_ntp.c \ @@ -188,7 +189,7 @@ libnet_build_dhcp.$(OBJEXT) libnet_build_dns.$(OBJEXT) \ libnet_build_ethernet.$(OBJEXT) libnet_build_fddi.$(OBJEXT) \ libnet_build_gre.$(OBJEXT) libnet_build_icmpv6.$(OBJEXT) \ - libnet_build_icmpv4.$(OBJEXT) \ + libnet_build_icmpv4.$(OBJEXT) libnet_build_ipcomp.$(OBJEXT) \ libnet_build_igmp.$(OBJEXT) libnet_build_ip.$(OBJEXT) \ libnet_build_ipsec.$(OBJEXT) libnet_build_isl.$(OBJEXT) \ libnet_build_mpls.$(OBJEXT) libnet_build_ntp.$(OBJEXT) \ From owner-p4-projects@FreeBSD.ORG Sun Jul 16 21:31:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FC7B16A4E0; Sun, 16 Jul 2006 21:31:37 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8AA116A4DD for ; Sun, 16 Jul 2006 21:31:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A242443D45 for ; Sun, 16 Jul 2006 21:31:36 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6GLVa3j084688 for ; Sun, 16 Jul 2006 21:31:36 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6GLVavn084685 for perforce@freebsd.org; Sun, 16 Jul 2006 21:31:36 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 16 Jul 2006 21:31:36 GMT Message-Id: <200607162131.k6GLVavn084685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101725 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 21:31:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=101725 Change 101725 by hselasky@hselasky_mini_itx on 2006/07/16 21:30:42 Bugfix: Make sure that incoming data is copied after the pre-pended frame type byte, if any. Affected files ... .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 (text+ko) ==== @@ -775,7 +775,8 @@ xfer->actlen = max_len; } - bcopy(xfer->buffer, m->m_data, xfer->actlen); + bcopy(xfer->buffer, ((u_int8_t *)(m->m_data)) + m->m_len, + xfer->actlen); m->m_pkthdr.len += xfer->actlen; m->m_len += xfer->actlen; @@ -945,7 +946,8 @@ xfer->actlen = max_len; } - bcopy(xfer->buffer, m->m_data, xfer->actlen); + bcopy(xfer->buffer, ((u_int8_t *)(m->m_data)) + m->m_len, + xfer->actlen); m->m_pkthdr.len += xfer->actlen; m->m_len += xfer->actlen; @@ -1228,7 +1230,8 @@ xfer->frlengths[n] = max_len; } - bcopy(buf, m->m_data, xfer->frlengths[n]); + bcopy(buf, ((u_int8_t *)(m->m_data)) + m->m_len, + xfer->frlengths[n]); m->m_pkthdr.len += xfer->frlengths[n]; m->m_len += xfer->frlengths[n]; ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jul 17 05:18:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 244BF16A4DF; Mon, 17 Jul 2006 05:18:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E390B16A4DD for ; Mon, 17 Jul 2006 05:18:28 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 932E643D45 for ; Mon, 17 Jul 2006 05:18:28 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6H5ISJa041478 for ; Mon, 17 Jul 2006 05:18:28 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6H5ISkQ041475 for perforce@freebsd.org; Mon, 17 Jul 2006 05:18:28 GMT (envelope-from cdjones@FreeBSD.org) Date: Mon, 17 Jul 2006 05:18:28 GMT Message-Id: <200607170518.k6H5ISkQ041475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 101734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 05:18:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=101734 Change 101734 by cdjones@cdjones-impulse on 2006/07/17 05:18:07 Add functions (prison_memory, prison_memory_limit) to get the amount of memory in use or permitted to be used by a jail. Next step, inserting calls to check this. Obvious places are in fork() and friends, but probably it would be good to also check memory usage at request-more-memory time rather than just at new-process time. Thanks to Roberto Lima (betogigi@gmail.com) for sending me his patch for 4.x; this is similar, though not taken directly from it. Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_jail.c#9 edit .. //depot/projects/soc2006/cdjones_jail/src/sys/sys/jail.h#10 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/kern_jail.c#9 (text+ko) ==== @@ -22,6 +22,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -125,7 +130,7 @@ struct prison *pr, *tpr; struct jail j; struct jail_attach_args jaa; - struct proc *j_sched_proc; + struct proc *j_sched_proc = NULL; int vfslocked, error, tryprid; error = copyin(uap->jail, &j, sizeof(j)); @@ -426,6 +431,41 @@ return (ok); } +/* Given credential, return memory usage in bytes. */ +int +prison_memory(struct ucred *cred) +{ + struct proc *p; + u_int mem_used = 0; + + /* TODO: cut this to search only procs in given jail. */ + FOREACH_PROC_IN_SYSTEM(p) { + if (!jailed(p->p_ucred) || + (cred->cr_prison != p->p_ucred->cr_prison)) { + continue; + } + + /* Get memory usage (see vm/vm_map.h). */ + mem_used += (p->p_vmspace)->vm_tsize; /* text size (pages) */ + mem_used += (p->p_vmspace)->vm_dsize; /* data size (pages) */ + mem_used += (p->p_vmspace)->vm_ssize; /* stack size (pages) */ + } + + /* Convert to bytes, cache (maybe unncessary?). */ + mem_used *= PAGE_SIZE; + mtx_lock(&cred->cr_prison->pr_mtx); + cred->cr_prison->pr_mem_usage = mem_used; + mtx_unlock(&cred->cr_prison->pr_mtx); + return mem_used; +} + +/* Given credential, return permitted memory usage in bytes. */ +int +prison_memory_limit(struct ucred *cred) +{ + return cred->cr_prison->pr_mem_limit; +} + /* * Return 0 if jails permit p1 to frob p2, otherwise ESRCH. */ ==== //depot/projects/soc2006/cdjones_jail/src/sys/sys/jail.h#10 (text+ko) ==== @@ -133,6 +133,8 @@ void prison_hold(struct prison *pr); int prison_if(struct ucred *cred, struct sockaddr *sa); int prison_ip(struct ucred *cred, int flag, u_int32_t *ip); +int prison_memory(struct ucred *cred); +int prison_memory_limit(struct ucred *cred); void prison_remote_ip(struct ucred *cred, int flags, u_int32_t *ip); #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 10:52:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07BD916A4DF; Mon, 17 Jul 2006 10:52:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B139516A4E2 for ; Mon, 17 Jul 2006 10:52:33 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E51643D4C for ; Mon, 17 Jul 2006 10:52:33 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HAqXPG073599 for ; Mon, 17 Jul 2006 10:52:33 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HAqXnl073596 for perforce@freebsd.org; Mon, 17 Jul 2006 10:52:33 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 10:52:33 GMT Message-Id: <200607171052.k6HAqXnl073596@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 10:52:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=101745 Change 101745 by gabor@gabor_spitfire on 2006/07/17 10:52:15 Chroot another pkg_info call if DESTDIR is set. There are still such pkg_info calls to fix. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#27 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#27 (text+ko) ==== @@ -5506,8 +5506,18 @@ fi; \ if [ -f ${PKGMESSAGE} ]; then \ ${CP} ${PKGMESSAGE} ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \ - fi; \ - for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ + fi +.if !defined(DESTDIR) + @for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ + if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ + if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ + >/dev/null 2>&1; then \ + ${ECHO_CMD} ${PKGNAME} >> ${PKG_DBDIR}/$$dep/+REQUIRED_BY; \ + fi; \ + fi; \ + done +.else + @for dep in `${CHROOT} ${DESTDIR} ${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ >/dev/null 2>&1; then \ @@ -5516,6 +5526,7 @@ fi; \ done .endif +.endif .if !defined(NO_MTREE) @if [ -f ${MTREE_FILE} ]; then \ ${CP} ${MTREE_FILE} ${PKG_DBDIR}/${PKGNAME}/+MTREE_DIRS; \ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 11:00:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0CB216A53F; Mon, 17 Jul 2006 11:00:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4C8E16A53D for ; Mon, 17 Jul 2006 11:00:44 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5EFAB43D46 for ; Mon, 17 Jul 2006 11:00:44 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HB0iZ1074041 for ; Mon, 17 Jul 2006 11:00:44 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HB0h5Y074038 for perforce@freebsd.org; Mon, 17 Jul 2006 11:00:43 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 17 Jul 2006 11:00:43 GMT Message-Id: <200607171100.k6HB0h5Y074038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 11:00:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=101746 Change 101746 by hselasky@hselasky_mini_itx on 2006/07/17 11:00:18 Allow the clear-stall routines to work with the USBD_USE_DMA flag, which means that the USB transfer does not have a virtual buffer, xfer->buffer, only the DMA buffer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#8 (text+ko) ==== @@ -1262,19 +1262,35 @@ usbd_clear_stall_tr_setup(struct usbd_xfer *xfer1, struct usbd_xfer *xfer2) { - usb_device_request_t *req = xfer1->buffer; + usb_device_request_t req; mtx_assert(xfer1->priv_mtx, MA_OWNED); mtx_assert(xfer2->priv_mtx, MA_OWNED); /* setup a clear-stall packet */ - req->bmRequestType = UT_WRITE_ENDPOINT; - req->bRequest = UR_CLEAR_FEATURE; - USETW(req->wValue, UF_ENDPOINT_HALT); - req->wIndex[0] = xfer2->pipe->edesc->bEndpointAddress; - req->wIndex[1] = 0; - USETW(req->wLength, 0); + req.bmRequestType = UT_WRITE_ENDPOINT; + req.bRequest = UR_CLEAR_FEATURE; + USETW(req.wValue, UF_ENDPOINT_HALT); + req.wIndex[0] = xfer2->pipe->edesc->bEndpointAddress; + req.wIndex[1] = 0; + USETW(req.wLength, 0); + + /* double check the length */ + + if (xfer1->length != sizeof(req)) { + printf("%s:%d: invalid transfer length, %d bytes!\n", + __FUNCTION__, __LINE__, xfer1->length); + return; + } + + /* copy in the transfer */ + + if (xfer1->flags & USBD_USE_DMA) { + usbd_copy_in(&(xfer1->buf_data), 0, &req, sizeof(req)); + } else { + bcopy(&req, xfer1->buffer, sizeof(req)); + } usbd_start_hardware(xfer1); return; From owner-p4-projects@FreeBSD.ORG Mon Jul 17 11:01:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D39216A4F2; Mon, 17 Jul 2006 11:01:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C13E316A4E5 for ; Mon, 17 Jul 2006 11:01:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B5BA43D7C for ; Mon, 17 Jul 2006 11:01:46 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HB1kf4074129 for ; Mon, 17 Jul 2006 11:01:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HB1jVN074126 for perforce@freebsd.org; Mon, 17 Jul 2006 11:01:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 17 Jul 2006 11:01:45 GMT Message-Id: <200607171101.k6HB1jVN074126@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101747 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 11:01:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=101747 Change 101747 by hselasky@hselasky_mini_itx on 2006/07/17 11:00:53 Finished converting "ata-usb.c". Please test. Affected files ... .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#2 (text) ==== @@ -24,34 +24,30 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_ata.h" + #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.4 2006/03/31 08:09:05 sos Exp $"); - -#include "opt_ata.h" #include -#include #include #include -#include +#include #include -#include -#include -#include -#include -#include +#include #include -#include #include -#include -#include -#include + +#include #include -#include -#include -#include +#include +#include + #include #include +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.4 2006/03/31 08:09:05 sos Exp $"); + +#define ATAUSB_BULK_SIZE (1<<17) /* don't set this lower than (1 << 16) */ + /* Command Block Wrapper */ struct bbb_cbw { u_int8_t signature[4]; @@ -68,7 +64,7 @@ #define CBWCDBLENGTH 16 u_int8_t cdb[CBWCDBLENGTH]; -}; +} UPACKED; /* Command Status Wrapper */ struct bbb_csw { @@ -81,89 +77,238 @@ #define CSWSTATUS_GOOD 0x0 #define CSWSTATUS_FAILED 0x1 #define CSWSTATUS_PHASE 0x2 -}; +} UPACKED; /* USB-ATA 'controller' softc */ struct atausb_softc { - USBBASEDEVICE dev; /* base device */ - usbd_interface_handle iface; /* interface */ - int ifaceno; /* interface number */ - u_int8_t bulkin; /* endpoint address's */ - u_int8_t bulkout; - u_int8_t bulkirq; - usbd_pipe_handle bulkin_pipe; /* pipe handle's */ - usbd_pipe_handle bulkout_pipe; - usbd_pipe_handle bulkirq_pipe; - int maxlun; - int timeout; - struct ata_request *ata_request; - usb_device_request_t usb_request; struct bbb_cbw cbw; struct bbb_csw csw; + struct mtx locked_mtx; + struct usbd_memory_wait mem_wait; + struct __callout watchdog; + + struct ata_channel *locked_ch; + struct ata_channel *restart_ch; + struct ata_request *ata_request; + +#define ATAUSB_T_BBB_RESET1 0 +#define ATAUSB_T_BBB_RESET2 1 +#define ATAUSB_T_BBB_RESET3 2 +#define ATAUSB_T_BBB_COMMAND 3 +#define ATAUSB_T_BBB_DATA_READ 4 +#define ATAUSB_T_BBB_DATA_WRITE 5 +#define ATAUSB_T_BBB_STATUS 6 +#define ATAUSB_T_BBB_INTERRUPT 7 +#define ATAUSB_T_BBB_I_CLEAR_STALL 8 +#define ATAUSB_T_MAX 9 + struct usbd_xfer * xfer[ATAUSB_T_MAX]; + caddr_t ata_data; + device_t dev; -#define ATAUSB_T_BBB_CBW 0 -#define ATAUSB_T_BBB_DATA 1 -#define ATAUSB_T_BBB_DCLEAR 2 -#define ATAUSB_T_BBB_CSW1 3 -#define ATAUSB_T_BBB_CSW2 4 -#define ATAUSB_T_BBB_SCLEAR 5 -#define ATAUSB_T_BBB_RESET1 6 -#define ATAUSB_T_BBB_RESET2 7 -#define ATAUSB_T_BBB_RESET3 8 -#define ATAUSB_T_MAX 9 - usbd_xfer_handle transfer[ATAUSB_T_MAX]; + u_int32_t timeout; + u_int32_t ata_donecount; + u_int32_t ata_bytecount; - int state; -#define ATAUSB_S_ATTACH 0 -#define ATAUSB_S_IDLE 1 -#define ATAUSB_S_BBB_COMMAND 2 -#define ATAUSB_S_BBB_DATA 3 -#define ATAUSB_S_BBB_DCLEAR 4 -#define ATAUSB_S_BBB_STATUS1 5 -#define ATAUSB_S_BBB_SCLEAR 6 -#define ATAUSB_S_BBB_STATUS2 7 -#define ATAUSB_S_BBB_RESET1 8 -#define ATAUSB_S_BBB_RESET2 9 -#define ATAUSB_S_BBB_RESET3 10 -#define ATAUSB_S_DETACH 11 + u_int8_t last_xfer_no; + u_int8_t reset_count; + u_int8_t usb_speed; + u_int8_t intr_stall_cleared; + u_int8_t maxlun; + u_int8_t iface_no; - struct mtx locked_mtx; - struct ata_channel *locked_ch; - struct ata_channel *restart_ch; }; -static int atausbdebug = 0; +static const int atausbdebug = 0; + +/* prototypes */ + +static device_probe_t atausb_probe; +static device_attach_t atausb_attach; +static device_detach_t atausb_detach; + +static void +atausb_watchdog(void *arg); + +static void +atausb_transfer_start(struct atausb_softc *sc, u_int8_t xfer_no); + +static void +atausb_t_bbb_reset1_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_reset2_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_reset3_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_command_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_data_read_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_data_write_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_status_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_interrupt_callback(struct usbd_xfer *xfer); + +static void +atausb_t_bbb_i_clear_stall_callback(struct usbd_xfer *xfer); + +static void +atausb_tr_error(struct usbd_xfer *xfer); + +static int +ata_usbchannel_begin_transaction(struct ata_request *request); + +static int +ata_usbchannel_end_transaction(struct ata_request *request); -/* prototypes*/ -static usbd_status atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static usbd_status atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, usb_device_request_t *req, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static void atausb_clear_stall(struct atausb_softc *sc, u_int8_t endpt, usbd_pipe_handle pipe, int state, usbd_xfer_handle xfer); -static void atausb_bbb_reset(struct atausb_softc *sc); -static int atausb_bbb_start(struct ata_request *request); -static void atausb_bbb_finish(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status err); -int ata_usbchannel_begin_transaction(struct ata_request *request); -int ata_usbchannel_end_transaction(struct ata_request *request); +static device_probe_t ata_usbchannel_probe; +static device_attach_t ata_usbchannel_attach; +static device_detach_t ata_usbchannel_detach; +static ata_setmode_t ata_usbchannel_setmode; +static ata_locking_t ata_usbchannel_locking; /* * USB frontend part */ -USB_DECLARE_DRIVER(atausb); + +struct usbd_config atausb_config[ATAUSB_T_MAX] = { + + [ATAUSB_T_BBB_RESET1] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &atausb_t_bbb_reset1_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_RESET2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &atausb_t_bbb_reset2_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_RESET3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .bufsize = sizeof(usb_device_request_t), + .flags = USBD_USE_DMA, + .callback = &atausb_t_bbb_reset3_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_COMMAND] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = sizeof(struct bbb_cbw), + .flags = USBD_USE_DMA, + .callback = &atausb_t_bbb_command_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_DATA_READ] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = ATAUSB_BULK_SIZE, + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &atausb_t_bbb_data_read_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_DATA_WRITE] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_OUT, + .bufsize = ATAUSB_BULK_SIZE, + .flags = USBD_USE_DMA, + .callback = &atausb_t_bbb_data_write_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_STATUS] = { + .type = UE_BULK, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .bufsize = sizeof(struct bbb_csw), + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .callback = &atausb_t_bbb_status_callback, + .timeout = 5000, /* ms */ + }, + + /* + * the following endpoints are only + * present on CBI devices: + */ + + [ATAUSB_T_BBB_INTERRUPT] = { + .type = UE_INTERRUPT, + .endpoint = -1, /* any */ + .direction = UE_DIR_IN, + .flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK), + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &atausb_t_bbb_interrupt_callback, + }, + + [ATAUSB_T_BBB_I_CLEAR_STALL] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = -1, + .flags = USBD_USE_DMA, + .bufsize = sizeof(usb_device_request_t), + .callback = &atausb_t_bbb_i_clear_stall_callback, + .timeout = 5000, /* ms */ + }, +}; + +static devclass_t atausb_devclass; + +static device_method_t atausb_methods[] = { + DEVMETHOD(device_probe, atausb_probe), + DEVMETHOD(device_attach, atausb_attach), + DEVMETHOD(device_detach, atausb_detach), + { 0, 0 } +}; + +static driver_t atausb_driver = { + .name = "atausb", + .methods = atausb_methods, + .size = sizeof(struct atausb_softc), +}; + DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); +MODULE_DEPEND(atausb, usb, 1, 1, 1); MODULE_VERSION(atausb, 1); static int -atausb_match(device_t dev) +atausb_probe(device_t dev) { struct usb_attach_arg *uaa = device_get_ivars(dev); usb_interface_descriptor_t *id; - if (uaa->iface == NULL) + if (uaa->iface == NULL) { return UMATCH_NONE; + } id = usbd_get_interface_descriptor(uaa->iface); - if (!id || id->bInterfaceClass != UICLASS_MASS) + if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { return UMATCH_NONE; + } switch (id->bInterfaceSubClass) { case UISUBCLASS_QIC157: @@ -193,27 +338,26 @@ struct atausb_softc *sc = device_get_softc(dev); struct usb_attach_arg *uaa = device_get_ivars(dev); usb_interface_descriptor_t *id; - usb_endpoint_descriptor_t *ed; - usbd_device_handle udev; + const char *proto, *subclass; usb_device_request_t request; - char devinfo[1024], *proto, *subclass; + u_int16_t i; u_int8_t maxlun; - int err, i; + u_int8_t has_intr; + int err; + + usbd_set_desc(dev, uaa->device); sc->dev = dev; - usbd_devinfo(uaa->device, 0, devinfo); - device_set_desc_copy(dev, devinfo); - sc->bulkin = sc->bulkout = sc->bulkirq = -1; - sc->bulkin_pipe = sc->bulkout_pipe= sc->bulkirq_pipe = NULL; - sc->iface = uaa->iface; - sc->ifaceno = uaa->ifaceno; sc->maxlun = 0; - sc->timeout = 5000; sc->locked_ch = NULL; sc->restart_ch = NULL; - mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, MTX_DEF); + sc->usb_speed = usbd_get_speed(uaa->device); + mtx_init(&(sc->locked_mtx), "ATAUSB lock", NULL, MTX_DEF); + + __callout_init_mtx(&(sc->watchdog), + &(sc->locked_mtx), CALLOUT_RETURNUNLOCKED); - id = usbd_get_interface_descriptor(sc->iface); + id = usbd_get_interface_descriptor(uaa->iface); switch (id->bInterfaceProtocol) { case UIPROTO_MASS_BBB: case UIPROTO_MASS_BBB_OLD: @@ -228,6 +372,7 @@ default: proto = "Unknown"; } + switch (id->bInterfaceSubClass) { case UISUBCLASS_RBC: subclass = "RBC"; @@ -246,93 +391,44 @@ default: subclass = "Unknown"; } + + has_intr = (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I); + sc->iface_no = id->bInterfaceNumber; + device_printf(dev, "using %s over %s\n", subclass, proto); if (strcmp(proto, "Bulk-Only") || - (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) - return ENXIO; - - for (i = 0 ; i < id->bNumEndpoints ; i++) { - if (!(ed = usbd_interface2endpoint_descriptor(sc->iface, i))) { - device_printf(sc->dev, "could not read endpoint descriptor\n"); - return ENXIO; - } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkin = ed->bEndpointAddress; - } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkout = ed->bEndpointAddress; - } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I && - UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_INTERRUPT) { - sc->bulkirq = ed->bEndpointAddress; - } - } - - /* check whether we found at least the endpoints we need */ - if (!sc->bulkin || !sc->bulkout) { - device_printf(sc->dev, "needed endpoints not found (%d,%d)\n", - sc->bulkin, sc->bulkout); - atausb_detach(dev); + (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { return ENXIO; } - /* open the pipes */ - if (usbd_open_pipe(sc->iface, sc->bulkout, - USBD_EXCLUSIVE_USE, &sc->bulkout_pipe)) { - device_printf(sc->dev, "cannot open bulkout pipe (%d)\n", sc->bulkout); - atausb_detach(dev); - return ENXIO; - } - if (usbd_open_pipe(sc->iface, sc->bulkin, - USBD_EXCLUSIVE_USE, &sc->bulkin_pipe)) { - device_printf(sc->dev, "cannot open bulkin pipe (%d)\n", sc->bulkin); - atausb_detach(dev); - return ENXIO; - } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I) { - if (usbd_open_pipe(sc->iface, sc->bulkirq, - USBD_EXCLUSIVE_USE, &sc->bulkirq_pipe)) { - device_printf(sc->dev, "cannot open bulkirq pipe (%d)\n", - sc->bulkirq); - atausb_detach(dev); - return ENXIO; - } + err = usbd_transfer_setup(uaa->device, uaa->iface_index, sc->xfer, + atausb_config, + has_intr ? ATAUSB_T_MAX : (ATAUSB_T_MAX-2), sc, + &(sc->locked_mtx), &(sc->mem_wait)); + if (err) { + device_printf(sc->dev, "could not setup required " + "transfers, %s\n", usbd_errstr(err)); + goto detach; } - sc->state = ATAUSB_S_ATTACH; - /* alloc needed number of transfer handles */ - for (i = 0; i < ATAUSB_T_MAX; i++) { - sc->transfer[i] = usbd_alloc_xfer(uaa->device); - if (!sc->transfer[i]) { - device_printf(sc->dev, "out of memory\n"); - atausb_detach(dev); - return ENXIO; - } - } - - /* driver is ready to process requests here */ - sc->state = ATAUSB_S_IDLE; - /* get number of devices so we can add matching channels */ - usbd_interface2device_handle(sc->iface, &udev); request.bmRequestType = UT_READ_CLASS_INTERFACE; - request.bRequest = 0xfe; //GET_MAX_LUN; + request.bRequest = 0xfe; /* GET_MAX_LUN; */ USETW(request.wValue, 0); - USETW(request.wIndex, sc->ifaceno); + USETW(request.wIndex, sc->iface_no); USETW(request.wLength, sizeof(maxlun)); - switch ((err = usbd_do_request(udev, &request, &maxlun))) { - case USBD_NORMAL_COMPLETION: - if (bootverbose) - device_printf(sc->dev, "maxlun=%d\n", maxlun); + err = usbd_do_request(uaa->device, &request, &maxlun); + + if (err) { + if (bootverbose) { + device_printf(sc->dev, "get maxlun not supported %s\n", + usbd_errstr(err)); + } + } else { sc->maxlun = maxlun; - break; - default: - if (bootverbose) - device_printf(sc->dev, "get maxlun not supported %s\n", - usbd_errstr(err)); + if (bootverbose) { + device_printf(sc->dev, "maxlun=%d\n", sc->maxlun); + } } /* ata channels are children to this USB control device */ @@ -340,403 +436,469 @@ if (!device_add_child(sc->dev, "ata", devclass_find_free_unit(ata_devclass, 2))) { device_printf(sc->dev, "failed to attach ata child device\n"); - atausb_detach(dev); - return ENXIO; + goto detach; } } bus_generic_attach(sc->dev); + + /* start the watchdog */ + + mtx_lock(&(sc->locked_mtx)); + + atausb_watchdog(sc); + return 0; + + detach: + atausb_detach(dev); + return ENXIO; } static int -atausb_detach(device_ptr_t dev) +atausb_detach(device_t dev) { struct atausb_softc *sc = device_get_softc(dev); - usbd_device_handle udev; device_t *children; int nchildren, i; + mtx_lock(&(sc->locked_mtx)); + + /* stop watchdog */ + __callout_stop(&(sc->watchdog)); + /* signal that device is going away */ - sc->state = ATAUSB_S_DETACH; + sc->last_xfer_no = ATAUSB_T_MAX; + + /* stop all transfers, if any */ + for (i = 0; i < ATAUSB_T_MAX; i++) { + if (sc->xfer[i]) { + usbd_transfer_stop(sc->xfer[i]); + } + } + + mtx_unlock(&(sc->locked_mtx)); - /* abort all the pipes in case there are active transfers */ - usbd_interface2device_handle(sc->iface, &udev); - usbd_abort_default_pipe(udev); - if (sc->bulkout_pipe) - usbd_abort_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_abort_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_abort_pipe(sc->bulkirq_pipe); + /* detach & delete all children, if any */ - /* detach & delete all children */ if (!device_get_children(dev, &children, &nchildren)) { - for (i = 0; i < nchildren; i++) + for (i = 0; i < nchildren; i++) { device_delete_child(dev, children[i]); + } free(children, M_TEMP); } - /* free the transfers */ - for (i = 0; i < ATAUSB_T_MAX; i++) - if (sc->transfer[i]) - usbd_free_xfer(sc->transfer[i]); + usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); - /* remove all the pipes */ - if (sc->bulkout_pipe) - usbd_close_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_close_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_close_pipe(sc->bulkirq_pipe); + usbd_transfer_drain(&(sc->mem_wait), &(sc->locked_mtx)); mtx_destroy(&sc->locked_mtx); return 0; } - -/* - * Generic USB transfer routines - */ -static usbd_status -atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, - void *buffer, int buflen, int flags, usbd_xfer_handle xfer) +static void +atausb_watchdog(void *arg) { - usbd_status err; + struct atausb_softc *sc = arg; - if (sc->state == ATAUSB_S_DETACH) - return USBD_NOT_STARTED; + mtx_assert(&(sc->locked_mtx), MA_OWNED); - usbd_setup_xfer(xfer, pipe, (void *)sc, buffer, buflen, flags, - sc->timeout, atausb_bbb_finish); - err = usbd_transfer(xfer); - if (err && (err != USBD_IN_PROGRESS)) { - if (atausbdebug) - device_printf(sc->dev, "failed to setup transfer, %s\n", - usbd_errstr(err)); - return err; + if (sc->xfer[ATAUSB_T_BBB_INTERRUPT]) { + /* start the interrupt pipe, in case it stopped */ + usbd_transfer_start(sc->xfer[ATAUSB_T_BBB_INTERRUPT]); } - return USBD_NORMAL_COMPLETION; + + __callout_reset(&(sc->watchdog), + hz, &atausb_watchdog, sc); + + mtx_unlock(&(sc->locked_mtx)); + return; +} + +static void +atausb_transfer_start(struct atausb_softc *sc, u_int8_t xfer_no) +{ +#if 0 + device_printf(sc->dev, "BBB transfer %d\n", xfer_no); +#endif + sc->last_xfer_no = xfer_no; + usbd_transfer_start(sc->xfer[xfer_no]); + return; } -static usbd_status -atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, - usb_device_request_t *req, void *buffer, int buflen, int flags, - usbd_xfer_handle xfer) +static void +atausb_t_bbb_reset1_callback(struct usbd_xfer *xfer) { - usbd_status err; + struct atausb_softc *sc = xfer->priv_sc; + usb_device_request_t req; + + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; - if (sc->state == ATAUSB_S_DETACH) - return USBD_NOT_STARTED; + tr_transferred: + atausb_transfer_start(sc, ATAUSB_T_BBB_RESET2); + return; - usbd_setup_default_xfer(xfer, udev, (void *)sc, sc->timeout, req, - buffer, buflen, flags, atausb_bbb_finish); - err = usbd_transfer(xfer); - if (err && (err != USBD_IN_PROGRESS)) { - if (atausbdebug) - device_printf(sc->dev, "failed to setup ctl transfer, %s\n", - usbd_errstr(err)); - return err; + tr_setup: + if (sc->reset_count >= 16) { + device_printf(sc->dev, "timeout: giving up reset!\n"); + return; } - return USBD_NORMAL_COMPLETION; + + sc->reset_count ++; + + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = 0xff; /* bulk-only reset */ + USETW(req.wValue, 0); + USETW(req.wIndex, sc->iface_no); + USETW(req.wLength, 0); + + usbd_copy_in(&(xfer->buf_data), 0, &req, sizeof(req)); + + usbd_start_hardware(xfer); + return; } static void -atausb_clear_stall(struct atausb_softc *sc, u_int8_t endpt, - usbd_pipe_handle pipe, int state, usbd_xfer_handle xfer) +atausb_t_bbb_reset2_callback(struct usbd_xfer *xfer) { - usbd_device_handle udev; + struct atausb_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; + + tr_transferred: + atausb_transfer_start(sc, ATAUSB_T_BBB_RESET3); + return; - if (atausbdebug) - device_printf(sc->dev, "clear endpoint 0x%02x stall\n", endpt); - usbd_interface2device_handle(sc->iface, &udev); - sc->state = state; - usbd_clear_endpoint_toggle(pipe); - sc->usb_request.bmRequestType = UT_WRITE_ENDPOINT; - sc->usb_request.bRequest = UR_CLEAR_FEATURE; - USETW(sc->usb_request.wValue, UF_ENDPOINT_HALT); - USETW(sc->usb_request.wIndex, endpt); - USETW(sc->usb_request.wLength, 0); - atausb_ctl_start(sc, udev, &sc->usb_request, NULL, 0, 0, xfer); + tr_setup: + usbd_clear_stall_tr_setup(xfer, sc->xfer[ATAUSB_T_BBB_DATA_READ]); + usbd_clear_stall_tr_transferred(xfer, sc->xfer[ATAUSB_T_BBB_DATA_READ]); + return; } +static void +atausb_t_bbb_reset3_callback(struct usbd_xfer *xfer) +{ + struct atausb_softc *sc = xfer->priv_sc; + + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; + + tr_transferred: + atausb_transfer_start(sc, ATAUSB_T_BBB_COMMAND); + return; -/* - * Bulk-Only transport part - */ + tr_setup: + usbd_clear_stall_tr_setup(xfer, sc->xfer[ATAUSB_T_BBB_DATA_WRITE]); + usbd_clear_stall_tr_transferred(xfer, sc->xfer[ATAUSB_T_BBB_DATA_WRITE]); + return; +} + static void -atausb_bbb_reset(struct atausb_softc *sc) +atausb_t_bbb_command_callback(struct usbd_xfer *xfer) { - usbd_device_handle udev; + struct atausb_softc *sc = xfer->priv_sc; + struct ata_request *request = sc->ata_request; + struct ata_channel *ch; + + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; + + tr_transferred: + atausb_transfer_start + (sc, ((request->flags & ATA_R_READ) ? ATAUSB_T_BBB_DATA_READ : + (request->flags & ATA_R_WRITE) ? ATAUSB_T_BBB_DATA_WRITE : + ATAUSB_T_BBB_STATUS)); + return; + + tr_setup: + + sc->reset_count = 0; + + if (request) { + ch = device_get_softc(request->parent); + + sc->timeout = (request->timeout * 1000) + 5000; + + USETDW(sc->cbw.signature, CBWSIGNATURE); + USETDW(sc->cbw.tag, UGETDW(sc->cbw.tag) + 1); + USETDW(sc->cbw.transfer_length, request->bytecount); + sc->cbw.flags = (request->flags & ATA_R_READ) ? CBWFLAGS_IN : CBWFLAGS_OUT; + sc->cbw.lun = ch->unit; + sc->cbw.length = 16; + bzero(sc->cbw.cdb, 16); + bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ + + usbd_copy_in(&(xfer->buf_data), 0, &(sc->cbw), sizeof(sc->cbw)); - if (atausbdebug) - device_printf(sc->dev, "Bulk Reset\n"); - sc->timeout = 5000; - sc->state = ATAUSB_S_BBB_RESET1; - usbd_interface2device_handle(sc->iface, &udev); - sc->usb_request.bmRequestType = UT_WRITE_CLASS_INTERFACE; - sc->usb_request.bRequest = 0xff; /* bulk-only reset */ - USETW(sc->usb_request.wValue, 0); - USETW(sc->usb_request.wIndex, sc->ifaceno); - USETW(sc->usb_request.wLength, 0); - atausb_ctl_start(sc, udev, &sc->usb_request, NULL, - 0, 0, sc->transfer[ATAUSB_T_BBB_RESET1]); + usbd_start_hardware(xfer); + } + return; } -static int -atausb_bbb_start(struct ata_request *request) +static void +atausb_t_bbb_data_read_callback(struct usbd_xfer *xfer) { - struct atausb_softc *sc = - device_get_softc(device_get_parent(request->parent)); - struct ata_channel *ch = device_get_softc(request->parent); + struct atausb_softc *sc = xfer->priv_sc; + u_int32_t max_bulk = (ATAUSB_BULK_SIZE - + (ATAUSB_BULK_SIZE % xfer->max_packet_size)); + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; + + tr_transferred: + + usbd_copy_out(&(xfer->buf_data), 0, + sc->ata_data, xfer->actlen); + + sc->ata_bytecount -= xfer->actlen; + sc->ata_data += xfer->actlen; + sc->ata_donecount += xfer->actlen; + + if (xfer->actlen < xfer->length) { + /* short transfer */ + sc->ata_bytecount = 0; + } + + tr_setup: + if (sc->ata_bytecount == 0) { + atausb_transfer_start(sc, ATAUSB_T_BBB_STATUS); + return; + } - sc->timeout = (request->timeout * 1000) + 5000; - USETDW(sc->cbw.signature, CBWSIGNATURE); - USETDW(sc->cbw.tag, UGETDW(sc->cbw.tag) + 1); - USETDW(sc->cbw.transfer_length, request->bytecount); - sc->cbw.flags = (request->flags & ATA_R_READ) ? CBWFLAGS_IN : CBWFLAGS_OUT; - sc->cbw.lun = ch->unit; - sc->cbw.length = 16; - bzero(sc->cbw.cdb, 16); - bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ - sc->state = ATAUSB_S_BBB_COMMAND; - if (atausb_start(sc, sc->bulkout_pipe, &sc->cbw, sizeof(struct bbb_cbw), - 0, sc->transfer[ATAUSB_T_BBB_CBW])) { - request->result = EIO; - if (atausbdebug) - device_printf(request->dev, "cannot setup USB transfer\n"); - atausb_bbb_reset(sc); - return ATA_OP_FINISHED; + if (max_bulk > sc->ata_bytecount) { + max_bulk = sc->ata_bytecount; } - return ATA_OP_CONTINUES; + + xfer->timeout = sc->timeout; + xfer->length = max_bulk; + + usbd_start_hardware(xfer); + return; } static void -atausb_bbb_finish(usbd_xfer_handle xfer, usbd_private_handle priv, - usbd_status err) +atausb_t_bbb_data_write_callback(struct usbd_xfer *xfer) { - struct atausb_softc *sc = (struct atausb_softc *)priv; - struct ata_request *request = sc->ata_request; - usbd_xfer_handle next_xfer; + struct atausb_softc *sc = xfer->priv_sc; + u_int32_t max_bulk = (ATAUSB_BULK_SIZE - + (ATAUSB_BULK_SIZE % xfer->max_packet_size)); + USBD_CHECK_STATUS(xfer); + + tr_error: + atausb_tr_error(xfer); + return; + + tr_transferred: + + sc->ata_bytecount -= xfer->actlen; + sc->ata_data += xfer->actlen; + sc->ata_donecount += xfer->actlen; - //device_printf(sc->dev, "BBB state %d: %s\n", sc->state, usbd_errstr(err)); + tr_setup: - if (sc->state == ATAUSB_S_DETACH) { - device_printf(sc->dev, "WARNING - device has been removed\n"); + if (sc->ata_bytecount == 0) { + atausb_transfer_start(sc, ATAUSB_T_BBB_STATUS); return; } - switch (sc->state) { - case ATAUSB_S_BBB_COMMAND: /* command transport phase */ - if (err) { - if (atausbdebug) - device_printf(sc->dev, "failed to send CBW\n"); - request->result = EIO; - atausb_bbb_reset(sc); - return; - } + if (max_bulk > sc->ata_bytecount) { + max_bulk = sc->ata_bytecount; + } + + xfer->timeout = sc->timeout; + xfer->length = max_bulk; + + usbd_copy_in(&(xfer->buf_data), 0, + sc->ata_data, max_bulk); + + usbd_start_hardware(xfer); + return; +} + +static void +atausb_t_bbb_status_callback(struct usbd_xfer *xfer) +{ + struct atausb_softc *sc = xfer->priv_sc; + struct ata_request *request = sc->ata_request; + u_int32_t residue; + + USBD_CHECK_STATUS(xfer); - /* next is data transport phase, setup transfer */ - sc->state = ATAUSB_S_BBB_DATA; - if (request->flags & ATA_R_READ) { - if (atausb_start(sc, sc->bulkin_pipe, - request->data, request->bytecount, - USBD_SHORT_XFER_OK, - sc->transfer[ATAUSB_T_BBB_DATA])) { - request->result = EIO; - atausb_bbb_reset(sc); - } - return; - } - if (request->flags & ATA_R_WRITE) { - if (atausb_start(sc, sc->bulkout_pipe, - request->data, request->bytecount, - 0, sc->transfer[ATAUSB_T_BBB_DATA])) { - request->result = EIO; - atausb_bbb_reset(sc); - } - return; - } - /* FALLTHROUGH */ + tr_error: + atausb_tr_error(xfer); + return; - case ATAUSB_S_BBB_DATA: /* data transport phase */ - if (request->flags & (ATA_R_READ | ATA_R_WRITE)) { - usbd_get_xfer_status(xfer, NULL, NULL, &request->donecount, NULL); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 17 11:20:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84A3616A4F0; Mon, 17 Jul 2006 11:20:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D84B16A4E8 for ; Mon, 17 Jul 2006 11:20:14 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A46A143D78 for ; Mon, 17 Jul 2006 11:20:10 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HBKABf076486 for ; Mon, 17 Jul 2006 11:20:10 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HBKAA4076483 for perforce@freebsd.org; Mon, 17 Jul 2006 11:20:10 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 11:20:10 GMT Message-Id: <200607171120.k6HBKAA4076483@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101750 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 11:20:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=101750 Change 101750 by gabor@gabor_spitfire on 2006/07/17 11:19:49 Chroot pkg_info when checking if the port is already installed. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#28 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#28 (text+ko) ==== @@ -3708,10 +3708,10 @@ .if !target(check-already-installed) check-already-installed: .if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) - @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed" - @${MKDIR} ${PKG_DBDIR} .if !defined(DESTDIR) - @already_installed=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ + @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed"; \ + ${MKDIR} ${PKG_DBDIR}; \ + already_installed=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${already_installed}" ]; then \ for p in $${already_installed}; do \ prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ @@ -3723,7 +3723,23 @@ fi; \ fi; \ done; \ - fi; + fi +.else + @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed in ${DESTDIR}"; \ + ${MKDIR} ${PKG_DBDIR}; \ + already_installed=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -O ${PKGORIGIN}`; \ + if [ -n "$${already_installed}" ]; then \ + for p in $${already_installed}; do \ + prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ + if [ "x${PREFIX}" = "x$${prfx}" ]; then \ + df=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -f $${p} 2> /dev/null | ${GREP} -v "^@" | ${COMM} -12 - ${TMPPLIST}`; \ + if [ -n "$${df}" ]; then \ + found_package=$${p}; \ + break; \ + fi; \ + fi; \ + done; \ + fi .endif @if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 11:22:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A56316A4E0; Mon, 17 Jul 2006 11:22:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 03CBF16A4DD for ; Mon, 17 Jul 2006 11:22:14 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8E1143D6B for ; Mon, 17 Jul 2006 11:22:13 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HBMDvi076758 for ; Mon, 17 Jul 2006 11:22:13 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HBMDHi076755 for perforce@freebsd.org; Mon, 17 Jul 2006 11:22:13 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 11:22:13 GMT Message-Id: <200607171122.k6HBMDHi076755@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 11:22:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=101751 Change 101751 by gonzo@gonzo_hq on 2006/07/17 11:21:39 o When redefining HACK_EXTRA_FLAGS in arch Makefile, -shared should be set explicitly otherwise there isno .dynamic section in hack.So and therefor in resulting kernel image. o Get rid of -Ttext 0xYYYYYYYY in LDFLAGS, the proper way is to define it in config ffile as KERNVIRTADDR with further sed magic. Meanwhile it is hardcoded in ldscript as is. Affected files ... .. //depot/projects/mips2/src/sys/conf/Makefile.mips#9 edit .. //depot/projects/mips2/src/sys/conf/ldscript.mips#4 edit .. //depot/projects/mips2/src/sys/mips/conf/MALTA#6 edit .. //depot/projects/mips2/src/sys/mips/conf/QEMU#6 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/Makefile.mips#9 (text+ko) ==== @@ -38,6 +38,7 @@ # kernel configuration file. ARCH_FLAGS?=-march=mips32 +HACK_EXTRA_FLAGS=-shared .if defined(MIPS_LITTLE_ENDIAN) CFLAGS+=-EL SYSTEM_LD+=-EL @@ -50,7 +51,6 @@ HACK_EXTRA_FLAGS+=-fno-pic -mno-abicalls $(ARCH_FLAGS) # XXX hardcoded kernel entry point -SYSTEM_LD+= -Ttext 0x80100000 ASM_FLAGS+=${CFLAGS} -D_LOCORE -DLOCORE %BEFORE_DEPEND ==== //depot/projects/mips2/src/sys/conf/ldscript.mips#4 (text+ko) ==== @@ -4,12 +4,13 @@ ENTRY(_start) SEARCH_DIR(/usr/lib); /* Do we need any of these for elf? - __DYNAMIC = 0; */ + __DYNAMIC = 0; PROVIDE (_DYNAMIC = 0); +*/ SECTIONS { /* Read-only sections, merged into text segment: */ - . = . + SIZEOF_HEADERS; + . = 0x80100000 + SIZEOF_HEADERS; .interp : { *(.interp) } .hash : { *(.hash) } .dynsym : { *(.dynsym) } ==== //depot/projects/mips2/src/sys/mips/conf/MALTA#6 (text+ko) ==== @@ -27,9 +27,7 @@ # Don't build any modules yet. makeoptions MODULES_OVERRIDE="" -options KERNPHYSADDR=0xc0000000 -options KERNVIRTADDR=0xc0000000 -options PHYSADDR=0xc0000000 +options KERNVIRTADDR=0x80100000 include "../mips4k/malta/std.malta" hints "MALTA.hints" #Default places to look for devices. ==== //depot/projects/mips2/src/sys/mips/conf/QEMU#6 (text+ko) ==== @@ -28,9 +28,7 @@ # Don't build any modules yet. makeoptions MODULES_OVERRIDE="" -options KERNPHYSADDR=0xc0000000 -options KERNVIRTADDR=0xc0000000 -options PHYSADDR=0xc0000000 +options KERNVIRTADDR=0x80100000 include "../adm5120/std.adm5120" #hints "GENERIC.hints" #Default places to look for devices. From owner-p4-projects@FreeBSD.ORG Mon Jul 17 11:42:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3D6316A4E2; Mon, 17 Jul 2006 11:42:51 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75E5016A4E0 for ; Mon, 17 Jul 2006 11:42:51 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30EF643D6A for ; Mon, 17 Jul 2006 11:42:51 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HBgpFa079771 for ; Mon, 17 Jul 2006 11:42:51 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HBgo0m079768 for perforce@freebsd.org; Mon, 17 Jul 2006 11:42:50 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 11:42:50 GMT Message-Id: <200607171142.k6HBgo0m079768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101754 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 11:42:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=101754 Change 101754 by gabor@gabor_spitfire on 2006/07/17 11:42:06 Deinstall-all works now with chrooted pkg_info and pkg_delete. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#29 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#29 (text+ko) ==== @@ -4270,6 +4270,7 @@ ${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${.TARGET}" @${ECHO_MSG} "===> Returning to user credentials" .else +.if !defined(DESTDIR) @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}" @deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${deinstall_names}" ]; then \ @@ -4280,6 +4281,18 @@ else \ ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \ fi +.else + @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" + @deinstall_names=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -O ${PKGORIGIN}`; \ + if [ -n "$${deinstall_names}" ]; then \ + for d in $${deinstall_names}; do \ + ${ECHO_MSG} "===> Deinstalling $${d} from ${DESTDIR}"; \ + ${CHROOT} ${DESTDIR} ${PKG_DELETE} -f $${d}; \ + done; \ + else \ + ${ECHO_MSG} "===> ${PKGORIGIN} not installed in ${DESTDIR}, skipping"; \ + fi +.endif @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif .endif From owner-p4-projects@FreeBSD.ORG Mon Jul 17 12:37:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1941416A4DF; Mon, 17 Jul 2006 12:37:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CD86A16A4DA for ; Mon, 17 Jul 2006 12:36:59 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7EA6F43D6E for ; Mon, 17 Jul 2006 12:36:59 +0000 (GMT) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HCaxRM083979 for ; Mon, 17 Jul 2006 12:36:59 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HCaxWS083976 for perforce@freebsd.org; Mon, 17 Jul 2006 12:36:59 GMT (envelope-from bms@incunabulum.net) Date: Mon, 17 Jul 2006 12:36:59 GMT Message-Id: <200607171236.k6HCaxWS083976@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 101757 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 12:37:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=101757 Change 101757 by bms@bms_montagne on 2006/07/17 12:36:02 Nuke specialreg.h ; it's just a fork/copy of cpuregs.h Eliminate references Affected files ... .. //depot/projects/mips2/src/sys/mips/include/specialreg.h#3 delete .. //depot/projects/mips2/src/sys/mips/mips/sys_machdep.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/sys_machdep.c#3 (text+ko) ==== @@ -33,12 +33,7 @@ #include #include #include -/* - * XXXMIPS: Comment it for now. - */ -#if 0 -#include -#endif + #include #include From owner-p4-projects@FreeBSD.ORG Mon Jul 17 13:12:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E489016A4DD; Mon, 17 Jul 2006 13:12:45 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 88AE916A4DE for ; Mon, 17 Jul 2006 13:12:45 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2C5143D4C for ; Mon, 17 Jul 2006 13:12:44 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HDCiPO094590 for ; Mon, 17 Jul 2006 13:12:44 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HDCiJx094587 for perforce@freebsd.org; Mon, 17 Jul 2006 13:12:44 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 13:12:44 GMT Message-Id: <200607171312.k6HDCiJx094587@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101759 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 13:12:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=101759 Change 101759 by gabor@gabor_spitfire on 2006/07/17 13:12:19 Fix all pkg_ commands to be chrooted by defining the PKG_ variables appropriately. This change also makes the code simpler and shorter. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#30 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#30 (text+ko) ==== @@ -2231,18 +2231,33 @@ .if ${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install" EXTRACT_DEPENDS+= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install .endif +.if !defined(DESTDIR) PKG_CMD?= ${LOCALBASE_REL}/sbin/pkg_create PKG_ADD?= ${LOCALBASE_REL}/sbin/pkg_add PKG_DELETE?= ${LOCALBASE_REL}/sbin/pkg_delete PKG_INFO?= ${LOCALBASE_REL}/sbin/pkg_info PKG_VERSION?= ${LOCALBASE_REL}/sbin/pkg_version .else +PKG_CMD?= ${LOCALBASE_REL}/sbin/pkg_create +PKG_ADD?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_add +PKG_DELETE?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_delete +PKG_INFO?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_info +.endif +.else +.if !defined(DESTDIR) PKG_CMD?= /usr/sbin/pkg_create PKG_ADD?= /usr/sbin/pkg_add PKG_DELETE?= /usr/sbin/pkg_delete PKG_INFO?= /usr/sbin/pkg_info PKG_VERSION?= /usr/sbin/pkg_version +.else +PKG_CMD?= /usr/sbin/pkg_create +PKG_ADD?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_add +PKG_DELETE?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_delete +PKG_INFO?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_info +PKG_VERSION?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_version .endif +.endif # Does the pkg_create tool support conflict checking? # XXX Slow? @@ -3542,7 +3557,6 @@ .if !target(check-conflicts) check-conflicts: .if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS) -.if !defined(DESTDIR) @found=`${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \ conflicts_with=; \ for entry in $${found}; do \ @@ -3565,30 +3579,6 @@ ${ECHO_MSG} " Please remove them first with pkg_delete(1)."; \ exit 1; \ fi -.else - @found=`${CHROOT} ${DESTDIR} ${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \ - conflicts_with=; \ - for entry in $${found}; do \ - if ${CHROOT} ${DESTDIR} ${PKG_INFO} -e $${entry} ; then \ - prfx=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -p "$${entry}" 2> /dev/null | ${SED} -ne '1s/^@cwd //p'`; \ - orgn=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -o "$${entry}" 2> /dev/null`; \ - if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \ - conflicts_with="$${conflicts_with} $${entry}"; \ - fi; \ - fi; \ - done; \ - if [ -n "$${conflicts_with}" ]; then \ - ${ECHO_MSG}; \ - ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s) in ${DESTDIR}: "; \ - for entry in $${conflicts_with}; do \ - ${ECHO_MSG} " $${entry}"; \ - done; \ - ${ECHO_MSG}; \ - ${ECHO_MSG} " They install files into the same place."; \ - ${ECHO_MSG} " Please remove them first with pkg_delete(1) from ${DESTDIR}."; \ - exit 1; \ - fi -.endif .endif # CONFLICTS .endif @@ -3709,7 +3699,10 @@ check-already-installed: .if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) .if !defined(DESTDIR) - @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed"; \ + @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed" +.else + @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed in ${DESTDIR}" +.endif ${MKDIR} ${PKG_DBDIR}; \ already_installed=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${already_installed}" ]; then \ @@ -3724,23 +3717,6 @@ fi; \ done; \ fi -.else - @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed in ${DESTDIR}"; \ - ${MKDIR} ${PKG_DBDIR}; \ - already_installed=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -O ${PKGORIGIN}`; \ - if [ -n "$${already_installed}" ]; then \ - for p in $${already_installed}; do \ - prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ - if [ "x${PREFIX}" = "x$${prfx}" ]; then \ - df=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -f $${p} 2> /dev/null | ${GREP} -v "^@" | ${COMM} -12 - ${TMPPLIST}`; \ - if [ -n "$${df}" ]; then \ - found_package=$${p}; \ - break; \ - fi; \ - fi; \ - done; \ - fi -.endif @if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ ${ECHO_CMD} "===> ${PKGNAME} is already installed"; \ @@ -4218,6 +4194,9 @@ .else .if !defined(DESTDIR) @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}" +.else + @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" +.endif @found_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ for p in $${found_names}; do \ check_name=`${ECHO_CMD} $${p} | ${SED} -e 's/-[^-]*$$//'`; \ @@ -4235,28 +4214,8 @@ ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \ fi @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} -.else - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" - @found_names=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -O ${PKGORIGIN}`; \ - for p in $${found_names}; do \ - check_name=`${ECHO_CMD} $${p} | ${SED} -e 's/-[^-]*$$//'`; \ - if [ "$${check_name}" = "${PKGBASE}" ]; then \ - prfx=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ - if [ "x${PREFIX}" = "x$${prfx}" ]; then \ - ${ECHO_MSG} "===> Deinstalling $${p}"; \ - ${CHROOT} ${DESTDIR} ${PKG_DELETE} -f $${p}; \ - else \ - ${ECHO_MSG} "===> $${p} has a different PREFIX: $${prfx}, skipping"; \ - fi; \ - fi; \ - done; \ - if [ -z "$${found_names}" ]; then \ - ${ECHO_MSG} "===> ${PKGBASE} not installed in ${DESTDIR}, skipping"; \ - fi - @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif .endif -.endif # Deinstall-all # @@ -4272,6 +4231,9 @@ .else .if !defined(DESTDIR) @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}" +.else + @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" +.endif @deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${deinstall_names}" ]; then \ for d in $${deinstall_names}; do \ @@ -4280,22 +4242,10 @@ done; \ else \ ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \ - fi -.else - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" - @deinstall_names=`${CHROOT} ${DESTDIR} ${PKG_INFO} -q -O ${PKGORIGIN}`; \ - if [ -n "$${deinstall_names}" ]; then \ - for d in $${deinstall_names}; do \ - ${ECHO_MSG} "===> Deinstalling $${d} from ${DESTDIR}"; \ - ${CHROOT} ${DESTDIR} ${PKG_DELETE} -f $${d}; \ - done; \ - else \ - ${ECHO_MSG} "===> ${PKGORIGIN} not installed in ${DESTDIR}, skipping"; \ - fi + fi; \ + ${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif - @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif -.endif # Cleaning up @@ -4680,6 +4630,8 @@ _DEPEND_ALWAYS= 0 .endif +### FIXME: that pkg_add should be fixed for DESTDIR + _INSTALL_DEPENDS= \ if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ @@ -5535,9 +5487,8 @@ fi; \ if [ -f ${PKGMESSAGE} ]; then \ ${CP} ${PKGMESSAGE} ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \ - fi -.if !defined(DESTDIR) - @for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ + fi; \ + for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ >/dev/null 2>&1; then \ @@ -5545,16 +5496,6 @@ fi; \ fi; \ done -.else - @for dep in `${CHROOT} ${DESTDIR} ${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ - if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ - if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ - >/dev/null 2>&1; then \ - ${ECHO_CMD} ${PKGNAME} >> ${PKG_DBDIR}/$$dep/+REQUIRED_BY; \ - fi; \ - fi; \ - done -.endif .endif .if !defined(NO_MTREE) @if [ -f ${MTREE_FILE} ]; then \ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 13:39:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDA0916A4E2; Mon, 17 Jul 2006 13:39:20 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 99E1116A4E0 for ; Mon, 17 Jul 2006 13:39:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44E0243D4C for ; Mon, 17 Jul 2006 13:39:20 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HDdKLL095833 for ; Mon, 17 Jul 2006 13:39:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HDdJX8095830 for perforce@freebsd.org; Mon, 17 Jul 2006 13:39:19 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 13:39:19 GMT Message-Id: <200607171339.k6HDdJX8095830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101762 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 13:39:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=101762 Change 101762 by gonzo@gonzo_hq on 2006/07/17 13:38:28 o Add PC register to pcb block. It is required for detection of breakpoint location in trap handler and for stack unwinding. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/db_machdep.h#3 edit .. //depot/projects/mips2/src/sys/mips/include/pcb.h#3 edit .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#16 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/db_machdep.h#3 (text+ko) ==== @@ -54,7 +54,7 @@ extern db_regs_t ddb_regs; /* register state */ -#define PC_REGS() ((db_addr_t)ddb_regs.f_regs[PC]) +#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_regs[PCB_REG_PC]) #define PC_ADVANCE() do { \ if ((db_get_value(ddb_regs.f_regs[PC], sizeof(int), FALSE) & \ ==== //depot/projects/mips2/src/sys/mips/include/pcb.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * Process Control Block. */ struct pcb { - __register_t pcb_regs[12]; + __register_t pcb_regs[13]; }; #define PCB_REG_S0 (0) @@ -49,6 +49,7 @@ #define PCB_REG_SP (9) #define PCB_REG_SR (10) #define PCB_REG_RA (11) +#define PCB_REG_PC (12) #ifdef _KERNEL #define PCB_FSR(pcb) (0) ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#16 (text+ko) ==== @@ -193,6 +193,7 @@ pcb->pcb_regs[PCB_REG_SR] = tf->tf_regs[TF_SR]; pcb->pcb_regs[PCB_REG_RA] = tf->tf_regs[TF_RA]; pcb->pcb_regs[PCB_REG_SP] = tf->tf_regs[TF_SP]; + pcb->pcb_regs[PCB_REG_PC] = tf->tf_regs[TF_EPC]; } From owner-p4-projects@FreeBSD.ORG Mon Jul 17 13:39:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B6CE16A558; Mon, 17 Jul 2006 13:39:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D323616A550 for ; Mon, 17 Jul 2006 13:39:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC8FB43D4C for ; Mon, 17 Jul 2006 13:39:20 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HDdKM0095839 for ; Mon, 17 Jul 2006 13:39:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HDdKdf095836 for perforce@freebsd.org; Mon, 17 Jul 2006 13:39:20 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 13:39:20 GMT Message-Id: <200607171339.k6HDdKdf095836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101763 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 13:39:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=101763 Change 101763 by gonzo@gonzo_hq on 2006/07/17 13:39:18 o Stack unwinding routine for MIPS added. o "unimplemented" stubs added. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/db_trace.c#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/db_trace.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -41,8 +42,7 @@ #include #include -void db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t - count, char *modif); +void db_stack_trace_cmd(db_expr_t pc_addr, db_expr_t sp, db_expr_t count); void db_print_backtrace(void); struct db_variable db_regs[] = { @@ -89,44 +89,61 @@ extern char btext[]; static u_register_t -db_stack_register_fetch(u_register_t sp, u_register_t stacksize, u_register_t r) +db_stack_register_fetch(u_register_t sp, u_register_t stack_pos, u_register_t r) { - if (sp == ddb_regs.f_regs[SP]) { - return (ddb_regs.f_regs[r]); + u_register_t * stack = (u_register_t *) sp; + /* + * XXX: This is true only if we're in KSEG0, otherwise we need map + * virtual address to physical + */ + if(r == RA) { + return *(stack+stack_pos/sizeof(u_register_t)); } else { - db_printf("\n*** don't know how to read registers from stack ***\n"); + db_printf("\n*** Not RA register type ***\n"); return (0); } } +/* + * Unwind stack for given PC and SP values. Unlike other architectures + * MIPS stack unwinding requires program counter value along with SP. + * Stack unwinding is based on some heuristics. We assume that SP operations + * marks the very beginning of function entry. It is not 100% correct, though + * this implementation is good enough for practical use. + */ void -db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, - char *modif) +db_stack_trace_cmd(db_expr_t pc_addr, db_expr_t sp_addr, db_expr_t count) { - u_register_t sp, ra, pc, i, stacksize, func; + u_register_t sp, ra = 0, pc, i, stacksize, func; + short ra_stack_pos = 0; InstFmt insn; + c_db_sym_t sym; + const char *name; + db_expr_t offset, value; - sp = ddb_regs.f_regs[SP]; - ra = ddb_regs.f_regs[RA]; - pc = ddb_regs.f_regs[PC]; + sp = sp_addr; + pc = pc_addr; for (;;) { func = 0; stacksize = 0; if (pc <= (u_register_t)btext) break; - db_printf("%p", (void *)pc); for (i = pc; i >= (u_register_t)btext; i -= sizeof (insn)) { bcopy((void *)i, &insn, sizeof insn); switch (insn.IType.op) { case OP_ADDI: case OP_ADDIU: - case OP_DADDI: - case OP_DADDIU: if (insn.IType.rs != SP || insn.IType.rt != SP) break; stacksize = -(short)insn.IType.imm; break; + + case OP_SW: + if (insn.IType.rs != SP || insn.IType.rt != RA) + break; + ra_stack_pos = (short)insn.IType.imm; + break; default: break; } @@ -136,20 +153,37 @@ } } - db_printf(" in %p\n", (void *)func); + sym = db_search_symbol(func, DB_STGY_ANY, &offset); + if (sym == C_DB_SYM_NULL) { + value = 0; + name = "(null)"; + } else + db_symbol_values(sym, &name, &value); + + db_printf("0x%08x", pc); + if(name != NULL) + db_printf(" in %s(stacksize=%d, ra saved at %d)\n", + name, stacksize, ra_stack_pos); + else + db_printf(" in %p(stacksize=%d, ra saved at %d)\n", + (void *)func, stacksize, ra_stack_pos); - sp += stacksize; for (i = pc; !ra; i += sizeof (insn)) { bcopy((void *)i, &insn, sizeof insn); + switch (insn.IType.op) { - case OP_JR: - case OP_JALR: - if (ra >= (u_register_t)btext) - break; - ra = db_stack_register_fetch(sp, stacksize, insn.RType.rs); - if (!ra) - goto done; + case OP_SPECIAL: + if((insn.RType.func == OP_JR)) + { + if (ra >= (u_register_t)btext) + break; + ra = db_stack_register_fetch(sp, + ra_stack_pos, insn.RType.rs); + if (!ra) + goto done; + ra -= 8; + } break; default: break; @@ -163,6 +197,7 @@ db_printf("--- loop? ----\n"); break; } + sp += stacksize; pc = ra; ra = 0; } @@ -172,38 +207,46 @@ void db_print_backtrace(void) { - u_long *sp; - - sp = __builtin_frame_address(1); - db_stack_trace_cmd((db_expr_t)sp, TRUE, -1, "a"); + printf("%s unimplemented\n", __func__); } int db_md_set_watchpoint(db_expr_t dummy1, db_expr_t dummy2) { + printf("%s unimplemented\n", __func__); return (0); } int db_md_clr_watchpoint(db_expr_t dummy1, db_expr_t dummy2) { + printf("%s unimplemented\n", __func__); return (0); } void db_md_list_watchpoints(void) { - + printf("%s unimplemented\n", __func__); } int db_trace_thread(struct thread *thr, int count) { + u_register_t pc; + u_register_t sp; + struct pcb *ctx; + + ctx = kdb_thr_ctx(thr); + pc = ctx->pcb_regs[PCB_REG_PC]; + sp = ctx->pcb_regs[PCB_REG_SP]; + + db_stack_trace_cmd(pc, sp, -1); return (0); } void db_trace_self(void) { - + printf("%s unimplemented\n", __func__); } From owner-p4-projects@FreeBSD.ORG Mon Jul 17 13:42:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1290716A4FF; Mon, 17 Jul 2006 13:42:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B41B616A4FD for ; Mon, 17 Jul 2006 13:42:26 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05E2A43D68 for ; Mon, 17 Jul 2006 13:42:25 +0000 (GMT) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HDgO18096075 for ; Mon, 17 Jul 2006 13:42:24 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HDgOTA096072 for perforce@freebsd.org; Mon, 17 Jul 2006 13:42:24 GMT (envelope-from bms@incunabulum.net) Date: Mon, 17 Jul 2006 13:42:24 GMT Message-Id: <200607171342.k6HDgOTA096072@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 101764 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 13:42:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=101764 Change 101764 by bms@bms_montagne on 2006/07/17 13:42:23 Add board-level reset routine malta_reset(). Not emulated in gxemul Affected files ... .. //depot/projects/mips2/src/sys/mips/mips4k/malta/malta_machdep.c#2 integrate Differences ... ==== //depot/projects/mips2/src/sys/mips/mips4k/malta/malta_machdep.c#2 (text+ko) ==== @@ -34,6 +34,7 @@ void lcd_init(void); void lcd_puts(char *); +void malta_reset(void); /* * Offsets to MALTA LCD characters. @@ -92,3 +93,15 @@ malta_lcd_print(s); } +/* + * Perform a board-level soft-reset. + * Note that this is not emulated by gxemul. + */ +void +malta_reset(void) +{ + char *c; + + c = (char *)MIPS_PHYS_TO_KSEG0(MALTA_SOFTRES); + *c = MALTA_GORESET; +} From owner-p4-projects@FreeBSD.ORG Mon Jul 17 14:14:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF7DB16A4E2; Mon, 17 Jul 2006 14:14:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C40E116A4DF for ; Mon, 17 Jul 2006 14:14:05 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B4B443D46 for ; Mon, 17 Jul 2006 14:14:05 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HEE5YF098785 for ; Mon, 17 Jul 2006 14:14:05 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HEE5kO098782 for perforce@freebsd.org; Mon, 17 Jul 2006 14:14:05 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 14:14:05 GMT Message-Id: <200607171414.k6HEE5kO098782@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101767 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 14:14:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=101767 Change 101767 by gabor@gabor_spitfire on 2006/07/17 14:13:45 I forgot to hide some shell commands with an @. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#31 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#31 (text+ko) ==== @@ -3703,7 +3703,7 @@ .else @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed in ${DESTDIR}" .endif - ${MKDIR} ${PKG_DBDIR}; \ + @${MKDIR} ${PKG_DBDIR}; \ already_installed=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${already_installed}" ]; then \ for p in $${already_installed}; do \ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 15:12:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 561ED16A4E0; Mon, 17 Jul 2006 15:12:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1834816A4DA for ; Mon, 17 Jul 2006 15:12:18 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8ED343D46 for ; Mon, 17 Jul 2006 15:12:17 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HFCHX7002955 for ; Mon, 17 Jul 2006 15:12:17 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HFCHrK002952 for perforce@freebsd.org; Mon, 17 Jul 2006 15:12:17 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 17 Jul 2006 15:12:17 GMT Message-Id: <200607171512.k6HFCHrK002952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101769 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 15:12:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=101769 Change 101769 by rdivacky@rdivacky_witten on 2006/07/17 15:11:53 Change sv_mask from 0xff to 0. This lets linuxolator use more then 256 syscalls. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_sysvec.c#5 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#9 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_sysvec.c#5 (text+ko) ==== @@ -988,7 +988,7 @@ struct sysentvec elf_linux_sysvec = { LINUX_SYS_MAXSYSCALL, linux_sysent, - 0xff, + 0, LINUX_SIGTBLSZ, bsd_to_linux_signal, ELAST + 1, ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#9 (text+ko) ==== @@ -812,7 +812,7 @@ struct sysentvec linux_sysvec = { LINUX_SYS_MAXSYSCALL, linux_sysent, - 0xff, + 0, LINUX_SIGTBLSZ, bsd_to_linux_signal, ELAST + 1, @@ -841,7 +841,7 @@ struct sysentvec elf_linux_sysvec = { LINUX_SYS_MAXSYSCALL, linux_sysent, - 0xff, + 0, LINUX_SIGTBLSZ, bsd_to_linux_signal, ELAST + 1, From owner-p4-projects@FreeBSD.ORG Mon Jul 17 15:15:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CA0F16A4E1; Mon, 17 Jul 2006 15:15:23 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D2F4F16A4E0 for ; Mon, 17 Jul 2006 15:15:22 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BA2A43D6A for ; Mon, 17 Jul 2006 15:15:22 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HFFMCC003090 for ; Mon, 17 Jul 2006 15:15:22 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HFFMuq003087 for perforce@freebsd.org; Mon, 17 Jul 2006 15:15:22 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 17 Jul 2006 15:15:22 GMT Message-Id: <200607171515.k6HFFMuq003087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101770 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 15:15:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=101770 Change 101770 by rdivacky@rdivacky_witten on 2006/07/17 15:15:00 Several small things I have in queue: o template for SETTLS in clone o change set_thread_area() debug print to be even more sane o change get_thread() to always read segment 3 (reading segment 6 is bogus) o dont leak emuldata in a case when linux binary execs to fbsd one Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#16 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#16 (text+ko) ==== @@ -368,6 +368,7 @@ #define CLONE_SIGHAND 0x800 #define CLONE_PID 0x1000 #define CLONE_THREAD 0x10000 +#define CLONE_SETTLS 0x80000 #define CLONE_CHILD_CLEARTID 0x00200000 #define CLONE_CHILD_SETTID 0x01000000 #define CLONE_PARENT_SETTID 0x00100000 @@ -457,6 +458,10 @@ em->child_set_tid = NULL; EMUL_RUNLOCK(&emul_lock); + if (args->flags & CLONE_SETTLS) { + /* XXX: set the TLS */ + } + PROC_LOCK(p2); p2->p_sigparent = exit_signal; PROC_UNLOCK(p2); @@ -948,7 +953,7 @@ #ifdef DEBUG if (ldebug(set_thread_area)) - printf(ARGS(set_thread_area, "%i, %i, %i, %i, %i, %i, %i, %i, %i\n"), + printf(ARGS(set_thread_area, "%i, %x, %x, %i, %i, %i, %i, %i, %i\n"), info.entry_number, info.base_addr, info.limit, @@ -1045,6 +1050,8 @@ if (idx != 6 && idx != 3) return (EINVAL); + idx = 3; + memset(&info, 0, sizeof(info)); sd = PCPU_GET(fsgs_gdt)[1]; @@ -1197,6 +1204,20 @@ if (__predict_false(imgp->sysent == &elf_linux_sysvec && p->p_sysent == &elf32_freebsd_sysvec)) linux_proc_init(FIRST_THREAD_IN_PROC(p), p->p_pid); + if (__predict_false(imgp->sysent == &elf32_freebsd_sysvec + && p->p_sysent == &elf_linux_sysvec)) { + struct linux_emuldata *em; + + em = em_find(p->p_pid, EMUL_UNLOCKED); + + if (em == NULL) { +#ifdef DEBUG + printf(LMSG("we didnt find emuldata for the execing process.\n")); +#endif + return; + } + FREE(em, M_LINUX); + } } void From owner-p4-projects@FreeBSD.ORG Mon Jul 17 16:25:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5F3A16A594; Mon, 17 Jul 2006 16:25:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A64F616A580 for ; Mon, 17 Jul 2006 16:25:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA8B943D5D for ; Mon, 17 Jul 2006 16:25:56 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k6HGPik1038606; Mon, 17 Jul 2006 12:25:55 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Divacky Roman Date: Mon, 17 Jul 2006 11:50:22 -0400 User-Agent: KMail/1.9.1 References: <200607150905.k6F959IT031112@repoman.freebsd.org> <200607151003.28710.jhb@freebsd.org> <20060715143502.GA77297@stud.fit.vutbr.cz> In-Reply-To: <20060715143502.GA77297@stud.fit.vutbr.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607171150.22668.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 17 Jul 2006 12:25:55 -0400 (EDT) X-Virus-Scanned: ClamAV 0.87.1/1600/Sat Jul 15 11:03:46 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 101643 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 16:25:58 -0000 On Saturday 15 July 2006 10:35, Divacky Roman wrote: > On Sat, Jul 15, 2006 at 10:03:28AM -0400, John Baldwin wrote: > > On Saturday 15 July 2006 05:05, Roman Divacky wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=101643 > > > > > > Change 101643 by rdivacky@rdivacky_witten on 2006/07/15 09:04:22 > > > > > > Several things at once: > > > > > > o Change process_exit and process_exec function handlers prototype > > > to include struct image_params arg. > > > > Why did you add it to process_exit()? exit() doesn't have an imgp to > > pass, so this doesn't make sense. If you are doing it so you can use > > the same function for both, then use a wrapper in the exit() case or some > > such. > > because most users of process_exec eventhandler use the same function both > for process_exit and process_exec. I didnt know how to solve that otherwise. > in the process_exit case I pass in NULL and I change all the other users to > > foo(void *arg, struct proc *p, struct image_params *imgp __unused) > > if its not ok tell me how to change that I don't think it's clean design wise. I think you should fix all the other places to register a different function for the exec/exit cases. One can just be a wrapper for the other (e.g. have the exec one just ignore the imgp and call the exit one). -- John Baldwin From owner-p4-projects@FreeBSD.ORG Mon Jul 17 17:34:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6B4E16A4E1; Mon, 17 Jul 2006 17:34:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4ABA416A4DD for ; Mon, 17 Jul 2006 17:34:22 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F78443D45 for ; Mon, 17 Jul 2006 17:34:21 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HHYLEC020776 for ; Mon, 17 Jul 2006 17:34:21 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HHYLTm020773 for perforce@freebsd.org; Mon, 17 Jul 2006 17:34:21 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 17:34:21 GMT Message-Id: <200607171734.k6HHYLTm020773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101778 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 17:34:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=101778 Change 101778 by gabor@gabor_spitfire on 2006/07/17 17:33:45 Fix the security report code in bsd.port.mk to respect DESTDIR. It seems that actually not this code is that runs on my system, so this needs a bit of further investigation. When does this code run? And what code runs in another cases? Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#32 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#32 (text+ko) ==== @@ -3853,8 +3853,6 @@ .if !target(security-check) .if !defined(OLD_SECURITY_CHECK) -### FIXME: in the displayed checksum DESTDIR should be displayed if set - security-check: # Scan PLIST for: # 1. setugid files @@ -3945,30 +3943,57 @@ ${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \ if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.network -o -s ${WRKDIR}/.PLIST.writable ]; then \ if [ -n "$$PORTS_AUDIT" ]; then \ - ${ECHO_MSG} "===> SECURITY REPORT (PARANOID MODE): "; \ + if [ -z "${DESTDIR}" ] ; \ + ${ECHO_MSG} "===> SECURITY REPORT (PARANOID MODE): "; \ + else \ + ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR} (PARANOID MODE): "; \ + fi; \ else \ - ${ECHO_MSG} "===> SECURITY REPORT: "; \ + if [ -z "${DESTDIR}" ] ; \ + ${ECHO_MSG} "===> SECURITY REPORT: "; \ + else \ + ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR}: "; \ + fi; \ fi; \ if [ -s ${WRKDIR}/.PLIST.setuid ] ; then \ - ${ECHO_MSG} " This port has installed the following binaries, which execute with"; \ - ${ECHO_MSG} " increased privileges."; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} " This port has installed the following binaries,"; \ + else \ + ${ECHO_MSG} " This port has installed the following binaries into ${DESTDIR},"; \ + fi; \ + ${ECHO_MSG} " which execute with increased privileges."; \ ${CAT} ${WRKDIR}/.PLIST.setuid; \ ${ECHO_MSG}; \ fi; \ if [ -s ${WRKDIR}/.PLIST.network ] ; then \ - ${ECHO_MSG} " This port has installed the following files, which may act as network"; \ - ${ECHO_MSG} " servers and may therefore pose a remote security risk to the system."; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} " This port has installed the following files, which may act as network"; \ + ${ECHO_MSG} " servers and may therefore pose a remote security risk to the system."; \ + else \ + ${ECHO_MSG} " This port has installed the following files into ${DESTDIR}, which may"; \ + ${ECHO_MSG} " act as network servers and may therefore pose a remote security risk to"; \ + ${ECHO_MSG} " the system."; \ + fi; \ ${CAT} ${WRKDIR}/.PLIST.network; \ ${ECHO_MSG}; \ if [ -s ${WRKDIR}/.PLIST.startup ] ; then \ - ${ECHO_MSG} " This port has installed the following startup scripts, which may cause"; \ - ${ECHO_MSG} " these network services to be started at boot time."; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} " This port has installed the following startup scripts,"; \ + else \ + ${ECHO_MSG} " This port has installed the following startup scripts into ${DESTDIR},"; \ + fi; \ + ${ECHO_MSG} " which may cause these network services to be started at boot time."; \ ${SED} s,^,${PREFIX}/, < ${WRKDIR}/.PLIST.startup; \ ${ECHO_MSG}; \ fi; \ fi; \ if [ -s ${WRKDIR}/.PLIST.writable ] ; then \ - ${ECHO_MSG} " This port has installed the following world-writable files/directories."; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} " This port has installed the following world-writable files/directories."; \ + else \ + ${ECHO_MSG} " This port has installed the following world-writable files/directories"; \ + ${ECHO_MSG} " into ${DESTDIR}."; \ + fi; \ ${CAT} ${WRKDIR}/.PLIST.writable; \ ${ECHO_MSG}; \ fi; \ From owner-p4-projects@FreeBSD.ORG Mon Jul 17 17:46:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 774C116A4DF; Mon, 17 Jul 2006 17:46:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E47216A4DD for ; Mon, 17 Jul 2006 17:46:44 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C83E43D70 for ; Mon, 17 Jul 2006 17:46:38 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HHkbhb022864 for ; Mon, 17 Jul 2006 17:46:38 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HHkbrX022861 for perforce@freebsd.org; Mon, 17 Jul 2006 17:46:37 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 17:46:37 GMT Message-Id: <200607171746.k6HHkbrX022861@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101780 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 17:46:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=101780 Change 101780 by gabor@gabor_spitfire on 2006/07/17 17:45:38 Chroot a pkg_add command with -C if DESTDIR is set. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#33 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#33 (text+ko) ==== @@ -4655,22 +4655,28 @@ _DEPEND_ALWAYS= 0 .endif -### FIXME: that pkg_add should be fixed for DESTDIR - _INSTALL_DEPENDS= \ if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ if [ -r "$${subpkgfile}" -a "$$target" = "${DEPENDS_TARGET}" ]; then \ - ${ECHO_MSG} "===> Installing existing package $${subpkgfile}"; \ - ${PKG_ADD} $${subpkgfile}; \ + if [ -z "${DESTDIR} ] ; then \ + ${ECHO_MSG} "===> Installing existing package $${subpkgfile}"; \ + ${PKG_ADD} $${subpkgfile}; \ + else \ + ${ECHO_MSG} "===> Installing existing package $${subpkgfile} into ${DESTDIR}"; \ + ${PKG_ADD} -C ${DESTDIR} $${subpkgfile}; \ + fi; \ else \ (cd $$dir; ${MAKE} -DINSTALLS_DEPENDS $$target $$depends_args) ; \ fi; \ else \ (cd $$dir; ${MAKE} -DINSTALLS_DEPENDS $$target $$depends_args) ; \ - fi ; \ - ${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \ - + fi; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \ + else \ + ${ECHO_MSG} "===> Returning to build of ${PKGNAME} for ${DESTDIR}"; \ + fi .for deptype in EXTRACT PATCH FETCH BUILD RUN ${deptype:L}-depends: From owner-p4-projects@FreeBSD.ORG Mon Jul 17 18:40:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF2B416A4E1; Mon, 17 Jul 2006 18:40:47 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0CC816A4DE for ; Mon, 17 Jul 2006 18:40:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7DF7143D46 for ; Mon, 17 Jul 2006 18:40:47 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HIeloF026801 for ; Mon, 17 Jul 2006 18:40:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HIelkw026798 for perforce@freebsd.org; Mon, 17 Jul 2006 18:40:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 17 Jul 2006 18:40:47 GMT Message-Id: <200607171840.k6HIelkw026798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101783 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 18:40:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=101783 Change 101783 by hselasky@hselasky_mini_itx on 2006/07/17 18:39:53 Make the USB_DEVICEINFO IOCTL backwards compatible. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.c#6 (text+ko) ==== @@ -857,13 +857,18 @@ int addr = di->udi_addr; if((addr < 1) || - (addr >= USB_MAX_DEVICES) || - (bus->devices[addr] == 0)) + (addr >= USB_MAX_DEVICES)) { error = EINVAL; goto done; } + if (bus->devices[addr] == 0) + { + error = ENXIO; + goto done; + } + error = usbd_fill_deviceinfo(bus->devices[addr], di, 1); goto done; } From owner-p4-projects@FreeBSD.ORG Mon Jul 17 18:55:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DF5616A4E1; Mon, 17 Jul 2006 18:55:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5FCBD16A4DE for ; Mon, 17 Jul 2006 18:55:08 +0000 (UTC) (envelope-from swhitman@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B98D743D49 for ; Mon, 17 Jul 2006 18:55:07 +0000 (GMT) (envelope-from swhitman@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HIt7HS027663 for ; Mon, 17 Jul 2006 18:55:07 GMT (envelope-from swhitman@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HIt7LJ027660 for perforce@freebsd.org; Mon, 17 Jul 2006 18:55:07 GMT (envelope-from swhitman@FreeBSD.org) Date: Mon, 17 Jul 2006 18:55:07 GMT Message-Id: <200607171855.k6HIt7LJ027660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swhitman@FreeBSD.org using -f From: Spencer Whitman To: Perforce Change Reviews Cc: Subject: PERFORCE change 101786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 18:55:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=101786 Change 101786 by swhitman@swhitman_joethecat on 2006/07/17 18:54:10 More work on #define Affected files ... .. //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/cpp.c#12 edit .. //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/k.h#9 edit .. //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/string.c#7 edit Differences ... ==== //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/cpp.c#12 (text+ko) ==== @@ -44,9 +44,9 @@ struct ref *r; }; -#define OBJ_MAC_TYPE 0 /* For object like macros (no paraens, no arguments) */ -#define FUNC_MAC_TYPE 1 /* For function like macros (paraens and arguments) */ - +#define OBJ_MAC_TYPE 0/* For object like macros (no paraens, no arguments) */ +#define FUNC_MAC_TYPE 1/* For function like macros (paraens and arguments) */ +#define NONE_MAC_TYPE -1/* Inital value. Indecates type was not set */ struct define { const char *name; /* Name of the macro */ int mac_type; /* Object or function like macro */ @@ -245,11 +245,12 @@ /* - * This function attempts to add a define specified by b and e to the define list - * Define statment should be of the form: + * This function attempts to add a define specified by b and e to the define + * list. Define statments should be of the form: * #define NAME(vars) value - * If it continues along more than one line, the line should end with a \\n (backslash - * newline) (this may already be taken care of ?). vars and value are both optional. + * If it continues along more than one line, the line should end with a \\n + * (backslash newline) (this may already be taken care of ?). vars and value + * are both optional. */ static void cpp_add_define(const char *b, const char *e) @@ -262,13 +263,16 @@ mac = malloc(sizeof *mac); assert(mac != NULL); + + mac->mac_type = NONE_MAC_TYPE; /* Find the end of the name by finding the first white space char or '(' */ for(name_e = name_b; (name_e < e); name_e++) { /* Object like macro */ if ((isspace(*name_e)) || /* XXX This is ugly; any better way to do this? */ - ((name_e + 1 < e) && ((name_e[1] == '\\') && (name_e[2] == 's')))) { + ((name_e + 1 < e) && + ((name_e[1] == '\\') && (name_e[2] == 's')))) { printf("Defining object macro name %V\n",p); mac->mac_type = OBJ_MAC_TYPE; break; @@ -282,17 +286,30 @@ else continue; } - /* XXX check for failure of either case */ + p = String(name_b,name_e); + if(isspace(*p) || *p == '\0') + errx(1, "no macro name given in #define directive"); mac->name = p; + + if(mac->mac_type == NONE_MAC_TYPE) { + printf("Defining object macro name %V\n", p); + mac->mac_type = OBJ_MAC_TYPE; + } switch (mac->mac_type) { case OBJ_MAC_TYPE: + break; case FUNC_MAC_TYPE: - /* Make sure function macro is wellformed (has a matching ')', arguments are correct, - * etc.) Add arguments to mac. - */ + { + /* Make sure function macro is wellformed (has a matching ')', arguments + * are correct, etc.) Add arguments to mac. + */ + + + } + break; default: break; } ==== //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/k.h#9 (text+ko) ==== @@ -161,7 +161,7 @@ void Coord(struct h *h, const char *b, const char *e, unsigned *line, const char **file); unsigned BackSlash(const char *p, const char **n); const char *StringEnd(const char *s, const char *e); - +/*const char *ParenEnd(const char *ptr, const char *ep);*/ /* symbol.c */ struct symbol *NewSymbol(struct sym_scope *scope, enum symspace spc, const char *t); ==== //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/string.c#7 (text+ko) ==== @@ -193,6 +193,21 @@ } } +/* +const char * +ParenEnd(const char *ptr, const char *ep) +{ + const char * p; + + for(p = ptr +1; p < ep; p++) { + if(*p == ')') + return (p + 1); + } + + return NULL; +} +*/ + const char * StringEnd(const char *ptr, const char *ep) { From owner-p4-projects@FreeBSD.ORG Mon Jul 17 19:16:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C6DD16A4E2; Mon, 17 Jul 2006 19:16:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3889516A4E0 for ; Mon, 17 Jul 2006 19:16:36 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0AAD43D98 for ; Mon, 17 Jul 2006 19:16:35 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HJGYN4030009 for ; Mon, 17 Jul 2006 19:16:34 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HJGYW3030006 for perforce@freebsd.org; Mon, 17 Jul 2006 19:16:34 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 19:16:34 GMT Message-Id: <200607171916.k6HJGYW3030006@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101787 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:16:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101787 Change 101787 by gonzo@gonzo_hq on 2006/07/17 19:15:55 o Keep UMA allocations in KSEG0. Use KSEG1 only for non-cached access to memory (e.g. zeroing). Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#6 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#6 (text+ko) ==== @@ -250,7 +250,7 @@ pa = phys_avail[0]; phys_avail[0] += size; - va = MIPS_PHYS_TO_KSEG1(pa); + va = MIPS_PHYS_TO_KSEG0(pa); bzero((caddr_t) va, size); return va; } @@ -354,7 +354,7 @@ break; } - va = (void *)MIPS_PHYS_TO_KSEG1(m->phys_addr); + va = (void *)MIPS_PHYS_TO_KSEG0(m->phys_addr); if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) bzero(va, PAGE_SIZE); return (va); From owner-p4-projects@FreeBSD.ORG Mon Jul 17 19:20:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25C9616A506; Mon, 17 Jul 2006 19:20:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC78616A501 for ; Mon, 17 Jul 2006 19:20:40 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7747743D5C for ; Mon, 17 Jul 2006 19:20:40 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HJKegG030206 for ; Mon, 17 Jul 2006 19:20:40 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HJKejF030199 for perforce@freebsd.org; Mon, 17 Jul 2006 19:20:40 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 19:20:40 GMT Message-Id: <200607171920.k6HJKejF030199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101788 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:20:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=101788 Change 101788 by gonzo@gonzo_hq on 2006/07/17 19:20:21 o fork/context switching routines merged from juli's sources. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/swtch.S#3 edit .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/swtch.S#3 (text+ko) ==== @@ -30,24 +30,86 @@ #include #include +#include __FBSDID("$FreeBSD$"); /* - * XXXMIPS: Implement these routines + * a0: struct thread *old + * a1: struct thread *new */ +ENTRY(cpu_throw) + subu sp, 8 + sw a1, 0(sp) + move a0, a1 + jal pmap_activate + nop + lw t3, 0(sp) + addu sp, 8 + .set at + lw t2, pcpup + .set noat + sw t3, PC_CURTHREAD(t2) + lw t0, TD_PCB(t3) + sw t0, PC_CURPCB(t2) + lw s0, PCB_REG_S0(t0) + lw s1, PCB_REG_S1(t0) + lw s2, PCB_REG_S2(t0) + lw s3, PCB_REG_S3(t0) + lw s4, PCB_REG_S4(t0) + lw s5, PCB_REG_S5(t0) + lw s6, PCB_REG_S6(t0) + lw s7, PCB_REG_S7(t0) + lw s8, PCB_REG_S8(t0) + lw sp, PCB_REG_SP(t0) + lw ra, PCB_REG_RA(t0) + lw t0, PCB_REG_SR(t0) + /* Copy s0-s3 into a0-s3 so we can just pass args. */ + move a0, s0 + move a1, s1 + move a2, s2 + move a3, s3 + mtc0 t0, MIPS_COP_0_STATUS + li v0, 1 + jr ra + nop -ENTRY(cpu_throw) - break END(cpu_throw) -ENTRY(cpu_switch) - break -END(cpu_switch) +/* + * a0: struct pcb *pcb + */ +ENTRY(savectx) + mfc0 t0, MIPS_COP_0_STATUS + sw s0, PCB_REG_S0(a0) + sw s1, PCB_REG_S1(a0) + sw s2, PCB_REG_S2(a0) + sw s3, PCB_REG_S3(a0) + sw s4, PCB_REG_S4(a0) + sw s5, PCB_REG_S5(a0) + sw s6, PCB_REG_S6(a0) + sw s7, PCB_REG_S7(a0) + sw s8, PCB_REG_S8(a0) + sw sp, PCB_REG_SP(a0) + sw t0, PCB_REG_SR(a0) + sw ra, PCB_REG_RA(a0) + li v0, 0 + jr ra + nop -ENTRY(savectx) - break END(savectx) +/* + * s0: Routine to call. + * s1: a0 for said routine. + * s2: a1 for said routine. + * These need passed to fork_exit as a0, a1, a2 respectively. + */ + ENTRY(fork_trampoline) - break + move a0, s0 + move a1, s1 + move a2, s2 + j fork_exit + nop + END(fork_trampoline) ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#4 (text+ko) ==== @@ -58,11 +58,53 @@ #include #include +/* + * Finish a fork operation, with process p2 nearly set up. + * Copy and update the pcb, set up the stack so that the child + * ready to run and return to user mode. + */ void -cpu_fork(register struct thread *td1, register struct proc *p2, +cpu_fork(register struct thread *td, register struct proc *p2, struct thread *td2, int flags) { - panic("%s", __func__); + if ((flags & RFPROC) == 0) + return; + + cpu_thread_setup(td2); + + /* Copy the pcb */ + bcopy(td->td_pcb, td2->td_pcb, sizeof(struct pcb)); + + /* + * Copy the trap frame for the return to user mode as if from a + * syscall. This copies most of the user mode register values. + */ + bcopy(td->td_frame, td2->td_frame, sizeof *td2->td_frame); + + /* + * Call fork_trampoline into fork_return via the pcb. + */ + td2->td_pcb->pcb_regs[PCB_REG_RA] = (register_t)fork_trampoline; + td2->td_pcb->pcb_regs[PCB_REG_S0] = (register_t)fork_return; + td2->td_pcb->pcb_regs[PCB_REG_S1] = (register_t)td2; + td2->td_pcb->pcb_regs[PCB_REG_S2] = (register_t)td2->td_frame; + + /* + * Now cpu_switch() can schedule the new process. + */ + + /* Setup to release sched_lock in fork_exit(). */ + td2->td_md.md_spinlock_count = 1; +} + +void +cpu_switch(struct thread *old, struct thread *new) +{ + if (!savectx(old->td_pcb)) { + pmap_deactivate(old); + cpu_throw(old, new); + panic("%s: should not be reached", __func__); + } } void @@ -143,7 +185,8 @@ void cpu_set_fork_handler(struct thread *td, void (*func)(void *), void *arg) { - panic("%s", __func__); + td->td_pcb->pcb_regs[PCB_REG_S0] = (register_t)func; + td->td_pcb->pcb_regs[PCB_REG_S1] = (register_t)arg; } void From owner-p4-projects@FreeBSD.ORG Mon Jul 17 19:22:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 654E616A4E8; Mon, 17 Jul 2006 19:22:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2C10C16A4E6 for ; Mon, 17 Jul 2006 19:22:44 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8A1743D5D for ; Mon, 17 Jul 2006 19:22:43 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HJMh2d030520 for ; Mon, 17 Jul 2006 19:22:43 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HJMhUr030517 for perforce@freebsd.org; Mon, 17 Jul 2006 19:22:43 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 17 Jul 2006 19:22:43 GMT Message-Id: <200607171922.k6HJMhUr030517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101790 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:22:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=101790 Change 101790 by gonzo@gonzo_hq on 2006/07/17 19:22:02 o Fixed stupid bug in bcmp(3) funtion. o copystr(9) implementation added. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/copystr.S#3 edit .. //depot/projects/mips2/src/sys/mips/mips/support.S#6 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/copystr.S#3 (text+ko) ==== @@ -36,11 +36,35 @@ /* * XXXMIPS: Implement these routines */ - +/* + * copystr(9) + * int copystr(const void *src, void *dst, size_t len, + * size_t *done) + */ ENTRY(copystr) - break + move v0, zero + beqz a2, 2f + move t1, zero +1: subu a2, 1 + lbu t0, 0(a0) + addu a0, 1 + sb t0, 0(a1) + addu a1, 1 + beqz t0, 3f /* NULL - end of string*/ + addu t1, 1 + bnez a2, 1b + nop +2: /* ENAMETOOLONG */ + li v0, ENAMETOOLONG +3: /* done != NULL -> how many bytes were copied */ + beqz a3, 4f + nop + sw t1, 0(a3) +4: jr ra + nop END(copystr) + ENTRY(copyinstr) break END(copyinstr) ==== //depot/projects/mips2/src/sys/mips/mips/support.S#6 (text+ko) ==== @@ -58,7 +58,7 @@ nop END(bcopy) -/* XXXMIPS: test/optimize this function. +/* * The normal C bcmp(3), * int bcmp(const void *b1, const void *b2, size_t len) */ @@ -68,7 +68,8 @@ 1: subu a2, 1 lbu t0, 0(a0) lbu t1, 0(a1) - bne t0, t1, 3f + bne t0, t1, 2f + nop addu a0, 1 addu a1, 1 bnezl a2, 1b From owner-p4-projects@FreeBSD.ORG Mon Jul 17 19:43:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DD7E16A4DF; Mon, 17 Jul 2006 19:43:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D333316A4DD for ; Mon, 17 Jul 2006 19:43:11 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 843F243D45 for ; Mon, 17 Jul 2006 19:43:11 +0000 (GMT) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HJhBCc031617 for ; Mon, 17 Jul 2006 19:43:11 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HJhASf031614 for perforce@freebsd.org; Mon, 17 Jul 2006 19:43:10 GMT (envelope-from bms@incunabulum.net) Date: Mon, 17 Jul 2006 19:43:10 GMT Message-Id: <200607171943.k6HJhASf031614@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 101793 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:43:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=101793 Change 101793 by bms@bms_montagne on 2006/07/17 19:43:03 Integrate from bms_mips: Remove legacy MIPS defines. Add a function for obtaining the CONFIG register's multiple selections. Add MIPS64 trap definitions. Clean up cpu.c and add a function to identify cache geometry and CPU vendor, etc. Merge YAMON environment vector stuff. Style fixes. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpufunc.h#14 integrate .. //depot/projects/mips2/src/sys/mips/include/cpuinfo.h#2 integrate .. //depot/projects/mips2/src/sys/mips/include/cpuregs.h#5 integrate .. //depot/projects/mips2/src/sys/mips/include/trap.h#3 integrate .. //depot/projects/mips2/src/sys/mips/mips/cpu.c#11 integrate .. //depot/projects/mips2/src/sys/mips/mips/exception.S#4 integrate .. //depot/projects/mips2/src/sys/mips/mips/locore.S#12 integrate .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#17 integrate .. //depot/projects/mips2/src/sys/mips/mips/tick.c#2 integrate .. //depot/projects/mips2/src/sys/mips/mips/trap.c#4 integrate .. //depot/projects/mips2/src/sys/mips/mips4k/malta/files.malta#4 integrate .. //depot/projects/mips2/src/sys/mips/mips4k/malta/yamon.c#1 branch Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpufunc.h#14 (text+ko) ==== @@ -167,16 +167,23 @@ MIPS_RDRW32_COP0(cause, MIPS_COP_0_CAUSE); MIPS_RDRW32_COP0(status, MIPS_COP_0_STATUS); -/* - * XXXMIPS: I think this change was brought by bms@. - */ -/* XXX: mips32 */ +/* XXX: Some of these registers are specific to MIPS32. */ MIPS_RDRW32_COP0(entrylo0, MIPS_COP_0_TLB_LO0); MIPS_RDRW32_COP0(entrylo1, MIPS_COP_0_TLB_LO1); MIPS_RDRW32_COP0(entrylow, MIPS_COP_0_TLB_LOW); MIPS_RDRW32_COP0(entryhi, MIPS_COP_0_TLB_HI); MIPS_RDRW32_COP0(pagemask, MIPS_COP_0_TLB_PG_MASK); -/* xcontext does not exist on mips32 */ +MIPS_RDRW32_COP0(prid, MIPS_COP_0_PRID); + +static __inline u_int32_t +mips_rd_config_sel1(void) +{ + int v0; + __asm __volatile("mfc0 %[v0], $16, 1 ;" + : [v0] "=&r" (v0)); + mips_barrier(); + return (v0); +} #undef MIPS_RDRW32_COP0 ==== //depot/projects/mips2/src/sys/mips/include/cpuinfo.h#2 (text+ko) ==== @@ -48,6 +48,24 @@ #ifdef _KERNEL #ifndef LOCORE +struct mips_cpuinfo { + u_int8_t cpu_vendor; + u_int8_t cpu_rev; + u_int8_t cpu_impl; + u_int8_t tlb_type; + u_int16_t tlb_nentries; + struct { + u_int8_t ic_linesize; + u_int8_t ic_nways; + u_int16_t ic_nsets; + u_int8_t dc_linesize; + u_int8_t dc_nways; + u_int16_t dc_nsets; + } l1; +}; + +/* TODO: Merge above structure with NetBSD's below. */ + struct cpu_info { #ifdef notyet struct schedstate_percpu ci_schedstate; /* scheduler state */ ==== //depot/projects/mips2/src/sys/mips/include/cpuregs.h#5 (text+ko) ==== @@ -64,15 +64,13 @@ /* * Address space. - * 32-bit mips CPUS partition their 32-bit address space into four segments: + * MIPS32 CPUs partition their 32-bit address space into four segments: * * kuseg 0x00000000 - 0x7fffffff User virtual mem, mapped * kseg0 0x80000000 - 0x9fffffff Physical memory, cached, unmapped * kseg1 0xa0000000 - 0xbfffffff Physical memory, uncached, unmapped * kseg2 0xc0000000 - 0xffffffff kernel-virtual, mapped * - * mips1 physical memory is limited to 512Mbytes, which is - * doubly mapped in kseg0 (cached) and kseg1 (uncached.) * Caching of mapped addresses is controlled by bits in the TLB entry. */ @@ -93,162 +91,50 @@ #define MIPS_PHYS_TO_KSEG1(x) ((unsigned)(x) | MIPS_KSEG1_START) /* Map virtual address to index in mips3 r4k virtually-indexed cache */ -#define MIPS3_VA_TO_CINDEX(x) \ +#define MIPS_VA_TO_CINDEX(x) \ ((unsigned)(x) & 0xffffff | MIPS_KSEG0_START) -#define MIPS_PHYS_TO_XKPHYS(cca,x) \ - ((0x2ULL << 62) | ((unsigned long long)(cca) << 59) | (x)) -#define MIPS_XKPHYS_TO_PHYS(x) ((x) & 0x0effffffffffffffULL) - /* CPU dependent mtc0 hazard hook */ #define COP0_SYNC /* nothing */ #define COP0_HAZARD_FPUENABLE nop; nop; nop; nop; /* - * The bits in the cause register. - * - * Bits common to r3000 and r4000: - * - * MIPS_CR_BR_DELAY Exception happened in branch delay slot. - * MIPS_CR_COP_ERR Coprocessor error. - * MIPS_CR_IP Interrupt pending bits defined below. - * (same meaning as in CAUSE register). - * MIPS_CR_EXC_CODE The exception type (see exception codes below). - * - * Differences: - * r3k has 4 bits of execption type, r4k has 5 bits. + * Cause register bit assignments. */ #define MIPS_CR_BR_DELAY 0x80000000 #define MIPS_CR_COP_ERR 0x30000000 -#define MIPS1_CR_EXC_CODE 0x0000003C /* four bits */ -#define MIPS3_CR_EXC_CODE 0x0000007C /* five bits */ +#define MIPS_CR_EXC_CODE 0x0000007C #define MIPS_CR_IP 0x0000FF00 #define MIPS_CR_EXC_CODE_SHIFT 2 /* - * The bits in the status register. All bits are active when set to 1. - * - * R3000 status register fields: - * MIPS_SR_COP_USABILITY Control the usability of the four coprocessors. - * MIPS_SR_TS TLB shutdown. - * - * MIPS_SR_INT_IE Master (current) interrupt enable bit. - * - * Differences: - * r3k has cache control is via frobbing SR register bits, whereas the - * r4k cache control is via explicit instructions. - * r3k has a 3-entry stack of kernel/user bits, whereas the - * r4k has kernel/supervisor/user. + * Status register bit assignments. */ #define MIPS_SR_COP_USABILITY 0xf0000000 #define MIPS_SR_COP_0_BIT 0x10000000 #define MIPS_SR_COP_1_BIT 0x20000000 - - /* r4k and r3k differences, see below */ - +#define MIPS_SR_RP 0x08000000 /* Optional: reduced power mode */ +#define MIPS_SR_FR 0x04000000 /* 64-bit capable fpu */ +#define MIPS_SR_RE 0x02000000 /* Optional: reverse user endian */ #define MIPS_SR_MX 0x01000000 /* MIPS64 */ #define MIPS_SR_PX 0x00800000 /* MIPS64 */ #define MIPS_SR_BEV 0x00400000 /* Use boot exception vector */ -#define MIPS_SR_TS 0x00200000 - - /* r4k and r3k differences, see below */ - +#define MIPS_SR_TS 0x00200000 /* TLB matched multiple entries */ +#define MIPS_SR_SOFT_RESET 0x00100000 /* Optional: soft reset occurred */ +#define MIPS_SR_NMI 0x00080000 /* Optional: NMI occurred */ +#define MIPS_SR_INT_MASK 0x0000ff00 +#define MIPS_SR_KX 0x00000080 /* MIPS64 */ +#define MIPS_SR_SX 0x00000040 /* MIPS64 */ +#define MIPS_SR_UX 0x00000020 /* MIPS64 */ +#define MIPS_SR_KSU_MASK 0x00000018 /* privilege mode */ +#define MIPS_SR_KSU_USER 0x00000010 +#define MIPS_SR_KSU_SUPER 0x00000008 +#define MIPS_SR_KSU_KERNEL 0x00000000 +#define MIPS_SR_ERL 0x00000004 /* error level */ +#define MIPS_SR_EXL 0x00000002 /* exception level */ #define MIPS_SR_INT_IE 0x00000001 -/*#define MIPS_SR_MBZ 0x0f8000c0*/ /* Never used, true for r3k */ -/*#define MIPS_SR_INT_MASK 0x0000ff00*/ - - -/* - * The R2000/R3000-specific status register bit definitions. - * all bits are active when set to 1. - * - * MIPS_SR_PARITY_ERR Parity error. - * MIPS_SR_CACHE_MISS Most recent D-cache load resulted in a miss. - * MIPS_SR_PARITY_ZERO Zero replaces outgoing parity bits. - * MIPS_SR_SWAP_CACHES Swap I-cache and D-cache. - * MIPS_SR_ISOL_CACHES Isolate D-cache from main memory. - * Interrupt enable bits defined below. - * MIPS_SR_KU_OLD Old kernel/user mode bit. 1 => user mode. - * MIPS_SR_INT_ENA_OLD Old interrupt enable bit. - * MIPS_SR_KU_PREV Previous kernel/user mode bit. 1 => user mode. - * MIPS_SR_INT_ENA_PREV Previous interrupt enable bit. - * MIPS_SR_KU_CUR Current kernel/user mode bit. 1 => user mode. - */ - -#define MIPS1_PARITY_ERR 0x00100000 -#define MIPS1_CACHE_MISS 0x00080000 -#define MIPS1_PARITY_ZERO 0x00040000 -#define MIPS1_SWAP_CACHES 0x00020000 -#define MIPS1_ISOL_CACHES 0x00010000 - -#define MIPS1_SR_KU_OLD 0x00000020 /* 2nd stacked KU/IE*/ -#define MIPS1_SR_INT_ENA_OLD 0x00000010 /* 2nd stacked KU/IE*/ -#define MIPS1_SR_KU_PREV 0x00000008 /* 1st stacked KU/IE*/ -#define MIPS1_SR_INT_ENA_PREV 0x00000004 /* 1st stacked KU/IE*/ -#define MIPS1_SR_KU_CUR 0x00000002 /* current KU */ - -/* backwards compatibility */ -#define MIPS_SR_PARITY_ERR MIPS1_PARITY_ERR -#define MIPS_SR_CACHE_MISS MIPS1_CACHE_MISS -#define MIPS_SR_PARITY_ZERO MIPS1_PARITY_ZERO -#define MIPS_SR_SWAP_CACHES MIPS1_SWAP_CACHES -#define MIPS_SR_ISOL_CACHES MIPS1_ISOL_CACHES - -#define MIPS_SR_KU_OLD MIPS1_SR_KU_OLD -#define MIPS_SR_INT_ENA_OLD MIPS1_SR_INT_ENA_OLD -#define MIPS_SR_KU_PREV MIPS1_SR_KU_PREV -#define MIPS_SR_KU_CUR MIPS1_SR_KU_CUR -#define MIPS_SR_INT_ENA_PREV MIPS1_SR_INT_ENA_PREV /* - * R4000 status register bit definitons, - * where different from r2000/r3000. - */ -#define MIPS3_SR_XX 0x80000000 -#define MIPS3_SR_RP 0x08000000 -#define MIPS3_SR_FR 0x04000000 -#define MIPS3_SR_RE 0x02000000 - -#define MIPS3_SR_DIAG_DL 0x01000000 /* QED 52xx */ -#define MIPS3_SR_DIAG_IL 0x00800000 /* QED 52xx */ -#define MIPS3_SR_SR 0x00100000 -#define MIPS3_SR_NMI 0x00080000 /* MIPS32/64 */ -#define MIPS3_SR_DIAG_CH 0x00040000 -#define MIPS3_SR_DIAG_CE 0x00020000 -#define MIPS3_SR_DIAG_PE 0x00010000 -#define MIPS3_SR_EIE 0x00010000 /* TX79/R5900 */ -#define MIPS3_SR_KX 0x00000080 -#define MIPS3_SR_SX 0x00000040 -#define MIPS3_SR_UX 0x00000020 -#define MIPS3_SR_KSU_MASK 0x00000018 -#define MIPS3_SR_KSU_USER 0x00000010 -#define MIPS3_SR_KSU_SUPER 0x00000008 -#define MIPS3_SR_KSU_KERNEL 0x00000000 -#define MIPS3_SR_ERL 0x00000004 -#define MIPS3_SR_EXL 0x00000002 - -#ifdef MIPS3_5900 -#undef MIPS_SR_INT_IE -#define MIPS_SR_INT_IE 0x00010001 /* XXX */ -#endif - -#define MIPS_SR_SOFT_RESET MIPS3_SR_SR -#define MIPS_SR_DIAG_CH MIPS3_SR_DIAG_CH -#define MIPS_SR_DIAG_CE MIPS3_SR_DIAG_CE -#define MIPS_SR_DIAG_PE MIPS3_SR_DIAG_PE -#define MIPS_SR_KX MIPS3_SR_KX -#define MIPS_SR_SX MIPS3_SR_SX -#define MIPS_SR_UX MIPS3_SR_UX - -#define MIPS_SR_KSU_MASK MIPS3_SR_KSU_MASK -#define MIPS_SR_KSU_USER MIPS3_SR_KSU_USER -#define MIPS_SR_KSU_SUPER MIPS3_SR_KSU_SUPER -#define MIPS_SR_KSU_KERNEL MIPS3_SR_KSU_KERNEL -#define MIPS_SR_ERL MIPS3_SR_ERL -#define MIPS_SR_EXL MIPS3_SR_EXL - - -/* * The interrupt masks. * If a bit in the mask is 1 then the interrupt is enabled (or pending). */ @@ -264,165 +150,41 @@ #define MIPS_SOFT_INT_MASK_0 0x0100 /* - * mips3 CPUs have on-chip timer at INT_MASK_5. Each platform can - * choose to enable this interrupt. + * MIPS32 CPUs have an on-chip timer at INT_MASK_5. + * Routing of this interrupt is optional; MIPS32 rev2 + * changes its semantics. + * See section 8.16 of the MIPS32 PRA spec for more info. */ -#if defined(MIPS3_ENABLE_CLOCK_INTR) -#define MIPS3_INT_MASK MIPS_INT_MASK -#define MIPS3_HARD_INT_MASK MIPS_HARD_INT_MASK +#if defined(MIPS32_ENABLE_CLOCK_INTR) +#define MIPS32_INT_MASK MIPS_INT_MASK +#define MIPS32_HARD_INT_MASK MIPS_HARD_INT_MASK #else -#define MIPS3_INT_MASK (MIPS_INT_MASK & ~MIPS_INT_MASK_5) -#define MIPS3_HARD_INT_MASK (MIPS_HARD_INT_MASK & ~MIPS_INT_MASK_5) +#define MIPS32_INT_MASK (MIPS_INT_MASK & ~MIPS_INT_MASK_5) +#define MIPS32_HARD_INT_MASK (MIPS_HARD_INT_MASK & ~MIPS_INT_MASK_5) #endif /* - * The bits in the context register. + * The bits in the MIPS32 context register. */ -#define MIPS1_CNTXT_PTE_BASE 0xFFE00000 -#define MIPS1_CNTXT_BAD_VPN 0x001FFFFC +#define MIPS_CNTXT_PTE_BASE 0xFF800000 +#define MIPS_CNTXT_BAD_VPN2 0x007FFFF0 -#define MIPS3_CNTXT_PTE_BASE 0xFF800000 -#define MIPS3_CNTXT_BAD_VPN2 0x007FFFF0 - /* - * The bits in the MIPS3 config register. - * - * bit 0..5: R/W, Bit 6..31: R/O + * Location of MIPS32 exception vectors. Most are multiplexed in + * the sense that further decoding is necessary (e.g. reading the + * CAUSE register or NMI bits in STATUS). + * Most interrupts go via the + * The INT vector is dedicated for hardware interrupts; it is + * only referenced if the IV bit in CAUSE is set to 1. */ +#define MIPS_VEC_RESET 0xBFC00000 /* Hard, soft, or NMI */ +#define MIPS_VEC_EJTAG 0xBFC00480 +#define MIPS_VEC_TLB 0x80000000 +#define MIPS_VEC_CACHE 0x80000100 +#define MIPS_VEC_GENERIC 0x80000180 /* Most exceptions */ +#define MIPS_VEC_INTERRUPT 0x80000200 -/* kseg0 coherency algorithm - see MIPS3_TLB_ATTR values */ -#define MIPS3_CONFIG_K0_MASK 0x00000007 - /* - * R/W Update on Store Conditional - * 0: Store Conditional uses coherency algorithm specified by TLB - * 1: Store Conditional uses cacheable coherent update on write - */ -#define MIPS3_CONFIG_CU 0x00000008 - -#define MIPS3_CONFIG_DB 0x00000010 /* Primary D-cache line size */ -#define MIPS3_CONFIG_IB 0x00000020 /* Primary I-cache line size */ -#define MIPS3_CONFIG_CACHE_L1_LSIZE(config, bit) \ - (((config) & (bit)) ? 32 : 16) - -#define MIPS3_CONFIG_DC_MASK 0x000001c0 /* Primary D-cache size */ -#define MIPS3_CONFIG_DC_SHIFT 6 -#define MIPS3_CONFIG_IC_MASK 0x00000e00 /* Primary I-cache size */ -#define MIPS3_CONFIG_IC_SHIFT 9 -#define MIPS3_CONFIG_C_DEFBASE 0x1000 /* default base 2^12 */ - -/* Cache size mode indication: available only on Vr41xx CPUs */ -#define MIPS3_CONFIG_CS 0x00001000 -#define MIPS3_CONFIG_C_4100BASE 0x0400 /* base is 2^10 if CS=1 */ -#define MIPS3_CONFIG_CACHE_SIZE(config, mask, base, shift) \ - ((base) << (((config) & (mask)) >> (shift))) - -/* External cache enable: Controls L2 for R5000/Rm527x and L3 for Rm7000 */ -#define MIPS3_CONFIG_SE 0x00001000 - -/* Block ordering: 0: sequential, 1: sub-block */ -#define MIPS3_CONFIG_EB 0x00002000 - -/* ECC mode - 0: ECC mode, 1: parity mode */ -#define MIPS3_CONFIG_EM 0x00004000 - -/* BigEndianMem - 0: kernel and memory are little endian, 1: big endian */ -#define MIPS3_CONFIG_BE 0x00008000 - -/* Dirty Shared coherency state - 0: enabled, 1: disabled */ -#define MIPS3_CONFIG_SM 0x00010000 - -/* Secondary Cache - 0: present, 1: not present */ -#define MIPS3_CONFIG_SC 0x00020000 - -/* System Port width - 0: 64-bit, 1: 32-bit (QED RM523x), 2,3: reserved */ -#define MIPS3_CONFIG_EW_MASK 0x000c0000 -#define MIPS3_CONFIG_EW_SHIFT 18 - -/* Secondary Cache port width - 0: 128-bit data path to S-cache, 1: reserved */ -#define MIPS3_CONFIG_SW 0x00100000 - -/* Split Secondary Cache Mode - 0: I/D mixed, 1: I/D separated by SCAddr(17) */ -#define MIPS3_CONFIG_SS 0x00200000 - -/* Secondary Cache line size */ -#define MIPS3_CONFIG_SB_MASK 0x00c00000 -#define MIPS3_CONFIG_SB_SHIFT 22 -#define MIPS3_CONFIG_CACHE_L2_LSIZE(config) \ - (0x10 << (((config) & MIPS3_CONFIG_SB_MASK) >> MIPS3_CONFIG_SB_SHIFT)) - -/* Write back data rate */ -#define MIPS3_CONFIG_EP_MASK 0x0f000000 -#define MIPS3_CONFIG_EP_SHIFT 24 - -/* System clock ratio - this value is CPU dependent */ -#define MIPS3_CONFIG_EC_MASK 0x70000000 -#define MIPS3_CONFIG_EC_SHIFT 28 - -/* Master-Checker Mode - 1: enabled */ -#define MIPS3_CONFIG_CM 0x80000000 - -/* - * The bits in the MIPS4 config register. - */ - -/* kseg0 coherency algorithm - see MIPS3_TLB_ATTR values */ -#define MIPS4_CONFIG_K0_MASK MIPS3_CONFIG_K0_MASK -#define MIPS4_CONFIG_DN_MASK 0x00000018 /* Device number */ -#define MIPS4_CONFIG_CT 0x00000020 /* CohPrcReqTar */ -#define MIPS4_CONFIG_PE 0x00000040 /* PreElmReq */ -#define MIPS4_CONFIG_PM_MASK 0x00000180 /* PreReqMax */ -#define MIPS4_CONFIG_EC_MASK 0x00001e00 /* SysClkDiv */ -#define MIPS4_CONFIG_SB 0x00002000 /* SCBlkSize */ -#define MIPS4_CONFIG_SK 0x00004000 /* SCColEn */ -#define MIPS4_CONFIG_BE 0x00008000 /* MemEnd */ -#define MIPS4_CONFIG_SS_MASK 0x00070000 /* SCSize */ -#define MIPS4_CONFIG_SC_MASK 0x00380000 /* SCClkDiv */ -#define MIPS4_CONFIG_RESERVED 0x03c00000 /* Reserved wired 0 */ -#define MIPS4_CONFIG_DC_MASK 0x1c000000 /* Primary D-Cache size */ -#define MIPS4_CONFIG_IC_MASK 0xe0000000 /* Primary I-Cache size */ - -#define MIPS4_CONFIG_DC_SHIFT 26 -#define MIPS4_CONFIG_IC_SHIFT 29 - -#define MIPS4_CONFIG_CACHE_SIZE(config, mask, base, shift) \ - ((base) << (((config) & (mask)) >> (shift))) - -#define MIPS4_CONFIG_CACHE_L2_LSIZE(config) \ - (((config) & MIPS4_CONFIG_SB) ? 128 : 64) - -/* - * Location of exception vectors. - * - * Common vectors: reset and UTLB miss. - */ -#define MIPS_RESET_EXC_VEC 0xBFC00000 -#define MIPS_UTLB_MISS_EXC_VEC 0x80000000 - -/* - * MIPS-1 general exception vector (everything else) - */ -#define MIPS1_GEN_EXC_VEC 0x80000080 - -/* - * MIPS-III exception vectors - */ -#define MIPS3_XTLB_MISS_EXC_VEC 0x80000080 -#define MIPS3_CACHE_ERR_EXC_VEC 0x80000100 -#define MIPS3_GEN_EXC_VEC 0x80000180 - -/* - * TX79 (R5900) exception vectors - */ -#define MIPS_R5900_COUNTER_EXC_VEC 0x80000080 -#define MIPS_R5900_DEBUG_EXC_VEC 0x80000100 - -/* - * MIPS32/MIPS64 (and some MIPS3) dedicated interrupt vector. - */ -#define MIPS3_INTR_EXC_VEC 0x80000200 - -/* * Coprocessor 0 registers: * * v--- width for mips I,III,32,64 @@ -468,22 +230,16 @@ * 31 MIPS_COP_0_DESAVE .... DESAVE JTAG register. */ -/* - * XXMIPS: Does LOCORE defines buy us something? Check which one is it. - */ +/* Deal with inclusion from an assembly file. */ #if defined(_LOCORE) || defined(LOCORE) #define _(n) $n #else #define _(n) n #endif - #define MIPS_COP_0_TLB_INDEX _(0) #define MIPS_COP_0_TLB_RANDOM _(1) - /* Name and meaning of TLB bits for $2 differ on r3k and r4k. */ - #define MIPS_COP_0_TLB_CONTEXT _(4) - /* $5 and $6 new with MIPS-III */ #define MIPS_COP_0_BAD_VADDR _(8) #define MIPS_COP_0_TLB_HI _(10) #define MIPS_COP_0_STATUS _(12) @@ -491,11 +247,6 @@ #define MIPS_COP_0_EXC_PC _(14) #define MIPS_COP_0_PRID _(15) - -/* MIPS-I */ -#define MIPS_COP_0_TLB_LOW _(2) - -/* MIPS-III */ #define MIPS_COP_0_TLB_LO0 _(2) #define MIPS_COP_0_TLB_LO1 _(3) @@ -524,6 +275,47 @@ #define MIPS_COP_0_DATA_HI _(29) #define MIPS_COP_0_DESAVE _(31) +/* MIPS32 Config register definitions */ +#define MIPS_MMU_NONE 0x00 /* No MMU present */ +#define MIPS_MMU_TLB 0x01 /* Standard TLB */ +#define MIPS_MMU_BAT 0x02 /* Standard BAT */ +#define MIPS_MMU_FIXED 0x03 /* Standard fixed mapping */ + +#define MIPS_CONFIG_CM 0x80000000 /* next selection is present */ + +#define MIPS_CONFIG0_K23_MASK 0x70000000 /* kseg2/3 coherency mode */ +#define MIPS_CONFIG0_KU_MASK 0x0E000000 /* kuseg coherency mode */ +#define MIPS_CONFIG0_BE 0x00008000 /* data is big-endian */ +#define MIPS_CONFIG0_AT_MASK 0x00006000 /* architecture type (MIPS32/64) */ +#define MIPS_CONFIG0_AR_MASK 0x00001C00 /* architecture revision */ +#define MIPS_CONFIG0_MT_MASK 0x00000380 /* bits 9..7 MMU Type */ +#define MIPS_CONFIG0_MT_SHIFT 7 +#define MIPS_CONFIG0_VI 0x00000008 /* instruction cache is virtual */ +#define MIPS_CONFIG0_K0_MASK 0x00000007 /* kseg0 coherency mode */ + +#define MIPS_CONFIG1_TLBSZ_MASK 0x7E000000 /* bits 30..25 # tlb entries minus one */ +#define MIPS_CONFIG1_TLBSZ_SHIFT 25 +#define MIPS_CONFIG1_IS_MASK 0x01C00000 /* bits 24..22 icache sets per way */ +#define MIPS_CONFIG1_IS_SHIFT 22 +#define MIPS_CONFIG1_IL_MASK 0x00380000 /* bits 21..19 icache line size */ +#define MIPS_CONFIG1_IL_SHIFT 19 +#define MIPS_CONFIG1_IA_MASK 0x00070000 /* bits 18..16 icache associativity */ +#define MIPS_CONFIG1_IA_SHIFT 16 +#define MIPS_CONFIG1_DS_MASK 0x0000E000 /* bits 15..13 dcache sets per way */ +#define MIPS_CONFIG1_DS_SHIFT 13 +#define MIPS_CONFIG1_DL_MASK 0x00001C00 /* bits 12..10 dcache line size */ +#define MIPS_CONFIG1_DL_SHIFT 10 +#define MIPS_CONFIG1_DA_MASK 0x00000380 /* bits 9.. 7 dcache associativity */ +#define MIPS_CONFIG1_DA_SHIFT 7 +#define MIPS_CONFIG1_LOWBITS 0x0000007F +#define MIPS_CONFIG1_C2 0x00000040 /* Coprocessor 2 implemented */ +#define MIPS_CONFIG1_MD 0x00000020 /* MDMX ASE implemented (MIPS64) */ +#define MIPS_CONFIG1_PC 0x00000010 /* Performance counters implemented */ +#define MIPS_CONFIG1_WR 0x00000008 /* Watch registers implemented */ +#define MIPS_CONFIG1_CA 0x00000004 /* MIPS16e ISA implemented */ +#define MIPS_CONFIG1_EP 0x00000002 /* EJTAG implemented */ +#define MIPS_CONFIG1_FP 0x00000001 /* FPU implemented */ + /* * Values for the code field in a break instruction. */ @@ -599,12 +391,6 @@ /* * The low part of the TLB entry. */ -#define MIPS1_TLB_PFN 0xfffff000 -#define MIPS1_TLB_NON_CACHEABLE_BIT 0x00000800 -#define MIPS1_TLB_DIRTY_BIT 0x00000400 -#define MIPS1_TLB_VALID_BIT 0x00000200 -#define MIPS1_TLB_GLOBAL_BIT 0x00000100 - #define MIPS3_TLB_PFN 0x3fffffc0 #define MIPS3_TLB_ATTR_MASK 0x00000038 #define MIPS3_TLB_ATTR_SHIFT 3 @@ -612,11 +398,8 @@ #define MIPS3_TLB_VALID_BIT 0x00000002 #define MIPS3_TLB_GLOBAL_BIT 0x00000001 -#define MIPS1_TLB_PHYS_PAGE_SHIFT 12 #define MIPS3_TLB_PHYS_PAGE_SHIFT 6 -#define MIPS1_TLB_PF_NUM MIPS1_TLB_PFN #define MIPS3_TLB_PF_NUM MIPS3_TLB_PFN -#define MIPS1_TLB_MOD_BIT MIPS1_TLB_DIRTY_BIT #define MIPS3_TLB_MOD_BIT MIPS3_TLB_DIRTY_BIT /* @@ -643,54 +426,32 @@ /* * The high part of the TLB entry. */ -#define MIPS1_TLB_VPN 0xfffff000 -#define MIPS1_TLB_PID 0x00000fc0 -#define MIPS1_TLB_PID_SHIFT 6 - #define MIPS3_TLB_VPN2 0xffffe000 #define MIPS3_TLB_ASID 0x000000ff -#define MIPS1_TLB_VIRT_PAGE_NUM MIPS1_TLB_VPN #define MIPS3_TLB_VIRT_PAGE_NUM MIPS3_TLB_VPN2 #define MIPS3_TLB_PID MIPS3_TLB_ASID #define MIPS_TLB_VIRT_PAGE_SHIFT 12 /* - * r3000: shift count to put the index in the right spot. - */ -#define MIPS1_TLB_INDEX_SHIFT 8 - -/* * The first TLB that write random hits. */ -#define MIPS1_TLB_FIRST_RAND_ENTRY 8 #define MIPS3_TLB_WIRED_UPAGES 1 /* * The number of process id entries. */ -#define MIPS1_TLB_NUM_PIDS 64 #define MIPS3_TLB_NUM_ASIDS 256 /* * Patch codes to hide CPU design differences between MIPS1 and MIPS3. */ - -/* XXX simonb: this is before MIPS3_PLUS is defined (and is ugly!) */ - -#if !(defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ - && defined(MIPS1) /* XXX simonb must be neater! */ -#define MIPS_TLB_PID_SHIFT MIPS1_TLB_PID_SHIFT -#define MIPS_TLB_NUM_PIDS MIPS1_TLB_NUM_PIDS -#endif - #if (defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ && !defined(MIPS1) /* XXX simonb must be neater! */ #define MIPS_TLB_PID_SHIFT 0 #define MIPS_TLB_NUM_PIDS MIPS3_TLB_NUM_ASIDS #endif - #if !defined(MIPS_TLB_PID_SHIFT) #define MIPS_TLB_PID_SHIFT \ ((MIPS_HAS_R4K_MMU) ? 0 : MIPS1_TLB_PID_SHIFT) @@ -735,29 +496,15 @@ #define MIPS_R5500 0x55 /* NEC VR5500 ISA IV */ /* - * CPU revision IDs for some prehistoric processors. + * CPU revision IDs. */ -/* For MIPS_R3000 */ -#define MIPS_REV_R3000 0x20 -#define MIPS_REV_R3000A 0x30 - -/* For MIPS_TX3900 */ -#define MIPS_REV_TX3912 0x10 -#define MIPS_REV_TX3922 0x30 -#define MIPS_REV_TX3927 0x40 - /* For MIPS_R4000 */ -#define MIPS_REV_R4000_A 0x00 -#define MIPS_REV_R4000_B 0x22 #define MIPS_REV_R4000_C 0x30 #define MIPS_REV_R4400_A 0x40 #define MIPS_REV_R4400_B 0x50 #define MIPS_REV_R4400_C 0x60 -/* For MIPS_TX4900 */ -#define MIPS_REV_TX4927 0x22 - /* * CPU processor revision IDs for company ID == 1 (MIPS) */ @@ -776,12 +523,14 @@ #define MIPS_4KSd 0x92 /* MIPS 4KSd ISA 32 Rel 2 */ /* - * Alchemy (company ID 3) use the processor ID field to donote the CPU core + * AMD (company ID 3) use the processor ID field to donote the CPU core * revision and the company options field do donate the SOC chip type. */ + /* CPU processor revision IDs */ #define MIPS_AU_REV1 0x01 /* Alchemy Au1000 (Rev 1) ISA 32 */ #define MIPS_AU_REV2 0x02 /* Alchemy Au1000 (Rev 2) ISA 32 */ + /* CPU company options IDs */ #define MIPS_AU1000 0x00 #define MIPS_AU1500 0x01 @@ -789,7 +538,7 @@ #define MIPS_AU1550 0x03 /* - * CPU processor revision IDs for company ID == 4 (SiByte) + * CPU processor revision IDs for company ID == 4 (Broadcom) */ #define MIPS_SB1 0x01 /* SiByte SB1 ISA 64 */ @@ -810,14 +559,4 @@ #define MIPS_R31LSI 0x06 /* LSI Logic derivate ISA I */ #define MIPS_R3TOSH 0x22 /* Toshiba R3000 based FPU ISA I */ -#ifdef ENABLE_MIPS_TX3900 -#include -#endif -#ifdef MIPS3_5900 -#include -#endif -#ifdef MIPS64_SB1 -#include -#endif - #endif /* _MIPS_CPUREGS_H_ */ ==== //depot/projects/mips2/src/sys/mips/include/trap.h#3 (text+ko) ==== @@ -44,9 +44,13 @@ #define TrTr 13 #define TrVCEI 14 #define TrFPE 15 -/* 16 - 22 */ +/* 16 - 17 */ +#define TrC2E 18 /* MIPS64 */ +#define TrMDMX 22 /* MIPS64 */ #define TrWATCH 23 -/* 24 - 30 */ +#define TrMCE 24 /* MIPS64 */ +/* 25 - 29 */ +#define TrCacheErr 30 /* MIPS64 */ #define TrVCED 31 #ifndef LOCORE /* XXX */ ==== //depot/projects/mips2/src/sys/mips/mips/cpu.c#11 (text+ko) ==== @@ -25,13 +25,6 @@ * $FreeBSD$ */ -/* - * XXMIPS: __RMAN_RESOURCE_VISIBLE is no longer present in the tree, and for - * struct resource we have nice interface. - */ -#if 0 -#define __RMAN_RESOURCE_VISIBLE -#endif #include #include #include @@ -46,11 +39,9 @@ #include #include -/* - * XXMIPS: I did intr.h -> intr_machdep.h conversion here. - */ +#include +#include #include - #include #include #include @@ -59,14 +50,28 @@ * cpu_id and fpu_id are initialized in locore.S. mips_num_tlb_entries is * initialized by us in the mips_cpu_init thingo. */ -int mips_num_tlb_entries, cpu_id, fpu_id; +int mips_num_tlb_entries; +int cpu_id; +int fpu_id; + +void mips_get_identity(struct mips_cpuinfo *cpuinfo); /* - * XXMIPS: Check format strings. - * Uncomment this one once VECI macro defined below is uncommented. + * Exception vector table management. */ +#define MIPS_DECLARE_VECTOR(class) \ + extern char class ## Vector[], class ## VectorEnd[] +#define MIPS_INSTALL_VECTOR(vector, class) \ + mips_vector_do_install(MIPS_VEC_ ## vector, \ + class ## Vector, \ + class ## VectorEnd) + +MIPS_DECLARE_VECTOR(TLBMiss); +MIPS_DECLARE_VECTOR(Cache); +MIPS_DECLARE_VECTOR(Exception); + static void -mips_vector_install(vm_offset_t addr, char *begin, char *end) +mips_vector_do_install(vm_offset_t addr, char *begin, char *end) { size_t len, max; @@ -82,156 +87,96 @@ memcpy((void *)addr, begin, len); } -/* - * XXMIPS: Those declares external addresses of exception handlers to be used. Take a - * look at support.S to see *Vector code. - */ -#define VEC(class) extern char class ## Vector[], class ## VectorEnd[] - -/* - * XXMIPS: This makes cooperation with exception handler more handy. Less hand-typing - * is needed. Take a look at mips_vector_init() in this file to see a usage. - */ -#define VECI(vec, class) mips_vector_install(vec ## _EXC_VEC, \ - class ## Vector, \ - class ## VectorEnd) -/* - * General exception handler. - */ -VEC(Exception); - -/* - * TLB miss, XTLB miss handler. - */ -VEC(TLBMiss); -VEC(XTLBMiss); - -/* - * Cache error handler. - */ -VEC(Cache); - -/* - * Here you have for example: extern char CacheVector, CacheVestorEnd - */ - -/* - * XXMIPS: error : large integer implicitly truncated to unsigned type. This - * error will stay unless we define proper addresses of exception vectors in - * cpufunc.h. - */ static void mips_vector_init(void) { - VECI(MIPS_UTLB_MISS, TLBMiss); - VECI(MIPS3_XTLB_MISS, TLBMiss); - VECI(MIPS3_CACHE_ERR, Cache); - VECI(MIPS3_GEN, Exception); - + MIPS_INSTALL_VECTOR(TLB, TLBMiss); + MIPS_INSTALL_VECTOR(CACHE, Cache); + MIPS_INSTALL_VECTOR(INTERRUPT, Exception); /* XXX */ + MIPS_INSTALL_VECTOR(GENERIC, Exception); + mips_wr_status(mips_rd_status() & ~MIPS_SR_BEV); } +#undef MIPS_INSTALL_VECTOR +#undef MIPS_DECLARE_VECTOR + /* - * Identify a CPU enough to tell sweet lies about it. We only identify CPUs - * we know we support here, and later. + * Attempt to identify the MIPS CPU as much as possible. * - * This is the WHICH TYPE FINDER. It finds which type of CPU it is :) + * XXX: Assumes the CPU is MIPS32 compliant. + * XXX: For now, skip config register selections 2 and 3 + * as we don't currently use L2/L3 cache or additional + * MIPS32 processor features. */ -struct wtf { - unsigned long wtf_class; - const char *wtf_type; - unsigned long wtf_ntlbs; - const char *wtf_fpu; -}; +void +mips_get_identity(struct mips_cpuinfo *cpuinfo) +{ + u_int32_t prid; + u_int32_t cfg0; + u_int32_t cfg1; + u_int32_t tmp; + + memset(cpuinfo, 0, sizeof(struct mips_cpuinfo)); + + /* Read and store the PrID ID for CPU identification. */ + prid = mips_rd_prid(); + cpuinfo->cpu_vendor = MIPS_PRID_CID(prid); + cpuinfo->cpu_rev = MIPS_PRID_REV(prid); + cpuinfo->cpu_impl = MIPS_PRID_IMPL(prid); -static void -mips_wtf(struct wtf *wtf) -{ + /* Read config register selection 0 to learn TLB type. */ + cfg0 = mips_rd_config(); - /* - * XXXMIPS: Comment it for now, since I haven't get to - * CPU-specifications and differences between them. Bring sample - * values here. - */ - wtf->wtf_class = MIPS_R4000; - wtf->wtf_type = "XZ"; - wtf->wtf_ntlbs = 16; /* XX Find the right value. */ - wtf->wtf_fpu = "YC"; -#if 0 - unsigned long cpu_class; - const char *cpu_type; - unsigned long cpu_ntlbs; - const char *cpu_fpu; + cpuinfo->tlb_type = ((cfg0 & MIPS_CONFIG0_MT_MASK) >> MIPS_CONFIG0_MT_SHIFT); - switch (MIPS_PRID_IMPL(cpu_id)) { - case MIPS_R4000: - cpu_class = MIPS_R4000; - switch (MIPS_PRID_REV(cpu_id)) { - case MIPS_REV_R4400_A: - case MIPS_REV_R4400_B: - case MIPS_REV_R4400_C: - cpu_type = "MIPS R4400"; - cpu_ntlbs = 48; - break; - default: - goto unknown; - } - break; - default: - goto unknown; - } - switch (MIPS_PRID_IMPL(fpu_id)) { - case MIPS_R4010: - cpu_fpu = "MIPS R4010 FPC"; - break; - default: - goto unknown; - } - wtf->wtf_class = cpu_class; - wtf->wtf_type = cpu_type; - wtf->wtf_ntlbs = cpu_ntlbs; - wtf->wtf_fpu = cpu_fpu; + /* If config register selection 1 does not exist, exit. */ + if (!(cfg0 & MIPS_CONFIG_CM)) return; -unknown: - printf("Unknown CPU cpu_id=%x\n", cpu_id); - printf("Unknown FPU fpu_id=%x\n", fpu_id); - panic("Please send this output to freebsd-mips@freeebsd.org"); -#endif + + /* Learn TLB size and L1 cache geometry. */ + cfg1 = mips_rd_config_sel1(); + cpuinfo->tlb_nentries = ((cfg1 & MIPS_CONFIG1_TLBSZ_MASK) >> MIPS_CONFIG1_TLBSZ_SHIFT) + 1; + + /* L1 instruction cache. */ + tmp = 1 << (((cfg1 & MIPS_CONFIG1_IL_MASK) >> MIPS_CONFIG1_IL_SHIFT) + 1); + if (tmp != 0) { + cpuinfo->l1.ic_linesize = tmp; + cpuinfo->l1.ic_nways = (((cfg1 & MIPS_CONFIG1_IA_MASK) >> MIPS_CONFIG1_IA_SHIFT)) + 1; + cpuinfo->l1.ic_nsets = 1 << (((cfg1 & MIPS_CONFIG1_IS_MASK) >> MIPS_CONFIG1_IS_SHIFT) + 6); + } + + /* L1 data cache. */ + tmp = 1 << (((cfg1 & MIPS_CONFIG1_DL_MASK) >> MIPS_CONFIG1_DL_SHIFT) + 1); + if (tmp != 0) { + cpuinfo->l1.dc_linesize = tmp; + cpuinfo->l1.dc_nways = (((cfg1 & MIPS_CONFIG1_DA_MASK) >> MIPS_CONFIG1_DA_SHIFT)) + 1; + cpuinfo->l1.dc_nsets = 1 << (((cfg1 & MIPS_CONFIG1_DS_MASK) >> MIPS_CONFIG1_DS_SHIFT) + 6); + } } -/* - * Possible code path - * ------------------ - * mips_init(): (from machdep.c) - * | - * +- mips_cpu_init(): (this file -- cpu.c) - * | - * +- mips_wtf() (this file -- cpu.c) ok - * +- mips_config_cache() (this file -- cpu.c) stub - * +- tlb_invalidate_all() (tlb.c) - * +- mips_vector_init() (this file -- cpu.c) - * +- mips_icache_sync_all() (cache.c ?) XX - * +- mips_dcache_wbinv_all() (cache.c ?) XX - */ void mips_cpu_init(void) { - struct wtf wtf; + struct mips_cpuinfo cpuinfo; - /* XXX PCPU */ - mips_wtf(&wtf); + mips_get_identity(&cpuinfo); + mips_num_tlb_entries = cpuinfo.tlb_nentries; - mips_num_tlb_entries = wtf.wtf_ntlbs; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 17 19:46:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AF9416A508; Mon, 17 Jul 2006 19:46:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4713016A503 for ; Mon, 17 Jul 2006 19:46:16 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A80243D4C for ; Mon, 17 Jul 2006 19:46:16 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HJkFkK031829 for ; Mon, 17 Jul 2006 19:46:15 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HJkFLs031826 for perforce@freebsd.org; Mon, 17 Jul 2006 19:46:15 GMT (envelope-from piso@freebsd.org) Date: Mon, 17 Jul 2006 19:46:15 GMT Message-Id: <200607171946.k6HJkFLs031826@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:46:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=101794 Change 101794 by piso@piso_newluxor on 2006/07/17 19:45:55 Obviously if we return different ORed values, we use & instead of == to check the return value. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#8 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#8 (text+ko) ==== @@ -798,14 +798,14 @@ } /* Mark handler for later execution in ithread. */ - if (ret2 == FILTER_SCHEDULE_THREAD) { + if (ret2 & FILTER_SCHEDULE_THREAD) { ih->ih_need = 1; ret |= FILTER_SCHEDULE_THREAD; continue; } /* Interrupt served in filter. */ - if (ret2 == FILTER_HANDLED) { + if (ret2 & FILTER_HANDLED) { ret |= FILTER_HANDLED; return (ret); } From owner-p4-projects@FreeBSD.ORG Mon Jul 17 20:14:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B9EF16A4E2; Mon, 17 Jul 2006 20:14:53 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 06BEE16A4DA for ; Mon, 17 Jul 2006 20:14:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C65CE43D53 for ; Mon, 17 Jul 2006 20:14:52 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HKEqhD040586 for ; Mon, 17 Jul 2006 20:14:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HKEqnu040583 for perforce@freebsd.org; Mon, 17 Jul 2006 20:14:52 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 17 Jul 2006 20:14:52 GMT Message-Id: <200607172014.k6HKEqnu040583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101797 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:14:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=101797 Change 101797 by hselasky@hselasky_mini_itx on 2006/07/17 20:14:00 It appears that Bluetooth devices can send packets larger than wMaxPacketsize on the interrupt pipe. Increase the buffer size to the maximum allowed, 255+2 bytes, pluss a little extra, 15 bytes. Affected files ... .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 (text+ko) ==== @@ -244,7 +244,7 @@ .endpoint = -1, /* any */ .direction = UE_DIR_IN, .flags = USBD_SHORT_XFER_OK, - .bufsize = 0, /* use wMaxPacketSize */ + .bufsize = 0x110, /* bytes */ .callback = &ubt_intr_read_callback, }, ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#4 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jul 17 20:30:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 802AC16A4E0; Mon, 17 Jul 2006 20:30:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5CE3016A4DE for ; Mon, 17 Jul 2006 20:30:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9B9943D4C for ; Mon, 17 Jul 2006 20:30:11 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HKUB88041262 for ; Mon, 17 Jul 2006 20:30:11 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HKUBW6041259 for perforce@freebsd.org; Mon, 17 Jul 2006 20:30:11 GMT (envelope-from jhb@freebsd.org) Date: Mon, 17 Jul 2006 20:30:11 GMT Message-Id: <200607172030.k6HKUBW6041259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101798 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:30:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=101798 Change 101798 by jhb@jhb_mutex on 2006/07/17 20:29:26 - No lock needed for td_dupfd. - Initialize svr4_head in MOD_LOAD catch svr4_socket up. (Why is this function even in this file and not streams.c?) Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#10 edit .. //depot/projects/smpng/sys/dev/streams/streams.c#25 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#10 (text+ko) ==== @@ -75,17 +75,6 @@ struct svr4_sockcache_entry *e; void *cookie = ((struct socket *)fp->f_data)->so_emuldata; - if (svr4_str_initialized != 2) { - if (atomic_cmpset_acq_int(&svr4_str_initialized, 0, 1)) { - DPRINTF(("svr4_find_socket: uninitialized [%p,%d,%d]\n", - td, dev, ino)); - TAILQ_INIT(&svr4_head); - atomic_store_rel_int(&svr4_str_initialized, 2); - } - return NULL; - } - - DPRINTF(("svr4_find_socket: [%p,%d,%d]: ", td, dev, ino)); TAILQ_FOREACH(e, &svr4_head, entries) if (e->p == td->td_proc && e->dev == dev && e->ino == ino) { ==== //depot/projects/smpng/sys/dev/streams/streams.c#25 (text+ko) ==== @@ -68,7 +68,7 @@ static int svr4_ptm_alloc(struct thread *); static d_open_t streamsopen; -struct svr4_sockcache_head svr4_head = TAILQ_HEAD_INITIALIZER(svr4_head); +struct svr4_sockcache_head svr4_head; /* * Device minor numbers @@ -86,8 +86,8 @@ dev_unix_ord_stream = 40 }; -static struct cdev *dt_ptm, *dt_arp, *dt_icmp, *dt_ip, *dt_tcp, *dt_udp, *dt_rawip, - *dt_unix_dgram, *dt_unix_stream, *dt_unix_ord_stream; +static struct cdev *dt_ptm, *dt_arp, *dt_icmp, *dt_ip, *dt_tcp, *dt_udp, + *dt_rawip, *dt_unix_dgram, *dt_unix_stream, *dt_unix_ord_stream; static struct fileops svr4_netops = { .fo_read = soo_read, @@ -119,7 +119,7 @@ { switch (type) { case MOD_LOAD: - /* XXX should make sure it isn't already loaded first */ + TAILQ_INIT(&svr4_head); dt_ptm = make_dev(&streams_cdevsw, dev_ptm, 0, 0, 0666, "ptm"); dt_arp = make_dev(&streams_cdevsw, dev_arp, 0, 0, 0666, @@ -274,9 +274,7 @@ (void)svr4_stream_get(fp); fdrop(fp, td); - PROC_LOCK(p); td->td_dupfd = fd; - PROC_UNLOCK(p); return ENXIO; } @@ -318,9 +316,7 @@ case ENXIO: return error; case 0: - PROC_LOCK(p); td->td_dupfd = td->td_retval[0]; - PROC_UNLOCK(p); return ENXIO; default: if (ttynumbers[++n] == '\0') { From owner-p4-projects@FreeBSD.ORG Mon Jul 17 20:32:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 27C1C16A501; Mon, 17 Jul 2006 20:32:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E282A16A508 for ; Mon, 17 Jul 2006 20:32:16 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4D9343D68 for ; Mon, 17 Jul 2006 20:32:14 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HKWEFS041480 for ; Mon, 17 Jul 2006 20:32:14 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HKWEnY041477 for perforce@freebsd.org; Mon, 17 Jul 2006 20:32:14 GMT (envelope-from imp@freebsd.org) Date: Mon, 17 Jul 2006 20:32:14 GMT Message-Id: <200607172032.k6HKWEnY041477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101799 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:32:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=101799 Change 101799 by imp@imp_lighthouse on 2006/07/17 20:31:52 Allow hinted/reserved devices to block only non-hinting scenarios. For a hinted scenario, a reservation doesn't block anything, but an actual device does. Affected files ... .. //depot/projects/arm/src/sys/kern/subr_bus.c#14 edit Differences ... ==== //depot/projects/arm/src/sys/kern/subr_bus.c#14 (text+ko) ==== @@ -1286,13 +1286,14 @@ * @param dc the devclass to allocate from * @param unitp points at the location for the allocated unit * number + * @param reservedok Allow allocation of a hinted/reserved unit * * @retval 0 success * @retval EEXIST the requested unit number is already allocated * @retval ENOMEM memory allocation failure */ static int -devclass_alloc_unit(devclass_t dc, int *unitp) +devclass_alloc_unit(devclass_t dc, int *unitp, int reservedok) { int unit = *unitp; const char *where; @@ -1318,7 +1319,7 @@ */ unit = 0; while ((unit < dc->maxunit && dc->devices[unit] != NULL) || - resource_string_value(dc->name, unit, "at", &where) == 0) + (!reservedok && resource_string_value(dc->name, unit, "at", &where) == 0)) unit++; } @@ -1360,13 +1361,14 @@ * * @param dc the devclass to add to * @param dev the device to add + * @param reservedok Allocating reserved, but not busy, units is ok. * * @retval 0 success * @retval EEXIST the requested unit number is already allocated * @retval ENOMEM memory allocation failure */ static int -devclass_add_device(devclass_t dc, device_t dev) +devclass_add_device(devclass_t dc, device_t dev, int reservedok) { int buflen, error; @@ -1379,7 +1381,7 @@ if (!dev->nameunit) return (ENOMEM); - if ((error = devclass_alloc_unit(dc, &dev->unit)) != 0) { + if ((error = devclass_alloc_unit(dc, &dev->unit, reservedok)) != 0) { free(dev->nameunit, M_BUS); dev->nameunit = NULL; return (error); @@ -1474,7 +1476,7 @@ dev->flags |= DF_WILDCARD; if (name) { dev->flags |= DF_FIXEDCLASS; - if (devclass_add_device(dc, dev)) { + if (devclass_add_device(dc, dev, 0)) { kobj_delete((kobj_t) dev, M_BUS); return (NULL); } @@ -1733,7 +1735,7 @@ if (childdc->devices[unit] != NULL) continue; child->unit = unit; - devclass_add_device(childdc, child); + devclass_add_device(childdc, child, 1); } } /* Fetch any flags for the device before probing. */ @@ -1822,7 +1824,7 @@ childdc = child->devclass; devclass_delete_device(childdc, child); child->unit = unit; - devclass_add_device(childdc, child); + devclass_add_device(childdc, child, 1); } } resource_int_value(best->driver->name, child->unit, @@ -2272,7 +2274,7 @@ if (!dc) return (ENOMEM); - error = devclass_add_device(dc, dev); + error = devclass_add_device(dc, dev, 0); // XXXimp: right? bus_data_generation_update(); return (error); From owner-p4-projects@FreeBSD.ORG Mon Jul 17 20:39:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C75F16A4F1; Mon, 17 Jul 2006 20:39:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC14416A4E7; Mon, 17 Jul 2006 20:39:20 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1155043D49; Mon, 17 Jul 2006 20:39:18 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k6HKdHhM042217; Mon, 17 Jul 2006 16:39:18 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Paolo Pisati Date: Mon, 17 Jul 2006 16:27:56 -0400 User-Agent: KMail/1.9.1 References: <200607171946.k6HJkFLs031826@repoman.freebsd.org> In-Reply-To: <200607171946.k6HJkFLs031826@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607171627.56827.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 17 Jul 2006 16:39:18 -0400 (EDT) X-Virus-Scanned: ClamAV 0.87.1/1600/Sat Jul 15 11:03:46 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 101794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:39:21 -0000 On Monday 17 July 2006 15:46, Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=101794 > > Change 101794 by piso@piso_newluxor on 2006/07/17 19:45:55 > > Obviously if we return different ORed values, we use & > instead of == to check the return value. I guess this fixes your problem. :) > Affected files ... > > .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#8 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#8 (text+ko) ==== > > @@ -798,14 +798,14 @@ > } > > /* Mark handler for later execution in ithread. */ > - if (ret2 == FILTER_SCHEDULE_THREAD) { > + if (ret2 & FILTER_SCHEDULE_THREAD) { > ih->ih_need = 1; > ret |= FILTER_SCHEDULE_THREAD; > continue; > } > > /* Interrupt served in filter. */ > - if (ret2 == FILTER_HANDLED) { > + if (ret2 & FILTER_HANDLED) { > ret |= FILTER_HANDLED; > return (ret); > } > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Mon Jul 17 20:48:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55EB416A4E1; Mon, 17 Jul 2006 20:48:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E97316A4DA; Mon, 17 Jul 2006 20:48:54 +0000 (UTC) (envelope-from flag@newluxor.wired.org) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id EE04143D5E; Mon, 17 Jul 2006 20:48:45 +0000 (GMT) (envelope-from flag@newluxor.wired.org) Received: from newluxor.wired.org (ip-64-163.sn2.eutelia.it [83.211.64.163]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oltrelinux.com (Postfix) with ESMTP id A6FA211AE53; Mon, 17 Jul 2006 22:48:44 +0200 (CEST) Received: (from flag@localhost) by newluxor.wired.org (8.13.7/8.13.7/Submit) id k6HKlUOe006783; Mon, 17 Jul 2006 22:47:30 +0200 (CEST) (envelope-from flag) Date: Mon, 17 Jul 2006 22:47:30 +0200 From: Paolo Pisati To: John Baldwin Message-ID: <20060717204730.GC5639@tin.it> References: <200607171946.k6HJkFLs031826@repoman.freebsd.org> <200607171627.56827.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200607171627.56827.jhb@freebsd.org> User-Agent: Mutt/1.4.2.1i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Perforce Change Reviews , Paolo Pisati Subject: Re: PERFORCE change 101794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:48:54 -0000 On Mon, Jul 17, 2006 at 04:27:56PM -0400, John Baldwin wrote: > > I guess this fixes your problem. :) Absolutely! :) now it's working fine again... -- Paolo Piso's first law: nothing works as expected! From owner-p4-projects@FreeBSD.ORG Mon Jul 17 21:09:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DD4416A4E8; Mon, 17 Jul 2006 21:09:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C57916A4DD for ; Mon, 17 Jul 2006 21:09:54 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 95F1543D70 for ; Mon, 17 Jul 2006 21:09:46 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HL9kqx052299 for ; Mon, 17 Jul 2006 21:09:46 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HL90NG052284 for perforce@freebsd.org; Mon, 17 Jul 2006 21:09:00 GMT (envelope-from adamartin@FreeBSD.org) Date: Mon, 17 Jul 2006 21:09:00 GMT Message-Id: <200607172109.k6HL90NG052284@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101802 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 21:09:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=101802 Change 101802 by adamartin@adamartin_tethys on 2006/07/17 21:08:19 Attempt to remove the core FreeBSD sources, and re-branch them properly Affected files ... .. //depot/projects/soc2006/adamartin_autofs/COPYRIGHT#2 delete .. //depot/projects/soc2006/adamartin_autofs/LOCKS#2 delete .. //depot/projects/soc2006/adamartin_autofs/MAINTAINERS#2 integrate .. //depot/projects/soc2006/adamartin_autofs/Makefile#2 integrate .. //depot/projects/soc2006/adamartin_autofs/Makefile.inc1#2 integrate .. //depot/projects/soc2006/adamartin_autofs/ObsoleteFiles.inc#2 integrate .. //depot/projects/soc2006/adamartin_autofs/README#1 branch .. //depot/projects/soc2006/adamartin_autofs/TODO#2 delete .. //depot/projects/soc2006/adamartin_autofs/UPDATING#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/Makefile.inc#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cat/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cat/cat.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cat/cat.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chflags/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chflags/chflags.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chflags/chflags.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chio/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chio/chio.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chio/chio.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chio/defs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chio/pathnames.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chmod/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chmod/chmod.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/chmod/chmod.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cp/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cp/cp.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cp/cp.c#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/cp/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/cp/utils.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.2#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.3#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.4#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.a#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/csh.g#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/USD.doc/tabs#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/config.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/config_p.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/host.defs#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/iconv.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/csh/iconv_stub.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/date.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/date.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/netdate.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/vary.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/date/vary.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/Makefile#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/dd/args.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/conv.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/conv_tab.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/dd.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/dd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/dd.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/gen.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/misc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/position.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.ascii#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.ebcdic#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.ibm#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.lcase#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.oldascii#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.oldebcdic#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.oldibm#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.pareven#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.parnone#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.parodd#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.parset#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.swab#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/dd/ref.ucase#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/df/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/df/df.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/df/df.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/domainname/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/domainname/domainname.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/domainname/domainname.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/echo/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/echo/echo.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/echo/echo.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/POSIX#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/buf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/cbc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/ed.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/ed.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/glbl.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/io.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/main.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/re.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/sub.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/=.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/TODO#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/a.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/a.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/a.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/a1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/a2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/addr.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/addr.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/addr.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/addr1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/addr2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/ascii.d.uu#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/ascii.r.uu#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/ascii.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/bang1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/bang1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/bang1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/bang1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/bang2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/c.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/c.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/c.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/c1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/c2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/ckscripts.sh#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/d.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/d.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/d.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/d.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e3.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e3.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e3.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e4.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e4.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/e4.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/f1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/f2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g3.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g3.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g3.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g4.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g4.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g4.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g5.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g5.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/g5.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/h.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/i3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/j.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/j.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/j.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/k4.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/l.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/l.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/l.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/m.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/m.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/m.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/m.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/mkscripts.sh#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/n.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/n.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/n.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/nl2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/p.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/p.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/p.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/q.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/q.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/q.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/q1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r3.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r3.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/r3.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s10.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s3.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s3.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s3.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s4.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s5.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s6.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s7.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s8.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/s9.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t1.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t1.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t1.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t2.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t2.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/t2.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/u.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/u.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/u.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/u.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/v.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/v.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/v.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w.d#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w.r#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w.t#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w1.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w2.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/w3.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/x.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/test/z.err#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ed/undo.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/expr/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/expr/expr.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/expr/expr.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/getfacl/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/getfacl/getfacl.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/getfacl/getfacl.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/hostname/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/hostname/hostname.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/hostname/hostname.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kenv/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kenv/kenv.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kenv/kenv.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kill/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kill/kill.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/kill/kill.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ln/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ln/ln.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ln/ln.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ln/symlink.7#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/cmp.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/ls.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/ls.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/ls.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/print.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ls/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mkdir/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mkdir/mkdir.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mkdir/mkdir.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mv/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mv/mv.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/mv/mv.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/ar_io.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/ar_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/buf_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/cache.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/cache.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/cpio.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/cpio.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/cpio.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/file_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/ftree.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/ftree.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/gen_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/getoldopt.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/options.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/options.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/pat_rep.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/pat_rep.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/pax.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/pax.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/pax.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/sel_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/sel_subs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tables.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tables.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tar.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tar.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tar.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pax/tty_subs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/fmt.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/keyword.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/nlist.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/print.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/ps.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/ps.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/ps/ps.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pwd/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pwd/pwd.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/pwd/pwd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rcp/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rcp/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rcp/rcp.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rcp/rcp.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rcp/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/realpath/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/realpath/realpath.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/realpath/realpath.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rm/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rm/rm.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rm/rm.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rmail/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rmdir/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rmdir/rmdir.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/rmdir/rmdir.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/file.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/mask.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/merge.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/remove.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/setfacl.1#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/setfacl.c#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/setfacl.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/setfacl/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/TOUR#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/alias.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/alias.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/arith.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/arith.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/arith_lex.l#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/bltin/bltin.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/bltin/echo.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/bltin/echo.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/builtins.def#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/cd.c#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/sh/cd.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/error.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/error.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/eval.c#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/sh/eval.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/exec.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/exec.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/expand.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/expand.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/cmv#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/dirs#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/kill#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/login#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/newgrp#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/popd#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/pushd#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/funcs/suspend#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/histedit.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/init.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/input.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/input.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/jobs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/jobs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mail.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mail.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/main.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/main.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/memalloc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/memalloc.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/miscbltin.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mkbuiltins#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mkinit.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mknodes.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mksyntax.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mktokens#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/myhistedit.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mystring.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/mystring.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/nodes.c.pat#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/nodetypes#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/options.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/options.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/output.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/output.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/parser.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/parser.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/redir.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/redir.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/sh.1#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/sh/shell.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/show.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/show.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/trap.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/trap.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sh/var.c#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/sh/var.h#2 integrate .. //depot/projects/soc2006/adamartin_autofs/bin/sleep/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sleep/sleep.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sleep/sleep.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/cchar.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/extern.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/gfmt.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/key.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/modes.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/print.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/stty.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/stty.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/stty.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/stty/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sync/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sync/sync.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/sync/sync.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/Makefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/TEST.README#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/TEST.csh#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/TEST.sh#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/test.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/bin/test/test.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/AUTHORS#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/BUGS#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/COPYING#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/ChangeLog#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/FREEBSD-Xlist#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/FREEBSD-upgrade#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/INSTALL#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/MIRRORS.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/MIRRORS.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/NEWS#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/README.ldap#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/README.y2k#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/am_ops.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amd.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amd.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_auto.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_direct.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_error.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_host.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_inherit.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_link.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_linkx.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_nfsl.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_nfsx.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_program.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_root.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_toplvl.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amfs_union.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amq_subr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/amq_svc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/autil.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/clock.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/conf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/conf_parse.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/conf_tok.l#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/get_args.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_file.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_hesiod.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_ldap.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_ndbm.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_nis.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_nisplus.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_passwd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/info_union.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/map.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/mapc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/mntfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/nfs_prot_svc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/nfs_start.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/nfs_subr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_TEMPLATE.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_cachefs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_cdfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_efs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_lofs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_mfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_nfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_nfs3.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_nullfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_pcfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_tfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_tmpfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_ufs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_umapfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_unionfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/ops_xfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/opts.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/restart.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/rpc_fwd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/sched.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/srvr_amfs_auto.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amd/srvr_nfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/amq.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/amq.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/amq.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/amq_clnt.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/amq_xdr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/pawd.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/amq/pawd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/aux_conf.h.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/bootstrap#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/checkmount/checkmount_bsd44.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/mtab/mtab_bsd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/transp/transp_sockets.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/trap/trap_default.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/conf/umount/umount_bsd44.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/doc/am-utils.texi#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/doc/texinfo.tex#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/doc/version.texi#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fixmount/fixmount.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fixmount/fixmount.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_analyze.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_data.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_dict.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_gram.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_lex.l#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsi_util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsinfo.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsinfo.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/fsinfo.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/wr_atab.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/wr_bparam.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/wr_dumpset.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/wr_exportfs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/fsinfo/wr_fstab.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/hlfsd.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/hlfsd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/hlfsd.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/homedir.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/nfs_prot_svc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/hlfsd/stubs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/am_compat.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/am_defs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/am_utils.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/am_xdr_func.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/amq_defs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/mount_headers1.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/include/mount_headers2.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/ldap-id.ms#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/ldap-id.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/alloca.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/amu.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/hasmntopt.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/misc_rpc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/mount_fs.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/mtab.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/nfs_prot_xdr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/strerror.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/wire.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/xdr_func.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/libamu/xutil.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/GNUmakefile#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/amdgrep#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/amindent#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/autopat#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/chop-aclocal.pl#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/copy-if-newbig#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/macros/HEADER#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/macros/TRAILER#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/mk-aclocal#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/mkconf#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/rmtspc#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/m4/update_build_version#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/mk-amd-map/mk-amd-map.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/mk-amd-map/mk-amd-map.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/am-eject.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/amd.conf-sample#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/amd.conf.5#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/amd2ldif.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/amd2sun.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/automount2amd.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/automount2amd.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/ctl-amd.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/ctl-hlfsd.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/expn.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/expn.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/fix-amd-map.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/fixrmtab.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/redhat-ctl-amd.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/wait4amd.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/scripts/wait4amd2die.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/tasks#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/wire-test/wire-test.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/amd/wire-test/wire-test.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/AUTHORS#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/ChangeLog#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Examples/ckbook.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Examples/pi.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Examples/primes.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Examples/twins.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/FAQ#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/FREEBSD-upgrade#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/INSTALL#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/NEWS#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/BUG.bc#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/array.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/arrayp.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/aryprm.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/atan.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/checklib.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/div.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/exp.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/fact.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/jn.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/ln.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/mul.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/raise.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/signum#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/sine.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/sqrt.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/sqrt1.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/sqrt2.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/testfn.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/Test/timetest#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/acconfig.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/aclocal.m4#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/bc.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/bcdefs.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/const.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/execute.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/fix-libmath_h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/global.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/global.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/libmath.b#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/libmath.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/load.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/main.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/proto.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/sbc.y#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/scan.l#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/storage.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/bc/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/config.h.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/configure#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/configure.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/array.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/dc-proto.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/dc-regdef.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/dc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/dc.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/eval.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/misc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/numeric.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/stack.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/dc/string.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/bc.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/bc.texi#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/dc.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/doc/dc.texi#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/h/number.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/install-sh#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/lib/Makefile.am#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/lib/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/lib/number.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/lib/testmul.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/lib/vfprintf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/missing#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/mkinstalldirs#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bc/stamp-h.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/CHANGES#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/COPYRIGHT#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/FAQ#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/FAQ.xml#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/FREEBSD-Upgrade#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/FREEBSD-Xlist#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/acconfig.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/check-tool.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/check-tool.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkconf.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkconf.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkconf.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkzone.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkzone.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkzone.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/check/named-checkzone.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/dig.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/dig.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/dig.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/dig.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/dighost.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/host.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/host.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/host.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/host.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/include/dig/dig.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/nslookup.1#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/nslookup.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/nslookup.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dig/nslookup.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-keygen.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-keygen.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-keygen.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-signzone.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-signzone.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssec-signzone.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssectool.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/dnssec/dnssectool.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/aclconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/builtin.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/client.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/config.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/control.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/controlconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/aclconf.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/builtin.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/client.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/config.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/control.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/globals.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/interfacemgr.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/listenlist.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/log.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/logconf.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/lwaddr.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/lwdclient.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/lwresd.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/lwsearch.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/main.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/notify.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/ns_smf_globals.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/query.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/server.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/sortlist.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/tkeyconf.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/tsigconf.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/types.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/update.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/xfrout.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/include/named/zoneconf.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/interfacemgr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/listenlist.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/log.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/logconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwaddr.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwdclient.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwderror.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwdgabn.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwdgnba.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwdgrbn.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwdnoop.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwresd.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwresd.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwresd.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwresd.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/lwsearch.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/main.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.conf.5#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.conf.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.conf.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/named.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/notify.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/query.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/server.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/sortlist.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/tkeyconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/tsigconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/unix/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/unix/include/named/os.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/unix/os.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/update.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/xfrout.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/named/zoneconf.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/nsupdate/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/nsupdate/nsupdate.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/nsupdate/nsupdate.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/nsupdate/nsupdate.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/nsupdate/nsupdate.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/include/rndc/os.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc-confgen.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc-confgen.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc-confgen.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc-confgen.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.8#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.conf#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.conf.5#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.conf.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.conf.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.docbook#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/rndc.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/unix/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/unix/os.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/util.c#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/bin/rndc/util.h#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/config.guess#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/config.sub#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/config.threads.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/configure.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.html#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Bv9ARM.pdf#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/arm/README-SGML#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-09.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-insensitive-06.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-08.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-04.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/draft/update#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/Makefile.in#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/dnssec#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/format-options.pl#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/ipv6#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/migration#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/migration-4to9#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/options#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/rfc-compliance#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/roadmap#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/misc/sdb#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/index#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1032.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1033.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1034.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1035.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1101.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1122.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1123.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1183.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1348.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1535.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1536.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1537.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1591.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1611.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1612.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1706.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1712.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1750.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1876.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1886.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1982.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1995.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc1996.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2052.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2104.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2119.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2133.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2136.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2137.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2163.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2168.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2181.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2230.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2308.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2317.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2373.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2374.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2375.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2418.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2535.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2536.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2537.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2538.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2539.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2540.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2541.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2553.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2671.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2672.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2673.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2782.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2825.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2826.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2845.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2874.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2915.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2929.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2930.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc2931.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3007.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3008.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3071.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3090.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3110.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3123.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3152.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3197.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3225.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3226.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3258.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3363.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3364.txt#2 delete .. //depot/projects/soc2006/adamartin_autofs/contrib/bind9/doc/rfc/rfc3425.txt#2 delete >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 17 21:12:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E14C616A4DF; Mon, 17 Jul 2006 21:12:50 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC60416A4DA for ; Mon, 17 Jul 2006 21:12:50 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7355843D46 for ; Mon, 17 Jul 2006 21:12:50 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HLCoL8052577 for ; Mon, 17 Jul 2006 21:12:50 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HLCoOa052574 for perforce@freebsd.org; Mon, 17 Jul 2006 21:12:50 GMT (envelope-from adamartin@FreeBSD.org) Date: Mon, 17 Jul 2006 21:12:50 GMT Message-Id: <200607172112.k6HLCoOa052574@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101803 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 21:12:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=101803 Change 101803 by adamartin@adamartin_tethys on 2006/07/17 21:12:27 More file cleanup from branch to vendor Affected files ... .. //depot/projects/soc2006/adamartin_autofs/MAINTAINERS#3 delete .. //depot/projects/soc2006/adamartin_autofs/Makefile#3 delete .. //depot/projects/soc2006/adamartin_autofs/Makefile.inc1#3 delete .. //depot/projects/soc2006/adamartin_autofs/ObsoleteFiles.inc#3 delete .. //depot/projects/soc2006/adamartin_autofs/README#2 delete .. //depot/projects/soc2006/adamartin_autofs/UPDATING#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 17 21:32:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AD2916A4E1; Mon, 17 Jul 2006 21:32:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2CA3C16A4DD for ; Mon, 17 Jul 2006 21:32:15 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC6B043D46 for ; Mon, 17 Jul 2006 21:32:14 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HLWEPc053935 for ; Mon, 17 Jul 2006 21:32:14 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HLWEgd053932 for perforce@freebsd.org; Mon, 17 Jul 2006 21:32:14 GMT (envelope-from adamartin@FreeBSD.org) Date: Mon, 17 Jul 2006 21:32:14 GMT Message-Id: <200607172132.k6HLWEgd053932@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 21:32:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=101805 Change 101805 by adamartin@adamartin_tethys on 2006/07/17 21:31:27 freebsd sources directory Affected files ... .. //depot/projects/soc2006/adamartin_autofs/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/soc2006/adamartin_autofs/sys/arm/conf/KB920X#3 integrate Differences ... ==== //depot/projects/soc2006/adamartin_autofs/sys/arm/at91/kb920x_machdep.c#3 (text) ==== @@ -1,3 +1,4 @@ +>>>> ORIGINAL kb920x_machdep.c#11 /*- * Copyright (c) 1994-1998 Mark Brinicombe. * Copyright (c) 1994 Brini. @@ -490,3 +491,498 @@ return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); } +==== THEIRS kb920x_machdep.c#12 +/*- + * Copyright (c) 1994-1998 Mark Brinicombe. + * Copyright (c) 1994 Brini. + * All rights reserved. + * + * This code is derived from software written for Brini by Mark Brinicombe + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Brini. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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. + * + * RiscBSD kernel project + * + * machdep.c + * + * Machine dependant functions for kernel setup + * + * This file needs a lot of work. + * + * Created : 17/09/94 + */ + +#include "opt_msgbuf.h" +#include "opt_ddb.h" +#include "opt_at91.h" + +#include +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.12 2006/07/17 21:20:00 cognet Exp $"); + +#define _ARM32_BUS_DMA_PRIVATE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ +#define KERNEL_PT_KERN 1 +#define KERNEL_PT_KERN_NUM 22 +#define KERNEL_PT_AFKERNEL KERNEL_PT_KERN + KERNEL_PT_KERN_NUM /* L2 table for mapping after kernel */ +#define KERNEL_PT_AFKERNEL_NUM 5 + +/* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */ +#define NUM_KERNEL_PTS (KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM) + +/* Define various stack sizes in pages */ +#define IRQ_STACK_SIZE 1 +#define ABT_STACK_SIZE 1 +#define UND_STACK_SIZE 1 + +extern u_int data_abort_handler_address; +extern u_int prefetch_abort_handler_address; +extern u_int undefined_handler_address; + +struct pv_addr kernel_pt_table[NUM_KERNEL_PTS]; + +extern void *_end; + +extern int *end; + +struct pcpu __pcpu; +struct pcpu *pcpup = &__pcpu; + +/* Physical and virtual addresses for some global pages */ + +vm_paddr_t phys_avail[10]; +vm_paddr_t dump_avail[4]; +vm_offset_t physical_pages; +vm_offset_t clean_sva, clean_eva; + +struct pv_addr systempage; +struct pv_addr msgbufpv; +struct pv_addr irqstack; +struct pv_addr undstack; +struct pv_addr abtstack; +struct pv_addr kernelstack; +struct pv_addr minidataclean; + +static struct trapframe proc0_tf; + +/* Static device mappings. */ +static const struct pmap_devmap kb920x_devmap[] = { + /* + * Map the on-board devices VA == PA so that we can access them + * with the MMU on or off. + */ + { + /* + * This at least maps the interrupt controller, the UART + * and the timer. Other devices should use newbus to + * map their memory anyway. + */ + 0xfff00000, + 0xfff00000, + 0x100000, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, + /* + * We can't just map the OHCI registers VA == PA, because + * AT91RM92_OHCI_BASE belongs to the userland address space. + * We could just choose a different virtual address, but a better + * solution would probably be to just use pmap_mapdev() to allocate + * KVA, as we don't need the OHCI controller before the vm + * initialization is done. However, the AT91 resource allocation + * system doesn't know how to use pmap_mapdev() yet. + */ +#if 0 + { + /* + * Add the ohci controller, and anything else that might be + * on this chip select for a VA/PA mapping. + */ + AT91RM92_OHCI_BASE, + AT91RM92_OHCI_BASE, + AT91RM92_OHCI_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, +#endif + { + 0, + 0, + 0, + 0, + 0, + } +}; + +#define SDRAM_START 0xa0000000 + +#ifdef DDB +extern vm_offset_t ksym_start, ksym_end; +#endif + +static long +ramsize(void) +{ + uint32_t *SDRAMC = (uint32_t *)(AT91RM92_BASE + AT91RM92_SDRAMC_BASE); + uint32_t cr, mr; + int banks, rows, cols, bw; + + cr = SDRAMC[AT91RM92_SDRAMC_CR / 4]; + mr = SDRAMC[AT91RM92_SDRAMC_MR / 4]; + bw = (mr & AT91RM92_SDRAMC_MR_DBW_16) ? 1 : 2; + banks = (cr & AT91RM92_SDRAMC_CR_NB_4) ? 2 : 1; + rows = ((cr & AT91RM92_SDRAMC_CR_NR_MASK) >> 2) + 11; + cols = (cr & AT91RM92_SDRAMC_CR_NC_MASK) + 8; + return (1 << (cols + rows + banks + bw)); +} + +static long +board_init(void) +{ + /* + * Since the USART supprots RS-485 multidrop mode, it allows the + * TX pins to float. However, for RS-232 operations, we don't want + * these pins to float. Instead, they should be pulled up to avoid + * mismatches. Linux does something similar when it configures the + * TX lines. This implies that we also allow the RX lines to float + * rather than be in the state they are left in by the boot loader. + * Since they are input pins, I think that this is the right thing + * to do. + */ + + /* PIOA's A periph: Turn USART 0 and 2's TX/RX pins */ + at91_pio_use_periph_a(AT91RM92_PIOA_BASE, + AT91C_PA18_RXD0 | AT91C_PA22_RXD2, 0); + at91_pio_use_periph_a(AT91RM92_PIOA_BASE, + AT91C_PA17_TXD0 | AT91C_PA23_TXD2, 1); + /* PIOA's B periph: Turn USART 3's TX/RX pins */ + at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); + at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); +#ifdef AT91_TSC + /* We're using TC0's A1 and A2 input */ + at91_pio_use_periph_b(AT91RM92_PIOA_BASE, + AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); +#endif + /* PIOB's A periph: Turn USART 1's TX/RX pins */ + at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB21_RXD1, 0); + at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); + + /* Pin assignment */ +#ifdef AT91_TSC + /* Assert PA24 low -- talk to rubidium */ + at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); + at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); + at91_pio_gpio_clear(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); +#endif + + return (ramsize()); +} + +void * +initarm(void *arg, void *arg2) +{ + struct pv_addr kernel_l1pt; + int loop; + u_int l1pagetable; + vm_offset_t freemempos; + vm_offset_t afterkern; + int i = 0; + uint32_t fake_preload[35]; + uint32_t memsize; + vm_offset_t lastaddr; +#ifdef DDB + vm_offset_t zstart = 0, zend = 0; +#endif + + i = 0; + + set_cpufuncs(); + + fake_preload[i++] = MODINFO_NAME; + fake_preload[i++] = strlen("elf kernel") + 1; + strcpy((char*)&fake_preload[i++], "elf kernel"); + i += 2; + fake_preload[i++] = MODINFO_TYPE; + fake_preload[i++] = strlen("elf kernel") + 1; + strcpy((char*)&fake_preload[i++], "elf kernel"); + i += 2; + fake_preload[i++] = MODINFO_ADDR; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = KERNBASE; + fake_preload[i++] = MODINFO_SIZE; + fake_preload[i++] = sizeof(uint32_t); + fake_preload[i++] = (uint32_t)&end - KERNBASE; +#ifdef DDB + if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { + fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); + fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); + lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); + zend = lastaddr; + zstart = *(uint32_t *)(KERNVIRTADDR + 4); + ksym_start = zstart; + ksym_end = zend; + } else +#endif + lastaddr = (vm_offset_t)&end; + + fake_preload[i++] = 0; + fake_preload[i] = 0; + preload_metadata = (void *)fake_preload; + + + pcpu_init(pcpup, 0, sizeof(struct pcpu)); + PCPU_SET(curthread, &thread0); + +#define KERNEL_TEXT_BASE (KERNBASE) + freemempos = (lastaddr + PAGE_MASK) & ~PAGE_MASK; + /* Define a macro to simplify memory allocation */ +#define valloc_pages(var, np) \ + alloc_pages((var).pv_va, (np)); \ + (var).pv_pa = (var).pv_va + (KERNPHYSADDR - KERNVIRTADDR); + +#define alloc_pages(var, np) \ + (var) = freemempos; \ + freemempos += (np * PAGE_SIZE); \ + memset((char *)(var), 0, ((np) * PAGE_SIZE)); + + while (((freemempos - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) != 0) + freemempos += PAGE_SIZE; + valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); + for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { + if (!(loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { + valloc_pages(kernel_pt_table[loop], + L2_TABLE_SIZE / PAGE_SIZE); + } else { + kernel_pt_table[loop].pv_va = freemempos - + (loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) * + L2_TABLE_SIZE_REAL; + kernel_pt_table[loop].pv_pa = + kernel_pt_table[loop].pv_va - KERNVIRTADDR + + KERNPHYSADDR; + } + i++; + } + /* + * Allocate a page for the system page mapped to V0x00000000 + * This page will just contain the system vectors and can be + * shared by all processes. + */ + valloc_pages(systempage, 1); + + /* Allocate stacks for all modes */ + valloc_pages(irqstack, IRQ_STACK_SIZE); + valloc_pages(abtstack, ABT_STACK_SIZE); + valloc_pages(undstack, UND_STACK_SIZE); + valloc_pages(kernelstack, KSTACK_PAGES); + alloc_pages(minidataclean.pv_pa, 1); + valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE); + /* + * Now we start construction of the L1 page table + * We start by mapping the L2 page tables into the L1. + * This means that we can replace L1 mappings later on if necessary + */ + l1pagetable = kernel_l1pt.pv_va; + + /* Map the L2 pages tables in the L1 page table */ + pmap_link_l2pt(l1pagetable, ARM_VECTORS_LOW, + &kernel_pt_table[KERNEL_PT_SYS]); + for (i = 0; i < KERNEL_PT_KERN_NUM; i++) + pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x100000, + &kernel_pt_table[KERNEL_PT_KERN + i]); + pmap_map_chunk(l1pagetable, KERNBASE, KERNPHYSADDR, + (((uint32_t)(lastaddr) - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE + - 1)); + for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { + pmap_link_l2pt(l1pagetable, afterkern + i * 0x00100000, + &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); + } + pmap_map_entry(l1pagetable, afterkern, minidataclean.pv_pa, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + + /* Map the vector page. */ + pmap_map_entry(l1pagetable, ARM_VECTORS_LOW, systempage.pv_pa, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the stack pages */ + pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, + IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa, + ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa, + UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa, + KSTACK_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa, + L1_TABLE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); + pmap_map_chunk(l1pagetable, msgbufpv.pv_va, msgbufpv.pv_pa, + MSGBUF_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + + for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { + pmap_map_chunk(l1pagetable, kernel_pt_table[loop].pv_va, + kernel_pt_table[loop].pv_pa, L2_TABLE_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); + } + + pmap_devmap_bootstrap(l1pagetable, kb920x_devmap); + cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT); + setttb(kernel_l1pt.pv_pa); + cpu_tlb_flushID(); + cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); + cninit(); + memsize = board_init(); + physmem = memsize / PAGE_SIZE; + + /* + * Pages were allocated during the secondary bootstrap for the + * stacks for different CPU modes. + * We must now set the r13 registers in the different CPU modes to + * point to these stacks. + * Since the ARM stacks use STMFD etc. we must set r13 to the top end + * of the stack memory. + */ + + cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE); + set_stackptr(PSR_IRQ32_MODE, + irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); + set_stackptr(PSR_ABT32_MODE, + abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE); + set_stackptr(PSR_UND32_MODE, + undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); + + + + /* + * We must now clean the cache again.... + * Cleaning may be done by reading new data to displace any + * dirty data in the cache. This will have happened in setttb() + * but since we are boot strapping the addresses used for the read + * may have just been remapped and thus the cache could be out + * of sync. A re-clean after the switch will cure this. + * After booting there are no gross reloations of the kernel thus + * this problem will not occur after initarm(). + */ + cpu_idcache_wbinv_all(); + + /* Set stack for exception handlers */ + + data_abort_handler_address = (u_int)data_abort_handler; + prefetch_abort_handler_address = (u_int)prefetch_abort_handler; + undefined_handler_address = (u_int)undefinedinstruction_bounce; + undefined_init(); + + proc_linkup(&proc0, &ksegrp0, &thread0); + thread0.td_kstack = kernelstack.pv_va; + thread0.td_pcb = (struct pcb *) + (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + thread0.td_pcb->pcb_flags = 0; + thread0.td_frame = &proc0_tf; + pcpup->pc_curpcb = thread0.td_pcb; + + arm_vector_init(ARM_VECTORS_LOW, ARM_VEC_ALL); + + pmap_curmaxkvaddr = afterkern + 0x100000 * (KERNEL_PT_KERN_NUM - 1); + pmap_bootstrap(freemempos, + KERNVIRTADDR + 3 * memsize, + &kernel_l1pt); + msgbufp = (void*)msgbufpv.pv_va; + msgbufinit(msgbufp, MSGBUF_SIZE); + mutex_init(); + + i = 0; + dump_avail[0] = KERNPHYSADDR; + dump_avail[1] = KERNPHYSADDR + memsize; + dump_avail[2] = 0; + dump_avail[3] = 0; + + phys_avail[0] = freemempos - KERNVIRTADDR + KERNPHYSADDR; + phys_avail[1] = KERNPHYSADDR + memsize; + phys_avail[2] = 0; + phys_avail[3] = 0; + /* Do basic tuning, hz etc */ + init_param1(); + init_param2(physmem); + avail_end = KERNPHYSADDR + memsize - 1; + kdb_init(); + return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - + sizeof(struct pcb))); +} +==== YOURS kb920x_machdep.c +<<<< ==== //depot/projects/soc2006/adamartin_autofs/sys/arm/conf/KB920X#3 (text) ==== @@ -1,3 +1,4 @@ +>>>> ORIGINAL KB920X#7 # KB920X -- Custom kernel configuration for the KB9200, 9201 and 9202 # AT91RM9200 evaluation boards from kwikbyte.com. # @@ -81,3 +82,90 @@ device md # device at91_twi # TWI: Two Wire Interface device at91_spi # SPI: +==== THEIRS KB920X#8 +# KB920X -- Custom kernel configuration for the KB9200, 9201 and 9202 +# AT91RM9200 evaluation boards from kwikbyte.com. +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ + +machine arm +ident KB920X + +include "../at91/std.kb920x" +#To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" #Default places to look for devices. + +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options DDB +options KDB + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +#options INET6 #IPv6 communications protocols +options FFS #Berkeley Fast Filesystem +#options SOFTUPDATES #Enable FFS soft updates support +#options UFS_ACL #Support for access control lists +#options UFS_DIRHASH #Improve performance on big directories +#options MD_ROOT #MD is a potential root device +#options MD_ROOT_SIZE=4096 # 3MB ram disk +#options ROOTDEVNAME=\"ufs:md0\" +options NFSCLIENT #Network Filesystem Client +#options NFSSERVER #Network Filesystem Server +options NFS_ROOT #NFS usable as /, requires NFSCLIENT +options BOOTP_NFSROOT +options BOOTP + +#options MSDOSFS #MSDOS Filesystem +#options CD9660 #ISO 9660 Filesystem +#options PROCFS #Process filesystem (requires PSEUDOFS) +options PSEUDOFS #Pseudo-filesystem framework +#options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI +#options KTRACE #ktrace(1) support +options SYSVSHM #SYSV-style shared memory +options SYSVMSG #SYSV-style message queues +options SYSVSEM #SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +#options SYSCTL_OMIT_DESCR +options MUTEX_NOINLINE +options RWLOCK_NOINLINE +options NO_FFS_SNAPSHOT +options NO_SWAPPING +device genclock +device random +device pty +device loop +device ether +device nexus +device uart +device ate +device mii +device lxtphy + +# Debugging for use in -current +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed + +device mem # Memory and kernel memory devices +device md +# device at91_twi # TWI: Two Wire Interface +device at91_spi # SPI: +==== YOURS KB920X +<<<< +device spibus From owner-p4-projects@FreeBSD.ORG Mon Jul 17 21:32:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB38516A566; Mon, 17 Jul 2006 21:32:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E8A516A4F8 for ; Mon, 17 Jul 2006 21:32:15 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BFD843D49 for ; Mon, 17 Jul 2006 21:32:15 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HLWFwo053941 for ; Mon, 17 Jul 2006 21:32:15 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HLWEZC053938 for perforce@freebsd.org; Mon, 17 Jul 2006 21:32:14 GMT (envelope-from adamartin@FreeBSD.org) Date: Mon, 17 Jul 2006 21:32:14 GMT Message-Id: <200607172132.k6HLWEZC053938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101806 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 21:32:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=101806 Change 101806 by adamartin@adamartin_tethys on 2006/07/17 21:31:52 null Affected files ... .. //depot/projects/soc2006/adamartin_autofs/sys/arm/at91/kb920x_machdep.c#4 delete .. //depot/projects/soc2006/adamartin_autofs/sys/arm/conf/KB920X#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 17 23:12:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 073A416A4E2; Mon, 17 Jul 2006 23:12:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD2DD16A4DD for ; Mon, 17 Jul 2006 23:12:36 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91CB343D7C for ; Mon, 17 Jul 2006 23:12:32 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HNCVCc063455 for ; Mon, 17 Jul 2006 23:12:31 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HNCUBL063452 for perforce@freebsd.org; Mon, 17 Jul 2006 23:12:30 GMT (envelope-from imp@freebsd.org) Date: Mon, 17 Jul 2006 23:12:30 GMT Message-Id: <200607172312.k6HNCUBL063452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 23:12:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=101818 Change 101818 by imp@imp_harmony on 2006/07/17 23:12:09 IFC @101815 Affected files ... .. //depot/projects/arm/src/sys/amd64/amd64/pmap.c#19 integrate .. //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#53 integrate .. //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#32 integrate .. //depot/projects/arm/src/sys/arm/conf/KB920X#38 integrate .. //depot/projects/arm/src/sys/conf/NOTES#27 integrate .. //depot/projects/arm/src/sys/conf/files#38 integrate .. //depot/projects/arm/src/sys/conf/files.ia64#7 integrate .. //depot/projects/arm/src/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/arm/src/sys/conf/options#25 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_perf.c#6 integrate .. //depot/projects/arm/src/sys/dev/amr/amr.c#11 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#8 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.c#12 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#11 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_sbus.c#7 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_target.c#6 integrate .. //depot/projects/arm/src/sys/dev/lmc/if_lmc.c#4 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.c#17 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.h#17 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#20 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_raid.h#5 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/arm/src/sys/dev/sio/sio.c#7 integrate .. //depot/projects/arm/src/sys/dev/sound/driver.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/cmi.c#7 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10k1.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/arm/src/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/sound.c#8 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/sound.h#7 integrate .. //depot/projects/arm/src/sys/dev/spibus/spi.h#3 integrate .. //depot/projects/arm/src/sys/dev/spibus/spibusvar.h#3 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_devs.c#5 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_rule.c#5 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_vfsops.c#4 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_vnops.c#8 integrate .. //depot/projects/arm/src/sys/fs/smbfs/smbfs_vfsops.c#5 integrate .. //depot/projects/arm/src/sys/gnu/dev/sound/pci/emu10k1-ac97.h#2 delete .. //depot/projects/arm/src/sys/gnu/dev/sound/pci/emu10k1-alsa.h#2 integrate .. //depot/projects/arm/src/sys/gnu/dev/sound/pci/emu10k1.h#2 delete .. //depot/projects/arm/src/sys/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/arm/src/sys/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/arm/src/sys/i386/i386/pmap.c#15 integrate .. //depot/projects/arm/src/sys/ia64/conf/DEFAULTS#5 integrate .. //depot/projects/arm/src/sys/kern/kern_mac.c#4 integrate .. //depot/projects/arm/src/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/arm/src/sys/kern/uipc_socket.c#16 integrate .. //depot/projects/arm/src/sys/kern/vfs_subr.c#21 integrate .. //depot/projects/arm/src/sys/modules/sound/driver/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/arm/src/sys/net/if_spppsubr.c#4 integrate .. //depot/projects/arm/src/sys/net/if_tap.c#6 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_input.c#9 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_ioctl.c#9 integrate .. //depot/projects/arm/src/sys/netsmb/smb_conn.c#3 integrate .. //depot/projects/arm/src/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/arm/src/sys/sys/libkern.h#3 integrate .. //depot/projects/arm/src/sys/sys/mbuf.h#11 integrate .. //depot/projects/arm/src/sys/sys/param.h#13 integrate .. //depot/projects/arm/src/sys/vm/uma_core.c#7 integrate .. //depot/projects/arm/src/sys/vm/vm_object.c#9 integrate Differences ... ==== //depot/projects/arm/src/sys/amd64/amd64/pmap.c#19 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.565 2006/07/06 06:17:08 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.566 2006/07/17 03:10:17 alc Exp $"); /* * Manages physical address maps. @@ -1627,6 +1627,7 @@ int idx, field, bit; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -2015,8 +2016,8 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pmap, pv->pv_va, ptepde); + free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); - free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); } ==== //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#7 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.26 2006/07/15 23:15:31 cognet Exp $"); #include #include @@ -512,7 +512,7 @@ void *ret; struct arm_small_page *sp, *tmp; TAILQ_HEAD(,arm_small_page) *head; - static int in_alloc; + static struct thread *in_alloc; static int in_sleep; int should_wakeup = 0; @@ -532,12 +532,13 @@ if (!sp) { /* No more free pages, need to alloc more. */ - if (!(wait & M_WAITOK)) { + if (!(wait & M_WAITOK) || + in_alloc == curthread) { mtx_unlock(&smallalloc_mtx); *flags = UMA_SLAB_KMEM; return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT)); } - if (in_alloc) { + if (in_alloc != NULL) { /* Somebody else is already doing the allocation. */ in_sleep++; msleep(&in_alloc, &smallalloc_mtx, PWAIT, @@ -545,14 +546,14 @@ in_sleep--; goto retry; } - in_alloc = 1; + in_alloc = curthread; mtx_unlock(&smallalloc_mtx); /* Try to alloc 1MB of contiguous memory. */ ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ? SECTION_PT : SECTION_CACHE); mtx_lock(&smallalloc_mtx); - in_alloc = 0; - if (in_sleep) + in_alloc = NULL; + if (in_sleep > 0) should_wakeup = 1; if (sp) { for (int i = 0; i < (0x100000 / PAGE_SIZE) - 1; ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#53 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.8 2006/06/17 23:24:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.9 2006/07/17 21:36:08 cognet Exp $"); #include #include @@ -764,7 +764,7 @@ } mdefrag = m_defrag(m, M_DONTWAIT); if (mdefrag == NULL) { - m_freem(m); + IFQ_DRV_PREPEND(&ifp->if_snd, m); return; } m = mdefrag; ==== //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#32 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.10 2006/07/14 22:22:57 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.12 2006/07/17 21:20:00 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -159,6 +159,15 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* + * We can't just map the OHCI registers VA == PA, because + * AT91RM92_OHCI_BASE belongs to the userland address space. + * We could just choose a different virtual address, but a better + * solution would probably be to just use pmap_mapdev() to allocate + * KVA, as we don't need the OHCI controller before the vm + * initialization is done. However, the AT91 resource allocation + * system doesn't know how to use pmap_mapdev() yet. + */ #if 0 { /* @@ -225,7 +234,7 @@ /* PIOA's B periph: Turn USART 3's TX/RX pins */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); -#if AT91_TSC +#ifdef AT91_TSC /* We're using TC0's A1 and A2 input */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); @@ -235,7 +244,7 @@ at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); /* Pin assignment */ -#if AT91_TSC +#ifdef AT91_TSC /* Assert PA24 low -- talk to rubidium */ at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); ==== //depot/projects/arm/src/sys/arm/conf/KB920X#38 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.8 2006/07/14 15:20:31 imp Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ machine arm ident KB920X @@ -95,6 +95,7 @@ device md device at91_twi # TWI: Two Wire Interface device at91_spi # SPI: +device spibus device at91_ssc # iic device iic ==== //depot/projects/arm/src/sys/conf/NOTES#27 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1371 2006/07/10 05:25:18 thompsa Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1374 2006/07/17 09:07:01 phk Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1787,8 +1787,7 @@ # the D-Link DFE-550TX. # ti: Support for PCI gigabit ethernet NICs based on the Alteon Networks # Tigon 1 and Tigon 2 chipsets. This includes the Alteon AceNIC, the -# 3Com 3c985, the Netgear GA620 and various others. Note that you will -# probably want to bump up NMBCLUSTERS a lot to use this driver. +# 3Com 3c985, the Netgear GA620 and various others. # tl: Support for the Texas Instruments TNETE100 series 'ThunderLAN' # cards and integrated ethernet controllers. This includes several # Compaq Netelligent 10/100 cards and the built-in ethernet controllers @@ -1962,6 +1961,7 @@ # 4281) # snd_ds1: Yamaha DS-1 PCI. # snd_emu10k1: Creative EMU10K1 PCI and EMU10K2 (Audigy) PCI. +# snd_emu10kx: Creative SoundBlaster Live! and Audigy # snd_es137x: Ensoniq AudioPCI ES137x PCI. # snd_ess: Ensoniq ESS ISA PnP/non-PnP, to be used in # conjunction with snd_sbc. @@ -1998,6 +1998,8 @@ device snd_csa device snd_ds1 device snd_emu10k1 +device snd_emu10kx +options SND_EMU10KX_MULTICHANNEL device snd_es137x device snd_ess device snd_fm801 @@ -2594,8 +2596,6 @@ options NBUF=512 # Number of buffer headers -options NMBCLUSTERS=1024 # Number of mbuf clusters - options SCSI_NCR_DEBUG options SCSI_NCR_MAX_SYNC=10000 options SCSI_NCR_MAX_WIDE=1 @@ -2625,8 +2625,6 @@ ##options BKTR_ALLOC_PAGES=(217*4+1) options BROOKTREE_ALLOC_PAGES=(217*4+1) options MAXFILES=999 -options NDEVFSINO=1025 -options NDEVFSOVERFLOW=32769 # Yet more undocumented options for linting. options VGA_DEBUG ==== //depot/projects/arm/src/sys/conf/files#38 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1129 2006/07/14 22:50:46 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1130 2006/07/15 20:22:40 netchild Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -55,6 +55,21 @@ compile-with "CC='${CC}' AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/emu10k1-alsa.h emu10k1-alsa%diked.h" \ no-obj no-implicit-rule before-depend \ clean "emu10k1-alsa%diked.h" +emu10k1-alsa%diked.h optional snd_emu10kx pci \ + dependency "$S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/emu10k1-alsa.h" \ + compile-with "CC='${CC}' AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/emu10k1-alsa.h emu10k1-alsa%diked.h" \ + no-obj no-implicit-rule before-depend \ + clean "emu10k1-alsa%diked.h" +p16v-alsa%diked.h optional snd_emu10kx pci \ + dependency "$S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/p16v-alsa.h" \ + compile-with "CC='${CC}' AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/p16v-alsa.h p16v-alsa%diked.h" \ + no-obj no-implicit-rule before-depend \ + clean "p16v-alsa%diked.h" +p17v-alsa%diked.h optional snd_emu10kx pci \ + dependency "$S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/p17v-alsa.h" \ + compile-with "CC='${CC}' AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/p17v-alsa.h p17v-alsa%diked.h" \ + no-obj no-implicit-rule before-depend \ + clean "p17v-alsa%diked.h" miidevs.h optional miibus | mii \ dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ @@ -873,6 +888,19 @@ dev/sound/pci/emu10k1.c optional snd_emu10k1 pci \ dependency "emu10k1-alsa%diked.h" \ warning "kernel contains GPL contaminated emu10k1 headers" +dev/sound/pci/emu10kx.c optional snd_emu10kx pci \ + dependency "emu10k1-alsa%diked.h" \ + dependency "p16v-alsa%diked.h" \ + dependency "p17v-alsa%diked.h" \ + warning "kernel contains GPL contaminated emu10kx headers" +dev/sound/pci/emu10kx-pcm.c optional snd_emu10kx pci \ + dependency "emu10k1-alsa%diked.h" \ + dependency "p16v-alsa%diked.h" \ + dependency "p17v-alsa%diked.h" \ + warning "kernel contains GPL contaminated emu10kx headers" +dev/sound/pci/emu10kx-midi.c optional snd_emu10kx pci \ + dependency "emu10k1-alsa%diked.h" \ + warning "kernel contains GPL contaminated emu10kx headers" dev/sound/pci/es137x.c optional snd_es137x pci dev/sound/pci/fm801.c optional snd_fm801 pci dev/sound/pci/ich.c optional snd_ich pci ==== //depot/projects/arm/src/sys/conf/files.ia64#7 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.87 2006/06/29 19:59:16 marcel Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.88 2006/07/17 20:02:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -69,11 +69,6 @@ dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc dev/uart/uart_cpu_ia64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_gpt.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard dev/acpica/acpi_if.m standard ia64/acpica/OsdEnvironment.c optional acpi ia64/acpica/acpi_machdep.c optional acpi ==== //depot/projects/arm/src/sys/conf/kern.pre.mk#5 (text+ko) ==== @@ -1,8 +1,13 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.75 2006/06/29 21:15:25 obrien Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.76 2006/07/17 18:43:16 obrien Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. +SRCCONF?= /etc/src.conf +.if exists(${SRCCONF}) +.include "${SRCCONF}" +.endif + # Can be overridden by makeoptions or /etc/make.conf KERNEL_KO?= kernel KERNEL?= kernel ==== //depot/projects/arm/src/sys/conf/options#25 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.550 2006/06/27 12:45:27 glebius Exp $ +# $FreeBSD: src/sys/conf/options,v 1.553 2006/07/17 09:07:01 phk Exp $ # # On the handling of kernel options # @@ -257,7 +257,6 @@ HZ opt_param.h MAXFILES opt_param.h NBUF opt_param.h -NMBCLUSTERS opt_param.h NSFBUFS opt_param.h VM_BCACHE_SIZE_MAX opt_param.h VM_SWZONE_SIZE_MAX opt_param.h @@ -624,10 +623,6 @@ DEV_ISA opt_isa.h ISAPNP opt_isa.h -# options for DEVFS, see sys/fs/devfs/devfs.h -NDEVFSINO opt_devfs.h -NDEVFSOVERFLOW opt_devfs.h - # various 'device presence' options. DEV_BPF opt_bpf.h DEV_MCA opt_mca.h @@ -727,3 +722,6 @@ # XFS XFS + +# snd_emu10kx sound driver options +SND_EMU10KX_MULTICHANNEL opt_emu10kx.h ==== //depot/projects/arm/src/sys/dev/acpica/acpi_perf.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_perf.c,v 1.23 2005/12/12 11:15:20 bruno Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_perf.c,v 1.24 2006/07/15 17:34:03 bruno Exp $"); #include "opt_acpi.h" #include @@ -299,6 +299,12 @@ sc->px_states[count].core_freq >= 0xffff) continue; + /* Check for duplicate entries */ + if (count > 0 && + sc->px_states[count - 1].core_freq == + sc->px_states[count].core_freq) + continue; + count++; } sc->px_count = count; ==== //depot/projects/arm/src/sys/dev/amr/amr.c#11 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.78 2006/05/03 16:45:15 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.79 2006/07/17 19:45:47 jhb Exp $"); /* * Driver for the AMI MegaRaid family of controllers. @@ -1785,13 +1785,44 @@ } } +static void +amr_setup_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nsegments, + int error) +{ + struct amr_command *ac = (struct amr_command *)arg; + struct amr_softc *sc = ac->ac_sc; + + amr_setup_dmamap(arg, segs, nsegments, error); + + if (bus_dmamap_load(sc->amr_buffer_dmat, ac->ac_ccb_dmamap, + ac->ac_ccb_data, ac->ac_ccb_length, amr_setup_ccbmap, ac, + 0) == EINPROGRESS) { + sc->amr_state |= AMR_STATE_QUEUE_FRZN; + } +} + +static void +amr_setup_dma64map_cb(void *arg, bus_dma_segment_t *segs, int nsegments, + int error) +{ + struct amr_command *ac = (struct amr_command *)arg; + struct amr_softc *sc = ac->ac_sc; + + amr_setup_dma64map(arg, segs, nsegments, error); + + if (bus_dmamap_load(sc->amr_buffer64_dmat, ac->ac_ccb_dma64map, + ac->ac_ccb_data, ac->ac_ccb_length, amr_setup_ccb64map, ac, + 0) == EINPROGRESS) { + sc->amr_state |= AMR_STATE_QUEUE_FRZN; + } +} + static int amr_mapcmd(struct amr_command *ac) { bus_dma_tag_t tag; - bus_dmamap_t datamap, ccbmap; + bus_dmamap_t datamap; bus_dmamap_callback_t *cb; - bus_dmamap_callback_t *ccb_cb; struct amr_softc *sc = ac->ac_sc; debug_called(3); @@ -1799,35 +1830,22 @@ if (AC_IS_SG64(ac)) { tag = sc->amr_buffer64_dmat; datamap = ac->ac_dma64map; - ccbmap = ac->ac_ccb_dma64map; - cb = amr_setup_dma64map; - ccb_cb = amr_setup_ccb64map; + cb = amr_setup_dma64map_cb; } else { tag = sc->amr_buffer_dmat; datamap = ac->ac_dmamap; - ccbmap = ac->ac_ccb_dmamap; - cb = amr_setup_dmamap; - ccb_cb = amr_setup_ccbmap; + cb = amr_setup_dmamap_cb; } /* if the command involves data at all, and hasn't been mapped */ if ((ac->ac_flags & AMR_CMD_MAPPED) == 0 && (ac->ac_data != NULL)) { - if (ac->ac_ccb_data == NULL) { - /* map the data buffers into bus space and build the s/g list */ - if (bus_dmamap_load(tag, datamap, ac->ac_data, ac->ac_length, - amr_setup_data_dmamap, ac, 0) == EINPROGRESS) { - sc->amr_state |= AMR_STATE_QUEUE_FRZN; - } - } else { - if (bus_dmamap_load(tag, datamap, ac->ac_data, ac->ac_length, - cb, ac, BUS_DMA_NOWAIT) != 0) { - return (ENOMEM); - } - if (bus_dmamap_load(tag, ccbmap, ac->ac_ccb_data, - ac->ac_ccb_length, ccb_cb, ac, 0) == EINPROGRESS) { - sc->amr_state |= AMR_STATE_QUEUE_FRZN; - } - } + if (ac->ac_ccb_data == NULL) + cb = amr_setup_data_dmamap; + /* map the data buffers into bus space and build the s/g list */ + if (bus_dmamap_load(tag, datamap, ac->ac_data, ac->ac_length, + cb, ac, 0) == EINPROGRESS) { + sc->amr_state |= AMR_STATE_QUEUE_FRZN; + } } else { if (sc->amr_submit_command(ac) == EBUSY) { amr_freeslot(ac); ==== //depot/projects/arm/src/sys/dev/isp/isp.c#8 (text+ko) ==== @@ -1,7 +1,4 @@ /*- - * Machine and OS Independent (well, as best as possible) - * code for the Qlogic ISP SCSI adapters. - * * Copyright (c) 1997-2006 by Matthew Jacob * All rights reserved. * @@ -28,14 +25,14 @@ */ /* + * Machine and OS Independent (well, as best as possible) + * code for the Qlogic ISP SCSI adapters. + */ +/* * Inspiration and ideas about this driver are from Erik Moe's Linux driver * (qlogicisp.c) and Dave Miller's SBus version of same (qlogicisp.c). Some * ideas dredged from the Solaris driver. */ -#ifdef __FreeBSD__ -#include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.122 2006/07/14 05:14:48 mjacob Exp $"); -#endif /* * Include header file appropriate for platform we're building on. @@ -44,6 +41,8 @@ #include #endif #ifdef __FreeBSD__ +#include +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.123 2006/07/16 20:11:49 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -166,7 +165,6 @@ char *btype = "????"; isp->isp_state = ISP_NILSTATE; - MEMZERO(&mbs, sizeof (mbs)); /* * Basic types (SCSI, FibreChannel and PCI or SBus) @@ -205,6 +203,7 @@ * Just in case it was paused... */ ISP_WRITE(isp, HCCR, HCCR_CMD_RELEASE); + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_ABOUT_FIRMWARE; isp_mboxcmd(isp, &mbs, MBLOGNONE); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { @@ -596,6 +595,7 @@ /* * Do some sanity checking. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_NO_OP; isp_mboxcmd(isp, &mbs, MBLOGALL); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { @@ -603,6 +603,7 @@ } if (IS_SCSI(isp)) { + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_MAILBOX_REG_TEST; mbs.param[1] = 0xdead; mbs.param[2] = 0xbeef; @@ -650,6 +651,7 @@ isp->isp_mbxworkp = &ptr[1]; isp->isp_mbxwrk0 = ptr[3] - 1; isp->isp_mbxwrk1 = code_org + 1; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_WRITE_RAM_WORD; mbs.param[1] = code_org; mbs.param[2] = ptr[0]; @@ -665,6 +667,7 @@ /* * Verify that it downloaded correctly. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_VERIFY_CHECKSUM; mbs.param[1] = code_org; isp_mboxcmd(isp, &mbs, MBLOGNONE); @@ -687,10 +690,11 @@ isp->isp_mbxwrk0 = ptr[3] - 1; isp->isp_mbxwrk1 = ptr[5] + 1; isp->isp_mbxwrk8 = ptr[4]; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_WRITE_RAM_WORD_EXTENDED; - mbs.param[8] = ptr[4]; mbs.param[1] = ptr[5]; mbs.param[2] = ptr[0]; + mbs.param[8] = ptr[4]; isp_mboxcmd(isp, &mbs, MBLOGNONE); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { isp_prt(isp, ISP_LOGERR, @@ -703,10 +707,11 @@ isp->isp_mbxwrk0 = ptr[3] - 1; isp->isp_mbxwrk1 = ptr[5] + 1; isp->isp_mbxwrk8 = ptr[4]; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_WRITE_RAM_WORD_EXTENDED; - mbs.param[8] = ptr[4]; mbs.param[1] = ptr[5]; mbs.param[2] = ptr[0]; + mbs.param[8] = ptr[4]; isp_mboxcmd(isp, &mbs, MBLOGNONE); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { isp_prt(isp, ISP_LOGERR, @@ -729,6 +734,7 @@ */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_EXEC_FIRMWARE; mbs.param[1] = code_org; if (IS_2322(isp) || IS_24XX(isp)) { @@ -739,8 +745,8 @@ } mbs.obits |= 2; } + isp_mboxcmd(isp, &mbs, MBLOGNONE); - isp_mboxcmd(isp, &mbs, MBLOGNONE); /* * Give it a chance to start. */ @@ -758,6 +764,7 @@ } } + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_ABOUT_FIRMWARE; isp_mboxcmd(isp, &mbs, MBLOGALL); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { @@ -785,6 +792,7 @@ isp->isp_fwrev[1] = mbs.param[2]; isp->isp_fwrev[2] = mbs.param[3]; } + isp_prt(isp, ISP_LOGCONFIG, "Board Type %s, Chip Revision 0x%x, %s F/W Revision %d.%d.%d", btype, isp->isp_revision, dodnld? "loaded" : "resident", @@ -821,6 +829,7 @@ isp->isp_romfw_rev[2]); } + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_GET_FIRMWARE_STATUS; isp_mboxcmd(isp, &mbs, MBLOGALL); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { @@ -946,6 +955,7 @@ /* * Set ASYNC DATA SETUP time. This is very important. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_ASYNC_DATA_SETUP_TIME; mbs.param[1] = sdp_chan0->isp_async_data_setup; mbs.param[2] = sdp_chan1->isp_async_data_setup; @@ -957,6 +967,7 @@ /* * Set ACTIVE Negation State. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_ACT_NEG_STATE; mbs.param[1] = (sdp_chan0->isp_req_ack_active_neg << 4) | @@ -965,6 +976,7 @@ (sdp_chan1->isp_req_ack_active_neg << 4) | (sdp_chan1->isp_data_line_active_neg << 5); + MEMZERO(&mbs, sizeof (mbs)); isp_mboxcmd(isp, &mbs, MBLOGNONE); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { isp_prt(isp, ISP_LOGERR, @@ -981,6 +993,7 @@ /* * Set the Tag Aging limit */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_TAG_AGE_LIMIT; mbs.param[1] = sdp_chan0->isp_tag_aging; mbs.param[2] = sdp_chan1->isp_tag_aging; @@ -994,6 +1007,7 @@ /* * Set selection timeout. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_SELECT_TIMEOUT; mbs.param[1] = sdp_chan0->isp_selection_timeout; mbs.param[2] = sdp_chan1->isp_selection_timeout; @@ -1012,6 +1026,7 @@ */ if (IS_ULTRA2(isp) || IS_1240(isp)) { + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_INIT_RES_QUEUE_A64; mbs.param[1] = RESULT_QUEUE_LEN(isp); mbs.param[2] = DMA_WD1(isp->isp_result_dma); @@ -1025,6 +1040,7 @@ } isp->isp_residx = mbs.param[5]; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_INIT_REQ_QUEUE_A64; mbs.param[1] = RQUEST_QUEUE_LEN(isp); mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); @@ -1038,6 +1054,7 @@ } isp->isp_reqidx = isp->isp_reqodx = mbs.param[4]; } else { + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_INIT_RES_QUEUE; mbs.param[1] = RESULT_QUEUE_LEN(isp); mbs.param[2] = DMA_WD1(isp->isp_result_dma); @@ -1049,6 +1066,7 @@ } isp->isp_residx = mbs.param[5]; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_INIT_REQ_QUEUE; mbs.param[1] = RQUEST_QUEUE_LEN(isp); mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); @@ -1070,6 +1088,7 @@ * to assume not for them. */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_FW_FEATURES; mbs.param[1] = 0; if (IS_ULTRA2(isp)) @@ -1153,6 +1172,7 @@ */ sdp->isp_devparam[tgt].goal_flags = sdf = DPARM_DEFAULT; #endif + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_TARGET_PARAMS; mbs.param[1] = (channel << 15) | (tgt << 8); mbs.param[2] = sdf; @@ -1170,6 +1190,7 @@ isp_mboxcmd(isp, &mbs, MBLOGNONE); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { sdf = DPARM_SAFE_DFLT; + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_TARGET_PARAMS; mbs.param[1] = (tgt << 8) | (channel << 15); mbs.param[2] = sdf; @@ -1193,6 +1214,7 @@ */ sdp->isp_devparam[tgt].actv_flags = sdf & ~DPARM_TQING; for (lun = 0; lun < (int) isp->isp_maxluns; lun++) { + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_DEV_QUEUE_PARAMS; mbs.param[1] = (channel << 15) | (tgt << 8) | lun; mbs.param[2] = sdp->isp_max_queue_depth; @@ -1395,7 +1417,6 @@ } } - MEMZERO(&mbs, sizeof (mbs)); /* * For 22XX > 2.1.26 && 23XX, set some options. @@ -1407,6 +1428,7 @@ * Turn on generate AE 8013 on all LIP Resets (2) * Disable LIP F7 switching (8) */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_SET_FIRMWARE_OPTIONS; mbs.param[1] = 0xb; mbs.param[2] = 0; @@ -1466,14 +1488,15 @@ /* * Init the firmware */ + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_INIT_FIRMWARE; - mbs.param[1] = 0; mbs.param[2] = DMA_WD1(fcp->isp_scdma); mbs.param[3] = DMA_WD0(fcp->isp_scdma); - mbs.param[4] = 0; - mbs.param[5] = 0; mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); + isp_prt(isp, ISP_LOGDEBUG0, "INIT F/W from %p (%08x%08x)", + fcp->isp_scratch, (uint32_t) ((uint64_t)fcp->isp_scdma >> 32), + (uint32_t) fcp->isp_scdma); MEMORYBARRIER(isp, SYNC_SFORDEV, 0, sizeof (*icbp)); isp_mboxcmd(isp, &mbs, MBLOGALL); FC_SCRATCH_RELEASE(isp); @@ -1505,16 +1528,8 @@ MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_GET_FC_AL_POSITION_MAP; - mbs.param[1] = 0; mbs.param[2] = DMA_WD1(fcp->isp_scdma); mbs.param[3] = DMA_WD0(fcp->isp_scdma); - /* - * Unneeded. For the 2100, except for initializing f/w, registers - * 4/5 have to not be written to. - * mbs.param[4] = 0; - * mbs.param[5] = 0; - * - */ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); FC_SCRATCH_ACQUIRE(isp); @@ -1556,13 +1571,6 @@ } mbs.param[2] = DMA_WD1(fcp->isp_scdma); mbs.param[3] = DMA_WD0(fcp->isp_scdma); - /* - * Unneeded. For the 2100, except for initializing f/w, registers - * 4/5 have to not be written to. - * mbs.param[4] = 0; - * mbs.param[5] = 0; - * - */ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); FC_SCRATCH_ACQUIRE(isp); @@ -1821,6 +1829,7 @@ fcp->isp_gbspeed = 1; if (IS_23XX(isp)) { + MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_GET_SET_DATA_RATE; mbs.param[1] = MBGSD_GET_RATE; /* mbs.param[2] undefined if we're just getting rate */ @@ -2056,8 +2065,6 @@ } else { mbs.param[1] = lp->loopid << 8; } - mbs.param[2] = 0; - mbs.param[3] = 0; isp_mboxcmd(isp, &mbs, MBLOGNONE); isp_prt(isp, ISP_LOGINFO, plogout, (int) (lp - fcp->portdb), lp->loopid, @@ -2505,6 +2512,7 @@ static int isp_fabric_mbox_cmd(ispsoftc_t *isp, mbreg_t *mbp) { + /* the caller sets up the mailbox */ isp_mboxcmd(isp, mbp, MBLOGNONE); if (mbp->param[0] != MBOX_COMMAND_COMPLETE) { if (FCPARAM(isp)->isp_loopstate == LOOP_SCANNING_FABRIC) { @@ -3466,7 +3474,6 @@ * Issue a bus reset. */ mbs.param[0] = MBOX_BUS_RESET; - mbs.param[2] = 0; if (IS_SCSI(isp)) { mbs.param[1] = ((sdparam *) isp->isp_param)->isp_bus_reset_delay; @@ -3532,8 +3539,6 @@ } else { mbs.param[1] = tgt << 8; } - mbs.param[4] = 0; - mbs.param[5] = 0; mbs.param[6] = XS_LUN(xs); } else { mbs.param[1] = tgt << 8 | XS_LUN(xs); @@ -3542,7 +3547,6 @@ mbs.param[1] = (bus << 15) | (XS_TGT(xs) << 8) | XS_LUN(xs); } - mbs.param[3] = 0; mbs.param[2] = handle; isp_mboxcmd(isp, &mbs, MBLOGALL & ~MBOX_COMMAND_ERROR); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { @@ -5316,7 +5320,7 @@ ISPOPMAP(0x07, 0x03), /* 0x5d: MBOX_GET_SET_DATA_RATE */ ISPOPMAP(0x00, 0x00), /* 0x5e: */ ISPOPMAP(0x00, 0x00), /* 0x5f: */ - ISPOPMAP(0xfd, 0x31), /* 0x60: MBOX_INIT_FIRMWARE */ + ISPOPMAP(0xcd, 0x31), /* 0x60: MBOX_INIT_FIRMWARE */ ISPOPMAP(0x00, 0x00), /* 0x61: */ ISPOPMAP(0x01, 0x01), /* 0x62: MBOX_INIT_LIP */ ISPOPMAP(0xcd, 0x03), /* 0x63: MBOX_GET_FC_AL_POSITION_MAP */ @@ -5572,6 +5576,8 @@ for (box = 0; box < MAX_MAILBOX(isp); box++) { if (ibits & (1 << box)) { + isp_prt(isp, ISP_LOGDEBUG1, "IN mbox %d = 0x%x", box, + mbp->param[box]); ISP_WRITE(isp, MBOX_OFF(box), mbp->param[box]); } isp->isp_mboxtmp[box] = mbp->param[box] = 0; @@ -5610,6 +5616,8 @@ for (box = 0; box < MAX_MAILBOX(isp); box++) { if (obits & (1 << box)) { mbp->param[box] = isp->isp_mboxtmp[box]; + isp_prt(isp, ISP_LOGDEBUG1, "OUT mbox %d = 0x%x", box, + mbp->param[box]); } } @@ -5734,7 +5742,6 @@ } sdp = isp->isp_param; sdp += bus; - MEMZERO(&mbs, sizeof (mbs)); for (tgt = 0; tgt < MAX_TARGETS; tgt++) { uint16_t flags, period, offset; @@ -5754,6 +5761,8 @@ * current device state, get the current parameters. */ + MEMZERO(&mbs, sizeof (mbs)); + /* * Refresh overrides set */ @@ -5780,9 +5789,7 @@ mbs.param[2] |= DPARM_PARITY; } - if ((mbs.param[2] & DPARM_SYNC) == 0) { - mbs.param[3] = 0; - } else { + if (mbs.param[2] & DPARM_SYNC) { mbs.param[3] = (sdp->isp_devparam[tgt].goal_offset << 8) | (sdp->isp_devparam[tgt].goal_period); @@ -5847,10 +5854,8 @@ isp_setdfltparm(ispsoftc_t *isp, int channel) { int tgt; - mbreg_t mbs; sdparam *sdp; - MEMZERO(&mbs, sizeof (mbs)); if (IS_FC(isp)) { fcparam *fcp = (fcparam *) isp->isp_param; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 17 23:14:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2A7516A4E1; Mon, 17 Jul 2006 23:14:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 79E2A16A4E0 for ; Mon, 17 Jul 2006 23:14:35 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3081143D49 for ; Mon, 17 Jul 2006 23:14:35 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6HNEZHH063533 for ; Mon, 17 Jul 2006 23:14:35 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6HNEYk4063530 for perforce@freebsd.org; Mon, 17 Jul 2006 23:14:34 GMT (envelope-from gabor@FreeBSD.org) Date: Mon, 17 Jul 2006 23:14:34 GMT Message-Id: <200607172314.k6HNEYk4063530@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101819 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 23:14:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101819 Change 101819 by gabor@gabor_spitfire on 2006/07/17 23:14:09 Change some texts to reflect that the given port is built with DESTDIR. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#34 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#34 (text+ko) ==== @@ -3570,7 +3570,11 @@ done; \ if [ -n "$${conflicts_with}" ]; then \ ${ECHO_MSG}; \ - ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s) in ${DESTDIR}: "; \ + fi; \ for entry in $${conflicts_with}; do \ ${ECHO_MSG} " $${entry}"; \ done; \ @@ -3781,17 +3785,19 @@ .if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32) || defined(INSTALLS_SHLIB) .if defined(USE_LDCONFIG) .if !defined(INSTALL_AS_USER) +.if !defined(DESTDIR) @${ECHO_MSG} "===> Running ldconfig" -.if !defined(DESTDIR) ${LDCONFIG} -m ${USE_LDCONFIG} .else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" ${CHROOT} ${DESTDIR} ${LDCONFIG} -m ${USE_LDCONFIG} .endif .else - @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" .if !defined(DESTDIR) + @${ECHO_MSG} "===> Running ldconfig in (errors are ignored)" -${LDCONFIG} -m ${USE_LDCONFIG} .else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" ${CHROOT} ${DESTDIR} -${LDCONFIG} -m ${USE_LDCONFIG} .endif .endif @@ -3810,17 +3816,19 @@ .endif .if defined(USE_LDCONFIG32) .if !defined(INSTALL_AS_USER) +.if !defined(DESTDIR) @${ECHO_MSG} "===> Running ldconfig" -.if !defined(DESTDIR) ${LDCONFIG} -32 -m ${USE_LDCONFIG32} .else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" ${CHROOT} ${DESTDIR} ${LDCONFIG} -32 -m ${USE_LDCONFIG32} .endif .else +.if !defined(DESTDIR) @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" -.if !defined(DESTDIR) -${LDCONFIG} -32 -m ${USE_LDCONFIG32} .else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" ${CHROOT} ${DESTDIR} -${LDCONFIG} -32 -m ${USE_LDCONFIG32} .endif .endif @@ -3838,10 +3846,18 @@ # This can be removed once, all ports have been converted to USE_LDCONFIG. .if defined(INSTALLS_SHLIB) .if !defined(INSTALL_AS_USER) +.if !defined(DESTDIR) @${ECHO_MSG} "===> Running ldconfig" +.else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" +.endif ${LDCONFIG_CMD} .else +.if !defined(DESTDIR) @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" +.else + @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" +.endif -${LDCONFIG_CMD} .endif .endif @@ -4135,7 +4151,11 @@ build-message: @${ECHO_MSG} "===> Building for ${PKGNAME}" install-message: +.if !defined(DESTDIR) @${ECHO_MSG} "===> Installing for ${PKGNAME}" +.else + @${ECHO_MSG} "===> Installing for ${PKGNAME} into ${DESTDIR}" +.endif package-message: @${ECHO_MSG} "===> Building package for ${PKGNAME}" @@ -4228,7 +4248,11 @@ if [ "$${check_name}" = "${PKGBASE}" ]; then \ prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ if [ "x${PREFIX}" = "x$${prfx}" ]; then \ - ${ECHO_MSG} "===> Deinstalling $${p}"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> Deinstalling $${p}"; \ + else \ + ${ECHO_MSG} "===> Deinstalling $${p}from ${DESTDIR}"; \ + fi; \ ${PKG_DELETE} -f $${p}; \ else \ ${ECHO_MSG} "===> $${p} has a different PREFIX: $${prfx}, skipping"; \ @@ -4236,7 +4260,11 @@ fi; \ done; \ if [ -z "$${found_names}" ]; then \ - ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \ + else \ + ${ECHO_MSG} "===> ${PKGBASE} not installed in ${DESTDIR}, skipping"; \ + fi; \ fi @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif @@ -4262,11 +4290,19 @@ @deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ if [ -n "$${deinstall_names}" ]; then \ for d in $${deinstall_names}; do \ - ${ECHO_MSG} "===> Deinstalling $${d}"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> Deinstalling $${d}"; \ + else \ + ${ECHO_MSG} "===> Deinstalling $${d} from ${DESTDIR}"; \ + fi; \ ${PKG_DELETE} -f $${d}; \ done; \ else \ - ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \ + else \ + ${ECHO_MSG} "===> ${PKGORIGIN} not installed in ${DESTDIR}, skipping"; \ + fi; \ fi; \ ${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} .endif @@ -4698,7 +4734,11 @@ ${ECHO_MSG} "Error: ${NONEXISTENT} exists. Please remove it, and restart the build."; \ ${FALSE}; \ else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - found"; \ + fi;\ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ ${ECHO_MSG} " (but building it anyway)"; \ notfound=1; \ @@ -4707,7 +4747,11 @@ fi; \ fi; \ else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \ + if [ -z "${PREFIX}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - not found"; \ + fi; \ notfound=1; \ fi; \ else \ @@ -4717,7 +4761,11 @@ esac; \ if [ "$$pkg" != "" ]; then \ if ${PKG_INFO} "$$prog" > /dev/null 2>&1 ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - found"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on package in ${DESTDIR}: $$prog - found"; \ + fi; \ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ ${ECHO_MSG} " (but building it anyway)"; \ notfound=1; \ @@ -4725,7 +4773,11 @@ notfound=0; \ fi; \ else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - not found"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - not found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on package in ${DESTDIR}: $$prog - not found"; \ + fi; \ notfound=1; \ fi; \ if [ $$notfound != 0 ]; then \ @@ -4739,7 +4791,11 @@ fi; \ fi; \ elif ${WHICH} "$$prog" > /dev/null 2>&1 ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ + if [ -z "${PREFIX}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable in ${DESTDIR}: $$prog - found"; \ + fi; \ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ ${ECHO_MSG} " (but building it anyway)"; \ notfound=1; \ @@ -4747,7 +4803,11 @@ notfound=0; \ fi; \ else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable in ${DESTDIR}: $$prog - not found"; \ + fi;\ notfound=1; \ fi; \ fi; \ @@ -4874,7 +4934,11 @@ (cd $$dir; ${MAKE} $$target $$depends_args) ; \ fi \ done - @${ECHO_MSG} "===> Returning to build of ${PKGNAME}" + @if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \ + else \ + ${ECHO_MSG} "===> Returning to build of ${PKGNAME} for ${DESTDIR}"; \ + fi .endif .else @${DO_NADA} From owner-p4-projects@FreeBSD.ORG Tue Jul 18 04:38:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F3CA16A4E6; Tue, 18 Jul 2006 04:38:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 09DEE16A4DF; Tue, 18 Jul 2006 04:38:31 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3100C43D46; Tue, 18 Jul 2006 04:38:30 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k6I4cQgG096206; Mon, 17 Jul 2006 22:38:26 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Mon, 17 Jul 2006 22:38:41 -0600 (MDT) Message-Id: <20060717.223841.420520796.imp@bsdimp.com> To: bms@freebsd.org From: "M. Warner Losh" In-Reply-To: <200607171943.k6HJhASf031614@repoman.freebsd.org> References: <200607171943.k6HJhASf031614@repoman.freebsd.org> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Mon, 17 Jul 2006 22:38:26 -0600 (MDT) Cc: perforce@freebsd.org Subject: Re: PERFORCE change 101793 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 04:38:31 -0000 In message: <200607171943.k6HJhASf031614@repoman.freebsd.org> Bruce M Simpson writes: : http://perforce.freebsd.org/chv.cgi?CH=101793 : : Change 101793 by bms@bms_montagne on 2006/07/17 19:43:03 : : Integrate from bms_mips: : Remove legacy MIPS defines. Please back this one out from the mips2 tree. Warner From owner-p4-projects@FreeBSD.ORG Tue Jul 18 04:51:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F113F16A4E1; Tue, 18 Jul 2006 04:51:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A856416A4DF for ; Tue, 18 Jul 2006 04:51:40 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6521A43D45 for ; Tue, 18 Jul 2006 04:51:40 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I4pemF003529 for ; Tue, 18 Jul 2006 04:51:40 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I4peiY003526 for perforce@freebsd.org; Tue, 18 Jul 2006 04:51:40 GMT (envelope-from imp@freebsd.org) Date: Tue, 18 Jul 2006 04:51:40 GMT Message-Id: <200607180451.k6I4peiY003526@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101830 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 04:51:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=101830 Change 101830 by imp@imp_harmony on 2006/07/18 04:51:23 IFC @101829 Affected files ... .. //depot/projects/arm/src/sys/arm/arm/in_cksum.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#16 integrate .. //depot/projects/arm/src/sys/vm/uma_core.c#8 integrate Differences ... ==== //depot/projects/arm/src/sys/arm/arm/in_cksum.c#6 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.6 2006/03/09 23:33:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.7 2006/07/18 00:07:05 cognet Exp $"); #include #include @@ -89,6 +89,17 @@ return (sum); } +static +uint64_t _do_cksum(void *addr, int len) +{ + uint64_t sum; + union q_util q_util; + + sum = do_cksum(addr, len); + REDUCE32; + return (sum); +} + u_short in_cksum_skip(struct mbuf *m, int len, int skip) { @@ -120,9 +131,9 @@ mlen = len; if ((clen ^ (int) addr) & 1) - sum += do_cksum(addr, mlen) << 8; + sum += _do_cksum(addr, mlen) << 8; else - sum += do_cksum(addr, mlen); + sum += _do_cksum(addr, mlen); clen += mlen; len -= mlen; ==== //depot/projects/arm/src/sys/i386/i386/pmap.c#16 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.569 2006/07/17 03:10:17 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.570 2006/07/18 03:17:12 alc Exp $"); /* * Manages physical address maps. @@ -266,7 +266,7 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_ptes(vm_page_t m, int bit); +static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -3064,55 +3064,42 @@ } /* - * Clear the given bit in each of the given page's ptes. The bit is - * expressed as a 32-bit mask. Consequently, if the pte is 64 bits in - * size, only a bit within the least significant 32 can be cleared. + * Clear the write and modified bits in each of the given page's mappings. */ static __inline void -pmap_clear_ptes(vm_page_t m, int bit) +pmap_clear_write(vm_page_t m) { pv_entry_t pv; pmap_t pmap; - pt_entry_t pbits, *pte; + pt_entry_t oldpte, *pte; - if ((m->flags & PG_FICTITIOUS) || - (bit == PG_RW && (m->flags & PG_WRITEABLE) == 0)) + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + if ((m->flags & PG_FICTITIOUS) != 0 || + (m->flags & PG_WRITEABLE) == 0) return; - sched_pin(); - mtx_assert(&vm_page_queue_mtx, MA_OWNED); - /* - * Loop over all current mappings setting/clearing as appropos If - * setting RO do we need to clear the VAC? - */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { pmap = PV_PMAP(pv); PMAP_LOCK(pmap); pte = pmap_pte_quick(pmap, pv->pv_va); retry: - pbits = *pte; - if (pbits & bit) { - if (bit == PG_RW) { - /* - * Regardless of whether a pte is 32 or 64 bits - * in size, PG_RW and PG_M are among the least - * significant 32 bits. - */ - if (!atomic_cmpset_int((u_int *)pte, pbits, - pbits & ~(PG_RW | PG_M))) - goto retry; - if (pbits & PG_M) { - vm_page_dirty(m); - } - } else { - atomic_clear_int((u_int *)pte, bit); - } + oldpte = *pte; + if ((oldpte & PG_RW) != 0) { + /* + * Regardless of whether a pte is 32 or 64 bits + * in size, PG_RW and PG_M are among the least + * significant 32 bits. + */ + if (!atomic_cmpset_int((u_int *)pte, oldpte, + oldpte & ~(PG_RW | PG_M))) + goto retry; + if ((oldpte & PG_M) != 0) + vm_page_dirty(m); pmap_invalidate_page(pmap, pv->pv_va); } PMAP_UNLOCK(pmap); } - if (bit == PG_RW) - vm_page_flag_clear(m, PG_WRITEABLE); + vm_page_flag_clear(m, PG_WRITEABLE); sched_unpin(); } @@ -3126,7 +3113,7 @@ { if ((prot & VM_PROT_WRITE) == 0) { if (prot & (VM_PROT_READ | VM_PROT_EXECUTE)) { - pmap_clear_ptes(m, PG_RW); + pmap_clear_write(m); } else { pmap_remove_all(m); } @@ -3186,7 +3173,30 @@ void pmap_clear_modify(vm_page_t m) { - pmap_clear_ptes(m, PG_M); + pv_entry_t pv; + pmap_t pmap; + pt_entry_t *pte; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + if ((m->flags & PG_FICTITIOUS) != 0) + return; + sched_pin(); + TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pte = pmap_pte_quick(pmap, pv->pv_va); + if ((*pte & PG_M) != 0) { + /* + * Regardless of whether a pte is 32 or 64 bits + * in size, PG_M is among the least significant + * 32 bits. + */ + atomic_clear_int((u_int *)pte, PG_M); + pmap_invalidate_page(pmap, pv->pv_va); + } + PMAP_UNLOCK(pmap); + } + sched_unpin(); } /* @@ -3197,7 +3207,30 @@ void pmap_clear_reference(vm_page_t m) { - pmap_clear_ptes(m, PG_A); + pv_entry_t pv; + pmap_t pmap; + pt_entry_t *pte; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + if ((m->flags & PG_FICTITIOUS) != 0) + return; + sched_pin(); + TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pte = pmap_pte_quick(pmap, pv->pv_va); + if ((*pte & PG_A) != 0) { + /* + * Regardless of whether a pte is 32 or 64 bits + * in size, PG_A is among the least significant + * 32 bits. + */ + atomic_clear_int((u_int *)pte, PG_A); + pmap_invalidate_page(pmap, pv->pv_va); + } + PMAP_UNLOCK(pmap); + } + sched_unpin(); } /* ==== //depot/projects/arm/src/sys/vm/uma_core.c#8 (text+ko) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.138 2006/07/16 22:53:26 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.139 2006/07/18 01:13:18 rwatson Exp $"); /* I should really use ktr.. */ /* @@ -2768,6 +2768,7 @@ } } +#ifdef DDB /* * Generate statistics across both the zone and its per-cpu cache's. Return * desired statistics if the pointer is non-NULL for that statistic. @@ -2809,6 +2810,7 @@ if (freesp != NULL) *freesp = frees; } +#endif /* DDB */ static int sysctl_vm_zone_count(SYSCTL_HANDLER_ARGS) From owner-p4-projects@FreeBSD.ORG Tue Jul 18 05:43:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BAE3416A4E7; Tue, 18 Jul 2006 05:43:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8F30D16A4E5 for ; Tue, 18 Jul 2006 05:43:48 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F05ED43D67 for ; Tue, 18 Jul 2006 05:43:45 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I5hjOt007902 for ; Tue, 18 Jul 2006 05:43:45 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I5hjBI007899 for perforce@freebsd.org; Tue, 18 Jul 2006 05:43:45 GMT (envelope-from jb@freebsd.org) Date: Tue, 18 Jul 2006 05:43:45 GMT Message-Id: <200607180543.k6I5hjBI007899@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101833 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 05:43:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=101833 Change 101833 by jb@jb_freebsd2 on 2006/07/18 05:43:02 IFC Affected files ... .. //depot/projects/dtrace/src/sys/sun4v/sun4v/db_trace.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/db_trace.c#2 (text+ko) ==== @@ -97,7 +97,7 @@ * User stack trace (debugging aid). */ static void -db_utrace(struct thread *td, struct trapframe *tf, int count, int *quitp) +db_utrace(struct thread *td, struct trapframe *tf, int count) { struct pcb *pcb; db_addr_t sp, rsp, o7, pc; @@ -109,7 +109,7 @@ FALSE); pc = db_get_value((db_addr_t)&tf->tf_tpc, sizeof(tf->tf_tpc), FALSE); db_printf("user trace: trap %%o7=%#lx\n", o7); - while (count-- && sp != 0 && !*quitp) { + while (count-- && sp != 0 && !db_pager_quit) { db_printf("pc %#lx, sp %#lx\n", pc, sp); /* First, check whether the frame is in the pcb. */ found = 0; @@ -135,7 +135,7 @@ } static int -db_print_trap(struct thread *td, struct trapframe *tf, int count, int *quitp) +db_print_trap(struct thread *td, struct trapframe *tf, int count) { struct proc *p; const char *symname; @@ -226,7 +226,7 @@ db_printf("userland() at "); db_printsym(tpc, DB_STGY_PROC); db_printf("\n"); - db_utrace(td, tf, count, quitp); + db_utrace(td, tf, count); } return (user); } @@ -243,7 +243,6 @@ db_addr_t pc; int trap; int user; - int quit; if (count == -1) count = 1024; @@ -251,9 +250,7 @@ trap = 0; user = 0; npc = 0; - quit = 0; - db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - while (count-- && !user && !quit) { + while (count-- && !user && !db_pager_quit) { pc = (db_addr_t)db_get_value((db_addr_t)&fp->fr_pc, sizeof(fp->fr_pc), FALSE); if (trap) { @@ -277,7 +274,7 @@ tf = (struct trapframe *)(fp + 1); npc = db_get_value((db_addr_t)&tf->tf_tpc, sizeof(tf->tf_tpc), FALSE); - user = db_print_trap(td, tf, count, &quit); + user = db_print_trap(td, tf, count); trap = 1; } else { db_printf("%s() at ", name); From owner-p4-projects@FreeBSD.ORG Tue Jul 18 05:44:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E37AC16A4DF; Tue, 18 Jul 2006 05:44:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 917B816A4DD for ; Tue, 18 Jul 2006 05:44:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F41F43D5C for ; Tue, 18 Jul 2006 05:44:47 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I5illI007957 for ; Tue, 18 Jul 2006 05:44:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I5ilZH007954 for perforce@freebsd.org; Tue, 18 Jul 2006 05:44:47 GMT (envelope-from jb@freebsd.org) Date: Tue, 18 Jul 2006 05:44:47 GMT Message-Id: <200607180544.k6I5ilZH007954@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101834 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 05:44:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=101834 Change 101834 by jb@jb_freebsd2 on 2006/07/18 05:44:15 Add some instrumentation to start capturing CPU register snapshots from selected locations. Affected files ... .. //depot/projects/dtrace/src/sys/conf/files.sun4v#2 edit .. //depot/projects/dtrace/src/sys/conf/options.sun4v#2 edit .. //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#5 edit .. //depot/projects/dtrace/src/sys/sun4v/include/cpu_snapshot.h#1 add .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot.c#1 add .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot_save.S#1 add .. //depot/projects/dtrace/src/sys/sun4v/sun4v/interrupt.S#2 edit .. //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/files.sun4v#2 (text+ko) ==== @@ -41,6 +41,8 @@ sun4v/sun4v/bus_machdep.c standard sun4v/sun4v/clock.c standard sun4v/sun4v/counter.c standard +sun4v/sun4v/cpu_snapshot.c optional cpu_snapshot +sun4v/sun4v/cpu_snapshot_save.S optional cpu_snapshot sun4v/sun4v/db_disasm.c optional ddb sun4v/sun4v/db_interface.c optional ddb sun4v/sun4v/db_trace.c optional ddb ==== //depot/projects/dtrace/src/sys/conf/options.sun4v#2 (text+ko) ==== @@ -15,3 +15,5 @@ SIMULATOR opt_simulator.h DTRACE opt_global.h + +CPU_SNAPSHOT opt_cpu_snapshot.h ==== //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#5 (text+ko) ==== @@ -66,6 +66,7 @@ options KDB_TRACE options DDB # Support DDB. options KDTRACE # Support for DTrace. +options CPU_SNAPSHOT # CPU register snapshots #options GDB # Support remote GDB. #options INVARIANTS # Enable calls of extra sanity checking #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/interrupt.S#2 (text+ko) ==== @@ -28,6 +28,7 @@ #include __FBSDID("$FreeBSD: src/sys/sparc64/sparc64/interrupt.S,v 1.8 2005/04/16 15:05:56 marius Exp $"); +#include "opt_cpu_snapshot.h" #include "opt_simulator.h" #include #include @@ -35,6 +36,10 @@ #include #include +#ifdef CPU_SNAPSHOT +#include +#endif + #include "assym.s" @@ -54,6 +59,10 @@ 2: wrpr %g0, PSTATE_NORMAL, %pstate +#ifdef CPU_SNAPSHOT + call cpu_snapshot_save +#endif + ldx [%l0 + IR_NEXT], %l1 brnz,pt %l1, 3f stx %l1, [PCPU(IRHEAD)] @@ -80,6 +89,10 @@ stx %l1, [%l0 + IR_NEXT] stx %l0, [PCPU(IRFREE)] +#ifdef CPU_SNAPSHOT + call cpu_snapshot_save +#endif + wrpr %g0, PSTATE_KERNEL, %pstate call %o0 ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#7 (text+ko) ==== @@ -25,6 +25,7 @@ * * $ Exp $ */ +#include "opt_cpu_snapshot.h" #include "opt_kstack_pages.h" #include "opt_msgbuf.h" #include "opt_pmap.h" @@ -74,6 +75,10 @@ #include +#ifdef CPU_SNAPSHOT +#include +#endif + #if 1 #define PMAP_DEBUG #endif @@ -1289,7 +1294,11 @@ goto retry; } - panic(" ackmask=0x%x active=0x%x\n", ackmask, curactive); +#ifdef CPU_SNAPSHOT + cpu_snapshot_report(-1); +#endif + + panic(" ackmask=0x%x active=0x%x\n", ackmask, curactive); } } From owner-p4-projects@FreeBSD.ORG Tue Jul 18 07:50:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 441E616A4EB; Tue, 18 Jul 2006 07:50:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 009F216A4DA for ; Tue, 18 Jul 2006 07:50:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAA5A43D45 for ; Tue, 18 Jul 2006 07:50:23 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I7oNgi016359 for ; Tue, 18 Jul 2006 07:50:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I7oNkc016356 for perforce@freebsd.org; Tue, 18 Jul 2006 07:50:23 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 18 Jul 2006 07:50:23 GMT Message-Id: <200607180750.k6I7oNkc016356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 07:50:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=101836 Change 101836 by hselasky@hselasky_mini_itx on 2006/07/18 07:49:44 Folded some long lines. The "ng_ubt" driver now searches for the ISOC config with the largest wMaxPacketSize. Affected files ... .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#6 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#5 edit Differences ... ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#6 (text+ko) ==== @@ -286,7 +286,9 @@ }; /* USB config */ -static const struct usbd_config ubt_config_if_1_full_speed[UBT_IF_1_N_TRANSFER] = { +static const struct usbd_config +ubt_config_if_1_full_speed[UBT_IF_1_N_TRANSFER] = { + [0] = { .type = UE_ISOCHRONOUS, .endpoint = -1, /* any */ @@ -329,7 +331,9 @@ }; /* USB config */ -static const struct usbd_config ubt_config_if_1_high_speed[UBT_IF_1_N_TRANSFER] = { +static const struct usbd_config +ubt_config_if_1_high_speed[UBT_IF_1_N_TRANSFER] = { + [0] = { .type = UE_ISOCHRONOUS, .endpoint = -1, /* any */ @@ -490,6 +494,10 @@ { struct usb_attach_arg *uaa = device_get_ivars(dev); struct ubt_softc *sc = device_get_softc(dev); + const struct usbd_config *isoc_setup; + struct usbd_pipe *pipe; + u_int16_t wMaxPacketSize; + u_int8_t alt_index; u_int8_t i; usbd_set_desc(dev, uaa->device); @@ -556,33 +564,57 @@ (uaa->device, 0, sc->sc_xfer_if_0, ubt_config_if_0, UBT_IF_0_N_TRANSFER, sc, &(sc->sc_mtx), &(sc->sc_mem_wait))) { + device_printf(dev, "Could not allocate transfers " + "for interface 0!\n"); goto detach; } /* - * Interface 1 (search alternate settings) + * Interface 1 + * (search alternate settings, and find + * the descriptor with the largest + * wMaxPacketSize) */ + isoc_setup = + ((usbd_get_speed(uaa->device) == USB_SPEED_HIGH) ? + ubt_config_if_1_high_speed : + ubt_config_if_1_full_speed); - for (i = 0; ; i++) { + wMaxPacketSize = 0; + alt_index = 0; + + for (i = 0; i < 32; i++) { - if (usbreq_set_interface(uaa->device, 1, i)) { + if (usbd_fill_iface_data(uaa->device, 1, i)) { + /* end of alternate settings */ break; } - if(usbd_transfer_setup - (uaa->device, 1, - sc->sc_xfer_if_1, - (usbd_get_speed(uaa->device) == USB_SPEED_HIGH) ? - ubt_config_if_1_high_speed : - ubt_config_if_1_full_speed, UBT_IF_1_N_TRANSFER, - sc, &(sc->sc_mtx), &(sc->sc_mem_wait)) == 0) { - goto found; + pipe = usbd_get_pipe(uaa->device, 1, isoc_setup); + + if (pipe && pipe->edesc) { + + if (UGETW(pipe->edesc->wMaxPacketSize) > wMaxPacketSize) { + wMaxPacketSize = UGETW(pipe->edesc->wMaxPacketSize); + alt_index = i; + } } } - goto detach; + if (usbreq_set_interface(uaa->device, 1, alt_index)) { + device_printf(dev, "Could not set alternate " + "setting %d for interface 1!\n", alt_index); + goto detach; + } - found: + if(usbd_transfer_setup + (uaa->device, 1, + sc->sc_xfer_if_1, isoc_setup, UBT_IF_1_N_TRANSFER, + sc, &(sc->sc_mtx), &(sc->sc_mem_wait))) { + device_printf(dev, "Could not allocate transfers " + "for interface 1!\n"); + goto detach; + } /* create Netgraph node */ ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#5 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Jul 18 09:49:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1127616A4DF; Tue, 18 Jul 2006 09:49:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1B2616A4DA for ; Tue, 18 Jul 2006 09:49:53 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8EE8043D49 for ; Tue, 18 Jul 2006 09:49:53 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I9nrAe033758 for ; Tue, 18 Jul 2006 09:49:53 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I9nrcs033755 for perforce@freebsd.org; Tue, 18 Jul 2006 09:49:53 GMT (envelope-from kevlo@freebsd.org) Date: Tue, 18 Jul 2006 09:49:53 GMT Message-Id: <200607180949.k6I9nrcs033755@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101841 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 09:49:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=101841 Change 101841 by kevlo@kevlo_monet on 2006/07/18 09:48:56 Initial stuff to get a IXP425 kernel building. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#8 edit .. //depot/projects/arm/src/sys/arm/arm/locore.S#21 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_sipvar.h#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#1 add .. //depot/projects/arm/src/sys/conf/options.arm#14 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#8 (text+ko) ==== @@ -938,7 +938,6 @@ #ifdef CPU_XSCALE_IXP425 if (cputype == CPU_ID_IXP425_533 || cputype == CPU_ID_IXP425_400 || cputype == CPU_ID_IXP425_266) { - ixp425_icu_init(); cpufuncs = xscale_cpufuncs; #if defined(PERFCTRS) ==== //depot/projects/arm/src/sys/arm/arm/locore.S#21 (text+ko) ==== @@ -113,6 +113,9 @@ CPU_CONTROL_WBUF_ENABLE) bic r2, r2, #(CPU_CONTROL_IC_ENABLE) bic r2, r2, #(CPU_CONTROL_BPRD_ENABLE) +#ifdef CPU_XSCALE_IXP425 + orr r2, r2, #(CPU_CONTROL_BEND_ENABLE) +#endif mcr p15, 0, r2, c1, c0, 0 nop @@ -150,6 +153,9 @@ /* Enable MMU */ mrc p15, 0, r0, c1, c0, 0 orr r0, r0, #CPU_CONTROL_MMU_ENABLE +#ifdef CPU_XSCALE_IXP425 + orr r0, r0, #CPU_CONTROL_BEND_ENABLE +#endif mcr p15, 0, r0, c1, c0, 0 nop nop ==== //depot/projects/arm/src/sys/conf/options.arm#14 (text+ko) ==== @@ -8,6 +8,7 @@ CPU_SA1110 opt_global.h CPU_ARM9 opt_global.h CPU_XSCALE_80321 opt_global.h +CPU_XSCALE_IXP425 opt_global.h KERNPHYSADDR opt_global.h KERNVIRTADDR opt_global.h PHYSADDR opt_global.h From owner-p4-projects@FreeBSD.ORG Tue Jul 18 09:53:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90D2A16A4E1; Tue, 18 Jul 2006 09:53:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5539816A4DF for ; Tue, 18 Jul 2006 09:53:59 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 237CD43D46 for ; Tue, 18 Jul 2006 09:53:59 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6I9rxOH034017 for ; Tue, 18 Jul 2006 09:53:59 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6I9rwQg034014 for perforce@freebsd.org; Tue, 18 Jul 2006 09:53:58 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 18 Jul 2006 09:53:58 GMT Message-Id: <200607180953.k6I9rwQg034014@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 09:53:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=101842 Change 101842 by gabor@gabor_spitfire on 2006/07/18 09:53:17 Fix some text changes I missed with the last change. Submitted by: erwin Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#35 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#35 (text+ko) ==== @@ -3794,7 +3794,7 @@ .endif .else .if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig in (errors are ignored)" + @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" -${LDCONFIG} -m ${USE_LDCONFIG} .else @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" @@ -4251,7 +4251,7 @@ if [ -z "${DESTDIR}" ] ; then \ ${ECHO_MSG} "===> Deinstalling $${p}"; \ else \ - ${ECHO_MSG} "===> Deinstalling $${p}from ${DESTDIR}"; \ + ${ECHO_MSG} "===> Deinstalling $${p} from ${DESTDIR}"; \ fi; \ ${PKG_DELETE} -f $${p}; \ else \ From owner-p4-projects@FreeBSD.ORG Tue Jul 18 10:56:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C482016A4E1; Tue, 18 Jul 2006 10:56:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F67616A4DA for ; Tue, 18 Jul 2006 10:56:17 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B76943D45 for ; Tue, 18 Jul 2006 10:56:17 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IAuHn8038766 for ; Tue, 18 Jul 2006 10:56:17 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IAuHBr038761 for perforce@freebsd.org; Tue, 18 Jul 2006 10:56:17 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 18 Jul 2006 10:56:17 GMT Message-Id: <200607181056.k6IAuHBr038761@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101844 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 10:56:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=101844 Change 101844 by gabor@gabor_spitfire on 2006/07/18 10:56:11 Remove DESTDIR_READY. The DESTDIR patchset should be tested on the cluster first, and then will be further discussions what to do with ports that don't respect DESTDIR. Discussed with: erwin Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#36 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#36 (text+ko) ==== @@ -501,9 +501,6 @@ # under /bla/var/db/pkg. # Default: not set (means /) # -# DESTDIR_READY - You should set this in your port's Makefile if your port is -# ready to be used with DESTDIR set. -# # X11BASE - Where X11 ports install things. # Default: ${DESTDIR}/usr/X11R6 # X11BASE_REL - Same as X11BASE, but relative to DESTDIR @@ -1534,10 +1531,6 @@ _POSTMKINCLUDED= yes -.if !defined(DESTDIR_READY) -IGNORE= is not ready to be used with DESTDIR -.endif - WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work .if defined(NO_WRKSUBDIR) WRKSRC?= ${WRKDIR} From owner-p4-projects@FreeBSD.ORG Tue Jul 18 11:07:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 389DA16A4E0; Tue, 18 Jul 2006 11:07:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1373416A4DD for ; Tue, 18 Jul 2006 11:07:32 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D4A5543D58 for ; Tue, 18 Jul 2006 11:07:31 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IB7VJp040644 for ; Tue, 18 Jul 2006 11:07:31 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IB7Vf1040641 for perforce@freebsd.org; Tue, 18 Jul 2006 11:07:31 GMT (envelope-from piso@freebsd.org) Date: Tue, 18 Jul 2006 11:07:31 GMT Message-Id: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 11:07:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=101845 Change 101845 by piso@piso_newluxor on 2006/07/18 11:07:29 Defining an interrupt handler as INTR_FAST means the interrupt thread associated to this interrupt event won't be created: actually with filter+ithread, we need that thread. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 (text+ko) ==== @@ -1986,7 +1986,7 @@ */ TASK_INIT(&sc->link_task, 0, em_handle_link, sc); if ((error = bus_setup_intr(dev, sc->res_interrupt, - INTR_TYPE_NET | INTR_FAST, em_intr_fast, em_handle_rxtx, sc, + INTR_TYPE_NET, em_intr_fast, em_handle_rxtx, sc, &sc->int_handler_tag)) != 0) { device_printf(dev, "Failed to register fast interrupt " "handler: %d\n", error); From owner-p4-projects@FreeBSD.ORG Tue Jul 18 13:52:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 824BD16A4E0; Tue, 18 Jul 2006 13:52:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 55B1816A4DD for ; Tue, 18 Jul 2006 13:52:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB72943D6B for ; Tue, 18 Jul 2006 13:51:59 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IDpxjj061501 for ; Tue, 18 Jul 2006 13:51:59 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IDpxQp061498 for perforce@freebsd.org; Tue, 18 Jul 2006 13:51:59 GMT (envelope-from piso@freebsd.org) Date: Tue, 18 Jul 2006 13:51:59 GMT Message-Id: <200607181351.k6IDpxQp061498@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101849 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 13:52:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=101849 Change 101849 by piso@piso_newluxor on 2006/07/18 13:51:37 Retire IH_FAST: we don't need it anymore. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#9 edit .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#4 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#9 (text+ko) ==== @@ -340,9 +340,7 @@ ih->ih_name = name; ih->ih_event = ie; ih->ih_pri = pri; - if (flags & INTR_FAST) - ih->ih_flags = IH_FAST; - else if (flags & INTR_EXCL) + if (flags & INTR_EXCL) ih->ih_flags = IH_EXCLUSIVE; if (flags & INTR_MPSAFE) ih->ih_flags |= IH_MPSAFE; @@ -470,7 +468,7 @@ */ dead = 1; TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) { - if (!(ih->ih_flags & IH_FAST)) { + if (!(ih->ih_filter != NULL && ih->ih_handler == NULL)) { dead = 0; break; } @@ -645,10 +643,6 @@ else atomic_store_rel_int(&ih->ih_need, 0); - /* Fast handlers are handled in primary interrupt context. */ - if (ih->ih_flags & IH_FAST) - continue; - /* Execute this handler. */ CTR6(KTR_INTR, "%s: pid %d exec %p(%p) for %s flg=%x", __func__, p->p_pid, (void *)ih->ih_handler, ih->ih_argument, @@ -881,14 +875,10 @@ db_printsym((uintptr_t)ih->ih_handler, DB_STGY_PROC); db_printf("(%p)", ih->ih_argument); if (ih->ih_need || - (ih->ih_flags & (IH_FAST | IH_EXCLUSIVE | IH_ENTROPY | IH_DEAD | + (ih->ih_flags & (IH_EXCLUSIVE | IH_ENTROPY | IH_DEAD | IH_MPSAFE)) != 0) { db_printf(" {"); comma = 0; - if (ih->ih_flags & IH_FAST) { - db_printf("FAST"); - comma = 1; - } if (ih->ih_flags & IH_EXCLUSIVE) { if (comma) db_printf(", "); ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#4 (text+ko) ==== @@ -55,7 +55,6 @@ }; /* Interrupt handle flags kept in ih_flags */ -#define IH_FAST 0x00000001 /* Fast interrupt. */ #define IH_EXCLUSIVE 0x00000002 /* Exclusive interrupt. */ #define IH_ENTROPY 0x00000004 /* Device is a good entropy source. */ #define IH_DEAD 0x00000008 /* Handler should be removed. */ From owner-p4-projects@FreeBSD.ORG Tue Jul 18 14:53:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E82716A4E1; Tue, 18 Jul 2006 14:53:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 426D016A4DF for ; Tue, 18 Jul 2006 14:53:20 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D96443D46 for ; Tue, 18 Jul 2006 14:53:20 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IErJiY065705 for ; Tue, 18 Jul 2006 14:53:19 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IErJ2Z065702 for perforce@freebsd.org; Tue, 18 Jul 2006 14:53:19 GMT (envelope-from piso@freebsd.org) Date: Tue, 18 Jul 2006 14:53:19 GMT Message-Id: <200607181453.k6IErJ2Z065702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101853 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 14:53:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=101853 Change 101853 by piso@piso_newluxor on 2006/07/18 14:52:47 Updated. Affected files ... .. //depot/projects/soc2006/intr_filter/notes#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/notes#5 (text+ko) ==== @@ -42,9 +42,10 @@ - This should be a commitworthy milestone of some sort [DONE] XXX: all the archs (except for i386 & amd64) didn't have their interrupt -EOIing and masking reviewed in MD code +EOIing and masking MD code reviewed - Convert a driver to use filter+ithread +[DONE] - Third Pass: This requires some other support work to allow easy setup of kernel threads (not just kernel processes) as well as letting kernel From owner-p4-projects@FreeBSD.ORG Tue Jul 18 15:41:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A6A616A4E7; Tue, 18 Jul 2006 15:41:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 39C3E16A4DF for ; Tue, 18 Jul 2006 15:41:27 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4053C43D55 for ; Tue, 18 Jul 2006 15:41:19 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IFfJOb069297 for ; Tue, 18 Jul 2006 15:41:19 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IFfIr1069294 for perforce@freebsd.org; Tue, 18 Jul 2006 15:41:18 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 18 Jul 2006 15:41:18 GMT Message-Id: <200607181541.k6IFfIr1069294@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101854 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 15:41:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=101854 Change 101854 by gabor@gabor_spitfire on 2006/07/18 15:41:12 IFC Affected files ... .. //depot/projects/soc2006/gabor_ports/CHANGES#4 integrate .. //depot/projects/soc2006/gabor_ports/MOVED#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#37 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.scons.mk#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/addport#3 integrate .. //depot/projects/soc2006/gabor_ports/UPDATING#7 integrate Differences ... ==== //depot/projects/soc2006/gabor_ports/CHANGES#4 (text+ko) ==== @@ -10,6 +10,18 @@ All ports committers are allowed to commit to this file. +20070717: +AUTHOR: portmgr@FreeBSD.org +The following functional changes were made to bsd.port.mk: + + * Introduces IA32_BINARY_PORT for certain cases where a given port fetches + and installs compiled i386 binaries. + + * Adds some infrastructure for support of 32-bit i386 apps on amd64. + + * Again fix USE_LDCONFIG logic to make it work with non-default PREFIX to + fix bug introduced in previous revision. + 20070705: AUTHOR: portmgr@FreeBSD.org The following functional changes were made to bsd.port.mk: @@ -1103,4 +1115,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.54 2006/07/05 02:18:27 linimon Exp $ +$FreeBSD: ports/CHANGES,v 1.55 2006/07/18 04:13:11 linimon Exp $ ==== //depot/projects/soc2006/gabor_ports/MOVED#7 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1094 2006/07/12 14:15:55 rafan Exp $ +# $FreeBSD: ports/MOVED,v 1.1099 2006/07/18 05:05:37 marcus Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -2411,3 +2411,13 @@ japanese/phpgroupware||2006-04-10|removed at mainter request (because broken and vulnerabilities) www/p5-Catalyst|www/p5-Catalyst-Runtime|2006-07-10|follow CPAN split of package textproc/p5-JSON-Syck|textproc/p5-YAML-Syck|2006-07-12|The textproc/p5-YAML-Syck port now includes JSON functionality +sysutils/ledit||2006-07-14|Has expired: Does not build +x11/settitle||2006-07-14|Has expired: Download unavailable anymore +net-im/simicq|net-im/sim-im|2006-07-15|renamed +cad/gschem|cad/geda-gschem|2006-07-16|renamed +cad/gnetlist|cad/geda-netlist|2006-07-16|renamed +misc/matrix-kmod||2006-07-17|Has expired: Unfetchable +net/ethereal|net/wireshark|2006-07-17|Project name has changed +net/ethereal-lite|net/wireshark-lite|2006-07-17|Project name has changed +net/tethereal|net/tshark|2006-07-17|Project name has changed +net/tethereal-lite|net/tshark-lite|2006-07-17|Project name has changed ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#37 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.537 2006/07/06 17:56:45 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.538 2006/07/18 04:12:51 linimon Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -1152,7 +1152,7 @@ .elif exists(${DESTDIR}/usr/src/sys/sys/param.h) OSVERSION!= ${AWK} '/^\#define __FreeBSD_version/ {print $$3}' < ${DESTDIR}/usr/src/sys/sys/param.h .else -OSVERSION!= /sbin/sysctl -n kern.osreldate +OSVERSION!= ${SYSCTL} -n kern.osreldate .endif .endif @@ -1171,6 +1171,29 @@ MASTER_PORT?= .endif +# Check the compatibility layer for amd64/ia64 + +.if ${ARCH} == "amd64" || ${ARCH} =="ia64" +.if exists(/usr/lib32) +HAVE_COMPAT_IA32_LIBS?= YES +.endif +.if !defined(HAVE_COMPAT_IA32_KERN) +HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -a compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi +.endif +.endif + +.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386" +.if ${ARCH} == "amd64" || ${ARCH} == "ia64" +.if !defined(HAVE_COMPAT_IA32_KERN) +IGNORE= you need a kernel with compiled-in IA32 compatibility to use this port. +.elif !defined(HAVE_COMPAT_IA32_LIBS) +IGNORE= you need the 32-bit libraries installed under /usr/lib32 to use this port. +.endif +.else +IGNORE= you have to use i386 (or compatible) platform to use this port. +.endif +.endif + # If they exist, include Makefile.inc, then architecture/operating # system specific Makefiles, then local Makefile.local. @@ -3797,7 +3820,7 @@ .if ${USE_LDCONFIG:L} != "${PREFIX}/lib" @${ECHO_MSG} "===> Installing ldconfig configuration file" .if defined(NO_LDCONFIG_MTREE) - @${MKDIR} ${LDCONFIG_DIR} + @${MKDIR} ${PREFIX}/${LDCONFIG_DIR} .endif @${ECHO_CMD} ${USE_LDCONFIG} | ${TR} ' ' '\n' \ > ${PREFIX}/${LDCONFIG_DIR}/${UNIQUENAME} @@ -3827,7 +3850,7 @@ .endif @${ECHO_MSG} "===> Installing 32-bit ldconfig configuration file" .if defined(NO_LDCONFIG_MTREE) - @${MKDIR} ${LDCONFIG_32DIR} + @${MKDIR} ${PREFIX}/${LDCONFIG_32DIR} .endif @${ECHO_CMD} ${USE_LDCONFIG32} | ${TR} ' ' '\n' \ > ${PREFIX}/${LDCONFIG32_DIR}/${UNIQUENAME} ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.scons.mk#4 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.scons.mk,v 1.3 2006/07/05 19:53:27 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.scons.mk,v 1.4 2006/07/13 22:10:39 alepulver Exp $ # # bsd.scons.mk - Python-based SCons build system interface. # Author: Alexander Botero-Lowry @@ -30,14 +30,16 @@ # Some scons projects may honor PKGCONFIGDIR, which tells them where to # look for, and install, pkgconfig files. # +# LIBPATH is the search path for libraries. Bring in some safe defaults. +# +# CPPPATH is the search path for includes, Again, bring in some safe defaults. +# CCFLAGS?= ${CFLAGS} LINKFLAGS?= ${LDFLAGS} PKGCONFIGDIR?= ${LOCALBASE}/libdata/pkgconfig +LIBPATH= ${LOCALBASE}/lib ${X11BASE}/lib +CPPPATH= ${LOCALBASE}/include ${X11BASE}/include -CCFLAGS+= -I${LOCALBASE}/include -CXXFLAGS+= -I${LOCALBASE}/include -LINKFLAGS+= -L${LOCALBASE}/lib - # # SCONS_ENV is where we pass all the stuff that should be the # same for any scons port to scons. Things like CCFLAGS, and LINKFLAGS @@ -53,8 +55,9 @@ # argument to scons. # SCONS_ENV?= CCFLAGS="${CCFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - LINKFLAGS="${LINKFLAGS}" PKGCONFIGDIR="${PKGCONFIGDIR}" \ - PREFIX="${DESTDIR}${PREFIX}" CC="${CC}" CXX="${CXX}" + LINKFLAGS="${LINKFLAGS}" PKGCONFIGDIR="${PKGCONFIGDIR}" \ + CPPPATH="${CPPPATH}" LIBPATH="${LIBPATH}" PREFIX="${PREFIX}" \ + DESTDIR="${DESTDIR}" CC="${CC}" CXX="${CXX}" SCONS_ARGS?= SCONS_BUILDENV?= SCONS_TARGET?= ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/addport#3 (text+ko) ==== @@ -32,7 +32,7 @@ # # Id: addport,v 1.2 2000/04/02 06:21:13 will Exp (original shell script) # Id: addport,v 1.5 2000/04/22 22:19:43 mharo Exp (perl conversion) -# $FreeBSD: ports/Tools/scripts/addport,v 1.49 2006/07/04 23:12:10 garga Exp $ +# $FreeBSD: ports/Tools/scripts/addport,v 1.50 2006/07/14 01:49:35 shaun Exp $ # # MAINTAINER= garga@FreeBSD.org # @@ -57,12 +57,13 @@ my %opts; -getopts('ac:d:fgh:il:L:M:mns:tu:', \%opts); +getopts('abc:d:fgh:il:L:M:mns:tu:', \%opts); my $autofill_l = $opts{'l'}; my $autofill_L = $opts{'L'}; my $autofill = ($autofill_l ? $autofill_l : $autofill_L); my $c = $opts{'c'} if ($opts{'c'} ne ""); +my $binfiles = $opts{'b'}; my $nomodules = $opts{'g'}; my $distdir = $opts{'s'} if ($opts{'s'} ne ""); my $dir = $opts{'d'}; @@ -321,7 +322,23 @@ chdir $category or err(1,"$category"); system("$cp -PRp $thisdir ."); system("$cvs $n add `find $portname -type d | grep -v CVS`") && errx(1, "cvs add for dirs failed, aborting."); - system("$cvs $n add `find $portname -type f | grep -v CVS`") && errx(1, "cvs add for files failed, aborting."); + + my $gotfiles = 0; + if ($binfiles) { + if (-d "$portname/files") { + my (@pf, $fd); + opendir($fd, "$portname/files") and + @pf = grep { /^.*patch-.*$/ } readdir($fd); + $gotfiles = ++$#pf; + } + } + + if ($binfiles && $gotfiles > 0) { + system("$cvs $n add `find $portname -type f | grep -v CVS | grep -v '^$portname/files/.*patch-.*'`") && errx(1, "cvs add for files failed, aborting."); + system("$cvs $n add -ko `find $portname -type f | grep -v CVS | grep '^$portname/files/.*patch-.*'`") && errx(1, "cvs add for files failed, aborting."); + } else { + system("$cvs $n add `find $portname -type f | grep -v CVS`") && errx(1, "cvs add for files failed, aborting."); + } # figure out where the port name belongs in category Makefile my @ports = &lsports; @@ -417,7 +434,7 @@ SYNOPSIS $0 [-c commitfile] [-h host] [-l PR number] [-s distdir] [-u user] - [-afgimnt] -d directory + [-abfgimnt] -d directory Where "directory" contains the comma-delimited list of root directories of new ports that you wish to @@ -427,6 +444,8 @@ OPTIONS -a Perform checks on the port to make sure there are no problems. Recommended. + -b Add all patch-* files in \${FILESDIR} as binary + files (i.e. don't expand CVS tags) -c file Use file in place of normal log message. -f Do not fetch the distfile. -g Do not commit to CVSROOT/modules. ==== //depot/projects/soc2006/gabor_ports/UPDATING#7 (text+ko) ==== @@ -6,6 +6,40 @@ time you update your ports collection, before attempting any port upgrades. +20060715: + AFFECTS: users of Aspell or its versions bundled with dictionaries + AUTHOR: thierry@FreeBSD.org + + Since aspell-0.60.4_4, all dictionaries can be installed separately: + + - by default, textproc/aspell installs the English dictionaries (no + change); + - thereafter you can install any foreign dictionary; + - when you install a foreign dictionary, i.e. french/aspell or + textproc/da-aspell, it installs only the dictionaries, and depends + upon textproc/aspell for the programs; + - if you don't need the English dictionaries, you can define + WITHOUT_DICTEN or install textproc/aspell-without-dicten. + +20060714: + AFFECTS: users of security/krb5 + AUTHOR: cy@FreeBSD.org + + As of MIT KRB5 1.5, Kerberos no longer supports static linking nor + do the static libraries build. The reason for this is that KRB5 1.5 + implements plugins to implement functions. GSS-API is now implemented + as a function. As such, the MIT Kerberos team has yet to implement + plugins using static libraries. Users requiring static libraries or + statically linked binaries are advised not to upgrade to this release + until MIT provides a solution for statically linked binaries. + +20060714: + AFFECTS: users of www/mediawiki + AUTHOR: clsung@FreeBSD.org + + www/mediawiki version is 1.7 now. 1.6 version was preserved on + www/mediawiki16 port. + 20060713: AFFECTS: users of x11-fonts/terminus-font AUTHOR: garga@FreeBSD.org @@ -3816,4 +3850,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.361 2006/07/13 12:03:50 garga Exp $ +$FreeBSD: ports/UPDATING,v 1.364 2006/07/15 14:28:26 thierry Exp $ From owner-p4-projects@FreeBSD.ORG Tue Jul 18 16:01:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0C0B16A512; Tue, 18 Jul 2006 16:01:50 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 86A6616A50C for ; Tue, 18 Jul 2006 16:01:50 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CDD4A43D5A for ; Tue, 18 Jul 2006 16:01:45 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IG1jKb070215 for ; Tue, 18 Jul 2006 16:01:45 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IG1j6V070212 for perforce@freebsd.org; Tue, 18 Jul 2006 16:01:45 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 18 Jul 2006 16:01:45 GMT Message-Id: <200607181601.k6IG1j6V070212@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101855 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 16:01:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=101855 Change 101855 by gabor@gabor_spitfire on 2006/07/18 16:01:05 Avoid code duplication when looking for dependencies. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#38 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#38 (text+ko) ==== @@ -4844,7 +4844,6 @@ lib-depends: .if defined(LIB_DEPENDS) && !defined(NO_DEPENDS) -.if !defined(DESTDIR) @for i in ${LIB_DEPENDS}; do \ lib=$${i%%:*}; \ case $$lib in \ @@ -4860,60 +4859,34 @@ else \ dir=$${dir%%:*}; \ fi; \ - ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library: $$lib"; \ - if ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} " - found"; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library: $$lib"; \ + if ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ + ${ECHO_MSG} " - found"; \ + if [ ${_DEPEND_ALWAYS} = 1 ]; then \ + ${ECHO_MSG} " (but building it anyway)"; \ + notfound=1; \ + else \ + notfound=0; \ + fi; \ + else \ + ${ECHO_MSG} " - not found"; \ notfound=1; \ - else \ - notfound=0; \ fi; \ else \ - ${ECHO_MSG} " - not found"; \ - notfound=1; \ - fi; \ - if [ $$notfound != 0 ]; then \ - ${ECHO_MSG} "===> Verifying $$target for $$lib in $$dir"; \ - if [ ! -d "$$dir" ]; then \ - ${ECHO_MSG} " => No directory for $$lib. Skipping.."; \ + ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library in ${DESTDIR}: $$lib"; \ + if ${CHROOT} ${DESTDIR} ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ + ${ECHO_MSG} " - found"; \ + if [ ${_DEPEND_ALWAYS} = 1 ]; then \ + ${ECHO_MSG} " (but building it anyway)"; \ + notfound=1; \ + else \ + notfound=0; \ + fi; \ else \ - ${_INSTALL_DEPENDS} \ - if ! ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} "Error: shared library \"$$lib\" does not exist"; \ - ${FALSE}; \ - fi; \ - fi; \ - fi; \ - done -.else - @for i in ${LIB_DEPENDS}; do \ - lib=$${i%%:*}; \ - case $$lib in \ - *.*.*) pattern="`${ECHO_CMD} $$lib | ${SED} -e 's/\./\\\\./g'`" ;;\ - *.*) pattern="$${lib%%.*}\.$${lib#*.}" ;;\ - *) pattern="$$lib" ;;\ - esac; \ - dir=$${i#*:}; \ - target=$${i##*:}; \ - if ${TEST} $$dir = $$target; then \ - target="${DEPENDS_TARGET}"; \ - depends_args="${DEPENDS_ARGS}"; \ - else \ - dir=$${dir%%:*}; \ - fi; \ - ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library: $$lib in ${DESTDIR}"; \ - if ${CHROOT} ${DESTDIR} ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} " - found"; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ + ${ECHO_MSG} " - not found"; \ notfound=1; \ - else \ - notfound=0; \ fi; \ - else \ - ${ECHO_MSG} " - not found"; \ - notfound=1; \ fi; \ if [ $$notfound != 0 ]; then \ ${ECHO_MSG} "===> Verifying $$target for $$lib in $$dir"; \ @@ -4921,7 +4894,7 @@ ${ECHO_MSG} " => No directory for $$lib. Skipping.."; \ else \ ${_INSTALL_DEPENDS} \ - if ! ${CHROOT} ${DESTDIR} ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ + if ! ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ ${ECHO_MSG} "Error: shared library \"$$lib\" does not exist"; \ ${FALSE}; \ fi; \ @@ -4929,7 +4902,6 @@ fi; \ done .endif -.endif misc-depends: .if defined(DEPENDS) From owner-p4-projects@FreeBSD.ORG Tue Jul 18 16:05:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDF8F16A4E0; Tue, 18 Jul 2006 16:05:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C679916A4DD for ; Tue, 18 Jul 2006 16:05:53 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3251E43D70 for ; Tue, 18 Jul 2006 16:05:51 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IG5pnR071645 for ; Tue, 18 Jul 2006 16:05:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IG5o8Y071642 for perforce@freebsd.org; Tue, 18 Jul 2006 16:05:50 GMT (envelope-from piso@freebsd.org) Date: Tue, 18 Jul 2006 16:05:50 GMT Message-Id: <200607181605.k6IG5o8Y071642@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101856 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 16:05:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=101856 Change 101856 by piso@piso_newluxor on 2006/07/18 16:05:18 Updated again. Affected files ... .. //depot/projects/soc2006/intr_filter/notes#6 edit Differences ... ==== //depot/projects/soc2006/intr_filter/notes#6 (text+ko) ==== @@ -2,13 +2,27 @@ + Port to powerpc - has a few XXX, doesn't handle multiple fast [DONE] + + Port to arm - I think the IRQ needs to be unmasked when a handler is added -- Fix a race in intr_event_add_handler(). We should create the ithread if + ++ Fix a race in intr_event_add_handler(). We should create the ithread if needed and set ie_thread before adding the handler to the TAILQ. We would need a membar after the ie_thread write since we don't do any locking while executing handlers. ++ All the archs (except for i386 & amd64) didn't have their interrupt + EOIing and masking MD code reviewed + ++ Fix interrut storm logic: what if an interrupt source storms + and we have only filters on that line? Moreover, the interrupt + storm handling code now work only when an ithread is scheduled... + ++ Bfe was converted to be a filter+ithread driver, but there're + races when accessing bfe_istat, and perhaps other races while + accessing the hw registers. The simplest solution would employ + a spin lock, but i'm wondering about the performance penalty... + Interrupt filters: - First Pass: filters exist, but you only get one or the other; also, each threaded handler has its own ithread. Also, this will probably break the @@ -41,12 +55,13 @@ - Fix bus_setup_intr() for all the archs - This should be a commitworthy milestone of some sort [DONE] -XXX: all the archs (except for i386 & amd64) didn't have their interrupt -EOIing and masking MD code reviewed - Convert a driver to use filter+ithread [DONE] +- Benchmark the different interrupt models: + pre SMPng (4.x), polling(???), ithread only and filter+ithread. + - Third Pass: This requires some other support work to allow easy setup of kernel threads (not just kernel processes) as well as letting kernel processes have KSE's that do continuations that do a kind of upcall into @@ -55,3 +70,4 @@ - embed a struct task in each intrhand and use a single intr kernel process with one kse per CPU and threads that spawn new threads when blocking to execute tasks from a interrupt taskqueue + From owner-p4-projects@FreeBSD.ORG Tue Jul 18 16:23:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A88716A4E2; Tue, 18 Jul 2006 16:23:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 65EAE16A4DE; Tue, 18 Jul 2006 16:23:36 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id D537D43D72; Tue, 18 Jul 2006 16:23:35 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([165.236.175.187]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k6IGNScE002194; Tue, 18 Jul 2006 10:23:34 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44BD0AF7.8030408@samsco.org> Date: Tue, 18 Jul 2006 10:23:19 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Paolo Pisati References: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> In-Reply-To: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: Perforce Change Reviews Subject: Re: PERFORCE change 101845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 16:23:36 -0000 Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=101845 > > Change 101845 by piso@piso_newluxor on 2006/07/18 11:07:29 > > Defining an interrupt handler as INTR_FAST means > the interrupt thread associated to this interrupt event > won't be created: actually with filter+ithread, we need > that thread. > > Affected files ... > > .. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 (text+ko) ==== > > @@ -1986,7 +1986,7 @@ > */ > TASK_INIT(&sc->link_task, 0, em_handle_link, sc); > if ((error = bus_setup_intr(dev, sc->res_interrupt, > - INTR_TYPE_NET | INTR_FAST, em_intr_fast, em_handle_rxtx, sc, > + INTR_TYPE_NET, em_intr_fast, em_handle_rxtx, sc, > &sc->int_handler_tag)) != 0) { > device_printf(dev, "Failed to register fast interrupt " > "handler: %d\n", error); Now you've made if_em no longer be MPSAFE. Scott From owner-p4-projects@FreeBSD.ORG Tue Jul 18 16:33:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA69416A4E7; Tue, 18 Jul 2006 16:33:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 62C6316A4E5 for ; Tue, 18 Jul 2006 16:33:26 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E25D43D45 for ; Tue, 18 Jul 2006 16:33:26 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IGXPNC073663 for ; Tue, 18 Jul 2006 16:33:25 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IGXPq7073660 for perforce@freebsd.org; Tue, 18 Jul 2006 16:33:25 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 18 Jul 2006 16:33:25 GMT Message-Id: <200607181633.k6IGXPq7073660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 16:33:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=101857 Change 101857 by gabor@gabor_spitfire on 2006/07/18 16:32:29 Fix an unterminated quoted string. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#39 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#39 (text+ko) ==== @@ -4711,7 +4711,7 @@ if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ if [ -r "$${subpkgfile}" -a "$$target" = "${DEPENDS_TARGET}" ]; then \ - if [ -z "${DESTDIR} ] ; then \ + if [ -z "${DESTDIR}" ] ; then \ ${ECHO_MSG} "===> Installing existing package $${subpkgfile}"; \ ${PKG_ADD} $${subpkgfile}; \ else \ From owner-p4-projects@FreeBSD.ORG Tue Jul 18 17:22:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A25B16A5C1; Tue, 18 Jul 2006 17:22:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 152CB16A4FE; Tue, 18 Jul 2006 17:22:15 +0000 (UTC) (envelope-from flag@newluxor.wired.org) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FD0243D5A; Tue, 18 Jul 2006 17:22:14 +0000 (GMT) (envelope-from flag@newluxor.wired.org) Received: from newluxor.wired.org (ip-64-163.sn2.eutelia.it [83.211.64.163]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oltrelinux.com (Postfix) with ESMTP id 213E911AEB3; Tue, 18 Jul 2006 19:22:12 +0200 (CEST) Received: (from flag@localhost) by newluxor.wired.org (8.13.7/8.13.7/Submit) id k6IHKwHg037693; Tue, 18 Jul 2006 19:20:58 +0200 (CEST) (envelope-from flag) Date: Tue, 18 Jul 2006 19:20:53 +0200 From: Paolo Pisati To: Scott Long Message-ID: <20060718172053.GA37524@tin.it> References: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> <44BD0AF7.8030408@samsco.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <44BD0AF7.8030408@samsco.org> User-Agent: Mutt/1.4.2.1i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Perforce Change Reviews , Paolo Pisati Subject: Re: PERFORCE change 101845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 17:22:15 -0000 On Tue, Jul 18, 2006 at 10:23:19AM -0600, Scott Long wrote: > > Now you've made if_em no longer be MPSAFE. right, i missed it. -- Paolo Piso's first law: nothing works as expected! From owner-p4-projects@FreeBSD.ORG Tue Jul 18 17:26:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C22716A4E6; Tue, 18 Jul 2006 17:26:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 187EE16A4DE for ; Tue, 18 Jul 2006 17:26:42 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E49A343D4C for ; Tue, 18 Jul 2006 17:26:34 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IHQY6U096080 for ; Tue, 18 Jul 2006 17:26:34 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IHQYGh096077 for perforce@freebsd.org; Tue, 18 Jul 2006 17:26:34 GMT (envelope-from piso@freebsd.org) Date: Tue, 18 Jul 2006 17:26:34 GMT Message-Id: <200607181726.k6IHQYGh096077@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101860 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 17:26:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=101860 Change 101860 by piso@piso_newluxor on 2006/07/18 17:26:05 Mark it MPSAFE else Giant will be grabbed in kern_intr.c::ithread_execute_handlers(). Affected files ... .. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#8 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/em/if_em.c#8 (text+ko) ==== @@ -1986,7 +1986,7 @@ */ TASK_INIT(&sc->link_task, 0, em_handle_link, sc); if ((error = bus_setup_intr(dev, sc->res_interrupt, - INTR_TYPE_NET, em_intr_fast, em_handle_rxtx, sc, + INTR_TYPE_NET | INTR_MPSAFE, em_intr_fast, em_handle_rxtx, sc, &sc->int_handler_tag)) != 0) { device_printf(dev, "Failed to register fast interrupt " "handler: %d\n", error); From owner-p4-projects@FreeBSD.ORG Tue Jul 18 18:34:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98F3316A4E5; Tue, 18 Jul 2006 18:34:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 742BA16A4E0 for ; Tue, 18 Jul 2006 18:34:01 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3998643D46 for ; Tue, 18 Jul 2006 18:34:01 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IIY1HR009431 for ; Tue, 18 Jul 2006 18:34:01 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IIY0Nb009428 for perforce@freebsd.org; Tue, 18 Jul 2006 18:34:00 GMT (envelope-from imp@freebsd.org) Date: Tue, 18 Jul 2006 18:34:00 GMT Message-Id: <200607181834.k6IIY0Nb009428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101866 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 18:34:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=101866 Change 101866 by imp@imp_harmony on 2006/07/18 18:33:46 IFC Affected files ... .. //depot/projects/arm/src/sys/conf/options#26 integrate .. //depot/projects/arm/src/sys/sys/sysctl.h#9 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_alloc.c#5 integrate Differences ... ==== //depot/projects/arm/src/sys/conf/options#26 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.553 2006/07/17 09:07:01 phk Exp $ +# $FreeBSD: src/sys/conf/options,v 1.554 2006/07/18 17:00:51 imp Exp $ # # On the handling of kernel options # @@ -208,6 +208,7 @@ # filesystems will be enabled - but look below. NFSCLIENT opt_nfs.h NFSSERVER opt_nfs.h +NFS4CLIENT opt_nfs.h # filesystems and libiconv bridge CD9660_ICONV opt_dontuse.h ==== //depot/projects/arm/src/sys/sys/sysctl.h#9 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)sysctl.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/sys/sys/sysctl.h,v 1.141 2006/06/10 14:34:07 rwatson Exp $ + * $FreeBSD: src/sys/sys/sysctl.h,v 1.142 2006/07/18 17:00:51 imp Exp $ */ #ifndef _SYS_SYSCTL_H_ ==== //depot/projects/arm/src/sys/ufs/ffs/ffs_alloc.c#5 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_alloc.c,v 1.139 2006/03/02 05:50:23 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_alloc.c,v 1.140 2006/07/18 07:03:43 stefanf Exp $"); #include "opt_quota.h" @@ -2131,13 +2131,13 @@ blksfree = cg_blksfree(cgp); len = howmany(fs->fs_fpg, NBBY) - start; loc = scanc((u_int)len, (u_char *)&blksfree[start], - (u_char *)fragtbl[fs->fs_frag], + fragtbl[fs->fs_frag], (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { len = start + 1; start = 0; loc = scanc((u_int)len, (u_char *)&blksfree[0], - (u_char *)fragtbl[fs->fs_frag], + fragtbl[fs->fs_frag], (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { printf("start = %d, len = %d, fs = %s\n", From owner-p4-projects@FreeBSD.ORG Tue Jul 18 19:22:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D595416A4E6; Tue, 18 Jul 2006 19:22:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B108116A4DE; Tue, 18 Jul 2006 19:22:33 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8743B43D49; Tue, 18 Jul 2006 19:22:32 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k6IJMTOu055737; Tue, 18 Jul 2006 15:22:31 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Paolo Pisati Date: Tue, 18 Jul 2006 15:18:12 -0400 User-Agent: KMail/1.9.1 References: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> In-Reply-To: <200607181107.k6IB7Vf1040641@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607181518.12791.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 18 Jul 2006 15:22:31 -0400 (EDT) X-Virus-Scanned: ClamAV 0.87.1/1604/Tue Jul 18 11:41:03 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 101845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 19:22:34 -0000 On Tuesday 18 July 2006 07:07, Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=101845 > > Change 101845 by piso@piso_newluxor on 2006/07/18 11:07:29 > > Defining an interrupt handler as INTR_FAST means > the interrupt thread associated to this interrupt event > won't be created: actually with filter+ithread, we need > that thread. The real fix is to stop checking INTR_FAST and to create an ithread as long as at least one interrupt handler (struct intr_handler) has a threaded handler (ih_handler != NULL). > Affected files ... > > .. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/dev/em/if_em.c#7 (text+ko) ==== > > @@ -1986,7 +1986,7 @@ > */ > TASK_INIT(&sc->link_task, 0, em_handle_link, sc); > if ((error = bus_setup_intr(dev, sc->res_interrupt, > - INTR_TYPE_NET | INTR_FAST, em_intr_fast, em_handle_rxtx, sc, > + INTR_TYPE_NET, em_intr_fast, em_handle_rxtx, sc, > &sc->int_handler_tag)) != 0) { > device_printf(dev, "Failed to register fast interrupt " > "handler: %d\n", error); > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Tue Jul 18 20:56:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 19A3616A4E2; Tue, 18 Jul 2006 20:56:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A80DB16A4DA for ; Tue, 18 Jul 2006 20:56:02 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AB6D43D45 for ; Tue, 18 Jul 2006 20:56:00 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IKu0xG030501 for ; Tue, 18 Jul 2006 20:56:00 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IKu0ok030496 for perforce@freebsd.org; Tue, 18 Jul 2006 20:56:00 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 20:56:00 GMT Message-Id: <200607182056.k6IKu0ok030496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 20:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=101870 Change 101870 by cognet@cognet on 2006/07/18 20:55:02 Add the missing arg in the call to uart_bus_probe() (should we revert to the old uart_bus_probe() prototype ?) Affected files ... .. //depot/projects/arm/src/sys/dev/uart/uart_bus_pci.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/dev/uart/uart_bus_pci.c#4 (text+ko) ==== @@ -153,7 +153,7 @@ match: if (id->desc) device_set_desc(dev, id->desc); - return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0)); + return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0, 0)); } DRIVER_MODULE(uart, pci, uart_pci_driver, uart_devclass, 0, 0); From owner-p4-projects@FreeBSD.ORG Tue Jul 18 21:05:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE14B16A4EA; Tue, 18 Jul 2006 21:05:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CABDE16A4E5 for ; Tue, 18 Jul 2006 21:05:12 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7ADD243D49 for ; Tue, 18 Jul 2006 21:05:12 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IL5Ca9032226 for ; Tue, 18 Jul 2006 21:05:12 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IL5CBL032223 for perforce@freebsd.org; Tue, 18 Jul 2006 21:05:12 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 21:05:12 GMT Message-Id: <200607182105.k6IL5CBL032223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101872 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 21:05:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=101872 Change 101872 by cognet@cognet on 2006/07/18 21:04:28 On a second thought, go ahead and remove the "irid" arg from uart_bus_probe(). AFAIK we never really used it. I'll back this out if it is feeled we need it. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/uart_bus_at91usart.c#9 edit .. //depot/projects/arm/src/sys/dev/uart/uart_bus.h#6 edit .. //depot/projects/arm/src/sys/dev/uart/uart_bus_pci.c#5 edit .. //depot/projects/arm/src/sys/dev/uart/uart_core.c#9 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/uart_bus_at91usart.c#9 (text+ko) ==== @@ -102,7 +102,7 @@ break; } sc->sc_class = &at91_usart_class; - return (uart_bus_probe(dev, 0, 0, 0, device_get_unit(dev), 0)); + return (uart_bus_probe(dev, 0, 0, 0, device_get_unit(dev))); } ==== //depot/projects/arm/src/sys/dev/uart/uart_bus.h#6 (text+ko) ==== @@ -142,8 +142,7 @@ int uart_bus_detach(device_t dev); serdev_intr_t *uart_bus_ihand(device_t dev, int ipend); int uart_bus_ipend(device_t dev); -int uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan, - int irid); +int uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan); int uart_bus_sysdev(device_t dev); int uart_tty_attach(struct uart_softc *); ==== //depot/projects/arm/src/sys/dev/uart/uart_bus_pci.c#5 (text+ko) ==== @@ -153,7 +153,7 @@ match: if (id->desc) device_set_desc(dev, id->desc); - return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0, 0)); + return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0)); } DRIVER_MODULE(uart, pci, uart_pci_driver, uart_devclass, 0, 0); ==== //depot/projects/arm/src/sys/dev/uart/uart_core.c#9 (text+ko) ==== @@ -285,7 +285,7 @@ } int -uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan, int irid) +uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan) { struct uart_softc *sc; struct uart_devinfo *sysdev; @@ -323,7 +323,7 @@ if (sc->sc_rres == NULL) return (ENXIO); } - sc->sc_irid = irid; /* stash the irq rid */ + sc->sc_irid = 0; /* * Fill in the bus access structure and compare this device with From owner-p4-projects@FreeBSD.ORG Tue Jul 18 21:17:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CFDB816A4E2; Tue, 18 Jul 2006 21:17:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 901A116A4DF for ; Tue, 18 Jul 2006 21:17:29 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 42CD543D46 for ; Tue, 18 Jul 2006 21:17:28 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6ILHS7d032829 for ; Tue, 18 Jul 2006 21:17:28 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6ILHSPb032826 for perforce@freebsd.org; Tue, 18 Jul 2006 21:17:28 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 21:17:28 GMT Message-Id: <200607182117.k6ILHSPb032826@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101873 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 21:17:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=101873 Change 101873 by cognet@cognet on 2006/07/18 21:17:22 Add -EB to ${LD} too if we're making a big endian kernel, not everything in kernel makefiles uses SYSTEM_LD. Affected files ... .. //depot/projects/arm/src/sys/conf/Makefile.arm#15 edit Differences ... ==== //depot/projects/arm/src/sys/conf/Makefile.arm#15 (text+ko) ==== @@ -39,6 +39,7 @@ .if defined(ARM_BIG_ENDIAN) CC += -mbig-endian SYSTEM_LD += -EB +LD += -EB .endif From owner-p4-projects@FreeBSD.ORG Tue Jul 18 21:19:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D08E16A4E1; Tue, 18 Jul 2006 21:19:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB05516A4E0 for ; Tue, 18 Jul 2006 21:19:31 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 605FC43D45 for ; Tue, 18 Jul 2006 21:19:31 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6ILJVcL032941 for ; Tue, 18 Jul 2006 21:19:31 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6ILJVkg032938 for perforce@freebsd.org; Tue, 18 Jul 2006 21:19:31 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 21:19:31 GMT Message-Id: <200607182119.k6ILJVkg032938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101874 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 21:19:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=101874 Change 101874 by cognet@cognet on 2006/07/18 21:18:57 Mark the IXP425 as big endian in std.ixp425. Bring a conf file for AVILA (Kevin if you use a better one, feel free to change this one). Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#2 (text+ko) ==== @@ -3,3 +3,4 @@ files "../xscale/ixp425/files.ixp425" include "../xscale/std.xscale" cpu CPU_XSCALE_IXP425 +makeoption ARM_BIG_ENDIAN From owner-p4-projects@FreeBSD.ORG Tue Jul 18 22:24:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CB2716A4DE; Tue, 18 Jul 2006 22:24:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 384A316A4DA for ; Tue, 18 Jul 2006 22:24:55 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBF8943D49 for ; Tue, 18 Jul 2006 22:24:54 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IMOsBE037900 for ; Tue, 18 Jul 2006 22:24:54 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IMOsoU037896 for perforce@freebsd.org; Tue, 18 Jul 2006 22:24:54 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 22:24:54 GMT Message-Id: <200607182224.k6IMOsoU037896@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 22:24:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=101878 Change 101878 by cognet@cognet on 2006/07/18 22:24:34 Use 0 as a reg shift and the virtual address instead of the physical one. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#2 (text+ko) ==== @@ -54,7 +54,7 @@ di->ops = uart_ns8250_ops; di->bas.chan = 0; di->bas.bst = &ixp425_a4x_bs_tag; - di->bas.regshft = 2; + di->bas.regshft = 0; di->bas.rclk = IXP425_UART_FREQ; di->baudrate = 115200; di->databits = 8; @@ -62,6 +62,6 @@ di->parity = UART_PARITY_NONE; uart_bus_space_io = &ixp425_a4x_bs_tag; uart_bus_space_mem = NULL; - di->bas.bsh = IXP425_UART0_HWBASE; + di->bas.bsh = IXP425_UART0_VBASE; return (0); } From owner-p4-projects@FreeBSD.ORG Tue Jul 18 22:25:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14C0B16A4E1; Tue, 18 Jul 2006 22:25:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF8B916A4DA for ; Tue, 18 Jul 2006 22:25:56 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B32B43D46 for ; Tue, 18 Jul 2006 22:25:56 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IMPu13038033 for ; Tue, 18 Jul 2006 22:25:56 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IMPu1h038030 for perforce@freebsd.org; Tue, 18 Jul 2006 22:25:56 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 22:25:56 GMT Message-Id: <200607182225.k6IMPu1h038030@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101879 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 22:25:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=101879 Change 101879 by cognet@cognet on 2006/07/18 22:25:41 We have to create L1 table for the MCU and the PCI MEM too if we want to use pmap_bootstrap() to map that. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#2 (text+ko) ==== @@ -100,8 +100,9 @@ #define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ #define KERNEL_PT_IO 1 -#define KERNEL_PT_BEFOREKERN 2 -#define KERNEL_PT_AFKERNEL 3 /* L2 table for mapping after kernel */ +#define KERNEL_PT_IO_NUM 3 +#define KERNEL_PT_BEFOREKERN KERNEL_PT_IO + KERNEL_PT_IO_NUM +#define KERNEL_PT_AFKERNEL KERNEL_PT_BEFOREKERN + 1 /* L2 table for mapping after kernel */ #define KERNEL_PT_AFKERNEL_NUM 9 /* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */ @@ -348,6 +349,10 @@ &kernel_pt_table[KERNEL_PT_SYS]); pmap_link_l2pt(l1pagetable, IXP425_IO_VBASE, &kernel_pt_table[KERNEL_PT_IO]); + pmap_link_l2pt(l1pagetable, IXP425_MCU_VBASE, + &kernel_pt_table[KERNEL_PT_IO + 1]); + pmap_link_l2pt(l1pagetable, IXP425_PCI_MEM_VBASE, + &kernel_pt_table[KERNEL_PT_IO + 2]); pmap_link_l2pt(l1pagetable, KERNBASE, &kernel_pt_table[KERNEL_PT_BEFOREKERN]); pmap_map_chunk(l1pagetable, KERNBASE, SDRAM_START, 0x100000, @@ -430,9 +435,9 @@ * Fetch the SDRAM start/size from the i80321 SDRAM configration * registers. */ + cninit(); memsize = ixp425_sdram_size(); physmem = memsize / PAGE_SIZE; - cninit(); /* Set stack for exception handlers */ From owner-p4-projects@FreeBSD.ORG Tue Jul 18 22:29:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC75A16A53D; Tue, 18 Jul 2006 22:29:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9CB1216A4E0 for ; Tue, 18 Jul 2006 22:29:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4884243D46 for ; Tue, 18 Jul 2006 22:29:01 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IMT1Us038224 for ; Tue, 18 Jul 2006 22:29:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IMT0EF038219 for perforce@freebsd.org; Tue, 18 Jul 2006 22:29:00 GMT (envelope-from jb@freebsd.org) Date: Tue, 18 Jul 2006 22:29:00 GMT Message-Id: <200607182229.k6IMT0EF038219@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101880 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 22:29:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=101880 Change 101880 by jb@jb_freebsd2 on 2006/07/18 22:28:57 IFsun4v_stable Affected files ... .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#10 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#3 integrate .. //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/bus.h#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/mmu.h#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/pcpu.h#3 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/hviommu.c#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#8 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#4 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/tsb.c#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/wbuf.S#2 integrate Differences ... ==== //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#10 (text+ko) ==== ==== //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#3 (text+ko) ==== @@ -198,13 +198,13 @@ ASSYM(V_INTR, offsetof(struct vmmeter, v_intr)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); +ASSYM(PC_CALLER, offsetof(struct pcpu, pc_caller)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_CPUMASK, offsetof(struct pcpu, pc_cpumask)); ASSYM(PC_IRHEAD, offsetof(struct pcpu, pc_irhead)); ASSYM(PC_IRTAIL, offsetof(struct pcpu, pc_irtail)); ASSYM(PC_IRFREE, offsetof(struct pcpu, pc_irfree)); -ASSYM(PC_MID, offsetof(struct pcpu, pc_mid)); ASSYM(PC_CNT, offsetof(struct pcpu, pc_cnt)); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); @@ -230,6 +230,7 @@ ASSYM(PCB_KSTACK, offsetof(struct pcb, pcb_kstack)); ASSYM(INTR_REPORT_SIZE, INTR_REPORT_SIZE); #else +ASSYM(PC_MID, offsetof(struct pcpu, pc_mid)); ASSYM(PC_TLB_CTX, offsetof(struct pcpu, pc_tlb_ctx)); ASSYM(PC_TLB_CTX_MAX, offsetof(struct pcpu, pc_tlb_ctx_max)); ASSYM(PC_TLB_CTX_MIN, offsetof(struct pcpu, pc_tlb_ctx_min)); ==== //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#6 (text+ko) ==== @@ -215,3 +215,4 @@ #device ccd #options SPIN_PROFILING +options HZ=100 ==== //depot/projects/dtrace/src/sys/sun4v/include/bus.h#2 (text+ko) ==== ==== //depot/projects/dtrace/src/sys/sun4v/include/mmu.h#2 (text+ko) ==== @@ -85,6 +85,7 @@ * are ever valid in it (so any user access pagefaults). */ #define KCONTEXT 0 +#define CTX_OTHER_SHIFT 16 /* * FLUSH_ADDR is used in the flush instruction to guarantee stores to mmu ==== //depot/projects/dtrace/src/sys/sun4v/include/pcpu.h#3 (text+ko) ==== @@ -72,14 +72,13 @@ u_long pc_lookup_field; \ u_long pc_last_field; \ u_long pc_tickadj; \ - u_int pc_mid; \ struct rwindow pc_kwbuf; \ u_long pc_kwbuf_sp; \ u_int pc_kwbuf_full; \ struct rwindow pc_tsbwbuf[2]; \ - u_int pc_node; \ + uint64_t pc_caller; \ uint16_t pc_cpulist[MAXCPU]; \ - uint64_t pad[1]; + uint64_t pad[2]; /* XXX SUN4V_FIXME - as we access the *_ra and *_size fields in quick * succession we _really_ want them to be L1 cache line size aligned ==== //depot/projects/dtrace/src/sys/sun4v/include/tte_hash.h#2 (text+ko) ==== @@ -19,7 +19,7 @@ tte_t tte_hash_clear_bits(tte_hash_t hash, vm_offset_t va, uint64_t flags); -tte_hash_t tte_hash_kernel_create(vm_offset_t, uint64_t); +tte_hash_t tte_hash_kernel_create(vm_offset_t, uint64_t, vm_paddr_t); tte_hash_t tte_hash_create(uint64_t context, uint64_t *scratchval); ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/hviommu.c#2 (text+ko) ==== ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/machdep.c#3 (text+ko) ==== @@ -394,7 +394,6 @@ pc->pc_mid = UPA_CR_GET_MID(ldxa(0, ASI_UPA_CONFIG_REG)); #endif pc->pc_addr = (vm_offset_t)pcpu0; - pc->pc_node = child; /* * Initialize global registers. ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/mp_machdep.c#2 (text+ko) ==== @@ -165,7 +165,6 @@ int cpus; all_cpus = 1 << PCPU_GET(cpuid); - mp_boot_mid = PCPU_GET(mid); mp_ncpus = 1; cpus = 0; @@ -262,7 +261,6 @@ pc = (struct pcpu *)(va + (PCPU_PAGES * PAGE_SIZE)) - 1; pcpu_init(pc, cpuid, sizeof(*pc)); pc->pc_addr = va; - pc->pc_node = child; all_cpus |= 1 << cpuid; ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/nexus.c#2 (text+ko) ==== @@ -329,32 +329,30 @@ goto fail; } + if ((rman_get_flags(res) & RF_SHAREABLE) == 0) + flags |= INTR_EXCL; + + /* We depend here on rman_activate_resource() being idempotent. */ + if ((error = rman_activate_resource(res))) + goto fail; + + error = inthand_add(device_get_nameunit(child), ihdl, + intr, arg, flags, cookiep); + cpuid = 0; - if (hvio_intr_settarget(ihdl, cpuid) != H_EOK) { error = ENXIO; goto fail; } - if (hvio_intr_setstate(ihdl, HV_INTR_IDLE_STATE) != H_EOK) { error = ENXIO; goto fail; } - if (hvio_intr_setvalid(ihdl, HV_INTR_VALID) != H_EOK) { error = ENXIO; goto fail; } - if ((rman_get_flags(res) & RF_SHAREABLE) == 0) - flags |= INTR_EXCL; - - /* We depend here on rman_activate_resource() being idempotent. */ - if ((error = rman_activate_resource(res))) - goto fail; - - error = inthand_add(device_get_nameunit(child), ihdl, - intr, arg, flags, cookiep); fail: ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#8 (text+ko) ==== @@ -761,7 +761,7 @@ * This could happen earlier - but I put it here to avoid * attempts to do updates until they're legal */ - pm->pm_hash = tte_hash_kernel_create(TLB_PHYS_TO_DIRECT(kernel_hash_pa), kernel_hash_size); + pm->pm_hash = tte_hash_kernel_create(TLB_PHYS_TO_DIRECT(kernel_hash_pa), kernel_hash_size, pmap_bootstrap_alloc(PAGE_SIZE)); pm->pm_hashscratch = tte_hash_set_scratchpad_kernel(pm->pm_hash); for (i = 0; i < translations_size; i++) { @@ -1336,7 +1336,6 @@ char *func; cpumask_t active; #endif - if ((eva - sva) == PAGE_SIZE) { pmap_invalidate_page(pmap, sva, cleartsb); return; ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#4 (text+ko) ==== @@ -394,25 +394,46 @@ break; case T_DATA_EXCEPTION: printf("data exception on 0x%lx at 0x%lx\n", data, tf->tf_tpc); - printf("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx\n", trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc); - case T_DATA_ERROR: - case T_MEM_ADDRESS_NOT_ALIGNED: - error = 1; - break; - + printf("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx\n", trapno, + trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc); case T_ILLEGAL_INSTRUCTION: if (tf->tf_tpc > KERNBASE) { printf("illinstr: 0x%lx\n", tf->tf_tpc); printf("illinstr: 0x%x\n", *((uint32_t *)tf->tf_tpc)); } - + case T_DATA_ERROR: + case T_ALIGNMENT: + if (tf->tf_asi == ASI_AIUS) { + if (tf->tf_tpc >= (u_long)copy_nofault_begin && + tf->tf_tpc <= (u_long)copy_nofault_end) { + tf->tf_tpc = (u_long)copy_fault; + tf->tf_tnpc = tf->tf_tpc + 4; + error = 0; + break; + } + + printf("ASI_AIUS but bad tpc\n"); + } + if (tf->tf_tpc >= (u_long)fs_nofault_begin && + tf->tf_tpc <= (u_long)fs_nofault_end) { + tf->tf_tpc = (u_long)fs_fault; + tf->tf_tnpc = tf->tf_tpc + 4; + error = 0; + break; + } + printf("asi=0x%lx\n", tf->tf_asi); + error = 1; + break; default: + printf("unchecked trap 0x%lx asi=0x%lx\n", trapno, tf->tf_asi); error = 1; break; } if (error != 0) - panic("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx error=%d", trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, tf->tf_tnpc, error); + panic("trap: %ld=%s: 0x%lx at 0x%lx:0x%lx error=%d asi=0x%lx", + trapno, trap_msg[trap_conversion[trapno]], data, tf->tf_tpc, + tf->tf_tnpc, error, tf->tf_asi); } CTR1(KTR_TRAP, "trap: td=%p return", td); } ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/tsb.c#2 (text+ko) ==== @@ -58,7 +58,7 @@ CTASSERT(sizeof(tte_t) == sizeof(uint64_t)); #define TSB_MASK(tsb) ((tsb->hvtsb_ntte) - 1) /* make TSB start off at the same size as the hash */ -#define TSB_SIZE (1 << HASH_ENTRY_SHIFT) +#define TSB_SIZE 8 #ifdef DEBUG_TSB #define DPRINTF printf ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/tte_hash.c#2 (text+ko) ==== @@ -150,7 +150,7 @@ } tte_hash_t -tte_hash_kernel_create(vm_offset_t va, uint64_t size) +tte_hash_kernel_create(vm_offset_t va, uint64_t size, vm_paddr_t fragment_page) { tte_hash_t th; @@ -159,17 +159,40 @@ th->th_entries = 0; th->th_context = 0; th->th_hashtable = (tte_hash_entry_t)va; - + th->th_fhtail = th->th_fhhead = (void *)TLB_PHYS_TO_DIRECT(fragment_page); + return th; } +static inline vm_page_t +alloc_zeroed_page(void) +{ + vm_page_t m; + static int color; + + m = NULL; + + while (m == NULL) { + m = vm_page_alloc(NULL, color++, + VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | + VM_ALLOC_ZERO); + + if (m == NULL) + VM_WAIT; + } + + if ((m->flags & PG_ZERO) == 0) + pmap_zero_page(m); + + return (m); +} + tte_hash_t tte_hash_create(uint64_t context, uint64_t *scratchval) { tte_hash_t th; vm_page_t m, tm; int i; - static int color; th = get_tte_hash(); @@ -191,20 +214,11 @@ pmap_zero_page(tm); th->th_hashtable = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); - m = NULL; - while (m == NULL) { - m = vm_page_alloc(NULL, color++, - VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | - VM_ALLOC_ZERO); + m = alloc_zeroed_page(); - if (m == NULL) - VM_WAIT; - } - if ((m->flags & PG_ZERO) == 0) - pmap_zero_page(m); - th->th_fhtail = th->th_fhhead = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); + KASSERT(th->th_fhtail != NULL, ("th->th_fhtail == NULL")); *scratchval = (uint64_t)((vm_offset_t)th->th_hashtable) | ((vm_offset_t)th->th_size); @@ -273,30 +287,17 @@ struct tte_hash_fragment *fh; tte_hash_entry_t newentry; vm_page_t m; - static int color; - + fh = th->th_fhtail; if (fh->thf_head.fh_free_head == MAX_FRAGMENT_ENTRIES) { - m = NULL; - while (m == NULL) { - m = vm_page_alloc(NULL, color++, - VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | - VM_ALLOC_ZERO); - - if (m == NULL) - VM_WAIT; - } + m = alloc_zeroed_page(); - if ((m->flags & PG_ZERO) == 0) - pmap_zero_page(m); - fh->thf_head.fh_next = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); fh = th->th_fhtail = (void *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)); fh->thf_head.fh_free_head = 1; #ifdef NOISY_DEBUG printf("new fh=%p \n", fh); #endif - } newentry = &fh->thf_entries[fh->thf_head.fh_free_head]; ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/wbuf.S#2 (text+ko) ==== @@ -145,9 +145,11 @@ wrpr %g0, %g1, %tpc add %g1, 4, %g1 wrpr %g0, %g1, %tnpc - + set trap, %g1 - mov %g5, %g2 + mov 1, %g2 + sllx %g2, CTX_OTHER_SHIFT, %g2 + or %g5, %g2, %g2 mov %g6, %g3 sub %g0, 1, %g4 From owner-p4-projects@FreeBSD.ORG Tue Jul 18 22:58:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5AE5B16A4E6; Tue, 18 Jul 2006 22:58:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 349C016A4DD for ; Tue, 18 Jul 2006 22:58:45 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AADF743D45 for ; Tue, 18 Jul 2006 22:58:40 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6IMweG2040870 for ; Tue, 18 Jul 2006 22:58:40 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6IMweEl040867 for perforce@freebsd.org; Tue, 18 Jul 2006 22:58:40 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 22:58:40 GMT Message-Id: <200607182258.k6IMweEl040867@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101884 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 22:58:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=101884 Change 101884 by cognet@cognet on 2006/07/18 22:58:18 Working cpu_reset(). Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#2 (text+ko) ==== @@ -46,6 +46,8 @@ #include #include #include +#include +#include #include #include @@ -93,6 +95,7 @@ struct ixp425_softc *sc = device_get_softc(dev); int unit = device_get_unit(dev); sc->sc_iot = &ixp425_bs_tag; + ixp425_softc = sc; /* * Mapping for PCI CSR @@ -158,8 +161,31 @@ void cpu_reset() { + int reg; + (void) disable_interrupts(I32_bit|F32_bit); IXPREG(IXP425_INT_ENABLE) = 0; + /* + * Map the boot Flash device down at physical address 0. + */ + reg = bus_space_read_4(ixp425_softc->sc_iot, IXP425_EXP_VBASE, + EXP_CNFG0_OFFSET); + reg |= EXP_CNFG0_MEM_MAP; + bus_space_write_4(ixp425_softc->sc_iot, IXP425_EXP_VBASE, + EXP_CNFG0_OFFSET, reg); + pmap_kenter_section(0x00000000, 0x00000000, 0); + cpu_idcache_wbinv_all(); + /* Jump into the bootcode's reset vector. */ + __asm __volatile( + "mrc p15, 0, %0, c1, c0, 0\n" + "bic %0, %0, #1\n" /* Disable MMU */ + "mcr p15, 0, %0, c1, c0, 0\n" + "nop\n" + "nop\n" + "nop\n" + "mov pc, #0\n" + : "=r" (reg)); + printf("Reset failed!\n"); for(;;); } From owner-p4-projects@FreeBSD.ORG Tue Jul 18 23:10:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2209616A4E0; Tue, 18 Jul 2006 23:10:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 00E5E16A4DA for ; Tue, 18 Jul 2006 23:10:58 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C157C43D45 for ; Tue, 18 Jul 2006 23:10:57 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6INAvgm042935 for ; Tue, 18 Jul 2006 23:10:57 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6INAvqm042932 for perforce@freebsd.org; Tue, 18 Jul 2006 23:10:57 GMT (envelope-from cognet@freebsd.org) Date: Tue, 18 Jul 2006 23:10:57 GMT Message-Id: <200607182310.k6INAvqm042932@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101889 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2006 23:10:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=101889 Change 101889 by cognet@cognet on 2006/07/18 23:10:11 Add some code to use rman to manage the memory mapped registers from the IXP425. This code is untested, we will need it for the ethernet driver as the ethernet adapter is directly on the chip. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#3 (text+ko) ==== @@ -121,6 +121,12 @@ rman_manage_region(&sc->sc_irq_rman, 0, 31) != 0) panic("ixp425_attach: failed to set up IRQ rman"); + sc->sc_sysmem_rman.rm_type = RMAN_ARRAY; + sc->sc_sysmem_rman.rm_descr = "IXP425 System memory"; + if (rman_init(&sc->sc_sysmem_rman) != 0 || + rman_manage_region(&sc->sc_sysmem_rman, IXP425_IO_VBASE, + IXP425_IO_VBASE + IXP425_IO_SIZE) != 0) + panic("ixp425_attach: failed to set up sys mem rman"); device_add_child(dev, "ixpclk", 0); bus_generic_probe(dev); bus_generic_attach(dev); @@ -204,6 +210,15 @@ rman_set_rid(rv, *rid); return (rv); } + if (type == SYS_RES_MEMORY) { + rv = rman_reserve_resource(&sc->sc_sysmem_rman, + start, end, count, flags, child); + if (rv != NULL) { + rman_set_bustag(rv, &ixp425_bs_tag); + rman_set_bushandle(rv, start); + return (rv); + } + } return (NULL); } ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#2 (text+ko) ==== @@ -80,6 +80,7 @@ struct bus_space sc_pci_memt; vm_offset_t sc_pci_va; struct rman sc_irq_rman; + struct rman sc_sysmem_rman; /* GPIO configuration */ u_int32_t sc_gpio_out; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 00:09:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C630716A4E0; Wed, 19 Jul 2006 00:09:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 78E9D16A4DD for ; Wed, 19 Jul 2006 00:09:11 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 48CCC43D45 for ; Wed, 19 Jul 2006 00:09:11 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J09BC2046852 for ; Wed, 19 Jul 2006 00:09:11 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J09ACQ046849 for perforce@freebsd.org; Wed, 19 Jul 2006 00:09:10 GMT (envelope-from cognet@freebsd.org) Date: Wed, 19 Jul 2006 00:09:10 GMT Message-Id: <200607190009.k6J09ACQ046849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 00:09:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=101891 Change 101891 by cognet@cognet on 2006/07/19 00:08:21 Ooops, remove useless bits. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#4 (text+ko) ==== @@ -46,8 +46,6 @@ #include #include #include -#include -#include #include #include @@ -179,7 +177,6 @@ reg |= EXP_CNFG0_MEM_MAP; bus_space_write_4(ixp425_softc->sc_iot, IXP425_EXP_VBASE, EXP_CNFG0_OFFSET, reg); - pmap_kenter_section(0x00000000, 0x00000000, 0); cpu_idcache_wbinv_all(); /* Jump into the bootcode's reset vector. */ __asm __volatile( From owner-p4-projects@FreeBSD.ORG Wed Jul 19 00:18:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AB0916A4E1; Wed, 19 Jul 2006 00:18:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D295016A4DF for ; Wed, 19 Jul 2006 00:18:23 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A193B43D46 for ; Wed, 19 Jul 2006 00:18:23 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J0INgi047397 for ; Wed, 19 Jul 2006 00:18:23 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J0IN6g047394 for perforce@freebsd.org; Wed, 19 Jul 2006 00:18:23 GMT (envelope-from cognet@freebsd.org) Date: Wed, 19 Jul 2006 00:18:23 GMT Message-Id: <200607190018.k6J0IN6g047394@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 00:18:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=101892 Change 101892 by cognet@cognet on 2006/07/19 00:18:09 Do not force big endian #ifdef CPU_XSCALE_IXP425. This is not really wrong (well except in theory IXP425 can run in little endian mode too), but a better macro would be __ARMEB__, and if this bit wasn't set we wouldn't get that far anyway :-), so there's no need to set it again. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#22 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#22 (text+ko) ==== @@ -113,9 +113,6 @@ CPU_CONTROL_WBUF_ENABLE) bic r2, r2, #(CPU_CONTROL_IC_ENABLE) bic r2, r2, #(CPU_CONTROL_BPRD_ENABLE) -#ifdef CPU_XSCALE_IXP425 - orr r2, r2, #(CPU_CONTROL_BEND_ENABLE) -#endif mcr p15, 0, r2, c1, c0, 0 nop @@ -153,9 +150,6 @@ /* Enable MMU */ mrc p15, 0, r0, c1, c0, 0 orr r0, r0, #CPU_CONTROL_MMU_ENABLE -#ifdef CPU_XSCALE_IXP425 - orr r0, r0, #CPU_CONTROL_BEND_ENABLE -#endif mcr p15, 0, r0, c1, c0, 0 nop nop From owner-p4-projects@FreeBSD.ORG Wed Jul 19 00:41:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D40316A4DE; Wed, 19 Jul 2006 00:41:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4551316A4E1 for ; Wed, 19 Jul 2006 00:41:30 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F356643D46 for ; Wed, 19 Jul 2006 00:41:29 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J0fTXV048697 for ; Wed, 19 Jul 2006 00:41:29 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J0fT5J048694 for perforce@freebsd.org; Wed, 19 Jul 2006 00:41:29 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Jul 2006 00:41:29 GMT Message-Id: <200607190041.k6J0fT5J048694@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 00:41:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=101894 Change 101894 by jb@jb_freebsd2 on 2006/07/19 00:40:31 Add the makefile to build threads into libc. Affected files ... .. //depot/projects/dtrace/src/lib/libc/thread/Makefile.inc#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jul 19 04:26:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0231816A4E1; Wed, 19 Jul 2006 04:26:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D31E016A4DD for ; Wed, 19 Jul 2006 04:26:13 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8BDAE43D55 for ; Wed, 19 Jul 2006 04:26:13 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J4QDoj073619 for ; Wed, 19 Jul 2006 04:26:13 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J4QDHO073616 for perforce@freebsd.org; Wed, 19 Jul 2006 04:26:13 GMT (envelope-from kevlo@freebsd.org) Date: Wed, 19 Jul 2006 04:26:13 GMT Message-Id: <200607190426.k6J4QDHO073616@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101898 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 04:26:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=101898 Change 101898 by kevlo@kevlo_monet on 2006/07/19 04:26:08 Use u_int32_t instead of int. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#5 (text+ko) ==== @@ -165,7 +165,7 @@ void cpu_reset() { - int reg; + u_int32_t reg; (void) disable_interrupts(I32_bit|F32_bit); IXPREG(IXP425_INT_ENABLE) = 0; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 05:58:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 973DB16A4E0; Wed, 19 Jul 2006 05:58:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4961A16A4DE for ; Wed, 19 Jul 2006 05:58:09 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 006BE43D4C for ; Wed, 19 Jul 2006 05:58:08 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J5w8WS086801 for ; Wed, 19 Jul 2006 05:58:08 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J5w8X4086798 for perforce@freebsd.org; Wed, 19 Jul 2006 05:58:08 GMT (envelope-from kevlo@freebsd.org) Date: Wed, 19 Jul 2006 05:58:08 GMT Message-Id: <200607190558.k6J5w8X4086798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101900 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 05:58:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=101900 Change 101900 by kevlo@kevlo_monet on 2006/07/19 05:58:04 As cognet@ mentioned, use 0 as a reg shift. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 (text+ko) ==== @@ -71,7 +71,7 @@ sc->sc_sysdev = SLIST_FIRST(&uart_sysdevs); sc->sc_class = &uart_ns8250_class; bcopy(&sc->sc_sysdev->bas, &sc->sc_bas, sizeof(sc->sc_bas)); - return(uart_bus_probe(dev, 2, IXP425_UART_FREQ, 0, 0)); + return(uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0)); } From owner-p4-projects@FreeBSD.ORG Wed Jul 19 07:45:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C3F616A4DF; Wed, 19 Jul 2006 07:45:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C3DCA16A4DA for ; Wed, 19 Jul 2006 07:45:23 +0000 (UTC) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A91643D49 for ; Wed, 19 Jul 2006 07:45:23 +0000 (GMT) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J7jNPj094944 for ; Wed, 19 Jul 2006 07:45:23 GMT (envelope-from howardsu@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J7jNIg094941 for perforce@freebsd.org; Wed, 19 Jul 2006 07:45:23 GMT (envelope-from howardsu@FreeBSD.org) Date: Wed, 19 Jul 2006 07:45:23 GMT Message-Id: <200607190745.k6J7jNIg094941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to howardsu@FreeBSD.org using -f From: Howard Su To: Perforce Change Reviews Cc: Subject: PERFORCE change 101903 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 07:45:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=101903 Change 101903 by howardsu@su_vm on 2006/07/19 07:44:43 Add missed include folder Affected files ... .. //depot/projects/dtrace/src/lib/libc/thread/Makefile.inc#2 edit Differences ... ==== //depot/projects/dtrace/src/lib/libc/thread/Makefile.inc#2 (text+ko) ==== @@ -13,5 +13,6 @@ CFLAGS+=-D_PTHREADS_INVARIANTS -DLIBC_THREADS -Wall CFLAGS+=-I${.CURDIR}/../libthr/thread +CFLAGS+=-I${.CURDIR}/../libthr/arch/${MACHINE_ARCH}/include CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH} From owner-p4-projects@FreeBSD.ORG Wed Jul 19 09:45:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4334A16A4E2; Wed, 19 Jul 2006 09:45:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E5EF716A4DE for ; Wed, 19 Jul 2006 09:45:53 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B110643D5D for ; Wed, 19 Jul 2006 09:45:53 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6J9jrD8017780 for ; Wed, 19 Jul 2006 09:45:53 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6J9jrFm017777 for perforce@freebsd.org; Wed, 19 Jul 2006 09:45:53 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 19 Jul 2006 09:45:53 GMT Message-Id: <200607190945.k6J9jrFm017777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101906 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 09:45:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=101906 Change 101906 by rdivacky@rdivacky_witten on 2006/07/19 09:45:17 Bump the osrelease from 2.4.2 to 2.6.16 as we have working NPTL support (shipped with usual pile of bugs). Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_mib.c#5 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_mib.c#5 (text+ko) ==== @@ -81,7 +81,7 @@ 0, 0, linux_sysctl_osname, "A", "Linux kernel OS name"); -static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.4.2"; +static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.6.16"; static int linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) From owner-p4-projects@FreeBSD.ORG Wed Jul 19 10:07:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 352DA16A4E1; Wed, 19 Jul 2006 10:07:23 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1104416A4DF for ; Wed, 19 Jul 2006 10:07:23 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B12A543D46 for ; Wed, 19 Jul 2006 10:07:22 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JA7Mc2019997 for ; Wed, 19 Jul 2006 10:07:22 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JA7M14019994 for perforce@freebsd.org; Wed, 19 Jul 2006 10:07:22 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 19 Jul 2006 10:07:22 GMT Message-Id: <200607191007.k6JA7M14019994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101908 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 10:07:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=101908 Change 101908 by rdivacky@rdivacky_witten on 2006/07/19 10:06:21 Revert the change to process_exit eventhandler and separate this function if its used both by process_exit and process_exec. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/dev/hwpmc/hwpmc_mod.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/fs/pseudofs/pseudofs_vncache.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#17 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_exit.c#5 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_time.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/sysv_sem.c#5 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_mqueue.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_sem.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/vfs_aio.c#4 edit .. //depot/projects/soc2006/rdivacky_linuxolator/netncp/ncp_subr.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/sys/eventhandler.h#3 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/hwpmc/hwpmc_mod.c#3 (text+ko) ==== @@ -182,7 +182,7 @@ static void pmc_maybe_remove_owner(struct pmc_owner *po); static void pmc_process_csw_in(struct thread *td); static void pmc_process_csw_out(struct thread *td); -static void pmc_process_exit(void *arg, struct proc *p, struct image_params *imgp); +static void pmc_process_exit(void *arg, struct proc *p); static void pmc_process_fork(void *arg, struct proc *p1, struct proc *p2, int n); static void pmc_process_samples(int cpu); @@ -3814,7 +3814,7 @@ */ static void -pmc_process_exit(void *arg __unused, struct proc *p, struct image_params *imgp __unused) +pmc_process_exit(void *arg __unused, struct proc *p) { int is_using_hwpmcs; int cpu; ==== //depot/projects/soc2006/rdivacky_linuxolator/fs/pseudofs/pseudofs_vncache.c#3 (text+ko) ==== @@ -50,7 +50,7 @@ static struct mtx pfs_vncache_mutex; static struct pfs_vdata *pfs_vncache; static eventhandler_tag pfs_exit_tag; -static void pfs_exit(void *arg, struct proc *p, struct image_params *imgp); +static void pfs_exit(void *arg, struct proc *p); SYSCTL_NODE(_vfs_pfs, OID_AUTO, vncache, CTLFLAG_RW, 0, "pseudofs vnode cache"); @@ -224,7 +224,7 @@ * isn't mounted. */ static void -pfs_exit(void *arg, struct proc *p, struct image_params *imgp __unused) +pfs_exit(void *arg, struct proc *p) { struct pfs_vdata *pvd; struct vnode *vnp; ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#17 (text+ko) ==== @@ -69,7 +69,7 @@ struct rwlock emul_lock; static int linux_proc_init(struct thread *, pid_t); -void linux_proc_exit(void *, struct proc *, struct image_params *); +void linux_proc_exit(void *, struct proc *); void linux_userret(void *, struct proc *); void linux_proc_exec(void *, struct proc *, struct image_params *); static struct linux_emuldata *em_find(pid_t pid, int locked); @@ -1141,7 +1141,7 @@ } void -linux_proc_exit(void *arg __unused, struct proc *p, struct image_params *imgp __unused) +linux_proc_exit(void *arg __unused, struct proc *p) { struct linux_emuldata *em; int error; ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_exit.c#5 (text+ko) ==== @@ -234,7 +234,7 @@ * E.g. SYSV IPC stuff * XXX what if one of these generates an error? */ - EVENTHANDLER_INVOKE(process_exit, p, NULL); + EVENTHANDLER_INVOKE(process_exit, p); MALLOC(p->p_ru, struct rusage *, sizeof(struct rusage), M_ZOMBIE, M_WAITOK); ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_time.c#3 (text+ko) ==== @@ -87,7 +87,8 @@ static void itimer_leave(struct itimer *); static struct itimer *itimer_find(struct proc *, int, int); static void itimers_alloc(struct proc *); -static void itimers_event_hook(void *arg, struct proc *p, struct image_params *imgp); +static void itimers_event_hook_exec(void *arg, struct proc *p, struct image_params *imgp); +static void itimers_event_hook_exit(void *arg, struct proc *p); static int realtimer_create(struct itimer *); static int realtimer_gettime(struct itimer *, struct itimerspec *); static int realtimer_settime(struct itimer *, int, @@ -891,9 +892,9 @@ p31b_setcfg(CTL_P1003_1B_TIMERS, 200112L); p31b_setcfg(CTL_P1003_1B_DELAYTIMER_MAX, INT_MAX); p31b_setcfg(CTL_P1003_1B_TIMER_MAX, TIMER_MAX); - EVENTHANDLER_REGISTER(process_exit, itimers_event_hook, + EVENTHANDLER_REGISTER(process_exit, itimers_event_hook_exit, (void *)ITIMER_EV_EXIT, EVENTHANDLER_PRI_ANY); - EVENTHANDLER_REGISTER(process_exec, itimers_event_hook, + EVENTHANDLER_REGISTER(process_exec, itimers_event_hook_exec, (void *)ITIMER_EV_EXEC, EVENTHANDLER_PRI_ANY); } @@ -1509,9 +1510,15 @@ } } +static void +itimers_event_hook_exec(void *arg, struct proc *p, struct image_params *imgp __unused) +{ + itimers_event_hook_exit(arg, p); +} + /* Clean up timers when some process events are being triggered. */ static void -itimers_event_hook(void *arg, struct proc *p, struct image_params *imgp __unused) +itimers_event_hook_exit(void *arg, struct proc *p) { struct itimers *its; struct itimer *it; ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/sysv_sem.c#5 (text+ko) ==== @@ -77,7 +77,7 @@ static void seminit(void); static int sysvsem_modload(struct module *, int, void *); static int semunload(void); -static void semexit_myhook(void *arg, struct proc *p, struct image_params *imgp); +static void semexit_myhook(void *arg, struct proc *p); static int sysctl_sema(SYSCTL_HANDLER_ARGS); static int semvalid(int semid, struct semid_kernel *semakptr); @@ -1299,10 +1299,9 @@ * semaphores. */ static void -semexit_myhook(arg, p, imgp) +semexit_myhook(arg, p) void *arg; struct proc *p; - struct image_params *imgp; { struct sem_undo *suptr; struct sem_undo **supptr; ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_mqueue.c#3 (text+ko) ==== @@ -247,7 +247,7 @@ int timo); static void mqueue_send_notification(struct mqueue *mq); static void mqueue_fdclose(struct thread *td, int fd, struct file *fp); -static void mq_proc_exit(void *arg, struct proc *p, struct image_params *imgp); +static void mq_proc_exit(void *arg, struct proc *p); /* * kqueue filters @@ -2280,7 +2280,7 @@ } static void -mq_proc_exit(void *arg __unused, struct proc *p, struct image_params *imgp __unused) +mq_proc_exit(void *arg __unused, struct proc *p) { struct filedesc *fdp; struct file *fp; ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_sem.c#3 (text+ko) ==== @@ -71,7 +71,8 @@ static int sem_perm(struct thread *td, struct ksem *ks); static void sem_enter(struct proc *p, struct ksem *ks); static int sem_leave(struct proc *p, struct ksem *ks); -static void sem_exithook(void *arg, struct proc *p, struct image_params *imgp); +static void sem_exechook(void *arg, struct proc *p, struct image_params *imgp); +static void sem_exithook(void *arg, struct proc *p); static void sem_forkhook(void *arg, struct proc *p1, struct proc *p2, int flags); static int sem_hasopen(struct thread *td, struct ksem *ks); @@ -921,6 +922,12 @@ static void sem_exithook(void *arg, struct proc *p, struct image_params *imgp __unused) { + sem_exechook(arg, p); +} + +static void +sem_exechook(void *arg, struct proc *p) +{ struct ksem *ks, *ksnext; mtx_lock(&sem_lock); ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/vfs_aio.c#4 (text+ko) ==== @@ -321,7 +321,8 @@ static int aio_aqueue(struct thread *td, struct aiocb *job, struct aioliojob *lio, int type, int osigev); static void aio_physwakeup(struct buf *bp); -static void aio_proc_rundown(void *arg, struct proc *p, struct image_params *imgp); +static void aio_proc_rundown(void *arg, struct proc *p); +static void aio_proc_rundown_exec(void *arg, struct proc *p, struct image_params *imgp); static int aio_qphysio(struct proc *p, struct aiocblist *iocb); static void biohelper(void *, int); static void aio_daemon(void *param); @@ -419,7 +420,7 @@ aio_swake = &aio_swake_cb; exit_tag = EVENTHANDLER_REGISTER(process_exit, aio_proc_rundown, NULL, EVENTHANDLER_PRI_ANY); - exec_tag = EVENTHANDLER_REGISTER(process_exec, aio_proc_rundown, NULL, + exec_tag = EVENTHANDLER_REGISTER(process_exec, aio_proc_rundown_exec, NULL, EVENTHANDLER_PRI_ANY); kqueue_add_filteropts(EVFILT_AIO, &aio_filtops); kqueue_add_filteropts(EVFILT_LIO, &lio_filtops); @@ -630,11 +631,17 @@ return (0); } +static void +aio_proc_rundown_exec(void *arg, struct proc *p, struct image_params *imgp __unused) +{ + aio_proc_rundown(arg, p); +} + /* * Rundown the jobs for a given process. */ static void -aio_proc_rundown(void *arg, struct proc *p, struct image_params *imgp __unused) +aio_proc_rundown(void *arg, struct proc *p) { struct kaioinfo *ki; struct aioliojob *lj; ==== //depot/projects/soc2006/rdivacky_linuxolator/netncp/ncp_subr.c#3 (text+ko) ==== @@ -57,7 +57,7 @@ struct callout_handle ncp_timer_handle; static eventhandler_tag ncp_exit_tag; -static void ncp_at_exit(void *arg, struct proc *p, struct image_params *imgp); +static void ncp_at_exit(void *arg, struct proc *p); static void ncp_timer(void *arg); /* @@ -80,7 +80,7 @@ void -ncp_at_exit(void *arg, struct proc *p, struct image_params *imgp __unused) +ncp_at_exit(void *arg, struct proc *p) { struct ncp_conn *ncp, *nncp; struct thread *td; ==== //depot/projects/soc2006/rdivacky_linuxolator/sys/eventhandler.h#3 (text+ko) ==== @@ -164,7 +164,7 @@ struct proc; struct image_params; -typedef void (*exitlist_fn)(void *, struct proc *, struct image_params *); +typedef void (*exitlist_fn)(void *, struct proc *); typedef void (*forklist_fn)(void *, struct proc *, struct proc *, int); typedef void (*execlist_fn)(void *, struct proc *, struct image_params *); From owner-p4-projects@FreeBSD.ORG Wed Jul 19 10:30:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F8D516A4E9; Wed, 19 Jul 2006 10:30:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5AB4E16A4DA for ; Wed, 19 Jul 2006 10:30:53 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 273DB43D49 for ; Wed, 19 Jul 2006 10:30:53 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JAUrcb021142 for ; Wed, 19 Jul 2006 10:30:53 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JAUqXA021137 for perforce@freebsd.org; Wed, 19 Jul 2006 10:30:52 GMT (envelope-from cognet@freebsd.org) Date: Wed, 19 Jul 2006 10:30:52 GMT Message-Id: <200607191030.k6JAUqXA021137@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 101910 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 10:30:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=101910 Change 101910 by cognet@cognet on 2006/07/19 10:30:23 Oops use , not . Reported by: jmg Affected files ... .. //depot/projects/arm/contrib-arm.diff#5 edit Differences ... ==== //depot/projects/arm/contrib-arm.diff#5 (text+ko) ==== @@ -170,7 +170,7 @@ RCS file: contrib/gdb/gdb/armfbsd-nat.c diff -N contrib/gdb/gdb/armfbsd-nat.c --- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ contrib/gdb/gdb/armfbsd-nat.c 7 Jul 2006 21:33:39 -0000 ++++ contrib/gdb/gdb/armfbsd-nat.c 19 Jul 2006 10:24:46 -0000 @@ -0,0 +1,516 @@ + /* Native-dependent code for BSD Unix running on ARM's, for GDB. + Copyright 1988, 1989, 1991, 1992, 1994, 1996, 1999, 2002 @@ -206,8 +206,8 @@ +#include +#include +#ifndef CROSS_DEBUGGER -+#include -+#include ++#include ++#include +#endif +#include "inferior.h" +#include "regcache.h" From owner-p4-projects@FreeBSD.ORG Wed Jul 19 10:44:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 260DF16A4E2; Wed, 19 Jul 2006 10:44:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C02D816A4DF for ; Wed, 19 Jul 2006 10:44:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5724D43D49 for ; Wed, 19 Jul 2006 10:44:10 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JAiAYu021786 for ; Wed, 19 Jul 2006 10:44:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JAiAVW021783 for perforce@freebsd.org; Wed, 19 Jul 2006 10:44:10 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Jul 2006 10:44:10 GMT Message-Id: <200607191044.k6JAiAVW021783@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 10:44:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=101911 Change 101911 by jb@jb_freebsd2 on 2006/07/19 10:43:25 Looks like %tstate is only accessible > tl0. Trying to read it in tl0 causes a bad instruction trap with is counter-productive in the kernel kaboom kind of way. Affected files ... .. //depot/projects/dtrace/src/sys/sun4v/include/cpu_snapshot.h#2 edit .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot.c#2 edit .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot_save.S#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/sun4v/include/cpu_snapshot.h#2 (text+ko) ==== @@ -31,10 +31,9 @@ #define CPU_SNAPSHOT_R_G6 0xb0 #define CPU_SNAPSHOT_R_G7 0xb8 #define CPU_SNAPSHOT_PSTATE 0xc0 -#define CPU_SNAPSHOT_TSTATE 0xc8 -#define CPU_SNAPSHOT_TL 0xd0 -#define CPU_SNAPSHOT_TICK 0xd8 -#define CPU_SNAPSHOT_PIL 0xe0 +#define CPU_SNAPSHOT_TL 0xc8 +#define CPU_SNAPSHOT_TICK 0xd0 +#define CPU_SNAPSHOT_PIL 0xd8 #ifndef __ASM__ @@ -64,11 +63,10 @@ uint64_t r_g6; uint64_t r_g7; uint64_t pstate; - uint64_t tstate; uint64_t tl; uint64_t tick; uint64_t pil; - uint64_t pad[3]; + uint64_t pad[4]; }; #ifdef CPU_SNAPSHOT_GLOBAL ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ if (p->r_o7 == 0) continue; - printf("[%02d] CallAddr: 0x%jx count %jd pstate 0x%jx tstate 0x%jx tl 0x%jx tick 0x%jx pil 0x%jx\n",j,p->r_o7,p->count,p->pstate,p->tstate,p->tl,p->tick,p->pil); + printf("[%02d] CallAddr: 0x%jx count %jd pstate 0x%jx tl 0x%jx tick 0x%jx pil 0x%jx\n",j,p->r_o7,p->count,p->pstate,p->tl,p->tick,p->pil); printf(" I: 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx\n",p->r_i0,p->r_i1,p->r_i2,p->r_i3,p->r_i4,p->r_i5,p->r_i6,p->r_i7); printf(" O: 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx\n",p->r_o0,p->r_o1,p->r_o2,p->r_o3,p->r_o4,p->r_o5,p->r_o6,p->r_o7); printf(" G: 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx\n",p->r_g1,p->r_g2,p->r_g3,p->r_g4,p->r_g5,p->r_g6,p->r_g7); ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot_save.S#2 (text+ko) ==== @@ -36,7 +36,7 @@ /* Get the current CPU number. */ #ifdef _KERNEL - ldx [ PCPU(CPUID) ], %g1 + lduw [ PCPU(CPUID) ], %g1 #else mov %g0, %g1 #endif @@ -116,14 +116,12 @@ #ifdef _KERNEL rdpr %pstate, %g4 stx %g4, [ %g2 + CPU_SNAPSHOT_PSTATE ] - rdpr %tstate, %g4 - stx %g4, [ %g2 + CPU_SNAPSHOT_TSTATE ] - rdpr %tl, %g4 - stx %g4, [ %g2 + CPU_SNAPSHOT_TL ] rdpr %tick, %g4 stx %g4, [ %g2 + CPU_SNAPSHOT_TICK ] rdpr %pil, %g4 stx %g4, [ %g2 + CPU_SNAPSHOT_PIL ] + rdpr %tl, %g4 + stx %g4, [ %g2 + CPU_SNAPSHOT_TL ] #endif ba,a .cpu_snapshot_save_4 From owner-p4-projects@FreeBSD.ORG Wed Jul 19 10:49:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B2A3316A4E0; Wed, 19 Jul 2006 10:49:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EEFB16A4DD for ; Wed, 19 Jul 2006 10:49:17 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 56E4643D49 for ; Wed, 19 Jul 2006 10:49:17 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JAnHAH022107 for ; Wed, 19 Jul 2006 10:49:17 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JAnH6f022104 for perforce@freebsd.org; Wed, 19 Jul 2006 10:49:17 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 10:49:17 GMT Message-Id: <200607191049.k6JAnH6f022104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101912 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 10:49:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=101912 Change 101912 by gabor@gabor_spitfire on 2006/07/19 10:49:10 Fix some things I broke in @101819. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#40 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#40 (text+ko) ==== @@ -3975,13 +3975,13 @@ ${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \ if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.network -o -s ${WRKDIR}/.PLIST.writable ]; then \ if [ -n "$$PORTS_AUDIT" ]; then \ - if [ -z "${DESTDIR}" ] ; \ + if [ -z "${DESTDIR}" ] ; then \ ${ECHO_MSG} "===> SECURITY REPORT (PARANOID MODE): "; \ else \ ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR} (PARANOID MODE): "; \ fi; \ else \ - if [ -z "${DESTDIR}" ] ; \ + if [ -z "${DESTDIR}" ] ; then \ ${ECHO_MSG} "===> SECURITY REPORT: "; \ else \ ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR}: "; \ @@ -4754,7 +4754,7 @@ ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \ else \ ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - found"; \ - fi;\ + fi; \ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ ${ECHO_MSG} " (but building it anyway)"; \ notfound=1; \ @@ -4763,7 +4763,7 @@ fi; \ fi; \ else \ - if [ -z "${PREFIX}" ] ; then \ + if [ -z "${DESTDIR}" ] ; then \ ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \ else \ ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - not found"; \ @@ -4823,7 +4823,7 @@ ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ else \ ${ECHO_MSG} "===> ${PKGNAME} depends on executable in ${DESTDIR}: $$prog - not found"; \ - fi;\ + fi; \ notfound=1; \ fi; \ fi; \ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 11:25:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 391E916A4DF; Wed, 19 Jul 2006 11:25:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1145B16A4DA for ; Wed, 19 Jul 2006 11:25:03 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B30C043D46 for ; Wed, 19 Jul 2006 11:25:02 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JBP2XK025455 for ; Wed, 19 Jul 2006 11:25:02 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JBP2QU025452 for perforce@freebsd.org; Wed, 19 Jul 2006 11:25:02 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 11:25:02 GMT Message-Id: <200607191125.k6JBP2QU025452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101915 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 11:25:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=101915 Change 101915 by gabor@gabor_spitfire on 2006/07/19 11:24:29 Fix some more of my mistakes. The code works again. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#41 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#41 (text+ko) ==== @@ -4728,7 +4728,7 @@ ${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \ else \ ${ECHO_MSG} "===> Returning to build of ${PKGNAME} for ${DESTDIR}"; \ - fi + fi; .for deptype in EXTRACT PATCH FETCH BUILD RUN ${deptype:L}-depends: From owner-p4-projects@FreeBSD.ORG Wed Jul 19 12:08:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D560A16A4E5; Wed, 19 Jul 2006 12:07:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5966B16A4DD for ; Wed, 19 Jul 2006 12:07:59 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04DE643D69 for ; Wed, 19 Jul 2006 12:07:59 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JC7wMj028726 for ; Wed, 19 Jul 2006 12:07:58 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JC7wNt028723 for perforce@freebsd.org; Wed, 19 Jul 2006 12:07:58 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 19 Jul 2006 12:07:58 GMT Message-Id: <200607191207.k6JC7wNt028723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101920 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 12:08:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=101920 Change 101920 by rdivacky@rdivacky_witten on 2006/07/19 12:07:02 Add clock_settime, clock_gettime, clock_getres and clock_nanosleep to syscalls.master. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/syscalls.master#12 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/syscalls.master#12 (text+ko) ==== @@ -432,10 +432,11 @@ 261 AUE_NULL MSTD { int linux_timer_gettime(void); } 262 AUE_NULL MSTD { int linux_timer_getoverrun(void); } 263 AUE_NULL MSTD { int linux_timer_delete(void); } -264 AUE_CLOCK_SETTIME MSTD { int linux_clock_settime(void); } -265 AUE_NULL MSTD { int linux_clock_gettime(void); } -266 AUE_NULL MSTD { int linux_clock_getres(void); } -267 AUE_NULL MSTD { int linux_clock_nanosleep(void); } +264 AUE_CLOCK_SETTIME MSTD { int linux_clock_settime(clockid_t which, struct linux_timespec *tp); } +265 AUE_NULL MSTD { int linux_clock_gettime(clockid_t which, struct linux_timespec *tp); } +266 AUE_NULL MSTD { int linux_clock_getres(clockid_t which, struct linux_timespec *tp); } +267 AUE_NULL MSTD { int linux_clock_nanosleep(clockid_t which, int flags, \ + struct linux_timespec *rqtp, struct linux_timespec *rmtp); } 268 AUE_NULL MSTD { int linux_statfs64(void); } 269 AUE_NULL MSTD { int linux_fstatfs64(void); } 270 AUE_NULL MSTD { int linux_tgkill(void); } From owner-p4-projects@FreeBSD.ORG Wed Jul 19 12:08:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A16F16A53E; Wed, 19 Jul 2006 12:08:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DB67116A538 for ; Wed, 19 Jul 2006 12:08:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7251343D69 for ; Wed, 19 Jul 2006 12:07:59 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JC7x2F028732 for ; Wed, 19 Jul 2006 12:07:59 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JC7wad028729 for perforce@freebsd.org; Wed, 19 Jul 2006 12:07:58 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 19 Jul 2006 12:07:58 GMT Message-Id: <200607191207.k6JC7wad028729@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101921 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 12:08:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=101921 Change 101921 by rdivacky@rdivacky_witten on 2006/07/19 12:07:48 Regen after syscalls.master update. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_proto.h#12 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_syscall.h#12 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysent.c#12 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_proto.h#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.75 2006/07/06 21:43:14 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.72 2006/07/06 21:42:36 jhb Exp */ @@ -755,16 +755,22 @@ register_t dummy; }; struct linux_clock_settime_args { - register_t dummy; + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct linux_timespec *)]; struct linux_timespec * tp; char tp_r_[PADR_(struct linux_timespec *)]; }; struct linux_clock_gettime_args { - register_t dummy; + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct linux_timespec *)]; struct linux_timespec * tp; char tp_r_[PADR_(struct linux_timespec *)]; }; struct linux_clock_getres_args { - register_t dummy; + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct linux_timespec *)]; struct linux_timespec * tp; char tp_r_[PADR_(struct linux_timespec *)]; }; struct linux_clock_nanosleep_args { - register_t dummy; + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char rqtp_l_[PADL_(struct linux_timespec *)]; struct linux_timespec * rqtp; char rqtp_r_[PADR_(struct linux_timespec *)]; + char rmtp_l_[PADL_(struct linux_timespec *)]; struct linux_timespec * rmtp; char rmtp_r_[PADR_(struct linux_timespec *)]; }; struct linux_statfs64_args { register_t dummy; ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_syscall.h#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.69 2006/07/06 21:43:14 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.72 2006/07/06 21:42:36 jhb Exp */ ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysent.c#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.76 2006/07/06 21:43:14 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.72 2006/07/06 21:42:36 jhb Exp */ @@ -283,10 +283,10 @@ { SYF_MPSAFE | 0, (sy_call_t *)linux_timer_gettime, AUE_NULL }, /* 261 = linux_timer_gettime */ { SYF_MPSAFE | 0, (sy_call_t *)linux_timer_getoverrun, AUE_NULL }, /* 262 = linux_timer_getoverrun */ { SYF_MPSAFE | 0, (sy_call_t *)linux_timer_delete, AUE_NULL }, /* 263 = linux_timer_delete */ - { SYF_MPSAFE | 0, (sy_call_t *)linux_clock_settime, AUE_CLOCK_SETTIME }, /* 264 = linux_clock_settime */ - { SYF_MPSAFE | 0, (sy_call_t *)linux_clock_gettime, AUE_NULL }, /* 265 = linux_clock_gettime */ - { SYF_MPSAFE | 0, (sy_call_t *)linux_clock_getres, AUE_NULL }, /* 266 = linux_clock_getres */ - { SYF_MPSAFE | 0, (sy_call_t *)linux_clock_nanosleep, AUE_NULL }, /* 267 = linux_clock_nanosleep */ + { SYF_MPSAFE | AS(linux_clock_settime_args), (sy_call_t *)linux_clock_settime, AUE_CLOCK_SETTIME }, /* 264 = linux_clock_settime */ + { SYF_MPSAFE | AS(linux_clock_gettime_args), (sy_call_t *)linux_clock_gettime, AUE_NULL }, /* 265 = linux_clock_gettime */ + { SYF_MPSAFE | AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, AUE_NULL }, /* 266 = linux_clock_getres */ + { SYF_MPSAFE | AS(linux_clock_nanosleep_args), (sy_call_t *)linux_clock_nanosleep, AUE_NULL }, /* 267 = linux_clock_nanosleep */ { SYF_MPSAFE | 0, (sy_call_t *)linux_statfs64, AUE_NULL }, /* 268 = linux_statfs64 */ { SYF_MPSAFE | 0, (sy_call_t *)linux_fstatfs64, AUE_NULL }, /* 269 = linux_fstatfs64 */ { SYF_MPSAFE | 0, (sy_call_t *)linux_tgkill, AUE_NULL }, /* 270 = linux_tgkill */ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 12:11:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76D7D16A4E1; Wed, 19 Jul 2006 12:11:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A64316A4DD for ; Wed, 19 Jul 2006 12:11:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01C2443D69 for ; Wed, 19 Jul 2006 12:11:04 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JCB3NM029030 for ; Wed, 19 Jul 2006 12:11:03 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JCB3Y4029027 for perforce@freebsd.org; Wed, 19 Jul 2006 12:11:03 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 19 Jul 2006 12:11:03 GMT Message-Id: <200607191211.k6JCB3Y4029027@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101922 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 12:11:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=101922 Change 101922 by rdivacky@rdivacky_witten on 2006/07/19 12:10:17 Add implementations of clock_settime, clock_gettime, clock_getres and clock_nanosleep. This was obtained from NetBSD but differs significantly from their code. Obtained from: NetBSD (Emmanuel Dreyfus) Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_time.c#1 add .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#9 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_dummy.c#6 edit .. //depot/projects/soc2006/rdivacky_linuxolator/modules/linux/Makefile#5 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#9 (text+ko) ==== @@ -803,4 +803,17 @@ #define EMUL_LOCKED 1 #define EMUL_UNLOCKED 0 +typedef long linux_time_t; +struct linux_timespec { + linux_time_t tv_sec; /* seconds */ + long tv_nsec; /* nanoseconds */ +}; + +#define LINUX_CLOCK_REALTIME 0 +#define LINUX_CLOCK_MONOTONIC 1 +#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2 +#define LINUX_CLOCK_THREAD_CPUTIME_ID 3 +#define LINUX_CLOCK_REALTIME_HR 4 +#define LINUX_CLOCK_MONOTONIC_HR 5 + #endif /* !_I386_LINUX_LINUX_H_ */ ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_dummy.c#6 (text+ko) ==== @@ -78,10 +78,6 @@ DUMMY(timer_gettime); DUMMY(timer_getoverrun); DUMMY(timer_delete); -DUMMY(clock_settime); -DUMMY(clock_gettime); -DUMMY(clock_getres); -DUMMY(clock_nanosleep); DUMMY(statfs64); DUMMY(fstatfs64); DUMMY(tgkill); ==== //depot/projects/soc2006/rdivacky_linuxolator/modules/linux/Makefile#5 (text+ko) ==== @@ -11,7 +11,7 @@ SRCS= linux${SFX}_dummy.c linux_file.c linux_futex.c linux_getcwd.c linux_ioctl.c \ linux_ipc.c linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \ linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c linux${SFX}_sysvec.c \ - linux_uid16.c linux_util.c opt_inet6.h opt_mac.h opt_compat.h \ + linux_uid16.c linux_util.c linux_time.c opt_inet6.h opt_mac.h opt_compat.h \ vnode_if.h device_if.h bus_if.h OBJS= linux${SFX}_locore.o From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:07:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07FB016A4DF; Wed, 19 Jul 2006 13:07:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D75C416A4E1 for ; Wed, 19 Jul 2006 13:07:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6246F43D55 for ; Wed, 19 Jul 2006 13:07:14 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JD7DJ8040754 for ; Wed, 19 Jul 2006 13:07:13 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JD7Dvw040751 for perforce@freebsd.org; Wed, 19 Jul 2006 13:07:13 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 19 Jul 2006 13:07:13 GMT Message-Id: <200607191307.k6JD7Dvw040751@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101923 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:07:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=101923 Change 101923 by gonzo@gonzo_hq on 2006/07/19 13:06:46 o Stack has to be twice a word size aligned. Or we'll have troubles with va_XXX functions. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/locore.S#13 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/locore.S#13 (text+ko) ==== @@ -40,6 +40,7 @@ #endif GLOBAL(stackspace) .space PAGE_SIZE /* Smaller than it should be since it's temp. */ +.align 8 GLOBAL(topstack) .set noreorder From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:10:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0DC616A4E9; Wed, 19 Jul 2006 13:10:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 26D4C16A4E5 for ; Wed, 19 Jul 2006 13:10:22 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8EB4243D6D for ; Wed, 19 Jul 2006 13:10:18 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JDAIl5040920 for ; Wed, 19 Jul 2006 13:10:18 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JDAIf1040917 for perforce@freebsd.org; Wed, 19 Jul 2006 13:10:18 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 13:10:18 GMT Message-Id: <200607191310.k6JDAIf1040917@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101924 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:10:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=101924 Change 101924 by gabor@gabor_spitfire on 2006/07/19 13:10:03 The security report now reports if we installed something to DESTDIR. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#42 edit .. //depot/projects/soc2006/gabor_ports/Tools/scripts/security-check.awk#2 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#42 (text+ko) ==== @@ -3908,7 +3908,7 @@ | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f -print0 2> /dev/null \ | ${XARGS} -0 -n 1 ${OBJDUMP} -R 2> /dev/null > ${WRKDIR}/.PLIST.objdump; \ if \ - ! ${AWK} -v audit="$${PORTS_AUDIT}" -f ${PORTSDIR}/Tools/scripts/security-check.awk \ + ! ${AWK} -v audit="$${PORTS_AUDIT}" -v destdir="${DESTDIR}" -f ${PORTSDIR}/Tools/scripts/security-check.awk \ ${WRKDIR}/.PLIST.flattened ${WRKDIR}/.PLIST.objdump ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable; \ then \ www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \ ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/security-check.awk#2 (text+ko) ==== @@ -34,10 +34,18 @@ function print_header() { if (header_printed) return; - if (audit != "") - print "===> SECURITY REPORT (PARANOID MODE): "; - else - print "===> SECURITY REPORT: "; + if (audit != "") { + if (destdir == "") + print "===> SECURITY REPORT (PARANOID MODE): "; + else + print "===> SECURITY REPORT FOR", destdir, "(PARANOID MODE): "; + } + else { + if (destdir == "") + print "===> SECURITY REPORT: "; + else + print "===> SECURITY REPORT FOR", destdir, ": "; + } header_printed = 1; } function note_for_the_stupid(file) { return (file in stupid_binaries) ? (" (USES POSSIBLY INSECURE FUNCTIONS:" stupid_binaries[file] ")") : ""; } @@ -46,8 +54,14 @@ for (file in setuid_binaries) { if (!note_printed) { print_header(); - print " This port has installed the following binaries which execute with"; - print " increased privileges."; + if (destdir == "") { + print " This port has installed the following binaries, which execute with"; + print " increased privileges."; + } + else { + print " This port has installed the following binaries into", destdir, ", which"; + print " execute with increased privileges."; + } note_printed = 1; } print file note_for_the_stupid(file); @@ -58,8 +72,15 @@ for (file in network_binaries) { if (!note_printed) { print_header(); - print " This port has installed the following files which may act as network"; - print " servers and may therefore pose a remote security risk to the system."; + if (destdir == "") { + print " This port has installed the following files, which may act as network"; + print " servers and may therefore pose a remote security risk to the system."; + } + else { + print " This port has installed the following files into", destdir, ", which may"; + print " act as network servers and may therefore pose a remote security risk to"; + print " the system."; + } note_printed = 1; } print file note_for_the_stupid(file); @@ -70,8 +91,14 @@ for (file in startup_scripts) { if (!note_printed) { print_header(); - print " This port has installed the following startup scripts which may cause"; + if (destdir == "") { + print " This port has installed the following startup scripts, which may cause"; print " these network services to be started at boot time."; + } + else { + print " This port has installed the following startup scripts into", destdir, ", which"; + print " may cause these network services to be started at boot time."; + } note_printed = 1; } print file; @@ -83,7 +110,10 @@ for (file in writable_files) { if (!note_printed) { print_header(); - print " This port has installed the following world-writable files/directories."; + if (destdir == "") + print " This port has installed the following world-writable files/directories."; + else + print " This port has installed the following world-writable files/directories into", destdir, "."; note_printed = 1; } print file; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:38:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DBE916A4DE; Wed, 19 Jul 2006 13:38:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0B2616A4DD for ; Wed, 19 Jul 2006 13:38:56 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 97AA843D45 for ; Wed, 19 Jul 2006 13:38:56 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JDcuAx042277 for ; Wed, 19 Jul 2006 13:38:56 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JDcuMN042274 for perforce@freebsd.org; Wed, 19 Jul 2006 13:38:56 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 13:38:56 GMT Message-Id: <200607191338.k6JDcuMN042274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101927 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:38:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=101927 Change 101927 by gabor@gabor_spitfire on 2006/07/19 13:38:42 Add some checks against DESTDIR. It can't be /, or can't have a trailing slash, but has to be an absolute path. These checks can be ignored by setting IGNORE_PATH_CHECKS. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#43 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#43 (text+ko) ==== @@ -1307,12 +1307,31 @@ .endif DISTNAME?= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX} -# Disallow setting DESTDIR to /. -.if defined(DESTDIR) && ${DESTDIR} == "/" +# These do some path checks if DESTDIR is set correctly. +# You can force skipping these test by defining IGNORE_PATH_CHECKS +.if !defined(IGNORE_PATH_CHECKS) +.if defined(DESTDIR) +.if (${DESTDIR:C,(^.).*,\1,} != "/") +.if ${DESTDIR} == "/" +.BEGIN: + @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" + @${ECHO_MSG} "DESTDIR unset." + @${FALSE} +.else +.BEGIN: + @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" + @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." + @${FALSE} +.endif +.endif +.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") .BEGIN: - @${ECHO_MSG} "You can't set DESTDIR to /. Unset DESTDIR and re-run make." + @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" + @${ECHO_MSG} "slash and re-run 'make'" @${FALSE} .endif +.endif +.endif # These need to be absolute since we don't know how deep in the ports # tree we are and thus can't go relative. They can, of course, be overridden From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:40:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C665216A4DE; Wed, 19 Jul 2006 13:40:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A2CD316A4DA for ; Wed, 19 Jul 2006 13:40:06 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from server.t-hosting.hu (server.t-hosting.hu [217.20.133.7]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1879143D45 for ; Wed, 19 Jul 2006 13:40:03 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by server.t-hosting.hu (Postfix) with ESMTP id 3F33C99A015 for ; Wed, 19 Jul 2006 15:39:59 +0200 (CEST) X-Virus-Scanned: amavisd-new at t-hosting.hu Received: from server.t-hosting.hu ([127.0.0.1]) by localhost (server.t-hosting.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id w7YfQt+QYkGE for ; Wed, 19 Jul 2006 15:39:54 +0200 (CEST) Received: from [192.168.2.186] (catv-50635cb6.catv.broadband.hu [80.99.92.182]) by server.t-hosting.hu (Postfix) with ESMTP id F1563999473 for ; Wed, 19 Jul 2006 15:39:53 +0200 (CEST) Message-ID: <44BE3622.1060206@FreeBSD.org> Date: Wed, 19 Jul 2006 15:39:46 +0200 From: =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: Perforce Change Reviews References: <200607191310.k6JDAIf1040917@repoman.freebsd.org> In-Reply-To: <200607191310.k6JDAIf1040917@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: PERFORCE change 101924 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: gabor@t-hosting.hu List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:40:07 -0000 Gabor Kovesdan wrote: > http://perforce.freebsd.org/chv.cgi?CH=101924 > > Change 101924 by gabor@gabor_spitfire on 2006/07/19 13:10:03 > > The security report now reports if we installed something to DESTDIR. > > Affected files ... > > .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#42 edit > .. //depot/projects/soc2006/gabor_ports/Tools/scripts/security-check.awk#2 edit > > I already made some grammar fixes here. There has to be a comma before which in any case. -- Cheers, Gabor From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:48:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F9C716A4DF; Wed, 19 Jul 2006 13:48:12 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 523C016A4DD for ; Wed, 19 Jul 2006 13:48:12 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C23A743D67 for ; Wed, 19 Jul 2006 13:48:09 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JDm9tj042771 for ; Wed, 19 Jul 2006 13:48:09 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JDm8P4042768 for perforce@freebsd.org; Wed, 19 Jul 2006 13:48:08 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 13:48:08 GMT Message-Id: <200607191348.k6JDm8P4042768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101928 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:48:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=101928 Change 101928 by gabor@gabor_spitfire on 2006/07/19 13:47:48 Add some path checks for PREFIX as well. For this I needed to move that part of the code a bit. These checks can also be skipped by setting IGNORE_PATH_CHECKS. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#44 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#44 (text+ko) ==== @@ -1307,32 +1307,6 @@ .endif DISTNAME?= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX} -# These do some path checks if DESTDIR is set correctly. -# You can force skipping these test by defining IGNORE_PATH_CHECKS -.if !defined(IGNORE_PATH_CHECKS) -.if defined(DESTDIR) -.if (${DESTDIR:C,(^.).*,\1,} != "/") -.if ${DESTDIR} == "/" -.BEGIN: - @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" - @${ECHO_MSG} "DESTDIR unset." - @${FALSE} -.else -.BEGIN: - @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" - @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." - @${FALSE} -.endif -.endif -.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") -.BEGIN: - @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" - @${ECHO_MSG} "slash and re-run 'make'" - @${FALSE} -.endif -.endif -.endif - # These need to be absolute since we don't know how deep in the ports # tree we are and thus can't go relative. They can, of course, be overridden # by individual Makefiles or local system make configuration. @@ -1418,6 +1392,39 @@ .endif .endif +# These do some path checks if DESTDIR is set correctly. +# You can force skipping these test by defining IGNORE_PATH_CHECKS +.if !defined(IGNORE_PATH_CHECKS) +.if (${PREFIX:C,(^.).*,\1,} != "/") +.BEGIN: + @${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'" + @${ECHO_MSG} "is invoked in the work area PREFIX points to the right place." + @${FALSE} +.endif +.if defined(DESTDIR) +.if (${DESTDIR:C,(^.).*,\1,} != "/") +.if ${DESTDIR} == "/" +.BEGIN: + @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" + @${ECHO_MSG} "DESTDIR unset." + @${FALSE} +.else +.BEGIN: + @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" + @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." + @${FALSE} +.endif +.endif +.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") +.BEGIN: + @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" + @${ECHO_MSG} "slash and re-run 'make'" + @${FALSE} +.endif +.endif +.endif + + PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg .if ${OSVERSION} >= 500036 From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:50:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1683416A4E7; Wed, 19 Jul 2006 13:50:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE70016A4E1 for ; Wed, 19 Jul 2006 13:50:12 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86FC943D46 for ; Wed, 19 Jul 2006 13:50:12 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JDoCvf042891 for ; Wed, 19 Jul 2006 13:50:12 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JDoCFx042888 for perforce@freebsd.org; Wed, 19 Jul 2006 13:50:12 GMT (envelope-from piso@freebsd.org) Date: Wed, 19 Jul 2006 13:50:12 GMT Message-Id: <200607191350.k6JDoCFx042888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101929 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:50:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=101929 Change 101929 by piso@piso_longino on 2006/07/19 13:49:32 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/puc/puc.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/puc/puc.c#5 (text+ko) ==== @@ -314,7 +314,7 @@ RF_ACTIVE|RF_SHAREABLE); if (sc->sc_ires != NULL) { error = bus_setup_intr(dev, sc->sc_ires, - INTR_TYPE_TTY | INTR_FAST, puc_intr, NULL, + INTR_TYPE_TTY, puc_intr, NULL, sc, &sc->sc_icookie); if (error) error = bus_setup_intr(dev, sc->sc_ires, @@ -606,7 +606,7 @@ port = device_get_ivars(child); KASSERT(port != NULL, ("%s %d", __func__, __LINE__)); - if (ihand == NULL || cookiep == NULL || res != port->p_ires) + if (filter == NULL || cookiep == NULL || res != port->p_ires) return (EINVAL); if (rman_get_device(port->p_ires) != originator) return (ENXIO); @@ -630,14 +630,14 @@ return (BUS_SETUP_INTR(device_get_parent(dev), originator, sc->sc_ires, flags, filter, ihand, arg, cookiep)); - /* We demand that serdev devices use fast interrupts. */ - if (!(flags & INTR_FAST)) + /* We demand that serdev devices use fast/filter_only interrupts. */ + if (ihand != NULL) return (ENXIO); sc->sc_serdevs |= 1UL << (port->p_nr - 1); port->p_hasintr = 1; - port->p_ih = ihand; + port->p_ih = i(driver_intr_t *)filter; port->p_iharg = arg; *cookiep = port; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 13:52:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 200C416A4DF; Wed, 19 Jul 2006 13:52:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED1B116A4DD for ; Wed, 19 Jul 2006 13:52:15 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC46543D49 for ; Wed, 19 Jul 2006 13:52:15 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JDqFCP043163 for ; Wed, 19 Jul 2006 13:52:15 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JDqFSZ043160 for perforce@freebsd.org; Wed, 19 Jul 2006 13:52:15 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 13:52:15 GMT Message-Id: <200607191352.k6JDqFSZ043160@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101930 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 13:52:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=101930 Change 101930 by gabor@gabor_spitfire on 2006/07/19 13:51:40 Fix paths for security reports. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#45 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#45 (text+ko) ==== @@ -3920,7 +3920,7 @@ # 5. world-writable files/dirs # -@${RM} -f ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable ${WRKDIR}/.PLIST.objdump; \ - ${AWK} -v prefix='${DESTDIR}${PREFIX}' ' \ + ${AWK} -v prefix='${PREFIX}' ' \ match($$0, /^@cwd /) { prefix = substr($$0, RSTART + RLENGTH); if (prefix == "/") prefix=""; next; } \ /^@/ { next; } \ /^\// { print; next; } \ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 14:18:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A4B316A4E2; Wed, 19 Jul 2006 14:18:02 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2A15316A4DE for ; Wed, 19 Jul 2006 14:18:02 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C73743D7E for ; Wed, 19 Jul 2006 14:17:47 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JEHlK7045567 for ; Wed, 19 Jul 2006 14:17:47 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JEHkYB045564 for perforce@freebsd.org; Wed, 19 Jul 2006 14:17:46 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 14:17:46 GMT Message-Id: <200607191417.k6JEHkYB045564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101931 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 14:18:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=101931 Change 101931 by gabor@gabor_spitfire on 2006/07/19 14:17:17 One more DESTDIR-specific output change and some s/ECHO_CMD/ECHO_MSG/ substitutions while here. This might seem to be cosmetical changes, but it actually is not. One might want to use some scripts to produce colorful or such output for relevant information and one might override ECHO_MSG for this, but not ECHO_CMD, since that is for internal use, e.g. for command line pipelines. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#46 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#46 (text+ko) ==== @@ -1017,7 +1017,7 @@ .if defined(_PREMKINCLUDED) check-makefile:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: you cannot include bsd.port[.pre].mk twice" + @${ECHO_MSG} "${PKGNAME}: Makefile error: you cannot include bsd.port[.pre].mk twice" @${FALSE} .endif @@ -1275,9 +1275,9 @@ # check for old, crufty, makefile types, part 1: .if !defined(PORTNAME) || !( defined(PORTVERSION) || defined (DISTVERSION) ) || defined(PKGNAME) check-makefile:: - @${ECHO_CMD} "Makefile error: you need to define PORTNAME and PORTVERSION instead of PKGNAME." - @${ECHO_CMD} "(This port is too old for your bsd.port.mk, please update it to match" - @${ECHO_CMD} " your bsd.port.mk.)" + @${ECHO_MSG} "Makefile error: you need to define PORTNAME and PORTVERSION instead of PKGNAME." + @${ECHO_MSG} "(This port is too old for your bsd.port.mk, please update it to match" + @${ECHO_MSG} " your bsd.port.mk.)" @${FALSE} .endif @@ -1346,7 +1346,7 @@ .if (!defined(PKGDIR) && exists(${MASTERDIR}/pkg/DESCR)) || \ (!defined(MD5_FILE) && exists(${MASTERDIR}/files/md5)) check-makefile:: - @${ECHO_CMD} "Makefile error: your port uses an old layout. Please update it to match this bsd.port.mk. If you have updated your ports collection via cvsup and are still getting this error, see Q12 and Q13 in the cvsup FAQ on http://www.polstra.com for further information." + @${ECHO_MSG} "Makefile error: your port uses an old layout. Please update it to match this bsd.port.mk. If you have updated your ports collection via cvsup and are still getting this error, see Q12 and Q13 in the cvsup FAQ on http://www.polstra.com for further information." @${FALSE} .endif PATCHDIR?= ${MASTERDIR}/files @@ -1574,7 +1574,7 @@ .if defined(_POSTMKINCLUDED) check-makefile:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: you cannot include bsd.port[.post].mk twice" + @${ECHO_MSG} "${PKGNAME}: Makefile error: you cannot include bsd.port[.post].mk twice" @${FALSE} .endif @@ -1625,7 +1625,7 @@ .if ${MANCOMPRESSED} != yes && ${MANCOMPRESSED} != no && \ ${MANCOMPRESSED} != maybe check-makevars:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: value of MANCOMPRESSED (is \"${MANCOMPRESSED}\") can only be \"yes\", \"no\" or \"maybe\"". + @${ECHO_MSG} "${PKGNAME}: Makefile error: value of MANCOMPRESSED (is \"${MANCOMPRESSED}\") can only be \"yes\", \"no\" or \"maybe\"". @${FALSE} .endif .endif @@ -2343,16 +2343,16 @@ # The final simpler patch will come afterwards .if !defined(COMMENT) check-makevars:: - @${ECHO_CMD} 'Makefile error: there is no COMMENT variable defined' - @${ECHO_CMD} 'for this port. Please, rectify this.' + @${ECHO_MSG} 'Makefile error: there is no COMMENT variable defined' + @${ECHO_MSG} 'for this port. Please, rectify this.' @${FALSE} .else .if exists(${COMMENTFILE}) check-makevars:: - @${ECHO_CMD} 'Makefile error: There is a COMMENTFILE in this port.' - @${ECHO_CMD} 'COMMENTFILEs have been deprecated in' - @${ECHO_CMD} 'favor of COMMENT variables.' - @${ECHO_CMD} 'Please, rectify this.' + @${ECHO_MSG} 'Makefile error: There is a COMMENTFILE in this port.' + @${ECHO_MSG} 'COMMENTFILEs have been deprecated in' + @${ECHO_MSG} 'favor of COMMENT variables.' + @${ECHO_MSG} 'Please, rectify this.' @${FALSE} .endif .endif @@ -2377,8 +2377,8 @@ _G_TEMP= ${_group} . if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your MASTER_SITES" + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES" @${FALSE} . endif _MASTER_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} @@ -2394,8 +2394,8 @@ _G_TEMP= ${_group} . if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default check-makevars:: - @${ECHO_CMD} "The words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your PATCH_SITES" + @${ECHO_MSG} "The words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITES" @${FALSE} . endif _PATCH_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} @@ -2416,8 +2416,8 @@ _G_TEMP= ${_group} . if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your MASTER_SITE_SUBDIR" + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITE_SUBDIR" @${FALSE} . endif . if defined(_MASTER_SITES_${_group}) @@ -2437,8 +2437,8 @@ _G_TEMP= ${_group} . if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your PATCH_SITE_SUBDIR" + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITE_SUBDIR" @${FALSE} . endif . if defined(_PATCH_SITES_${_group}) @@ -2770,7 +2770,7 @@ .if !defined(CATEGORIES) check-categories: - @${ECHO_CMD} "${PKGNAME}: Makefile error: CATEGORIES is mandatory." + @${ECHO_MSG} "${PKGNAME}: Makefile error: CATEGORIES is mandatory." @${FALSE} .else @@ -2794,7 +2794,7 @@ @if ${ECHO_CMD} ${VALID_CATEGORIES} | ${GREP} -wq ${cat}; then \ ${TRUE}; \ else \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: category ${cat} not in list of valid categories."; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: category ${cat} not in list of valid categories."; \ ${FALSE}; \ fi .endfor @@ -2893,7 +2893,7 @@ }' | ${SED} -e 's \([^/ ][^ ]*\.\(.\)[^. ]*\) $${MAN\2PREFIX}/$$$$$$$${__lang}/man\2/\1${MANEXT}g' -e 's/ //g' -e 's/MANlPREFIX/MANLPREFIX/g' -e 's/MANnPREFIX/MANNPREFIX/g' .if ${__pmlinks:Mbroken} == "broken" check-makevars:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: unable to parse MLINKS." + @${ECHO_MSG} "${PKGNAME}: Makefile error: unable to parse MLINKS." @${FALSE} .endif _MLINKS= ${_MLINKS_PREPEND} @@ -3556,7 +3556,7 @@ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ - ${ECHO_CMD} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ + ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ ${FALSE}; \ fi) @@ -3765,15 +3765,23 @@ fi @if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ - ${ECHO_CMD} "===> ${PKGNAME} is already installed"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> ${PKGNAME} is already installed"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} is already installed in ${DESTDIR}"; \ + fi; \ else \ - ${ECHO_CMD} "===> An older version of ${PKGORIGIN} is already installed ($${found_package})"; \ + if [ -z "${DESTDIR}" ] ; then \ + ${ECHO_MSG} "===> An older version of ${PKGORIGIN} is already installed ($${found_package})"; \ + else \ + ${ECHO_MSG} "===> An older version of ${PKGORIGIN} is already installed in ${DESTDIR} ($${found_package})"; \ + fi; \ fi; \ - ${ECHO_CMD} " You may wish to \`\`make deinstall'' and install this port again"; \ - ${ECHO_CMD} " by \`\`make reinstall'' to upgrade it properly."; \ - ${ECHO_CMD} " If you really wish to overwrite the old port of ${PKGORIGIN}"; \ - ${ECHO_CMD} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \ - ${ECHO_CMD} " in your environment or the \"make install\" command line."; \ + ${ECHO_MSG} " You may wish to \`\`make deinstall'' and install this port again"; \ + ${ECHO_MSG} " by \`\`make reinstall'' to upgrade it properly."; \ + ${ECHO_MSG} " If you really wish to overwrite the old port of ${PKGORIGIN}"; \ + ${ECHO_MSG} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \ + ${ECHO_MSG} " in your environment or the \"make install\" command line."; \ exit 1; \ fi .else @@ -3804,8 +3812,8 @@ .if !defined(NO_MTREE) @if [ `${ID} -u` = 0 ]; then \ if [ ! -f ${MTREE_FILE} ]; then \ - ${ECHO_CMD} "Error: mtree file \"${MTREE_FILE}\" is missing."; \ - ${ECHO_CMD} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \ + ${ECHO_MSG} "Error: mtree file \"${MTREE_FILE}\" is missing."; \ + ${ECHO_MSG} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \ exit 1; \ else \ ${MTREE_CMD} ${MTREE_ARGS} ${DESTDIR}${PREFIX}/ >/dev/null; \ @@ -4238,9 +4246,9 @@ pretty-print-www-site: @www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \ if [ -n "$${www_site}" ]; then \ - ${ECHO_CMD} -n " and/or visit the "; \ - ${ECHO_CMD} -n "web site"; \ - ${ECHO_CMD} " for futher informations"; \ + ${ECHO_MSG} -n " and/or visit the "; \ + ${ECHO_MSG} -n "web site"; \ + ${ECHO_MSG} " for futher informations"; \ fi .endif @@ -4493,7 +4501,7 @@ esac; \ ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ done; \ - ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \ + ${ECHO_MSG} "${ECHO_CMD} $${file} not fetched" ; \ fi \ done) .endif @@ -4521,8 +4529,8 @@ for alg in ${CHECKSUM_ALGORITHMS:U}; do \ eval alg_executable=\$$$$alg; \ if [ -z "$$alg_executable" ]; then \ - ${ECHO_CMD} "Checksum algorithm $$alg: Couldn't find the executable."; \ - ${ECHO_CMD} "Set $$alg=/path/to/$$alg in /etc/make.conf and try again."; \ + ${ECHO_MSG} "Checksum algorithm $$alg: Couldn't find the executable."; \ + ${ECHO_MSG} "Set $$alg=/path/to/$$alg in /etc/make.conf and try again."; \ exit 1; \ fi; \ done; \ @@ -5344,7 +5352,7 @@ .if defined(SUB_FILES) .for file in ${SUB_FILES} .if !exists(${FILESDIR}/${file}.in) - @${ECHO_CMD} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1 + @${ECHO_MSG} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1 .else @${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${FILESDIR}/${file}.in > ${WRKDIR}/${file} .endif @@ -5364,7 +5372,7 @@ generate-plist: @${ECHO_MSG} "===> Generating temporary packing list" @${MKDIR} `${DIRNAME} ${TMPPLIST}` - @if [ ! -f ${DESCR} ]; then ${ECHO_CMD} "** Missing pkg-descr for ${PKGNAME}."; exit 1; fi + @if [ ! -f ${DESCR} ]; then ${ECHO_MSG} "** Missing pkg-descr for ${PKGNAME}."; exit 1; fi @>${TMPPLIST} @for file in ${PLIST_FILES}; do \ ${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \ @@ -5503,8 +5511,8 @@ install-rc-script: .if defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" .if defined(USE_RCORDER) - @${ECHO_CMD} "===> Installing early rc.d startup script(s)" - @${ECHO_CMD} "@cwd /" >> ${TMPPLIST} + @${ECHO_MSG} "===> Installing early rc.d startup script(s)" + @${ECHO_MSG} "@cwd /" >> ${TMPPLIST} @for i in ${USE_RCORDER}; do \ ${INSTALL_SCRIPT} ${WRKDIR}/$${i} /etc/rc.d/$${i%.sh}; \ ${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \ @@ -5512,7 +5520,7 @@ @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST} .endif .if defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" - @${ECHO_CMD} "===> Installing rc.d startup script(s)" + @${ECHO_MSG} "===> Installing rc.d startup script(s)" @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST} .if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101 )) @for i in ${USE_RC_SUBR}; do \ @@ -5888,7 +5896,7 @@ .if defined(DESKTOP_ENTRIES) @set ${DESKTOP_ENTRIES} XXX; \ if [ `${EXPR} \( $$# - 1 \) % 6` -ne 0 ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements"; \ exit 1; \ fi; \ num=1; \ @@ -5900,36 +5908,36 @@ entry="$$entry ($$1)"; \ fi; \ if [ -z "$$1" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 1 (Name) is empty"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 1 (Name) is empty"; \ exit 1; \ fi; \ if [ -z "$$4" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \ exit 1; \ fi; \ if [ -n "$$5" ]; then \ for c in `${ECHO_CMD} "$$5" | ${TR} ';' ' '`; do \ if ! ${ECHO_CMD} ${VALID_DESKTOP_CATEGORIES} | ${GREP} -wq $$c; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: category $$c is not a valid desktop category"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: category $$c is not a valid desktop category"; \ exit 1; \ fi; \ done; \ if ! ${ECHO_CMD} "$$5" | ${GREP} -q ';$$'; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) does not end with a semicolon"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) does not end with a semicolon"; \ exit 1; \ fi; \ else \ if [ -z "`cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} desktop-categories`" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable"; \ exit 1; \ fi; \ fi; \ if [ -z "$$6" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is empty"; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is empty"; \ exit 1; \ fi; \ if [ "x$$6" != "xtrue" ] && [ "x$$6" != "xfalse" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is not \"true\" or \"false\""; \ + ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is not \"true\" or \"false\""; \ exit 1; \ fi; \ shift 6; \ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 14:53:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABA1B16A4E0; Wed, 19 Jul 2006 14:53:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6DF7316A4DD for ; Wed, 19 Jul 2006 14:53:34 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1132343D53 for ; Wed, 19 Jul 2006 14:53:34 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JErXmw047605 for ; Wed, 19 Jul 2006 14:53:33 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JErXnE047602 for perforce@freebsd.org; Wed, 19 Jul 2006 14:53:33 GMT (envelope-from kevlo@freebsd.org) Date: Wed, 19 Jul 2006 14:53:33 GMT Message-Id: <200607191453.k6JErXnE047602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101935 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 14:53:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=101935 Change 101935 by kevlo@kevlo_monet on 2006/07/19 14:53:25 bus_space PCI functions for IXP425. Obtained from: NetBSD Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jul 19 14:55:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5AA516A508; Wed, 19 Jul 2006 14:55:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 925A716A505 for ; Wed, 19 Jul 2006 14:55:38 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D33243D53 for ; Wed, 19 Jul 2006 14:55:37 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JEtabg047743 for ; Wed, 19 Jul 2006 14:55:36 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JEtaDx047740 for perforce@freebsd.org; Wed, 19 Jul 2006 14:55:36 GMT (envelope-from kevlo@freebsd.org) Date: Wed, 19 Jul 2006 14:55:36 GMT Message-Id: <200607191455.k6JEtaDx047740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 14:55:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=101936 Change 101936 by kevlo@kevlo_monet on 2006/07/19 14:55:12 Bus space functions for IXP425 PCI space access. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#2 (text+ko) ==== @@ -4,6 +4,8 @@ arm/xscale/ixp425/ixp425.c standard arm/xscale/ixp425/ixp425_mem.c standard arm/xscale/ixp425/ixp425_space.c standard +arm/xscale/ixp425/ixp425_pci_asm.S standard +arm/xscale/ixp425/ixp425_pci_space.c standard arm/xscale/ixp425/ixp425_timer.c standard arm/xscale/ixp425/uart_cpu_ixp425.c optional uart arm/xscale/ixp425/uart_bus_ixp425.c optional uart From owner-p4-projects@FreeBSD.ORG Wed Jul 19 14:57:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84A0E16A4E1; Wed, 19 Jul 2006 14:57:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5F77016A4DD for ; Wed, 19 Jul 2006 14:57:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEF1143D6A for ; Wed, 19 Jul 2006 14:57:42 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JEvgHt047866 for ; Wed, 19 Jul 2006 14:57:42 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JEvdpA047863 for perforce@freebsd.org; Wed, 19 Jul 2006 14:57:39 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 14:57:39 GMT Message-Id: <200607191457.k6JEvdpA047863@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101937 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 14:57:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=101937 Change 101937 by jhb@jhb_mutex on 2006/07/19 14:57:13 IFC @101934. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/db_trace.c#19 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#19 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#18 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#23 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#63 integrate .. //depot/projects/smpng/sys/amd64/include/specialreg.h#10 integrate .. //depot/projects/smpng/sys/arm/arm/db_trace.c#15 integrate .. //depot/projects/smpng/sys/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/in_cksum.c#7 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#21 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pio.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_piovar.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_rtc.c#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_rtcreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_spi.c#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_spiio.h#2 delete .. //depot/projects/smpng/sys/arm/at91/at91_spireg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_st.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/files.at91#4 integrate .. //depot/projects/smpng/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/smpng/sys/arm/at91/kb920x_machdep.c#7 integrate .. //depot/projects/smpng/sys/arm/at91/std.at91#2 integrate .. //depot/projects/smpng/sys/arm/at91/std.kb920x#2 integrate .. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#7 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#4 integrate .. //depot/projects/smpng/sys/arm/include/gdb_machdep.h#1 branch .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_timer.c#10 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#29 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#68 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#34 integrate .. //depot/projects/smpng/sys/conf/Makefile.arm#23 integrate .. //depot/projects/smpng/sys/conf/NOTES#124 integrate .. //depot/projects/smpng/sys/conf/files#180 integrate .. //depot/projects/smpng/sys/conf/files.arm#9 integrate .. //depot/projects/smpng/sys/conf/files.ia64#56 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#52 integrate .. //depot/projects/smpng/sys/conf/options#123 integrate .. //depot/projects/smpng/sys/conf/options.arm#9 integrate .. //depot/projects/smpng/sys/crypto/via/padlock.c#5 integrate .. //depot/projects/smpng/sys/ddb/db_command.c#33 integrate .. //depot/projects/smpng/sys/ddb/db_output.c#19 integrate .. //depot/projects/smpng/sys/ddb/db_output.h#5 integrate .. //depot/projects/smpng/sys/ddb/db_ps.c#34 integrate .. //depot/projects/smpng/sys/ddb/db_thread.c#8 integrate .. //depot/projects/smpng/sys/ddb/ddb.h#23 integrate .. //depot/projects/smpng/sys/dev/aac/aac_cam.c#18 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_perf.c#9 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#42 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc.c#24 integrate .. //depot/projects/smpng/sys/dev/iicbus/iic.c#11 integrate .. //depot/projects/smpng/sys/dev/iicbus/iic.h#2 integrate .. //depot/projects/smpng/sys/dev/iicbus/iicbus.c#8 integrate .. //depot/projects/smpng/sys/dev/iicbus/iicbus.h#3 integrate .. //depot/projects/smpng/sys/dev/iicbus/iicbus_if.m#3 integrate .. //depot/projects/smpng/sys/dev/iicbus/iiconf.c#4 integrate .. //depot/projects/smpng/sys/dev/iicbus/iiconf.h#4 integrate .. //depot/projects/smpng/sys/dev/isp/isp.c#41 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#43 integrate .. //depot/projects/smpng/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/smpng/sys/dev/isp/isp_pci.c#38 integrate .. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#15 integrate .. //depot/projects/smpng/sys/dev/isp/isp_target.c#19 integrate .. //depot/projects/smpng/sys/dev/lmc/if_lmc.c#13 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.c#18 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.h#15 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#11 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_debug.c#14 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_pci.c#22 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_raid.h#4 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/smpng/sys/dev/ncv/ncr53c500_pccard.c#20 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#55 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#72 integrate .. //depot/projects/smpng/sys/dev/random/probe.c#4 integrate .. //depot/projects/smpng/sys/dev/sio/sio.c#62 integrate .. //depot/projects/smpng/sys/dev/sk/if_sk.c#4 integrate .. //depot/projects/smpng/sys/dev/sk/if_skreg.h#3 integrate .. //depot/projects/smpng/sys/dev/sound/driver.c#8 integrate .. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#13 integrate .. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#30 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10k1.c#28 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/smpng/sys/dev/sound/pcm/buffer.c#15 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/buffer.h#8 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/mixer.h#6 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sound.c#33 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sound.h#26 integrate .. //depot/projects/smpng/sys/dev/spibus/spi.h#1 branch .. //depot/projects/smpng/sys/dev/spibus/spibus.c#1 branch .. //depot/projects/smpng/sys/dev/spibus/spibus_if.m#1 branch .. //depot/projects/smpng/sys/dev/spibus/spibusvar.h#1 branch .. //depot/projects/smpng/sys/dev/stg/tmc18c30_subr.c#6 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#26 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#22 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_rule.c#16 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#28 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#57 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vnops.c#26 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#35 integrate .. //depot/projects/smpng/sys/geom/geom.h#47 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror_ctl.c#12 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3_ctl.c#14 integrate .. //depot/projects/smpng/sys/gnu/dev/sound/pci/emu10k1-ac97.h#3 delete .. //depot/projects/smpng/sys/gnu/dev/sound/pci/emu10k1-alsa.h#4 integrate .. //depot/projects/smpng/sys/gnu/dev/sound/pci/emu10k1.h#5 delete .. //depot/projects/smpng/sys/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/smpng/sys/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/smpng/sys/i386/i386/db_trace.c#31 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#46 integrate .. //depot/projects/smpng/sys/i386/i386/initcpu.c#28 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#19 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#44 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#109 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#103 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_syscall.h#7 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_sysent.c#8 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_proto.h#15 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_syscall.h#14 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_sysent.c#16 integrate .. //depot/projects/smpng/sys/i386/ibcs2/syscalls.isc#8 integrate .. //depot/projects/smpng/sys/i386/ibcs2/syscalls.master#19 integrate .. //depot/projects/smpng/sys/i386/include/md_var.h#33 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#12 integrate .. //depot/projects/smpng/sys/ia64/conf/DEFAULTS#5 integrate .. //depot/projects/smpng/sys/ia64/ia64/db_machdep.c#3 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#71 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#78 integrate .. //depot/projects/smpng/sys/kern/kern_ktr.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#47 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#44 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_uuid.c#11 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#40 integrate .. //depot/projects/smpng/sys/kern/subr_prf.c#46 integrate .. //depot/projects/smpng/sys/kern/subr_turnstile.c#30 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#71 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#77 integrate .. //depot/projects/smpng/sys/kern/sysv_sem.c#42 integrate .. //depot/projects/smpng/sys/kern/uipc_domain.c#17 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#86 integrate .. //depot/projects/smpng/sys/kern/uipc_socket2.c#55 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#61 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#131 integrate .. //depot/projects/smpng/sys/modules/sound/driver/Makefile#9 integrate .. //depot/projects/smpng/sys/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/smpng/sys/net/if_spppsubr.c#30 integrate .. //depot/projects/smpng/sys/net/if_tap.c#41 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#30 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#26 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#66 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#42 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#49 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#58 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#79 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#51 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#68 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#45 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#40 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#38 integrate .. //depot/projects/smpng/sys/netsmb/smb_conn.c#16 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#20 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#15 integrate .. //depot/projects/smpng/sys/posix4/ksched.c#19 integrate .. //depot/projects/smpng/sys/posix4/p1003_1b.c#14 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/db_trace.c#16 integrate .. //depot/projects/smpng/sys/security/mac/mac_vfs.c#12 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/db_trace.c#27 integrate .. //depot/projects/smpng/sys/sys/libkern.h#21 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#62 integrate .. //depot/projects/smpng/sys/sys/param.h#101 integrate .. //depot/projects/smpng/sys/sys/protosw.h#20 integrate .. //depot/projects/smpng/sys/sys/syscall.h#70 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#70 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#40 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#73 integrate .. //depot/projects/smpng/sys/sys/thr.h#9 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_alloc.c#41 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#65 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#80 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/db_trace.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.74 2006/03/13 23:56:44 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#19 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.147 2006/07/12 06:04:11 jkim Exp $"); #include "opt_cpu.h" @@ -306,8 +306,8 @@ "\020" "\001LAHF" /* LAHF/SAHF in long mode */ "\002CMP" /* CMP legacy */ - "\003" - "\004" + "\003SVM" /* Secure Virtual Mode */ + "\004ExtAPIC" /* Extended APIC register */ "\005CR8" /* CR8 in legacy mode */ "\006" "\007" ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#18 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.19 2006/02/28 22:24:54 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.20 2006/07/12 21:22:42 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#23 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.25 2006/03/20 19:39:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.26 2006/07/12 21:22:42 jhb Exp $"); #include "opt_hwpmc_hooks.h" ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#63 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.565 2006/07/06 06:17:08 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.566 2006/07/17 03:10:17 alc Exp $"); /* * Manages physical address maps. @@ -1627,6 +1627,7 @@ int idx, field, bit; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -2015,8 +2016,8 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pmap, pv->pv_va, ptepde); + free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); - free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); } ==== //depot/projects/smpng/sys/amd64/include/specialreg.h#10 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.33 2006/05/01 22:07:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.35 2006/07/13 16:09:40 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -109,16 +109,18 @@ #define CPUID_SS 0x08000000 #define CPUID_HTT 0x10000000 #define CPUID_TM 0x20000000 -#define CPUID_B30 0x40000000 +#define CPUID_IA64 0x40000000 #define CPUID_PBE 0x80000000 #define CPUID2_SSE3 0x00000001 #define CPUID2_MON 0x00000008 #define CPUID2_DS_CPL 0x00000010 +#define CPUID2_VMX 0x00000020 #define CPUID2_EST 0x00000080 #define CPUID2_TM2 0x00000100 #define CPUID2_CNTXID 0x00000400 #define CPUID2_CX16 0x00002000 +#define CPUID2_XTPR 0x00004000 /* * Important bits in the AMD extended cpuid flags @@ -135,6 +137,8 @@ #define AMDID2_LAHF 0x00000001 #define AMDID2_CMP 0x00000002 +#define AMDID2_SVM 0x00000004 +#define AMDID2_EXT_APIC 0x00000008 #define AMDID2_CR8 0x00000010 /* @@ -188,6 +192,7 @@ #define MSR_THERM_CONTROL 0x19a #define MSR_THERM_INTERRUPT 0x19b #define MSR_THERM_STATUS 0x19c +#define MSR_IA32_MISC_ENABLE 0x1a0 #define MSR_DEBUGCTLMSR 0x1d9 #define MSR_LASTBRANCHFROMIP 0x1db #define MSR_LASTBRANCHTOIP 0x1dc @@ -356,7 +361,7 @@ #define AMD_WT_ALLOC_PRE 0x20000 /* programmable range enable */ #define AMD_WT_ALLOC_FRE 0x10000 /* fixed (A0000-FFFFF) range enable */ -/* X86-64 MSR's */ +/* AMD64 MSR's */ #define MSR_EFER 0xc0000080 /* extended features */ #define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target/cs/ss */ #define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target rip */ ==== //depot/projects/smpng/sys/arm/arm/db_trace.c#15 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.12 2005/09/10 03:01:24 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.13 2006/07/12 21:22:42 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/arm/arm/in_cksum.c#7 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.6 2006/03/09 23:33:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.7 2006/07/18 00:07:05 cognet Exp $"); #include #include @@ -89,6 +89,17 @@ return (sum); } +static +uint64_t _do_cksum(void *addr, int len) +{ + uint64_t sum; + union q_util q_util; + + sum = do_cksum(addr, len); + REDUCE32; + return (sum); +} + u_short in_cksum_skip(struct mbuf *m, int len, int skip) { @@ -120,9 +131,9 @@ mlen = len; if ((clen ^ (int) addr) & 1) - sum += do_cksum(addr, mlen) << 8; + sum += _do_cksum(addr, mlen) << 8; else - sum += do_cksum(addr, mlen); + sum += _do_cksum(addr, mlen); clen += mlen; len -= mlen; ==== //depot/projects/smpng/sys/arm/arm/vm_machdep.c#21 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.26 2006/07/15 23:15:31 cognet Exp $"); #include #include @@ -512,7 +512,7 @@ void *ret; struct arm_small_page *sp, *tmp; TAILQ_HEAD(,arm_small_page) *head; - static int in_alloc; + static struct thread *in_alloc; static int in_sleep; int should_wakeup = 0; @@ -532,12 +532,13 @@ if (!sp) { /* No more free pages, need to alloc more. */ - if (!(wait & M_WAITOK)) { + if (!(wait & M_WAITOK) || + in_alloc == curthread) { mtx_unlock(&smallalloc_mtx); *flags = UMA_SLAB_KMEM; return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT)); } - if (in_alloc) { + if (in_alloc != NULL) { /* Somebody else is already doing the allocation. */ in_sleep++; msleep(&in_alloc, &smallalloc_mtx, PWAIT, @@ -545,14 +546,14 @@ in_sleep--; goto retry; } - in_alloc = 1; + in_alloc = curthread; mtx_unlock(&smallalloc_mtx); /* Try to alloc 1MB of contiguous memory. */ ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ? SECTION_PT : SECTION_CACHE); mtx_lock(&smallalloc_mtx); - in_alloc = 0; - if (in_sleep) + in_alloc = NULL; + if (in_sleep > 0) should_wakeup = 1; if (sp) { for (int i = 0; i < (0x100000 / PAGE_SIZE) - 1; ==== //depot/projects/smpng/sys/arm/at91/at91_pio.c#3 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pio.c,v 1.2 2006/07/02 03:50:44 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pio.c,v 1.3 2006/07/14 22:22:57 imp Exp $"); #include #include @@ -280,21 +280,29 @@ * them. */ void -at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask) +at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_ASR / 4] = periph_a_mask; PIO[PIO_PDR / 4] = periph_a_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = periph_a_mask; + else + PIO[PIO_PUDR / 4] = periph_a_mask; } void -at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask) +at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_BSR / 4] = periph_b_mask; PIO[PIO_PDR / 4] = periph_b_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = periph_b_mask; + else + PIO[PIO_PUDR / 4] = periph_b_mask; } void @@ -314,11 +322,15 @@ } void -at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask) +at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_OER / 4] = output_enable_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = output_enable_mask; + else + PIO[PIO_PUDR / 4] = output_enable_mask; } void ==== //depot/projects/smpng/sys/arm/at91/at91_piovar.h#2 (text+ko) ==== @@ -22,16 +22,17 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_piovar.h,v 1.1 2006/07/02 03:50:44 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_piovar.h,v 1.2 2006/07/14 22:22:57 imp Exp $ */ #ifndef ARM_AT91_AT91_PIOVAR_H #define ARM_AT91_AT91_PIOVAR_H -void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask); -void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask); +void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup); +void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup); void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask); void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask); -void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask); +void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, + int use_pullup); void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask); void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask); ==== //depot/projects/smpng/sys/arm/at91/at91_pmc.c#3 (text) ==== @@ -22,8 +22,10 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_at91.h" + #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.2 2006/06/17 23:22:10 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.3 2006/07/14 22:01:51 imp Exp $"); #include #include @@ -397,7 +399,11 @@ pmc_softc->dev = dev; if ((err = at91_pmc_activate(dev)) != 0) return err; +#ifdef AT91_TSC + at91_pmc_init_clock(pmc_softc, 16000000); +#else at91_pmc_init_clock(pmc_softc, 10000000); +#endif return (0); } ==== //depot/projects/smpng/sys/arm/at91/at91_rtc.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_rtc.c,v 1.1 2006/03/24 07:35:30 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_rtc.c,v 1.2 2006/07/14 21:37:19 imp Exp $"); #include #include @@ -223,9 +223,14 @@ static int at91_rtc_settime(device_t dev, struct timespec *ts) { - // XXX UGLY XXX - printf("SET TIME\n"); - return (EINVAL); + struct at91_rtc_softc *sc; + struct clocktime ct; + + sc = device_get_softc(dev); + clock_ts_to_ct(ts, &ct); + WR4(sc, RTC_TIMR, RTC_TIMR_MK(ct.hour, ct.min, ct.sec)); + WR4(sc, RTC_CALR, RTC_CALR_MK(ct.year, ct.mon, ct.day, ct.dow)); + return (0); } static device_method_t at91_rtc_methods[] = { ==== //depot/projects/smpng/sys/arm/at91/at91_rtcreg.h#2 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_rtcreg.h,v 1.1 2006/03/24 07:35:30 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_rtcreg.h,v 1.2 2006/07/14 22:06:01 imp Exp $ */ #ifndef ARM_AT91_AT91_RTCREG_H #define ARM_AT91_AT91_RTCREG_H @@ -74,7 +74,7 @@ #define RTC_CALR_DAY_S 24 #define RTC_CALR_DAY(x) FROMBCD(((x) & RTC_CALR_DAY_M) >> RTC_CALR_DAY_S) #define RTC_CALR_MK(yr, mon, day, dow) \ - ((TOBCD((yr) / 100 + 19) << RTC_CALR_CENTURY_S) | \ + ((TOBCD((yr) / 100 + 19) << RTC_CALR_CEN_S) | \ (TOBCD((yr) % 100) << RTC_CALR_YEAR_S) | \ (TOBCD(mon) << RTC_CALR_MON_S) | \ (TOBCD(dow) << RTC_CALR_DOW_S) | \ ==== //depot/projects/smpng/sys/arm/at91/at91_spi.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.1 2006/02/04 23:32:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.2 2006/07/14 21:35:59 imp Exp $"); #include #include @@ -39,7 +39,10 @@ #include #include -#include +#include + +#include +#include "spibus_if.h" struct at91_spi_softc { @@ -48,13 +51,8 @@ struct resource *irq_res; /* IRQ resource */ struct resource *mem_res; /* Memory resource */ struct mtx sc_mtx; /* basically a perimeter lock */ - int flags; -#define XFER_PENDING 1 /* true when transfer taking place */ -#define OPENED 2 /* Device opened */ -#define RXRDY 4 -#define TXCOMP 8 -#define TXRDY 0x10 - struct cdev *cdev; + bus_dma_tag_t dmatag; /* bus dma tag for mbufs */ + bus_dmamap_t map[4]; /* Maps for the transaction */ }; static inline uint32_t @@ -77,7 +75,6 @@ #define AT91_SPI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); #define AT91_SPI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); #define AT91_SPI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); -#define CDEV2SOFTC(dev) ((dev)->si_drv1) static devclass_t at91_spi_devclass; @@ -86,25 +83,11 @@ static int at91_spi_probe(device_t dev); static int at91_spi_attach(device_t dev); static int at91_spi_detach(device_t dev); -static void at91_spi_intr(void *); /* helper routines */ static int at91_spi_activate(device_t dev); static void at91_spi_deactivate(device_t dev); -/* cdev routines */ -static d_open_t at91_spi_open; -static d_close_t at91_spi_close; -static d_ioctl_t at91_spi_ioctl; - -static struct cdevsw at91_spi_cdevsw = -{ - .d_version = D_VERSION, - .d_open = at91_spi_open, - .d_close = at91_spi_close, - .d_ioctl = at91_spi_ioctl -}; - static int at91_spi_probe(device_t dev) { @@ -116,7 +99,7 @@ at91_spi_attach(device_t dev) { struct at91_spi_softc *sc = device_get_softc(dev); - int err; + int err, i; sc->dev = dev; err = at91_spi_activate(dev); @@ -126,31 +109,45 @@ AT91_SPI_LOCK_INIT(sc); /* - * Activate the interrupt + * Allocate DMA tags and maps */ - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, - at91_spi_intr, sc, &sc->intrhand); - if (err) { - AT91_SPI_LOCK_DESTROY(sc); + err = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, + BUS_SPACE_MAXADDR, NULL, NULL, 2058, 1, 2048, BUS_DMA_ALLOCNOW, + NULL, NULL, &sc->dmatag); + if (err != 0) goto out; + for (i = 0; i < 4; i++) { + err = bus_dmamap_create(sc->dmatag, 0, &sc->map[i]); + if (err != 0) + goto out; } - sc->cdev = make_dev(&at91_spi_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "spi%d", device_get_unit(dev)); - if (sc->cdev == NULL) { - err = ENOMEM; - goto out; - } - sc->cdev->si_drv1 = sc; -#if 0 - /* init */ - sc->cwgr = SPI_CWGR_CKDIV(1) | - SPI_CWGR_CHDIV(SPI_CWGR_DIV(SPI_DEF_CLK)) | - SPI_CWGR_CLDIV(SPI_CWGR_DIV(SPI_DEF_CLK)); + // reset the SPI WR4(sc, SPI_CR, SPI_CR_SWRST); - WR4(sc, SPI_CR, SPI_CR_MSEN | SPI_CR_SVDIS); - WR4(sc, SPI_CWGR, sc->cwgr); -#endif + + WR4(sc, SPI_MR, (0xf << 24) | SPI_MR_MSTR | SPI_MR_MODFDIS | + (0xE << 16)); + + WR4(sc, SPI_CSR0, SPI_CSR_CPOL | (4 << 16) | (2 << 8)); + WR4(sc, SPI_CR, SPI_CR_SPIEN); + + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS); + WR4(sc, PDC_PTCR, PDC_PTCR_RXTDIS); + WR4(sc, PDC_RNPR, 0); + WR4(sc, PDC_RNCR, 0); + WR4(sc, PDC_TNPR, 0); + WR4(sc, PDC_TNCR, 0); + WR4(sc, PDC_RPR, 0); + WR4(sc, PDC_RCR, 0); + WR4(sc, PDC_TPR, 0); + WR4(sc, PDC_TCR, 0); + WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN); + RD4(sc, SPI_RDR); + RD4(sc, SPI_SR); + + device_add_child(dev, "spibus", -1); + bus_generic_attach(dev); out:; if (err) at91_spi_deactivate(dev); @@ -208,229 +205,70 @@ } static void -at91_spi_intr(void *xsc) +at91_getaddr(void *arg, bus_dma_segment_t *segs, int nsegs, int error) { - struct at91_spi_softc *sc = xsc; -#if 0 - uint32_t status; - - /* Reading the status also clears the interrupt */ - status = RD4(sc, SPI_SR); - if (status == 0) + if (error != 0) return; - AT91_SPI_LOCK(sc); - if (status & SPI_SR_RXRDY) - sc->flags |= RXRDY; - if (status & SPI_SR_TXCOMP) - sc->flags |= TXCOMP; - if (status & SPI_SR_TXRDY) - sc->flags |= TXRDY; - AT91_SPI_UNLOCK(sc); -#endif - wakeup(sc); - return; -} - -static int -at91_spi_open(struct cdev *dev, int oflags, int devtype, struct thread *td) -{ - struct at91_spi_softc *sc; - - sc = CDEV2SOFTC(dev); - AT91_SPI_LOCK(sc); - if (!(sc->flags & OPENED)) { - sc->flags |= OPENED; -#if 0 - WR4(sc, SPI_IER, SPI_SR_TXCOMP | SPI_SR_RXRDY | SPI_SR_TXRDY | - SPI_SR_OVRE | SPI_SR_UNRE | SPI_SR_NACK); -#endif - } - AT91_SPI_UNLOCK(sc); - return (0); + *(bus_addr_t *)arg = segs[0].ds_addr; } static int -at91_spi_close(struct cdev *dev, int fflag, int devtype, struct thread *td) +at91_spi_transfer(device_t dev, device_t child, struct spi_command *cmd) { struct at91_spi_softc *sc; + int i; + bus_addr_t addr; - sc = CDEV2SOFTC(dev); - AT91_SPI_LOCK(sc); - sc->flags &= ~OPENED; -#if 0 - WR4(sc, SPI_IDR, SPI_SR_TXCOMP | SPI_SR_RXRDY | SPI_SR_TXRDY | - SPI_SR_OVRE | SPI_SR_UNRE | SPI_SR_NACK); -#endif - AT91_SPI_UNLOCK(sc); - return (0); -} + sc = device_get_softc(dev); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); + i = 0; + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_cmd, + cmd->tx_cmd_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_TPR, addr); + WR4(sc, PDC_TCR, cmd->tx_cmd_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); + i++; + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_TNPR, addr); + WR4(sc, PDC_TNCR, cmd->tx_cmd_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); + i++; + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_cmd, + cmd->tx_cmd_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_RPR, addr); + WR4(sc, PDC_RCR, cmd->tx_cmd_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); + i++; + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_RNPR, addr); + WR4(sc, PDC_RNCR, cmd->tx_data_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); -static int -at91_spi_read_master(struct at91_spi_softc *sc, struct at91_spi_io *xfr) -{ -#if 1 - return ENOTTY; -#else - uint8_t *walker; - uint8_t buffer[256]; - size_t len; - int err = 0; + WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN); - if (xfr->xfer_len > sizeof(buffer)) - return (EINVAL); - walker = buffer; - len = xfr->xfer_len; - RD4(sc, SPI_RHR); - // Master mode, with the right address and interal addr size - WR4(sc, SPI_MMR, SPI_MMR_IADRSZ(xfr->iadrsz) | SPI_MMR_MREAD | - SPI_MMR_DADR(xfr->dadr)); - WR4(sc, SPI_IADR, xfr->iadr); - WR4(sc, SPI_CR, SPI_CR_START); - while (len-- > 1) { - while (!(sc->flags & RXRDY)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "spird", - 0); - if (err) - return (err); - } - sc->flags &= ~RXRDY; - *walker++ = RD4(sc, SPI_RHR) & 0xff; - } - WR4(sc, SPI_CR, SPI_CR_STOP); - while (!(sc->flags & TXCOMP)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "spird2", 0); - if (err) - return (err); - } - sc->flags &= ~TXCOMP; - *walker = RD4(sc, SPI_RHR) & 0xff; - if (xfr->xfer_buf) { - AT91_SPI_UNLOCK(sc); - err = copyout(buffer, xfr->xfer_buf, xfr->xfer_len); - AT91_SPI_LOCK(sc); - } - return (err); -#endif -} + // wait for completion + // XXX should be done as an ISR of some sort. + while (RD4(sc, SPI_SR) & SPI_SR_ENDRX) + DELAY(700); -static int -at91_spi_write_master(struct at91_spi_softc *sc, struct at91_spi_io *xfr) -{ -#if 1 - return ENOTTY; -#else - uint8_t *walker; - uint8_t buffer[256]; - size_t len; - int err; - - if (xfr->xfer_len > sizeof(buffer)) - return (EINVAL); - walker = buffer; - len = xfr->xfer_len; - AT91_SPI_UNLOCK(sc); - err = copyin(xfr->xfer_buf, buffer, xfr->xfer_len); - AT91_SPI_LOCK(sc); - if (err) - return (err); - /* Setup the xfr for later readback */ - xfr->xfer_buf = 0; - xfr->xfer_len = 1; - while (len--) { - WR4(sc, SPI_MMR, SPI_MMR_IADRSZ(xfr->iadrsz) | SPI_MMR_MWRITE | - SPI_MMR_DADR(xfr->dadr)); - WR4(sc, SPI_IADR, xfr->iadr++); - WR4(sc, SPI_THR, *walker++); - WR4(sc, SPI_CR, SPI_CR_START); - /* - * If we get signal while waiting for TXRDY, make sure we - * try to stop this device - */ - while (!(sc->flags & TXRDY)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "spiwr", - 0); - if (err) - break; - } - WR4(sc, SPI_CR, SPI_CR_STOP); - if (err) - return (err); - while (!(sc->flags & TXCOMP)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "spiwr2", - 0); - if (err) - return (err); - } - /* Readback */ - at91_spi_read_master(sc, xfr); - } - return (err); -#endif -} - -static int -at91_spi_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, - struct thread *td) -{ - int err = 0; - struct at91_spi_softc *sc; - - sc = CDEV2SOFTC(dev); - AT91_SPI_LOCK(sc); - while (sc->flags & XFER_PENDING) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, - "spiwait", 0); - if (err) { - AT91_SPI_UNLOCK(sc); - return (err); - } - } - sc->flags |= XFER_PENDING; - - switch (cmd) - { - case SPIIOCXFER: - { - struct at91_spi_io *xfr = (struct at91_spi_io *)data; - switch (xfr->type) - { - case SPI_IO_READ_MASTER: - err = at91_spi_read_master(sc, xfr); - break; - case SPI_IO_WRITE_MASTER: - err = at91_spi_write_master(sc, xfr); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 19 15:34:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 161C716A4E2; Wed, 19 Jul 2006 15:34:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7E2816A4E0 for ; Wed, 19 Jul 2006 15:34:28 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A44E743DD1 for ; Wed, 19 Jul 2006 15:33:41 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JFXTcS053665 for ; Wed, 19 Jul 2006 15:33:29 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JFXThm053662 for perforce@freebsd.org; Wed, 19 Jul 2006 15:33:29 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 15:33:29 GMT Message-Id: <200607191533.k6JFXThm053662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101939 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 15:34:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=101939 Change 101939 by gabor@gabor_spitfire on 2006/07/19 15:33:28 IFC Affected files ... .. //depot/projects/soc2006/gabor_ports/UPDATING#8 integrate Differences ... ==== //depot/projects/soc2006/gabor_ports/UPDATING#8 (text+ko) ==== @@ -6,6 +6,17 @@ time you update your ports collection, before attempting any port upgrades. +20060719: + AFFECTS: users of mail/postfix + AUTHOR: mnag@FreeBSD.org + + mail/postfix are updated to 2.3.0, and now doesn't support POSTFIX_OPTIONS, + consider using "make config" to set your OPTIONS. Patch SPF are removed too, + this patch doesn't apply cleanly and have problems when use pipe(8). Consider + using mail/postfix-policyd-spf instead of patch SPF. + + If you need of Postfix 2.2 version you can found in mail/postfix22. + 20060715: AFFECTS: users of Aspell or its versions bundled with dictionaries AUTHOR: thierry@FreeBSD.org @@ -3850,4 +3861,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.364 2006/07/15 14:28:26 thierry Exp $ +$FreeBSD: ports/UPDATING,v 1.365 2006/07/19 12:59:10 mnag Exp $ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 15:44:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD64F16A4DD; Wed, 19 Jul 2006 15:44:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A72D716A4DE for ; Wed, 19 Jul 2006 15:44:43 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6171043D70 for ; Wed, 19 Jul 2006 15:44:43 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JFihdR054393 for ; Wed, 19 Jul 2006 15:44:43 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JFihqI054390 for perforce@freebsd.org; Wed, 19 Jul 2006 15:44:43 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 15:44:43 GMT Message-Id: <200607191544.k6JFihqI054390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101940 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 15:44:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=101940 Change 101940 by gabor@gabor_spitfire on 2006/07/19 15:44:14 Whitespace correction for @101930. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#47 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#47 (text+ko) ==== @@ -1424,7 +1424,6 @@ .endif .endif - PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg .if ${OSVERSION} >= 500036 From owner-p4-projects@FreeBSD.ORG Wed Jul 19 16:22:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C5F516A4E6; Wed, 19 Jul 2006 16:22:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 532C416A4E1 for ; Wed, 19 Jul 2006 16:22:36 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E096143D62 for ; Wed, 19 Jul 2006 16:22:32 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JGMWiM057918 for ; Wed, 19 Jul 2006 16:22:32 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JGMWE1057915 for perforce@freebsd.org; Wed, 19 Jul 2006 16:22:32 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 16:22:32 GMT Message-Id: <200607191622.k6JGMWE1057915@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 16:22:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101944 Change 101944 by gabor@gabor_spitfire on 2006/07/19 16:22:31 IFC Affected files ... .. //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#48 edit Differences ... ==== //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#5 (text+ko) ==== @@ -1,7 +1,7 @@ 601102 + 6.1-STABLE after the resolver update to + BIND9, and exposure of reentrant version of + netdb functions. + 601103 + + 7.0-CURRENT. 700000 @@ -9309,6 +9315,10 @@ 7.0-CURRENT after removal of ip6fw. 700017 + + 7.0-CURRENT after import of snd_emu10kx. + 700018 + @@ -10089,12 +10099,16 @@ - If a port fetches compiled i386 binaries and installs them - IA32_BINARY_PORT should be set. If this variable - is set it will be checked if the kernel has compiled-in IA32 - compatibility and if one of these two dependencies isn't available - IGNORE will be set automatically. + If a port fetches i386 binaries and installs them, + IA32_BINARY_PORT should be set. If this + variable is set, it will be checked whether the + /usr/lib32 directory is available for + IA32 versions of libraries and whether the kernel + has IA32 compatibility compiled in. If one of these two + dependencies is not satisfied, IGNORE will + be set automatically. + ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#48 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Wed Jul 19 16:35:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 748DF16A4E2; Wed, 19 Jul 2006 16:35:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1973C16A4DD for ; Wed, 19 Jul 2006 16:35:55 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0625E43D4C for ; Wed, 19 Jul 2006 16:35:49 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JGZnZk058677 for ; Wed, 19 Jul 2006 16:35:49 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JGZnn4058674 for perforce@freebsd.org; Wed, 19 Jul 2006 16:35:49 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 16:35:49 GMT Message-Id: <200607191635.k6JGZnn4058674@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101945 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 16:35:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=101945 Change 101945 by gabor@gabor_spitfire on 2006/07/19 16:35:49 Document the new SYSCTL variable. PR: ports/98105 Requested by: erwin Affected files ... .. //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#6 edit Differences ... ==== //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#6 (text+ko) ==== @@ -10207,9 +10207,10 @@ make index, then has to run the command, further slowing down that process. - Usage of sysctl should always be - fully qualified with /sbin/, as some users - may not have that directory in their PATH. + Usage of sysctl should always done + with the SYSCTL variable, as it contains the + fully qualified path and can be overriden, if one has such a + special need. From owner-p4-projects@FreeBSD.ORG Wed Jul 19 16:46:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 657DF16A4DE; Wed, 19 Jul 2006 16:46:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C3D416A4E6 for ; Wed, 19 Jul 2006 16:46:34 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78DD843DBC for ; Wed, 19 Jul 2006 16:46:03 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JGk32u059158 for ; Wed, 19 Jul 2006 16:46:03 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JGk3XV059155 for perforce@freebsd.org; Wed, 19 Jul 2006 16:46:03 GMT (envelope-from gabor@FreeBSD.org) Date: Wed, 19 Jul 2006 16:46:03 GMT Message-Id: <200607191646.k6JGk3XV059155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101947 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 16:46:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=101947 Change 101947 by gabor@gabor_spitfire on 2006/07/19 16:45:55 Roll back one wrong s/ECHO_CMD/ECHO_MSG/ substitution. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#49 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#49 (text+ko) ==== @@ -5511,7 +5511,7 @@ .if defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" .if defined(USE_RCORDER) @${ECHO_MSG} "===> Installing early rc.d startup script(s)" - @${ECHO_MSG} "@cwd /" >> ${TMPPLIST} + @${ECHO_CMD} "@cwd /" >> ${TMPPLIST} @for i in ${USE_RCORDER}; do \ ${INSTALL_SCRIPT} ${WRKDIR}/$${i} /etc/rc.d/$${i%.sh}; \ ${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 18:39:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DEF816A4E1; Wed, 19 Jul 2006 18:39:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4412A16A4DE for ; Wed, 19 Jul 2006 18:39:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7ED943D49 for ; Wed, 19 Jul 2006 18:39:28 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JIdSBG075036 for ; Wed, 19 Jul 2006 18:39:28 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JIdSce075033 for perforce@freebsd.org; Wed, 19 Jul 2006 18:39:28 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 18:39:28 GMT Message-Id: <200607191839.k6JIdSce075033@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 18:39:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=101953 Change 101953 by jhb@jhb_mutex on 2006/07/19 18:39:19 - Fixes to fchroot(): - vput() the vnode if any of the checks fail - vrele() the vnode after change_root() to drop our earlier VREF(). - Fixes to waitsys(): - Compile fixes since ru isn't a pointer. - Fix a few more places that have q vs p mixed up since I switched them to match the usage in kern_wait(). Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#54 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#54 (text+ko) ==== @@ -620,13 +620,20 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); error = change_dir(vp, td); + if (error) + goto fail; #ifdef MAC - if (error == 0) - error = mac_check_vnode_chroot(td->td_ucred, vp); + error = mac_check_vnode_chroot(td->td_ucred, vp); + if (error) + goto fail; #endif VOP_UNLOCK(vp, 0, td); - if (error == 0) - error = change_root(vp, td); + error = change_root(vp, td); + vrele(vp); + VFS_UNLOCK_GIANT(vfslocked); + return (error); +fail: + vput(vp); VFS_UNLOCK_GIANT(vfslocked); return (error); } @@ -1138,7 +1145,7 @@ pid_t pid; int nfound, status; int error, *retval = td->td_retval; - struct proc *p, *q, *t; + struct proc *p, *q; DPRINTF(("waitsys(%d, %d, %p, %x)\n", uap->grp, uap->id, @@ -1151,9 +1158,9 @@ break; case SVR4_P_PGID: - PROC_LOCK(p); + PROC_LOCK(q); pid = -q->p_pgid; - PROC_UNLOCK(p); + PROC_UNLOCK(q); break; case SVR4_P_ALL: @@ -1204,7 +1211,7 @@ PROC_LOCK(p); if (pid != WAIT_ANY && p->p_pid != pid && p->p_pgid != -pid) { - PROC_UNLOCK(q); + PROC_UNLOCK(p); DPRINTF(("pid %d pgid %d != %d\n", p->p_pid, p->p_pgid, pid)); continue; @@ -1228,8 +1235,8 @@ /* Found a zombie, so cache info in local variables. */ pid = p->p_pid; status = p->p_xstat; - ru = p->p_ru; - calcru(p, &ru->ru_utime, &ru->ru_stime); + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); PROC_UNLOCK(p); sx_sunlock(&proctree_lock); @@ -1254,8 +1261,8 @@ sx_sunlock(&proctree_lock); pid = p->p_pid; status = W_STOPCODE(p->p_xstat); - ru = p->p_ru; - calcru(p, &ru->ru_utime, &ru->ru_stime); + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { @@ -1275,9 +1282,9 @@ if (((uap->options & SVR4_WNOWAIT)) == 0) p->p_flag &= ~P_CONTINUED; pid = p->p_pid; - ru = p->p_ru; + ru = *p->p_ru; status = SIGCONT; - calcru(p, &ru->ru_utime, &ru->ru_stime); + calcru(p, &ru.ru_utime, &ru.ru_stime); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { From owner-p4-projects@FreeBSD.ORG Wed Jul 19 18:41:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 704C216A4EC; Wed, 19 Jul 2006 18:41:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 02C1816A4E0 for ; Wed, 19 Jul 2006 18:41:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E935B43D66 for ; Wed, 19 Jul 2006 18:41:31 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JIfVvQ075262 for ; Wed, 19 Jul 2006 18:41:31 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JIfVsI075259 for perforce@freebsd.org; Wed, 19 Jul 2006 18:41:31 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 18:41:31 GMT Message-Id: <200607191841.k6JIfVsI075259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 18:41:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101954 Change 101954 by jhb@jhb_mutex on 2006/07/19 18:40:50 IFC @101952 - loopback. Affected files ... .. //depot/projects/smpng/sys/compat/linux/linux_socket.c#35 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#11 integrate .. //depot/projects/smpng/sys/ddb/db_command.c#34 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#27 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#90 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#112 integrate Differences ... ==== //depot/projects/smpng/sys/compat/linux/linux_socket.c#35 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.69 2006/07/08 20:03:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.70 2006/07/19 18:28:52 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#11 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_socket.c,v 1.25 2005/07/07 19:27:29 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_socket.c,v 1.26 2006/07/19 18:26:09 jhb Exp $"); #include #include @@ -107,19 +107,6 @@ mtx_lock(&Giant); - /* - * Wait for the TAILQ to be initialized. Only the very first CPU - * will succeed on the atomic_cmpset(). The other CPU's will spin - * until the first one finishes the initialization. Once the - * initialization is complete, the condition will always fail - * avoiding expensive atomic operations in the common case. - */ - while (svr4_str_initialized != 2) - if (atomic_cmpset_acq_int(&svr4_str_initialized, 0, 1)) { - TAILQ_INIT(&svr4_head); - atomic_store_rel_int(&svr4_str_initialized, 2); - } - e = malloc(sizeof(*e), M_TEMP, M_WAITOK); e->cookie = NULL; e->dev = st->st_dev; ==== //depot/projects/smpng/sys/ddb/db_command.c#34 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.67 2006/07/12 21:22:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.68 2006/07/19 18:26:53 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/dev/streams/streams.c#27 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.51 2006/07/18 22:31:33 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.52 2006/07/19 18:26:09 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/kern/uipc_syscalls.c#90 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.231 2006/07/10 21:38:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.232 2006/07/19 18:28:52 jhb Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" ==== //depot/projects/smpng/sys/kern/vfs_syscalls.c#112 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.417 2006/07/11 20:52:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.418 2006/07/19 18:30:33 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" From owner-p4-projects@FreeBSD.ORG Wed Jul 19 18:57:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9262F16A4E0; Wed, 19 Jul 2006 18:57:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57B1316A4DA for ; Wed, 19 Jul 2006 18:57:56 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE40E43D6E for ; Wed, 19 Jul 2006 18:57:54 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JIvsdw076234 for ; Wed, 19 Jul 2006 18:57:54 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JIvsh4076231 for perforce@freebsd.org; Wed, 19 Jul 2006 18:57:54 GMT (envelope-from bushman@freebsd.org) Date: Wed, 19 Jul 2006 18:57:54 GMT Message-Id: <200607191857.k6JIvsh4076231@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 101956 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 18:57:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=101956 Change 101956 by bushman@bushman_nss_ldap_cached on 2006/07/19 18:57:27 nss_ldap development in progress Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#2 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#2 (text+ko) ==== @@ -8,7 +8,8 @@ #SHLIB_NAME= nss_ldap.so.${SHLIB_MAJOR} #SHLIBDIR?= /lib -SRCS= nss_ldap.c ldap_passwd.c ldapconn.c ldapschema.c ldaputil.c +SRCS= nss_ldap.c ldap_passwd.c ldapconn.c ldapconf.c ldapschema.c \ + ldapsearch.c ldaputil.c CFLAGS+=-I${.CURDIR}/../libnssutil -I/usr/local/include CFLAGS+=-DINET6 ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#2 (text+ko) ==== @@ -29,10 +29,88 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include +#include +#include "ldapconn.h" +#include "ldapschema.h" +#include "ldapconf.h" +#include "ldapsearch.h" #include "ldaputil.h" - + +//static int nss_ldap_parse_passwd(struct nss_ldap_parse_context *, +// struct nss_ldap_search_context *); + + +int +__nss_ldap_parse_passwd(struct nss_ldap_parse_context *pctx, + struct nss_ldap_search_context *sctx) +{ + struct nss_ldap_schema *schema; + struct passwd *pwd; + char *buf; + size_t buflen; + size_t len; + int rv; + + assert(pctx != NULL); + assert(sctx != NULL); + + schema = &sctx->conf->schema; + + rv = __nss_ldap_assign_attr_str(sctx, + _ATM(schema, PASSWD, uid), + &pwd->pw_name, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + rv = __nss_ldap_assign_attr_uid(sctx, + _AT(schema, uidNumber), + &pwd->pw_uid); + if (rv != 0) + goto errfin; + + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, gecos), + &pwd->pw_gecos, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, homeDirectory), + &pwd->pw_dir, &len, buf, buflen); + if (rv != 0) + rv = __nss_ldap_assign_str("", &pwd->pw_dir, &len, buf, + buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, loginShell), + &pwd->pw_shell, &len, buf, buflen); + if (rv != 0) + rv = __nss_ldap_assign_str("", &pwd->pw_shell, &len, buf, + buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + +fin: + return (0); + +errfin: + return (-1); +} + int __ldap_setpwent(void *retval, void *mdata, va_list ap) { ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#2 (text+ko) ==== @@ -26,5 +26,13 @@ * $FreeBSD$ */ +#ifndef _LDAP_PASSWD_H_ +#define _LDAP_PASSWD_H_ + +extern int __nss_ldap_parse_passwd(struct nss_ldap_parse_context *, + struct nss_ldap_search_context *); + extern int __ldap_setpwent(void *, void *, va_list); extern int __ldap_passwd(void *, void *, va_list); + +#endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#2 (text+ko) ==== @@ -27,3 +27,304 @@ #include __FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include "ldapschema.h" +#include "ldapconf.h" + +#define NSS_BASE_PREFIX ("nss_base_") +#define NSS_BASE_PREFIX_SIZE (9) + +static int +strbreak(char *str, char **fields, int fields_size) +{ + char *c = str; + int i, num; + + num = 0; + for (i = 0; + ((*fields = + strsep(i < fields_size ? &c : NULL, "\n\t ")) != NULL); + ++i) + if ((*(*fields)) != '\0') { + ++fields; + ++num; + } + + return (num); +} + +static int +get_number(const char *str, int low, int max) +{ + + char *end = NULL; + int res = 0; + + if (str[0] == '\0') + return (-1); + + res = strtol(str, &end, 10); + if (*end != '\0') + return (-1); + else + if (((res >= low) || (low == -1)) && + ((res <= max) || (max == -1))) + return (res); + else + return (-2); +} + +static int +set_base_map(struct nss_ldap_configuration *conf, + char const *left_arg, char const *right_arg) +{ + int rv; + + left_arg = left_arg + NSS_BASE_PREFIX_SIZE; + rv = -1; + + if (strcmp(left_arg, "passwd") == 0) + rv = __nss_ldap_set_schema_filter_base(&conf->schema, + NSS_LDAP_MAP_PASSWD, right_arg); + else if (strcmp(left_arg, "group") == 0) + rv = __nss_ldap_set_schema_filter_base(&conf->schema, + NSS_LDAP_MAP_GROUP, right_arg); + + return (rv); +} + +static int +set_schema_rule(struct nss_ldap_configuration *conf, int rule_id, + char const *arg1, char const *arg2) +{ + struct nss_ldap_schema_rule rule; + struct nss_ldap_rules_collection *rules_coll; + int rv; + + assert(conf != NULL); + assert(arg1 != NULL); + assert(arg2 != NULL); + + rv = __nss_ldap_init_rule(&rule, arg1, arg2); + if (rv != 0) + return (-1); + + rules_coll = __nss_ldap_get_schema_rules(&conf->schema, rule_id); + if (rules_coll == NULL) + return (-1); + + rv = __nss_ldap_add_rule(rules_coll, &rule); + return (rv); +} + +void +__nss_ldap_init_default_config(struct nss_ldap_configuration *conf) +{ + + assert(conf != NULL); + memset(conf, 0, sizeof(struct nss_ldap_configuration)); + + conf->host = strdup("ident2.r61.net ident1.r61.net"); + assert(conf->host != NULL); + + conf->port = LDAP_PORT; + conf->proto_version = NSS_LDAP_PROTO_VERSION_3; + conf->ssl_mode = NSS_LDAP_SSL_START_TLS; + + conf->bind_dn = strdup( + "uid=nssproxy,ou=Users,ou=LDAPAccess,ou=Domains,dc=r61,dc=net"); + assert(conf->bind_dn != NULL); + + conf->root_bind_dn = strdup(conf->bind_dn); + assert(conf->root_bind_dn != NULL); + + conf->bind_pw = strdup("[passwd]"); + assert(conf->bind_pw != NULL); + +// conf->base_passwd = strdup( +// "ou=Users,ou=R61.NET,ou=Domains,dc=r61,dc=net"); +// assert(conf->base_passwd != NULL); +} + +int +__nss_ldap_load_config_from_file(struct nss_ldap_configuration *conf, + char const *fname, struct nss_ldap_config_file_error *err) +{ + FILE *fin; + char buffer[1024]; + char *fields[16]; + int field_count, line_num, value; + int i, res; + + assert(conf != NULL); + assert(fname != NULL); + + printf("fname: %s %d\n", fname, conf->proto_version); + fin = fopen(fname, "r"); + if (fin == NULL) + return (-1); + + res = 0; + line_num = 0; + memset(buffer, 0, sizeof(buffer)); + while ((res == 0) && (fgets(buffer, sizeof(buffer) - 1, fin) != NULL)) { + printf("buffer: %s\n", buffer); + field_count = strbreak(buffer, fields, sizeof(fields)); + ++line_num; + + + if (field_count == 0) + continue; + + switch (fields[0][0]) { + case '#': + case '\0': + printf("== %s, %d ==\n", __FILE__, __LINE__); + continue; + case 'h': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strcmp(fields[0], "host") == 0) { + /* TODO: add support for multiple hosts */ + if (field_count >= 2) { + free(conf->host); + conf->host = strdup(fields[1]); + assert(conf->host != NULL); + continue; + } + } + break; + case 'b': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strcmp(fields[0], "base") == 0) { + if (field_count == 2) { + free(conf->base); + conf->base = strdup(fields[1]); + assert(conf->base != NULL); + continue; + } + } else if (strcmp(fields[0], "binddn") == 0) { + if (field_count == 2) { + free(conf->bind_dn); + conf->bind_dn = strdup(fields[1]); + assert(conf->bind_dn != NULL); + continue; + } + } else if (strcmp(fields[0], "bindpw") == 0) { + if (field_count == 2) { + free(conf->bind_pw); + conf->bind_pw = strdup(fields[1]); + assert(conf->bind_pw != NULL); + continue; + } + } + break; + case 'l': + printf("== %s, %d ==\n", __FILE__, __LINE__); + /* NOTE: we'd probably better use + * NSS_LDAP_PROTO_VERSION_2 and + * NSS_LDAP_PROTO_VERSION_3 constants here */ + if (strcmp(fields[0], "ldap-version") == 0) { + if ((field_count == 2) && + (value = get_number(fields[1], 2, 3) != -1)) { + conf->proto_version = value; + continue; + } + } + break; + case 'n': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strncmp(fields[0], NSS_BASE_PREFIX, + NSS_BASE_PREFIX_SIZE) == 0) { + + if ((field_count == 2) && (set_base_map(conf, + fields[0], fields[1]) != -1)) + continue; + } else if (strcmp(fields[0], "nss_map_attribute") == 0) { + if ((field_count == 3) && + (set_schema_rule(conf, + NSS_LDAP_SCHEMA_MAP_ATTRIBUTE_RULES, + fields[1], + fields[2]) == 0)) + continue; + } else if (strcmp(fields[0], "nss_map_objectclass") == 0) { + if ((field_count == 3) && + (set_schema_rule(conf, + NSS_LDAP_SCHEMA_MAP_OBJECTCLASS_RULES, + fields[1], + fields[2]) == 0)) + continue; + } else if (strcmp(fields[0], "nss_default_attribute_value") == 0) { + if ((field_count == 3) && + (set_schema_rule(conf, + NSS_LDAP_SCHEMA_DEFAULT_VALUE_RULES, + fields[1], + fields[2]) == 0)) + continue; + } else if (strcmp(fields[0], "nss_override_attribute_value") == 0) { + if ((field_count == 3) && + (set_schema_rule(conf, + NSS_LDAP_SCHEMA_OVERRIDE_VALUE_RULES, + fields[1], + fields[2]) == 0)) + continue; + } + break; + case 'p': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strcmp(fields[0], "port") == 0) { + if ((field_count == 2) && + (value = get_number(fields[1], 0, -1) != -1)) { + conf->port = value; + continue; + } + } + break; + case 'r': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strcmp(fields[0], "rootbinddn") == 0) { + if (field_count == 2) { + free(conf->root_bind_dn); + conf->root_bind_dn = strdup(fields[1]); + assert(conf->root_bind_dn != NULL); + continue; + } + } + break; + case 's': + printf("== %s, %d ==\n", __FILE__, __LINE__); + if (strcmp(fields[0], "ssl") == 0) { + if (field_count == 2) { + if (strcmp(fields[1], "off") == 0) { + conf->ssl_mode = NSS_LDAP_SSL_OFF; + continue; + } else if (strcmp(fields[1], "on") == 0) { + conf->ssl_mode = NSS_LDAP_SSL_ON; + continue; + } else if (strcmp(fields[1], "start_tls") == 0) { + conf->ssl_mode = NSS_LDAP_SSL_START_TLS; + continue; + } + } + } + break; + default: + break; + } + + res = -1; + } + fclose(fin); + + return (res); +} + +void +__nss_ldap_destroy_config(struct nss_ldap_configuration *config) +{ + +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#2 (text+ko) ==== @@ -25,3 +25,56 @@ * * $FreeBSD$ */ + +#ifndef _LDAPCONF_H_ +#define _LDAPCONF_H_ + +#define NSS_LDAP_SCOPE_SUB 0 +#define NSS_LDAP_SCOPE_ONE 1 +#define NSS_LDAP_SCOPE_BASE 2 + +#define NSS_LDAP_DEREF_NEVER 0 +#define NSS_LDAP_DEREF_FINDING 1 +#define NSS_LDAP_DEREF_SEARCHING 2 +#define NSS_LDAP_DEREF_ALWAYS 3 + +#define NSS_LDAP_SSL_OFF 0 +#define NSS_LDAP_SSL_ON 1 +#define NSS_LDAP_SSL_START_TLS 2 + +#define NSS_LDAP_SCHEMA_RFC2307 0 +#define NSS_LDAP_SCHEMA_RFC2307BIS 1 + +#define NSS_LDAP_PROTO_VERSION_2 2 +#define NSS_LDAP_PROTO_VERSION_3 3 + +#define NSS_LDAP_MAX_ERR_DESC_SIZE 256 + +struct nss_ldap_configuration +{ + char *host; + int port; + int proto_version; + int ssl_mode; + + char *base; + + char *root_bind_dn; + char *bind_dn; + char *bind_pw; + + struct nss_ldap_schema schema; +}; + +struct nss_ldap_config_file_error +{ + char buffer[NSS_LDAP_MAX_ERR_DESC_SIZE]; + int line; +}; + +void __nss_ldap_init_default_config(struct nss_ldap_configuration *); +int __nss_ldap_load_config_from_file(struct nss_ldap_configuration *, + char const *, struct nss_ldap_config_file_error *); +void __nss_ldap_destroy_config(struct nss_ldap_configuration *); + +#endif /* _LDAPCONF_H_ */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#2 (text+ko) ==== @@ -28,9 +28,13 @@ #include __FBSDID("$FreeBSD$"); +#include +#include #include #include #include +#include "ldapschema.h" +#include "ldapconf.h" #include "ldaputil.h" #include "ldapconn.h" @@ -40,7 +44,11 @@ struct nss_ldap_connection_error *err) { - return (NULL); + assert(method != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->connect_fn(conf, err)); } int @@ -49,7 +57,12 @@ struct nss_ldap_connection_error *err) { - return (0); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->auth_fn(conn, conf, err)); } struct nss_ldap_connection * @@ -58,7 +71,12 @@ struct nss_ldap_connection_error *err) { - return (NULL); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->reconnect_fn(conn, conf, err)); } int @@ -67,7 +85,12 @@ struct nss_ldap_connection_error *err) { - return (0); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->disconnect_fn(conn, conf, err)); } int @@ -76,7 +99,12 @@ struct nss_ldap_connection_error *err) { - return (0); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->prepare_fork_fn(conn, conf, err)); } int @@ -85,7 +113,12 @@ struct nss_ldap_connection_error *err) { - return (0); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->parent_fork_fn(conn, conf, err)); } int @@ -94,7 +127,12 @@ struct nss_ldap_connection_error *err) { - return (0); + assert(method != NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + return (method->child_fork_fn(conn, conf, err)); } #ifdef NSS_LDAP_SIMPLE_AUTH_ENABLED @@ -102,17 +140,166 @@ __nss_ldap_simple_connect(struct nss_ldap_configuration *conf, struct nss_ldap_connection_error *err) { + struct nss_ldap_connection *conn; + int ldap_version; + int rv; - return (NULL); + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + conn = (struct nss_ldap_connection *)malloc(sizeof( + struct nss_ldap_connection)); + assert(conn != NULL); + memset(conn, 0, sizeof(struct nss_ldap_connection)); + + conn->ld = (LDAP *)ldap_init(conf->host, conf->port); + if (conn->ld == NULL) { + printf("--> %s %d\n", __FILE__, __LINE__); + // TODO: error handling here + free(conn); + return (NULL); + } + + switch (conf->proto_version) { + case NSS_LDAP_PROTO_VERSION_2: + ldap_version = LDAP_VERSION2; + break; + case NSS_LDAP_PROTO_VERSION_3: + ldap_version = LDAP_VERSION3; + break; + default: + // NOT REACHABLE + break; + } + + printf("ldap_version: %d\n", conf->proto_version); + rv = ldap_set_option(conn->ld, LDAP_OPT_PROTOCOL_VERSION, + &ldap_version); + if (rv != LDAP_SUCCESS) { + printf("--> %s %d %d %d %d\n", __FILE__, __LINE__, rv, LDAP_SUCCESS, ldap_version); + ldap_perror(conn->ld, "----->"); + // TODO: error checking + ldap_unbind(conn->ld); + free(conn); + return (NULL); + } + + + return (conn); } - -struct nss_ldap_simple_connection * -__nss_ldap_simple_reconnect(struct nss_ldap_connection *conn, + +int +__nss_ldap_simple_auth(struct nss_ldap_connection *conn, struct nss_ldap_configuration *conf, struct nss_ldap_connection_error *err) -{ +{ + LDAPMessage *res; + int msgid = 0, rc = 0, parse_rc = 0, finished = 0; + char *matched_msg = NULL, *error_msg = NULL; + char **referrals; + LDAPControl **serverctrls; + struct timeval zerotime; + + char *bind_dn; + char *bind_pw; + + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + if (geteuid() != 0) + bind_dn = conf->bind_dn; + else + bind_dn = conf->root_bind_dn; + + /* TODO: maybe we should have root_bind_pw? */ + bind_pw = conf->bind_pw; + + printf("bind_dn: %s, bind_pw: %s\n", bind_dn, bind_pw); + - return (NULL); + /* Send an LDAP bind request to the server. */ + msgid = ldap_simple_bind(conn->ld, bind_dn, bind_pw); + + /* If the returned message ID is less than zero, an error occurred. */ + if ( msgid < 0 ) { + /* NOTE: can't use ldap_result2error here */ + err->err_num = msgid; + strlcpy(err->description, ldap_err2string(rc), + sizeof(err->description)); + return (-1); + } + + /* Check to see if the bind operation completed. */ + while ( !finished ) { + rc = ldap_result( conn->ld, msgid, 0, &zerotime, &res ); + switch ( rc ) { + /* If ldap_result() returns -1, error occurred. */ + case -1: + err->err_num = ldap_result2error(conn->ld, res, 0); + strlcpy(err->description, ldap_err2string(rc), + sizeof(err->description)); + return (-1); + + /* If ldap_result() returns 0, the timeout (specified by the + timeout argument) has been exceeded before the client received + the results from the server. Continue calling ldap_result() + to poll for results from the server. */ + case 0: + break; + + default: + /* The client has received the result of the bind operation. */ + finished = 1; + + /* Parse this result to determine if the operation was successful. + Note that a non-zero value is passed as the last parameter, + which indicates that the LDAPMessage structure res should be + freed when done. (No need to call ldap_msgfree().) */ + parse_rc = ldap_parse_result( conn->ld, res, &rc, + &matched_msg, &error_msg, &referrals, + &serverctrls, 1 ); + if ( parse_rc != LDAP_SUCCESS ) { + err->err_num = parse_rc; + strlcpy(err->description, ldap_err2string(rc), + sizeof(err->description)); + return (-1); + } + + /* Check the results of the operation. */ + if ( rc != LDAP_SUCCESS ) { + err->err_num = rc; + strlcpy(err->description, ldap_err2string(rc), + sizeof(err->description)); + + /* If the server sent an additional error message, + print it out. */ + if ( error_msg != NULL && *error_msg != '\0' ) { + strlcat(err->description, ", ", + sizeof(err->description)); + strlcat(err->description, error_msg, + sizeof(err->description)); + } + + /* If an entry specified by a DN could not be found, + the server may also return the portion of the DN + that identifies an existing entry. + (See"Receiving the Portion of the DN Matching an Entry" + for an explanation.) */ + if ( matched_msg != NULL && *matched_msg != '\0' ) { + strlcat(err->description, + ", matched part:", + sizeof(err->description)); + strlcat(err->description, matched_msg, + sizeof(err->description)); + } + return (-1); + } else + return (0); + break; + } + } } int @@ -121,7 +308,19 @@ struct nss_ldap_connection_error *err) { - return (NULL); + int rv; + + assert(conn != NULL); + assert(conf != NULL); + assert(err != NULL); + + rv = ldap_unbind(conn->ld); + if (rv != LDAP_SUCCESS) { + //TODO: error checking + return (-1); + } + + return (0); } int @@ -132,7 +331,7 @@ memset(method, 0, sizeof(struct nss_ldap_connection_method)); method->connect_fn = __nss_ldap_simple_connect; - method->reconnect_fn = __nss_ldap_simple_reconnect; + method->auth_fn = __nss_ldap_simple_auth; method->disconnect_fn = __nss_ldap_simple_disconnect; return (0); @@ -153,73 +352,36 @@ __nss_ldap_start_tls_connect(struct nss_ldap_configuration *conf, struct nss_ldap_connection_error *err) { - struct nss_ldap_start_tls_connection *conn; - int rv, int msgid; + struct nss_ldap_connection *conn; + int rv; - assert(conf != NULL); - assert(err != NULL); - - conn = (struct nss_ldap_start_tls_connection *)malloc( - sizeof(struct nss_ldap_start_tls_connection)); - assert(conn != NULL); - memset(conn, 0, sizeof(struct nss_ldap_start_tls_connection)); - conn->conn_type = NSS_LDAP_CONNECTION_START_TLS; - - conn->ld = ldap_init(conf->host, conf->port); - if (conn->ld == NULL) { - /* TODO: error checking */ - free(conn); + conn = __nss_ldap_simple_connect(conf, err); + if (conn == NULL) return (NULL); - } - rv = ldap_start_tls(conn->ld, NULL, NULL); + rv = ldap_start_tls_s(conn->ld, NULL, NULL); if (rv != LDAP_SUCCESS) { /* TODO: error checking */ - ldap_unbind(conn->ld); - free(conn); + __nss_ldap_simple_disconnect(conn, conf, err); return (NULL); } - rv = ldap_bind( - - return ((struct nss_ldap_connection *)conn); + return (conn); } -struct nss_ldap_connection * -__nss_ldap_start_tls_reconnect(struct nss_ldap_connection *conn, - struct nss_ldap_configuration *conf, - struct nss_ldap_connection_error *err) +int +__nss_ldap_init_start_tls_simple_auth_method( + struct nss_ldap_connection_method *method) { - - /* TODO: implement */ - return (NULL); -} - -int -__nss_ldap_start_tls_disconnect(struct nss_ldap_connection *conn, - struct nss_ldap_configuration *conf, - struct nss_ldap_connection_error *err) -{ int rv; + assert(method != NULL); - assert(conn != NULL); - assert(conf != NULL); - assert(err != NULL); + rv = __nss_ldap_init_simple_auth_method(method); + if (rv != 0) + return (rv); - rv = ldap_unbind(conn->ld); - if (rv != LDAP_SUCCESS) { - /* TODO: error checking code */ - rv = -1; - } else - rv = 0; - - free(conn); - return (rv); -} - -int -__nss_ldap_start_tls_auth_method(struct nss_ldap_connection_method *method) -{ + /* Replacing standard connect routine with start-tls specific */ + method->connect_fn = __nss_ldap_start_tls_connect; return (0); } ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#2 (text+ko) ==== @@ -26,9 +26,16 @@ * $FreeBSD$ */ +#ifndef _LDAPCONN_H_ +#define _LDAPCONN_H_ + +/* TODO: remove in release */ +#define NSS_LDAP_START_TLS_AUTH_ENABLED +#define NSS_LDAP_SIMPLE_AUTH_ENABLED + #define NSS_LDAP_MAX_ERR_DESC_SIZE 256 /* TODO: is this correct? */ -#define NSS_LDAP_SOCK_NAME_SIZE (sizeof(struct sockaddr)) +#define NSS_LDAP_SOCK_NAME_SIZE 32 #define NSS_LDAP_CONNECTION_SIMPLE 0 #define NSS_LDAP_CONNECTION_SSL 1 @@ -40,6 +47,8 @@ char sockname[NSS_LDAP_SOCK_NAME_SIZE]; char peername[NSS_LDAP_SOCK_NAME_SIZE]; + + void *mdata; }; struct nss_ldap_connection_error @@ -48,6 +57,8 @@ int err_num; }; +struct nss_ldap_configuration; + typedef struct nss_ldap_connection *(*nss_ldap_conn_fn)( struct nss_ldap_configuration *, struct nss_ldap_connection_error *); @@ -77,11 +88,10 @@ struct nss_ldap_connection_method *, struct nss_ldap_configuration *, struct nss_ldap_connection_error *); extern int __nss_ldap_auth(struct nss_ldap_connection_method *, - struct nss_ldap_connection *, struct nss_ldap_configuration, + struct nss_ldap_connection *, struct nss_ldap_configuration *, struct nss_ldap_connection_error *); extern struct nss_ldap_connection *__nss_ldap_reconnect( - struct nss_ldap_connection_method *, - struct nss_ldap_connection *, + struct nss_ldap_connection_method *, struct nss_ldap_connection *, struct nss_ldap_configuration *, struct nss_ldap_connection_error *); extern int __nss_ldap_disconnect( @@ -101,13 +111,9 @@ struct nss_ldap_connection_error *); #ifdef NSS_LDAP_SIMPLE_AUTH_ENABLED -/* TODO: this is a bit dirty */ -#define nss_ldap_connection nss_ldap_simple_connection - extern struct nss_ldap_connection *__nss_ldap_simple_connect( struct nss_ldap_configuration *, struct nss_ldap_connection_error *); -extern struct nss_ldap_simple_connection *__nss_ldap_simple_reconnect( - struct nss_ldap_connection *, +extern int __nss_ldap_simple_auth(struct nss_ldap_connection *, struct nss_ldap_configuration *, struct nss_ldap_connection_error *); extern int __nss_ldap_simple_disconnect(struct nss_ldap_connection *, struct nss_ldap_configuration *, @@ -118,22 +124,14 @@ #endif #ifdef NSS_LDAP_SSL_AUTH_ENABLED -extern int __nss_ldap_init_ssl_auth_method( - struct nss_ldap_connection_method *); #endif #if defined(NSS_LDAP_START_TLS_AUTH_ENABLED) && defined(NSS_LDAP_SIMPLE_AUTH_ENABLED) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 19 19:01:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50F4516A4DE; Wed, 19 Jul 2006 19:01:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 11C0316A4DA for ; Wed, 19 Jul 2006 19:01:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B382043D4C for ; Wed, 19 Jul 2006 19:00:59 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JJ0xZa076412 for ; Wed, 19 Jul 2006 19:00:59 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JJ0x8K076409 for perforce@freebsd.org; Wed, 19 Jul 2006 19:00:59 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 19:00:59 GMT Message-Id: <200607191900.k6JJ0x8K076409@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101957 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 19:01:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=101957 Change 101957 by jhb@jhb_mutex on 2006/07/19 19:00:13 Fix a lock leak. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#55 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#55 (text+ko) ==== @@ -1312,6 +1312,7 @@ } PROC_LOCK(q); + sx_sunlock(&proctree_lock); if (q->p_flag & P_STATCHILD) { q->p_flag &= ~P_STATCHILD; error = 0; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 20:24:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F24016A4FD; Wed, 19 Jul 2006 20:24:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3DF9216A4F1 for ; Wed, 19 Jul 2006 20:24:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34F2643E5C for ; Wed, 19 Jul 2006 20:20:42 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JKKgjv083406 for ; Wed, 19 Jul 2006 20:20:42 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JKKffs083402 for perforce@freebsd.org; Wed, 19 Jul 2006 20:20:41 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 20:20:41 GMT Message-Id: <200607192020.k6JKKffs083402@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101960 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 20:24:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=101960 Change 101960 by jhb@jhb_mutex on 2006/07/19 20:19:51 IFC @101959 - loopback. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#56 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#14 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#13 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#13 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#13 integrate .. //depot/projects/smpng/sys/compat/svr4/syscalls.master#21 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#28 integrate .. //depot/projects/smpng/sys/kern/subr_autoconf.c#10 integrate Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#56 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.86 2006/07/11 20:52:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.88 2006/07/19 19:03:03 jhb Exp $"); #include "opt_mac.h" ==== //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#14 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.22 2006/07/11 20:55:22 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.23 2006/07/11 20:52:07 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.23 2006/07/19 19:03:21 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp */ #ifndef _SVR4_SYSPROTO_H_ ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.20 2006/07/11 20:55:22 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.23 2006/07/11 20:52:07 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.21 2006/07/19 19:03:21 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp */ #define SVR4_SYS_exit 1 ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.20 2006/07/11 20:55:22 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.23 2006/07/11 20:52:07 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.21 2006/07/19 19:03:21 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp */ const char *svr4_syscallnames[] = { ==== //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.21 2006/07/11 20:55:22 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.23 2006/07/11 20:52:07 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.22 2006/07/19 19:03:21 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp */ #include @@ -127,7 +127,7 @@ { SYF_MPSAFE | AS(svr4_sys_fstatvfs_args), (sy_call_t *)svr4_sys_fstatvfs, AUE_NULL }, /* 104 = svr4_sys_fstatvfs */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 105 = whoknows */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 106 = nfssvc */ - { AS(svr4_sys_waitsys_args), (sy_call_t *)svr4_sys_waitsys, AUE_NULL }, /* 107 = svr4_sys_waitsys */ + { SYF_MPSAFE | AS(svr4_sys_waitsys_args), (sy_call_t *)svr4_sys_waitsys, AUE_NULL }, /* 107 = svr4_sys_waitsys */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 108 = sigsendsys */ { SYF_MPSAFE | AS(svr4_sys_hrtsys_args), (sy_call_t *)svr4_sys_hrtsys, AUE_NULL }, /* 109 = svr4_sys_hrtsys */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 110 = acancel */ @@ -229,7 +229,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 206 = schedctl */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 207 = pset */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 208 = whoknows */ - { AS(svr4_sys_resolvepath_args), (sy_call_t *)svr4_sys_resolvepath, AUE_NULL }, /* 209 = svr4_sys_resolvepath */ + { SYF_MPSAFE | AS(svr4_sys_resolvepath_args), (sy_call_t *)svr4_sys_resolvepath, AUE_NULL }, /* 209 = svr4_sys_resolvepath */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 210 = signotifywait */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 211 = lwp_sigredirect */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 212 = lwp_alarm */ ==== //depot/projects/smpng/sys/compat/svr4/syscalls.master#21 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.23 2006/07/11 20:52:07 jhb Exp $ + $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp $ ; from: @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; ; System call name/number master file (or rather, slave, from SVR4). ==== //depot/projects/smpng/sys/dev/streams/streams.c#28 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.52 2006/07/19 18:26:09 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.53 2006/07/19 18:52:33 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/kern/subr_autoconf.c#10 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_autoconf.c,v 1.22 2005/01/06 23:35:39 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_autoconf.c,v 1.23 2006/07/19 18:53:56 jhb Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Wed Jul 19 21:11:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5347F16A4E0; Wed, 19 Jul 2006 21:11:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2DA0B16A4DE for ; Wed, 19 Jul 2006 21:11:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1F3343D46 for ; Wed, 19 Jul 2006 21:11:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JLBmmK095078 for ; Wed, 19 Jul 2006 21:11:48 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JLBm3q095075 for perforce@freebsd.org; Wed, 19 Jul 2006 21:11:48 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 21:11:48 GMT Message-Id: <200607192111.k6JLBm3q095075@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101964 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 21:11:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=101964 Change 101964 by jhb@jhb_mutex on 2006/07/19 21:11:08 - Move svr4_delete_socket() over to svr4_socket.c and make all the svr4_sockcache_entry stuff (including svr4_head) private to svr4_socket.c. - Add a mutex to protect the svr4 socket cache. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#12 edit .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#7 edit .. //depot/projects/smpng/sys/dev/streams/streams.c#29 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#12 (text+ko) ==== @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +66,20 @@ #include #include +struct svr4_sockcache_entry { + struct proc *p; /* Process for the socket */ + void *cookie; /* Internal cookie used for matching */ + struct sockaddr_un sock;/* Pathname for the socket */ + dev_t dev; /* Device where the socket lives on */ + ino_t ino; /* Inode where the socket lives on */ + TAILQ_ENTRY(svr4_sockcache_entry) entries; +}; + +static TAILQ_HEAD(, svr4_sockcache_entry) svr4_head = + TAILQ_HEAD_INITIALIZER(svr4_head); +static struct mtx svr4_head_lock; +MTX_SYSINIT(svr4_head_lock, &svr4_head_lock, "svr4_head", MTX_DEF); + struct sockaddr_un * svr4_find_socket(td, fp, dev, ino) struct thread *td; @@ -76,6 +91,7 @@ void *cookie = ((struct socket *)fp->f_data)->so_emuldata; DPRINTF(("svr4_find_socket: [%p,%d,%d]: ", td, dev, ino)); + mtx_lock(&svr4_head_lock); TAILQ_FOREACH(e, &svr4_head, entries) if (e->p == td->td_proc && e->dev == dev && e->ino == ino) { #ifdef DIAGNOSTIC @@ -84,18 +100,15 @@ #endif e->cookie = cookie; DPRINTF(("%s\n", e->sock.sun_path)); + mtx_unlock(&svr4_head_lock); return &e->sock; } + mtx_unlock(&svr4_head_lock); DPRINTF(("not found\n")); return NULL; } - -/* - * svr4_delete_socket() is in sys/dev/streams.c (because it's called by - * the streams "soo_close()" routine). - */ int svr4_add_socket(td, path, st) struct thread *td; @@ -105,8 +118,6 @@ struct svr4_sockcache_entry *e; int len, error; - mtx_lock(&Giant); - e = malloc(sizeof(*e), M_TEMP, M_WAITOK); e->cookie = NULL; e->dev = st->st_dev; @@ -124,13 +135,34 @@ e->sock.sun_family = AF_LOCAL; e->sock.sun_len = len; + mtx_lock(&svr4_head_lock); TAILQ_INSERT_HEAD(&svr4_head, e, entries); - mtx_unlock(&Giant); + mtx_unlock(&svr4_head_lock); DPRINTF(("svr4_add_socket: %s [%p,%d,%d]\n", e->sock.sun_path, td->td_proc, e->dev, e->ino)); return 0; } +void +svr4_delete_socket(p, fp) + struct proc *p; + struct file *fp; +{ + struct svr4_sockcache_entry *e; + void *cookie = ((struct socket *)fp->f_data)->so_emuldata; + + mtx_lock(&svr4_head_lock); + TAILQ_FOREACH(e, &svr4_head, entries) + if (e->p == p && e->cookie == cookie) { + TAILQ_REMOVE(&svr4_head, e, entries); + mtx_unlock(&svr4_head_lock); + DPRINTF(("svr4_delete_socket: %s [%p,%d,%d]\n", + e->sock.sun_path, p, (int)e->dev, e->ino)); + free(e, M_TEMP); + return; + } + mtx_unlock(&svr4_head_lock); +} int svr4_sys_socket(td, uap) ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#7 (text+ko) ==== @@ -53,17 +53,4 @@ void svr4_delete_socket(struct proc *, struct file *); int svr4_add_socket(struct thread *, const char *, struct stat *); -struct svr4_sockcache_entry { - struct proc *p; /* Process for the socket */ - void *cookie; /* Internal cookie used for matching */ - struct sockaddr_un sock;/* Pathname for the socket */ - dev_t dev; /* Device where the socket lives on */ - ino_t ino; /* Inode where the socket lives on */ - TAILQ_ENTRY(svr4_sockcache_entry) entries; -}; - -TAILQ_HEAD(svr4_sockcache_head, svr4_sockcache_entry); -extern struct svr4_sockcache_head svr4_head; -extern int svr4_str_initialized; - #endif /* _SVR4_SOCKET_H_ */ ==== //depot/projects/smpng/sys/dev/streams/streams.c#29 (text+ko) ==== @@ -68,8 +68,6 @@ static int svr4_ptm_alloc(struct thread *); static d_open_t streamsopen; -struct svr4_sockcache_head svr4_head; - /* * Device minor numbers */ @@ -119,7 +117,6 @@ { switch (type) { case MOD_LOAD: - TAILQ_INIT(&svr4_head); dt_ptm = make_dev(&streams_cdevsw, dev_ptm, 0, 0, 0666, "ptm"); dt_arp = make_dev(&streams_cdevsw, dev_arp, 0, 0, 0666, @@ -371,24 +368,6 @@ return st; } -void -svr4_delete_socket(p, fp) - struct proc *p; - struct file *fp; -{ - struct svr4_sockcache_entry *e; - void *cookie = ((struct socket *)fp->f_data)->so_emuldata; - - TAILQ_FOREACH(e, &svr4_head, entries) - if (e->p == p && e->cookie == cookie) { - TAILQ_REMOVE(&svr4_head, e, entries); - DPRINTF(("svr4_delete_socket: %s [%p,%d,%d]\n", - e->sock.sun_path, p, (int)e->dev, e->ino)); - free(e, M_TEMP); - return; - } -} - static int svr4_soo_close(struct file *fp, struct thread *td) { From owner-p4-projects@FreeBSD.ORG Wed Jul 19 21:25:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EFF516A4E0; Wed, 19 Jul 2006 21:25:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DF7EA16A4DA for ; Wed, 19 Jul 2006 21:25:06 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8CBA643D46 for ; Wed, 19 Jul 2006 21:25:06 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JLP6N3095738 for ; Wed, 19 Jul 2006 21:25:06 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JLP68A095735 for perforce@freebsd.org; Wed, 19 Jul 2006 21:25:06 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 21:25:06 GMT Message-Id: <200607192125.k6JLP68A095735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101966 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 21:25:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=101966 Change 101966 by jhb@jhb_mutex on 2006/07/19 21:24:39 Oops. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#13 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#13 (text+ko) ==== @@ -126,7 +126,6 @@ if ((error = copyinstr(path, e->sock.sun_path, sizeof(e->sock.sun_path), &len)) != 0) { - mtx_unlock(&Giant); DPRINTF(("svr4_add_socket: copyinstr failed %d\n", error)); free(e, M_TEMP); return error; From owner-p4-projects@FreeBSD.ORG Wed Jul 19 21:30:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDE7516A4F0; Wed, 19 Jul 2006 21:30:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 56F9E16A4E0 for ; Wed, 19 Jul 2006 21:30:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B25A843D46 for ; Wed, 19 Jul 2006 21:30:13 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JLUDg1095999 for ; Wed, 19 Jul 2006 21:30:13 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JLUDvK095995 for perforce@freebsd.org; Wed, 19 Jul 2006 21:30:13 GMT (envelope-from jhb@freebsd.org) Date: Wed, 19 Jul 2006 21:30:13 GMT Message-Id: <200607192130.k6JLUDvK095995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 21:30:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=101967 Change 101967 by jhb@jhb_mutex on 2006/07/19 21:29:33 Update. Affected files ... .. //depot/projects/smpng/sys/notes#83 edit Differences ... ==== //depot/projects/smpng/sys/notes#83 (text+ko) ==== @@ -84,12 +84,17 @@ + freebsd + compat32 - svr4 + - svr4_stream_get() and friends + - need to see where this is called and see if all of the files + should already have f_ops set correctly and if we can just + allocate so_emuldata directly in streamsopen() + - XXX: svr4_add_socket() can add duplicates? + - change svr4_find_socket() to copy the sockaddr out to a + passed in sockaddr_un and return bool - svr4_sys_ioctl() - svr4_sys_getmsg() - svr4_sys_putmsg() - + svr4_sys_waitsys() + svr4_sys_fchroot() - + svr4_sys_resolvepath() + linux + linux_uselib() + ibcs2 From owner-p4-projects@FreeBSD.ORG Wed Jul 19 21:46:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 19FBF16A4DF; Wed, 19 Jul 2006 21:46:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4F2016A4DD for ; Wed, 19 Jul 2006 21:46:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3781643D55 for ; Wed, 19 Jul 2006 21:46:34 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JLkYtl096772 for ; Wed, 19 Jul 2006 21:46:34 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JLkYhx096769 for perforce@freebsd.org; Wed, 19 Jul 2006 21:46:34 GMT (envelope-from jb@freebsd.org) Date: Wed, 19 Jul 2006 21:46:34 GMT Message-Id: <200607192146.k6JLkYhx096769@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 101968 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 21:46:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=101968 Change 101968 by jb@jb_freebsd2 on 2006/07/19 21:46:00 Remove the spinlock stubs from the unconditional files to build in. Affected files ... .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#5 edit Differences ... ==== //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#5 (text+ko) ==== @@ -4,7 +4,7 @@ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen -SRCS+= __xuname.c _rand48.c _spinlock_stub.c _thread_init.c \ +SRCS+= __xuname.c _rand48.c _thread_init.c \ alarm.c arc4random.c assert.c basename.c check_utility_compat.c \ clock.c closedir.c confstr.c \ crypt.c ctermid.c daemon.c devname.c dirname.c disklabel.c \ From owner-p4-projects@FreeBSD.ORG Wed Jul 19 22:34:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A511916A4DF; Wed, 19 Jul 2006 22:34:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B61016A4DA for ; Wed, 19 Jul 2006 22:34:36 +0000 (UTC) (envelope-from jmg@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 239C043D45 for ; Wed, 19 Jul 2006 22:34:36 +0000 (GMT) (envelope-from jmg@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6JMYaai000455 for ; Wed, 19 Jul 2006 22:34:36 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6JMYZIx000452 for perforce@freebsd.org; Wed, 19 Jul 2006 22:34:35 GMT (envelope-from jmg@freebsd.org) Date: Wed, 19 Jul 2006 22:34:35 GMT Message-Id: <200607192234.k6JMYZIx000452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Cc: Subject: PERFORCE change 101972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 22:34:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101972 Change 101972 by jmg@jmg_carbon-60 on 2006/07/19 22:34:18 pull the README from my branch.. Affected files ... .. //depot/projects/arm/README#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 20 00:56:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0844F16A4DF; Thu, 20 Jul 2006 00:56:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D89FF16A4DA for ; Thu, 20 Jul 2006 00:56:37 +0000 (UTC) (envelope-from trhodes@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A68CF43D46 for ; Thu, 20 Jul 2006 00:56:37 +0000 (GMT) (envelope-from trhodes@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6K0ub4M024048 for ; Thu, 20 Jul 2006 00:56:37 GMT (envelope-from trhodes@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6K0ubH3024045 for perforce@freebsd.org; Thu, 20 Jul 2006 00:56:37 GMT (envelope-from trhodes@freebsd.org) Date: Thu, 20 Jul 2006 00:56:37 GMT Message-Id: <200607200056.k6K0ubH3024045@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trhodes@freebsd.org using -f From: Tom Rhodes To: Perforce Change Reviews Cc: Subject: PERFORCE change 101974 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 00:56:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=101974 Change 101974 by trhodes@trhodes_local on 2006/07/20 00:56:23 Use void in a function which returns nothing. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#17 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#17 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#16 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#17 $ */ #include @@ -88,7 +88,7 @@ * Free our local list of directory names. */ static void -free_dir_q() +free_dir_q(void) { struct dir_ent *dirent; From owner-p4-projects@FreeBSD.ORG Thu Jul 20 07:09:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4432716A4DF; Thu, 20 Jul 2006 07:09:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 20C6D16A4DD for ; Thu, 20 Jul 2006 07:09:32 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4A4043D46 for ; Thu, 20 Jul 2006 07:09:31 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6K79VRG061194 for ; Thu, 20 Jul 2006 07:09:31 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6K79VXw061191 for perforce@freebsd.org; Thu, 20 Jul 2006 07:09:31 GMT (envelope-from kevlo@freebsd.org) Date: Thu, 20 Jul 2006 07:09:31 GMT Message-Id: <200607200709.k6K79VXw061191@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 101981 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 07:09:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=101981 Change 101981 by kevlo@kevlo_monet on 2006/07/20 07:09:03 Map expansion bus registers. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#6 (text+ko) ==== @@ -109,6 +109,13 @@ 0, &sc->sc_gpio_ioh)) panic("ixp%d: unable to map GPIO registers", unit); + /* + * Mapping for Expansion Bus Registers + */ + if (bus_space_map(sc->sc_iot, IXP425_EXP_HWBASE, IXP425_EXP_SIZE, + 0, &sc->sc_ioh)) + panic("ixp%d: unable to map expansion bus registers", unit); + intr_enabled = 0; ixp425_set_intrmask(); ixp425_set_intrsteer(); From owner-p4-projects@FreeBSD.ORG Thu Jul 20 10:56:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A4B416A4ED; Thu, 20 Jul 2006 10:56:14 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E8A616A4DE for ; Thu, 20 Jul 2006 10:56:13 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3505B43D46 for ; Thu, 20 Jul 2006 10:56:13 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KAuDik083848 for ; Thu, 20 Jul 2006 10:56:13 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KAuCjl083845 for perforce@freebsd.org; Thu, 20 Jul 2006 10:56:12 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 10:56:12 GMT Message-Id: <200607201056.k6KAuCjl083845@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101983 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 10:56:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=101983 Change 101983 by gabor@gabor_spitfire on 2006/07/20 10:55:56 Move the DESTDIR and PREFIX sanity checks to a better place to make it work on pointyhat. Submitted by: erwin Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#50 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#50 (text+ko) ==== @@ -1392,38 +1392,6 @@ .endif .endif -# These do some path checks if DESTDIR is set correctly. -# You can force skipping these test by defining IGNORE_PATH_CHECKS -.if !defined(IGNORE_PATH_CHECKS) -.if (${PREFIX:C,(^.).*,\1,} != "/") -.BEGIN: - @${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'" - @${ECHO_MSG} "is invoked in the work area PREFIX points to the right place." - @${FALSE} -.endif -.if defined(DESTDIR) -.if (${DESTDIR:C,(^.).*,\1,} != "/") -.if ${DESTDIR} == "/" -.BEGIN: - @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" - @${ECHO_MSG} "DESTDIR unset." - @${FALSE} -.else -.BEGIN: - @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" - @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." - @${FALSE} -.endif -.endif -.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") -.BEGIN: - @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" - @${ECHO_MSG} "slash and re-run 'make'" - @${FALSE} -.endif -.endif -.endif - PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg .if ${OSVERSION} >= 500036 @@ -1547,6 +1515,38 @@ .include "${PORTSDIR}/Mk/bsd.sdl.mk" .endif +# These do some path checks if DESTDIR is set correctly. +# You can force skipping these test by defining IGNORE_PATH_CHECKS +.if !defined(IGNORE_PATH_CHECKS) +.if (${PREFIX:C,(^.).*,\1,} != "/") +.BEGIN: + @${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'" + @${ECHO_MSG} "is invoked in the work area PREFIX points to the right place." + @${FALSE} +.endif +.if defined(DESTDIR) +.if (${DESTDIR:C,(^.).*,\1,} != "/") +.if ${DESTDIR} == "/" +.BEGIN: + @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" + @${ECHO_MSG} "DESTDIR unset." + @${FALSE} +.else +.BEGIN: + @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" + @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." + @${FALSE} +.endif +.endif +.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") +.BEGIN: + @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" + @${ECHO_MSG} "slash and re-run 'make'" + @${FALSE} +.endif +.endif +.endif + .if ${OSVERSION} >= 502123 X_WINDOW_SYSTEM ?= xorg .elif (${OSVERSION} >= 450005 && !defined(XFREE86_VERSION)) || \ From owner-p4-projects@FreeBSD.ORG Thu Jul 20 11:13:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2165616A4E1; Thu, 20 Jul 2006 11:13:37 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D61D516A4DA for ; Thu, 20 Jul 2006 11:13:36 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 840EB43D45 for ; Thu, 20 Jul 2006 11:13:36 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KBDavs086186 for ; Thu, 20 Jul 2006 11:13:36 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KBDagP086183 for perforce@freebsd.org; Thu, 20 Jul 2006 11:13:36 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 11:13:36 GMT Message-Id: <200607201113.k6KBDagP086183@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 11:13:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=101985 Change 101985 by gabor@gabor_spitfire on 2006/07/20 11:12:40 Add TARGETDIR= ${DESTDIR}${PREFIX} and change all ${DESTDIR}${PREFIX} occurrences to ${TARGETDIR}. This simplifies the code and make a substitute axpression work correctly, so that manpages are added to plist appropriately. Hook up TARGETDIR to SCRIPTS_ENV and PLSIT_SUB. Also hook up DESTDIR to PLIST_SUB, as it was only hooked to SCRIPTS_ENV. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#51 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#51 (text+ko) ==== @@ -472,7 +472,7 @@ # If this is set to a list of files, these files will be # automatically added to ${SUB_FILES}, some %%VAR%%'s will # automatically be expanded, they will be installed in -# ${DESTDIR}${PREFIX}/etc/rc.d and added to the packing list. +# ${TARGETDIR}/etc/rc.d and added to the packing list. # USE_RCORDER - List of rc.d startup scripts to be called early in the boot # process. This acts exactly like USE_RC_SUBR except that # scripts are installed in /etc/rc.d. @@ -492,6 +492,10 @@ # Various directory definitions and variables to control them. # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. # +# TARGETDIR - The fully qualified path, where everything is installed. +# See the other variables below. +# Default: ${DESTDIR}${PREFIX} +# # DESTDIR - The path to the environment we are installing to. Define # this if you want to install packages into a jail # or into an another FreeBSD environment mounted @@ -583,7 +587,7 @@ # installs its own manpage links so they will show up # correctly in ${PLIST}.) # MANPREFIX - The directory prefix for ${MAN} and ${MLINKS}. -# Default: ${DESTDIR}${PREFIX} +# Default: ${TARGETDIR} # MANPREFIX # - If manual pages of some sections install in different # locations than others, use these. @@ -884,14 +888,14 @@ # Note: that should only be used on 64-bit architectures. # # DOCSDIR - Name of the directory to install the packages docs in. -# Default: ${DESTDIR}${PREFIX}/share/doc/${PORTNAME} +# Default: ${TARGETDIR}/share/doc/${PORTNAME} # EXAMPLESDIR - Name of the directory to install the packages examples in. -# Default: ${DESTDIR}${PREFIX}/share/examples/${PORTNAME} +# Default: ${TARGETDIR}/share/examples/${PORTNAME} # DATADIR - Name of the directory to install the packages shared data in. -# Default: ${DESTDIR}${PREFIX}/share/${PORTNAME} +# Default: ${TARGETDIR}/share/${PORTNAME} # # DESKTOPDIR - Name of the directory to install ${DESKTOP_ENTRIES} in. -# Default: ${DESTDIR}${PREFIX}/share/applications +# Default: ${TARGETDIR}/share/applications # DESKTOP_ENTRIES # - List of desktop entry files to generate and install in # ${DESKTOPDIR}. The format is @@ -1329,6 +1333,8 @@ INDEXFILE?= INDEX .endif +TARGETDIR= ${DESTDIR}${PREFIX} + .if defined(USE_LINUX_RPM) .include "${PORTSDIR}/Mk/bsd.linux-rpm.mk" .endif @@ -1591,7 +1597,8 @@ BUILD_WRKSRC?= ${WRKSRC} INSTALL_WRKSRC?=${WRKSRC} -PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} +PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ + DESTDIR=${DESTDIR} TARGETDIR=${TARGETDIR} SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR} @@ -1933,10 +1940,10 @@ PL_BUILD?= Build CONFIGURE_ARGS+= \ create_packlist=0 \ - install_path=lib="${DESTDIR}${PREFIX}/${SITE_PERL_REL}" \ - install_path=arch="${DESTDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}" \ - install_path=script="${DESTDIR}${PREFIX}/bin" \ - install_path=bin="${DESTDIR}${PREFIX}/bin" \ + install_path=lib="${TARGETDIR}/${SITE_PERL_REL}" \ + install_path=arch="${TARGETDIR}/${SITE_PERL_REL}/${PERL_ARCH}" \ + install_path=script="${TARGETDIR}/bin" \ + install_path=bin="${TARGETDIR}/bin" \ install_path=libdoc="${MAN3PREFIX}/man/man3" \ install_path=bindoc="${MAN1PREFIX}/man/man1" .elif defined(PERL_CONFIGURE) @@ -2824,10 +2831,10 @@ PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX} .if defined(PERL_CONFIGURE) -CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${DESTDIR}${PREFIX}" \ - INSTALLPRIVLIB="${DESTDIR}${PREFIX}/lib" INSTALLARCHLIB="${DESTDIR}${PREFIX}/lib" +CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${TARGETDIR}" \ + INSTALLPRIVLIB="${TARGETDIR}/lib" INSTALLARCHLIB="${TARGETDIR}/lib" CONFIGURE_SCRIPT?= Makefile.PL -MAN3PREFIX?= ${DESTDIR}${PREFIX}/lib/perl5/${PERL_VERSION} +MAN3PREFIX?= ${TARGETDIR}/lib/perl5/${PERL_VERSION} .undef HAS_CONFIGURE .endif @@ -2854,7 +2861,7 @@ SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \ PORTSDIR=${PORTSDIR} DEPENDS="${DEPENDS}" \ PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} \ - DESTDIR=${DESTDIR} + DESTDIR=${DESTDIR} TARGETDIR=${DESTDIR} .if defined(BATCH) SCRIPTS_ENV+= BATCH=yes @@ -2863,7 +2870,7 @@ .if ${PREFIX} == /usr MANPREFIX?= ${DESTDIR}/usr/share .else -MANPREFIX?= ${DESTDIR}${PREFIX} +MANPREFIX?= ${TARGETDIR} .endif .for sect in 1 2 3 4 5 6 7 8 9 @@ -2941,9 +2948,9 @@ .if defined(_MANPAGES) .if defined(NOMANCOMPRESS) -__MANPAGES:= ${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%} +__MANPAGES:= ${_MANPAGES:S%^${TARGETDIR}}/%%} .else -__MANPAGES:= ${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%:S%$%.gz%} +__MANPAGES:= ${_MANPAGES:S%^${TARGETDIR}/%%:S%$%.gz%} .endif .if ${MANCOMPRESSED} == "yes" @@ -2958,16 +2965,16 @@ INFO_PATH?= info .endif -DOCSDIR?= ${DESTDIR}${PREFIX}/share/doc/${PORTNAME} -EXAMPLESDIR?= ${DESTDIR}${PREFIX}/share/examples/${PORTNAME} -DATADIR?= ${DESTDIR}${PREFIX}/share/${PORTNAME} +DOCSDIR?= ${TARGETDIR}/share/doc/${PORTNAME} +EXAMPLESDIR?= ${TARGETDIR}/share/examples/${PORTNAME} +DATADIR?= ${TARGETDIR}/share/${PORTNAME} -PLIST_SUB+= DOCSDIR="${DOCSDIR:S,^${DESTDIR}${PREFIX}/,,}" \ - EXAMPLESDIR="${EXAMPLESDIR:S,^${DESTDIR}${PREFIX}/,,}" \ - DATADIR="${DATADIR:S,^${DESTDIR}${PREFIX}/,,}" +PLIST_SUB+= DOCSDIR="${DOCSDIR:S,^${TARGETDIR}/,,}" \ + EXAMPLESDIR="${EXAMPLESDIR:S,^${TARGETDIR}/,,}" \ + DATADIR="${DATADIR:S,^${TARGETDIR}/,,}" -DESKTOPDIR?= ${DESTDIR}${PREFIX}/share/applications -_DESKTOPDIR_REL= ${DESKTOPDIR:S,^${DESTDIR}${PREFIX}/,,}/ +DESKTOPDIR?= ${TARGETDIR}/share/applications +_DESKTOPDIR_REL= ${DESKTOPDIR:S,^${TARGETDIR}/,,}/ .if ${_DESKTOPDIR_REL} == ${DESKTOPDIR}/ # DESKTOPDIR is not beneath PREFIX @@ -3799,12 +3806,12 @@ .if !target(install-mtree) install-mtree: - @${MKDIR} ${DESTDIR}${PREFIX} + @${MKDIR} ${TARGETDIR} @if [ `${ID} -u` != 0 ]; then \ - if [ -w ${DESTDIR}${PREFIX}/ ]; then \ + if [ -w ${TARGETDIR}/ ]; then \ ${ECHO_MSG} "Warning: not superuser, you may get some errors during installation."; \ else \ - ${ECHO_MSG} "Error: ${DESTDIR}${PREFIX}/ not writable."; \ + ${ECHO_MSG} "Error: ${TARGETDIR}/ not writable."; \ ${FALSE}; \ fi; \ fi @@ -3815,9 +3822,9 @@ ${ECHO_MSG} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \ exit 1; \ else \ - ${MTREE_CMD} ${MTREE_ARGS} ${DESTDIR}${PREFIX}/ >/dev/null; \ + ${MTREE_CMD} ${MTREE_ARGS} ${TARGETDIR}/ >/dev/null; \ if [ ${MTREE_FILE} = "/etc/mtree/BSD.local.dist" ]; then \ - cd ${DESTDIR}${PREFIX}/share/nls; \ + cd ${TARGETDIR}/share/nls; \ ${LN} -shf C POSIX; \ ${LN} -shf C en_US.US-ASCII; \ fi; \ @@ -5458,14 +5465,14 @@ @if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \ if [ ! -e ${DOCSDIR}/${x} ]; then \ ${ECHO_CMD} ${DOCSDIR}/${x} | \ - ${SED} -e 's,^${DESTDIR}${PREFIX}/,,' >> ${TMPPLIST}; \ + ${SED} -e 's,^${TARGETDIR}/,,' >> ${TMPPLIST}; \ fi;fi .endfor @${FIND} -P ${PORTDOCS:S/^/${DOCSDIR}\//} ! -type d 2>/dev/null | \ - ${SED} -ne 's,^${DESTDIR}${PREFIX}/,,p' >> ${TMPPLIST} + ${SED} -ne 's,^${TARGETDIR}/,,p' >> ${TMPPLIST} @${FIND} -P -d ${PORTDOCS:S/^/${DOCSDIR}\//} -type d 2>/dev/null | \ - ${SED} -ne 's,^${DESTDIR}${PREFIX}/,@dirrm ,p' >> ${TMPPLIST} - @${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${DESTDIR}${PREFIX}/,,}" >> ${TMPPLIST} + ${SED} -ne 's,^${TARGETDIR}/,@dirrm ,p' >> ${TMPPLIST} + @${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${TARGETDIR}/,,}" >> ${TMPPLIST} .else @${DO_NADA} .endif @@ -5476,10 +5483,10 @@ # Process GNU INFO files at package install/deinstall time .if defined(INFO) .for i in ${INFO} - install-info --quiet ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info ${DESTDIR}${PREFIX}/${INFO_PATH}/dir + install-info --quiet ${TARGETDIR}/${INFO_PATH}/$i.info ${TARGETDIR}/${INFO_PATH}/dir @${ECHO_CMD} "@unexec install-info --quiet --delete %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} - @${LS} ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${DESTDIR}${PREFIX}/::g >> ${TMPPLIST} + @${LS} ${TARGETDIR}/${INFO_PATH}/$i.info* | ${SED} -e s:${TARGETDIR}/::g >> ${TMPPLIST} @${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} @if [ "`${DIRNAME} $i`" != "." ]; then \ @@ -5523,12 +5530,12 @@ @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST} .if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101 )) @for i in ${USE_RC_SUBR}; do \ - ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/etc/rc.d/$${i%.sh}; \ + ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${TARGETDIR}/etc/rc.d/$${i%.sh}; \ ${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \ done .else @for i in ${USE_RC_SUBR}; do \ - ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/etc/rc.d/$${i%.sh}.sh; \ + ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${TARGETDIR}/etc/rc.d/$${i%.sh}.sh; \ ${ECHO_CMD} "etc/rc.d/$${i%.sh}.sh" >> ${TMPPLIST}; \ done .endif From owner-p4-projects@FreeBSD.ORG Thu Jul 20 11:17:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 855E616A4DF; Thu, 20 Jul 2006 11:17:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5BFA416A4DD for ; Thu, 20 Jul 2006 11:17:43 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F400443D45 for ; Thu, 20 Jul 2006 11:17:42 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KBHgSF086418 for ; Thu, 20 Jul 2006 11:17:42 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KBHgjq086415 for perforce@freebsd.org; Thu, 20 Jul 2006 11:17:42 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 11:17:42 GMT Message-Id: <200607201117.k6KBHgjq086415@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101986 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 11:17:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=101986 Change 101986 by gabor@gabor_spitfire on 2006/07/20 11:17:25 Hook up TARGETDIR to MAKE_ENV as well. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#52 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#52 (text+ko) ==== @@ -2109,7 +2109,10 @@ MAKE_FLAGS?= -f MAKEFILE?= Makefile -MAKE_ENV+= DESTDIR=${DESTDIR} PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" MANPREFIX="${MANPREFIX}" +MAKE_ENV+= TARGETDIR=${TARGETDIR} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \ + LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ + MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" MANPREFIX="${MANPREFIX}" .if ${OSVERSION} < 500016 PTHREAD_CFLAGS?= -D_THREAD_SAFE From owner-p4-projects@FreeBSD.ORG Thu Jul 20 11:31:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D314B16A4E1; Thu, 20 Jul 2006 11:31:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E92A16A4DA for ; Thu, 20 Jul 2006 11:31:01 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E32743D5A for ; Thu, 20 Jul 2006 11:30:59 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KBUxu7087402 for ; Thu, 20 Jul 2006 11:30:59 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KBUxWW087398 for perforce@freebsd.org; Thu, 20 Jul 2006 11:30:59 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 11:30:59 GMT Message-Id: <200607201130.k6KBUxWW087398@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101987 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 11:31:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=101987 Change 101987 by gabor@gabor_spitfire on 2006/07/20 11:30:30 Document IGNORE_PATH_CHECKS macro and sanity checks in the header. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#53 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#53 (text+ko) ==== @@ -521,6 +521,19 @@ # Default: ${X11BASE_REL} if USE_X_PREFIX is set, # ${LINUXBASE_REL} if USE_LINUX_PREFIX is set, # otherwise ${LOCALBASE_REL} +# +# IGNORE_PATH_CHECKS - There are some sanity checks against PREFIX and DESTDIR. +# You can diasble these checks with defining +# this variable, but this is not recommended! +# Only do this if you really know what you are +# doing. These sanity checks are the following: +# - DESTDIR can't be /. Just leave it undefined +# if you want to install to /. +# - DESTDIR has to be an absolute path. +# - DESTDIR can't have a trailing slash. +# - PREFIX has to be an absolute path. +# - PREFIX can't have a trailing slash. +# # MASTERDIR - Where the port finds patches, package files, etc. Define # this is you have two or more ports that share most of the # files. From owner-p4-projects@FreeBSD.ORG Thu Jul 20 13:03:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 938A116A4E1; Thu, 20 Jul 2006 13:03:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C0CE16A4DF for ; Thu, 20 Jul 2006 13:03:56 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36A7643D46 for ; Thu, 20 Jul 2006 13:03:56 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KD3uxw002275 for ; Thu, 20 Jul 2006 13:03:56 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KD3tpO002272 for perforce@freebsd.org; Thu, 20 Jul 2006 13:03:55 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 13:03:55 GMT Message-Id: <200607201303.k6KD3tpO002272@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101991 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 13:03:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=101991 Change 101991 by gabor@gabor_spitfire on 2006/07/20 13:03:09 Remove duplicatd code. This happened when the IA32_BINARY_PORT stuff got committed into CVS but a bit differently and I was not aware of that, so my version got merged with CVS version. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#54 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#54 (text+ko) ==== @@ -1128,30 +1128,6 @@ # Kludge for pre-3.0 systems MACHINE_ARCH?= i386 -# Check the compatibility layer for amd64/ia64 - -.if ${ARCH} == "amd64" || ${ARCH} =="ia64" -.if exists(/usr/lib32) -HAVE_COMPAT_IA32_LIBS?= YES -.endif -.if !defined(HAVE_COMPAT_IA32_KERN) -HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -a compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi -.endif -.endif - -.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386" -.if ${ARCH} == "amd64" || ${ARCH} == "ia64" -.if !defined(HAVE_COMPAT_IA32_KERN) -IGNORE= you need a kernel with compiled-in IA32 compatibility to use this port. -.elif !defined(HAVE_COMPAT_IA32_LIBS) -IGNORE= you need the 32-bit libraries installed under /usr/lib32 to use this port. -.endif -.else -IGNORE= you have to use i386 (or compatible) platform to use this port. -.endif -.endif - - # Get the operating system type .if !defined(OPSYS) OPSYS!= ${UNAME} -s From owner-p4-projects@FreeBSD.ORG Thu Jul 20 13:11:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0932916A4EC; Thu, 20 Jul 2006 13:11:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDCFC16A4E6 for ; Thu, 20 Jul 2006 13:11:05 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 89C7C43D45 for ; Thu, 20 Jul 2006 13:11:05 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KDB5cO002639 for ; Thu, 20 Jul 2006 13:11:05 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KDB5gH002636 for perforce@freebsd.org; Thu, 20 Jul 2006 13:11:05 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 20 Jul 2006 13:11:05 GMT Message-Id: <200607201311.k6KDB5gH002636@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101992 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 13:11:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=101992 Change 101992 by rdivacky@rdivacky_witten on 2006/07/20 13:10:53 Changes: o CLEARTID/SETTID swap just like linux does it. NetBSD differs here. o in the linux binary execs to fbsd binary case remove the emuldata from the list and unlock the lock. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#18 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#18 (text+ko) ==== @@ -447,15 +447,15 @@ } } + if (args->flags & CLONE_CHILD_SETTID) + em->child_set_tid = args->child_tidptr; + else + em->child_set_tid = NULL; + if (args->flags & CLONE_CHILD_CLEARTID) em->child_clear_tid = args->child_tidptr; else em->child_clear_tid = NULL; - - if (args->flags & CLONE_CHILD_SETTID) - em->child_set_tid = args->child_tidptr; - else - em->child_set_tid = NULL; EMUL_RUNLOCK(&emul_lock); if (args->flags & CLONE_SETTLS) { @@ -1216,6 +1216,16 @@ #endif return; } + + EMUL_RUNLOCK(&emul_lock); + /* XXX: there is a race but I think we can ommit that + * because its not very possible that the same process + * will exit on different cpus etc. + */ + EMUL_WLOCK(&emul_lock); + SLIST_REMOVE(&emuldata_head, em, linux_emuldata, emuldatas); + EMUL_WUNLOCK(&emul_lock); + FREE(em, M_LINUX); } } From owner-p4-projects@FreeBSD.ORG Thu Jul 20 13:24:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 17CBE16A4E0; Thu, 20 Jul 2006 13:24:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AD0C316A4DE for ; Thu, 20 Jul 2006 13:24:23 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 509CF43D49 for ; Thu, 20 Jul 2006 13:24:23 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KDONqf003218 for ; Thu, 20 Jul 2006 13:24:23 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KDOMFQ003215 for perforce@freebsd.org; Thu, 20 Jul 2006 13:24:22 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 13:24:22 GMT Message-Id: <200607201324.k6KDOMFQ003215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 101993 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 13:24:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=101993 Change 101993 by gabor@gabor_spitfire on 2006/07/20 13:24:14 s/${DESTDIR}${PREFIX}/${TARGETDIR}/ Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#4 edit .. //depot/projects/soc2006/gabor_ports/Mk/bsd.emacs.mk#3 edit .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gnome.mk#4 edit .. //depot/projects/soc2006/gabor_ports/Mk/bsd.python.mk#4 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#4 (text+ko) ==== @@ -175,7 +175,7 @@ --${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \ --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" .if ${USE_APACHE:Mcommon2*} != "" -CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-bin="${DESTDIR}${PREFIX}/sbin/suexec" +CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-bin="${TARGETDIR}/sbin/suexec" .endif . if defined(WITH_SUEXEC_UMASK) ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.emacs.mk#3 (text+ko) ==== @@ -236,8 +236,8 @@ # find where emacsen is installed # look for it in PREEFIX first and fall back to LOCALBASE then -.if exists(${DESTDIR}${PREFIX}/bin/${EMACS_NAME}-${EMACS_VER}) -EMACS_BASE?= ${DESTDIR}${PREFIX} +.if exists(${TARGETDIR}/bin/${EMACS_NAME}-${EMACS_VER}) +EMACS_BASE?= ${TARGETDIR} .else EMACS_BASE?= ${LOCALBASE} .endif ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.gnome.mk#4 (text+ko) ==== @@ -106,13 +106,13 @@ GNOME_HTML_DIR?= ${PREFIX}/share/doc GCONF_CONFIG_OPTIONS?= merged GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults -GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${DESTDIR}${PREFIX}/${GCONF_CONFIG_DIRECTORY} +GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${TARGETDIR}/${GCONF_CONFIG_DIRECTORY} GNOME_LOCALSTATEDIR?= ${PREFIX}/share/gnome gnomeprefix_CONFIGURE_ENV=GTKDOC="false" gnomeprefix_CONFIGURE_ARGS=--localstatedir=${DESTDIR}${GNOME_LOCALSTATEDIR} \ - --datadir=${DESTDIR}${PREFIX}/share/gnome \ + --datadir=${TARGETDIR}/share/gnome \ --with-html-dir=${DESTDIR}${GNOME_HTML_DIR} \ - --with-help-dir=${DESTDIR}${PREFIX}/share/gnome/help \ + --with-help-dir=${TARGETDIR}/share/gnome/help \ --disable-gtk-doc \ --with-gconf-source=${GCONF_CONFIG_SOURCE} gnomeprefix_USE_GNOME_IMPL=gnomehier @@ -725,10 +725,10 @@ gnome-pre-su-install: .if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="" && !defined(NO_MTREE) - @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${DESTDIR}${PREFIX}/ >/dev/null + @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${TARGETDIR}/ >/dev/null .endif .if defined(GCONF_SCHEMAS) - @${MKDIR} ${DESTDIR}${PREFIX}/etc/gconf/gconf.xml.defaults/ + @${MKDIR} ${TARGETDIR}/etc/gconf/gconf.xml.defaults/ .else @${DO_NADA} .endif ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.python.mk#4 (text+ko) ==== @@ -404,7 +404,7 @@ @${ECHO} "Legal values are: 2.7 (default), 2.8, 2.9, 3.2" @${FALSE} .endif -ZOPEBASEDIR?= ${DESTDIR}${PREFIX}/${SZOPEBASEDIR} +ZOPEBASEDIR?= ${TARGETDIR}/${SZOPEBASEDIR} ZOPEPRODUCTDIR?= Products .endif From owner-p4-projects@FreeBSD.ORG Thu Jul 20 13:28:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B14F816A4E5; Thu, 20 Jul 2006 13:28:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B3B216A4E0; Thu, 20 Jul 2006 13:28:58 +0000 (UTC) (envelope-from ssouhlal@FreeBSD.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 465CD43D46; Thu, 20 Jul 2006 13:28:58 +0000 (GMT) (envelope-from ssouhlal@FreeBSD.org) Received: from [172.30.10.201] (unknown [216.239.55.7]) by elvis.mu.org (Postfix) with ESMTP id 9DC111A3C22; Thu, 20 Jul 2006 06:28:57 -0700 (PDT) Message-ID: <44BF847A.40509@FreeBSD.org> Date: Thu, 20 Jul 2006 15:26:18 +0200 From: Suleiman Souhlal User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051204) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Oleksandr Tymoshenko References: <200607161847.k6GIl2Wk063251@repoman.freebsd.org> In-Reply-To: <200607161847.k6GIl2Wk063251@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 101709 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 13:28:59 -0000 Oleksandr Tymoshenko wrote: > http://perforce.freebsd.org/chv.cgi?CH=101709 > > Change 101709 by gonzo@gonzo_hq on 2006/07/16 18:46:11 > > o Use YAMON_GETCHAR to get a char from console. Requires > gxemul with patch for getting yamon "getchar" vector working. Got an URL for the patch? Thanks, -- Suleiman From owner-p4-projects@FreeBSD.ORG Thu Jul 20 13:33:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D06E16A4E2; Thu, 20 Jul 2006 13:33:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 39C5416A4E0 for ; Thu, 20 Jul 2006 13:33:36 +0000 (UTC) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C831143D53 for ; Thu, 20 Jul 2006 13:33:35 +0000 (GMT) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KDXZ0I003881 for ; Thu, 20 Jul 2006 13:33:35 GMT (envelope-from ssouhlal@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KDXZN2003878 for perforce@freebsd.org; Thu, 20 Jul 2006 13:33:35 GMT (envelope-from ssouhlal@freebsd.org) Date: Thu, 20 Jul 2006 13:33:35 GMT Message-Id: <200607201333.k6KDXZN2003878@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ssouhlal@freebsd.org using -f From: Suleiman Souhlal To: Perforce Change Reviews Cc: Subject: PERFORCE change 101995 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 13:33:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=101995 Change 101995 by ssouhlal@ssouhlal-maho on 2006/07/20 13:32:38 Install the XTLB miss handler. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpuregs.h#6 edit .. //depot/projects/mips2/src/sys/mips/mips/cpu.c#12 edit .. //depot/projects/mips2/src/sys/mips/mips/exception.S#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpuregs.h#6 (text+ko) ==== @@ -180,6 +180,7 @@ #define MIPS_VEC_RESET 0xBFC00000 /* Hard, soft, or NMI */ #define MIPS_VEC_EJTAG 0xBFC00480 #define MIPS_VEC_TLB 0x80000000 +#define MIPS_VEC_XTLB 0x80000080 #define MIPS_VEC_CACHE 0x80000100 #define MIPS_VEC_GENERIC 0x80000180 /* Most exceptions */ #define MIPS_VEC_INTERRUPT 0x80000200 ==== //depot/projects/mips2/src/sys/mips/mips/cpu.c#12 (text+ko) ==== @@ -67,6 +67,7 @@ class ## VectorEnd) MIPS_DECLARE_VECTOR(TLBMiss); +MIPS_DECLARE_VECTOR(XTLBMiss); MIPS_DECLARE_VECTOR(Cache); MIPS_DECLARE_VECTOR(Exception); @@ -92,6 +93,7 @@ { MIPS_INSTALL_VECTOR(TLB, TLBMiss); + MIPS_INSTALL_VECTOR(XTLB, XTLBMiss); MIPS_INSTALL_VECTOR(CACHE, Cache); MIPS_INSTALL_VECTOR(INTERRUPT, Exception); /* XXX */ MIPS_INSTALL_VECTOR(GENERIC, Exception); ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#5 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#4 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#5 $ */ #include "opt_ddb.h" From owner-p4-projects@FreeBSD.ORG Thu Jul 20 14:03:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76A4D16A4E2; Thu, 20 Jul 2006 14:03:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5179616A4DA for ; Thu, 20 Jul 2006 14:03:15 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FA3143D45 for ; Thu, 20 Jul 2006 14:03:15 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KE3F4p007727 for ; Thu, 20 Jul 2006 14:03:15 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KE3El3007724 for perforce@freebsd.org; Thu, 20 Jul 2006 14:03:14 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 20 Jul 2006 14:03:14 GMT Message-Id: <200607201403.k6KE3El3007724@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 101997 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 14:03:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=101997 Change 101997 by rdivacky@rdivacky_witten on 2006/07/20 14:02:49 Typo set_tid/clear_tid -> child_set_tid/child_clear_tid in linux_proc_init. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#19 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#19 (text+ko) ==== @@ -1127,8 +1127,8 @@ em->clear_tid = NULL; em->set_tid = NULL; } else { - em->clear_tid = p_em->clear_tid; - em->set_tid = p_em->set_tid; + em->clear_tid = p_em->child_clear_tid; + em->set_tid = p_em->child_set_tid; } EMUL_WUNLOCK(&emul_lock); } else { From owner-p4-projects@FreeBSD.ORG Thu Jul 20 14:37:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 41BB116A4E7; Thu, 20 Jul 2006 14:37:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 18F0516A4DD for ; Thu, 20 Jul 2006 14:37:11 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 96F5B43DF0 for ; Thu, 20 Jul 2006 14:35:55 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KEZtLg009329 for ; Thu, 20 Jul 2006 14:35:55 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KEZtL6009326 for perforce@freebsd.org; Thu, 20 Jul 2006 14:35:55 GMT (envelope-from piso@freebsd.org) Date: Thu, 20 Jul 2006 14:35:55 GMT Message-Id: <200607201435.k6KEZtL6009326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 101998 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 14:37:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=101998 Change 101998 by piso@piso_newluxor on 2006/07/20 14:35:10 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/isa/clock.c#4 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/isa/clock.c#4 (text+ko) ==== @@ -760,8 +760,8 @@ * timecounter to user a simpler algorithm. */ if (!using_lapic_timer) { - intr_add_handler("clk", 0, (driver_filter_t *)clkintr, NULL, NULL, - INTR_TYPE_CLK | INTR_FAST, NULL); + intr_add_handler("clk", 0, clkintr, NULL, NULL, + INTR_TYPE_CLK, NULL); i8254_intsrc = intr_lookup_source(0); if (i8254_intsrc != NULL) i8254_pending = @@ -794,8 +794,8 @@ /* Enable periodic interrupts from the RTC. */ rtc_statusb |= RTCSB_PINTR; - intr_add_handler("rtc", 8, (driver_filter_t *)rtcintr, NULL, NULL, - INTR_TYPE_CLK | INTR_FAST, NULL); + intr_add_handler("rtc", 8, rtcintr, NULL, NULL, + INTR_TYPE_CLK, NULL); writertc(RTC_STATUSB, rtc_statusb); rtcin(RTC_INTR); From owner-p4-projects@FreeBSD.ORG Thu Jul 20 14:46:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC2AC16A4DE; Thu, 20 Jul 2006 14:46:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7561516A4E1 for ; Thu, 20 Jul 2006 14:46:09 +0000 (UTC) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CC9743D7D for ; Thu, 20 Jul 2006 14:46:09 +0000 (GMT) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KEk8Lj009748 for ; Thu, 20 Jul 2006 14:46:09 GMT (envelope-from ssouhlal@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KEk82k009745 for perforce@freebsd.org; Thu, 20 Jul 2006 14:46:08 GMT (envelope-from ssouhlal@freebsd.org) Date: Thu, 20 Jul 2006 14:46:08 GMT Message-Id: <200607201446.k6KEk82k009745@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ssouhlal@freebsd.org using -f From: Suleiman Souhlal To: Perforce Change Reviews Cc: Subject: PERFORCE change 101999 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 14:46:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=101999 Change 101999 by ssouhlal@ssouhlal-maho on 2006/07/20 14:45:25 Don't set the KX bit in the status register for new threads, since we don't do 64-bit addressing yet. Noticed by: gonzo Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#5 (text+ko) ==== @@ -171,7 +171,7 @@ td->td_pcb = (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; td->td_frame = (struct trapframe *)td->td_pcb - 1; - td->td_pcb->pcb_regs[PCB_REG_SR] = MIPS_SR_KX | MIPS_SR_INT_IE; + td->td_pcb->pcb_regs[PCB_REG_SR] = MIPS_SR_INT_IE; /* Stack pointer. */ td->td_pcb->pcb_regs[PCB_REG_SP] = (register_t)_ALIGN(td->td_frame - 1); } From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:30:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D47516A4ED; Thu, 20 Jul 2006 15:30:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 253CA16A4DA for ; Thu, 20 Jul 2006 15:30:17 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DE8943D49 for ; Thu, 20 Jul 2006 15:30:04 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFU3Nj012903 for ; Thu, 20 Jul 2006 15:30:03 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFU38t012900 for perforce@freebsd.org; Thu, 20 Jul 2006 15:30:03 GMT (envelope-from piso@freebsd.org) Date: Thu, 20 Jul 2006 15:30:03 GMT Message-Id: <200607201530.k6KFU38t012900@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:30:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=102000 Change 102000 by piso@piso_newluxor on 2006/07/20 15:29:26 Use a macro to test for different kind of handlers. Affected files ... .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#5 (text+ko) ==== @@ -54,6 +54,8 @@ u_char ih_pri; /* Priority of this handler. */ }; +#define IS_FAST(filter, handler) (filter != NULL && handler == NULL) + /* Interrupt handle flags kept in ih_flags */ #define IH_EXCLUSIVE 0x00000002 /* Exclusive interrupt. */ #define IH_ENTROPY 0x00000004 /* Device is a good entropy source. */ From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:37:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A54F516A4E2; Thu, 20 Jul 2006 15:37:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8109516A4DA for ; Thu, 20 Jul 2006 15:37:13 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 399D143D58 for ; Thu, 20 Jul 2006 15:37:13 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFbDgI013404 for ; Thu, 20 Jul 2006 15:37:13 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFbCUX013401 for perforce@freebsd.org; Thu, 20 Jul 2006 15:37:12 GMT (envelope-from piso@freebsd.org) Date: Thu, 20 Jul 2006 15:37:12 GMT Message-Id: <200607201537.k6KFbCUX013401@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102001 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:37:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=102001 Change 102001 by piso@piso_newluxor on 2006/07/20 15:36:51 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/arm/at91/at91.c#3 edit Differences ... ==== //depot/projects/soc2006/intr_filter/arm/at91/at91.c#3 (text) ==== @@ -544,7 +544,8 @@ { struct at91_softc *sc = device_get_softc(dev); - if (rman_get_start(ires) == AT91RM92_IRQ_SYSTEM && !(flags & INTR_FAST)) + if (rman_get_start(ires) == AT91RM92_IRQ_SYSTEM && + !IS_FAST(filter, intr)) panic("All system interrupt ISRs must be type INTR_FAST"); BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, filter, intr, arg, cookiep); From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:46:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD34C16A4DF; Thu, 20 Jul 2006 15:46:25 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B678416A4DA for ; Thu, 20 Jul 2006 15:46:25 +0000 (UTC) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 824A843D46 for ; Thu, 20 Jul 2006 15:46:25 +0000 (GMT) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFkPv4014049 for ; Thu, 20 Jul 2006 15:46:25 GMT (envelope-from howardsu@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFkPtY014046 for perforce@freebsd.org; Thu, 20 Jul 2006 15:46:25 GMT (envelope-from howardsu@FreeBSD.org) Date: Thu, 20 Jul 2006 15:46:25 GMT Message-Id: <200607201546.k6KFkPtY014046@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to howardsu@FreeBSD.org using -f From: Howard Su To: Perforce Change Reviews Cc: Subject: PERFORCE change 102002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:46:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=102002 Change 102002 by howardsu@su_vm on 2006/07/20 15:45:59 Fix sdt probe's stack. We need set caller pc. disable verbose output by default. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/sdt/sdt.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/sdt/sdt.c#7 (text+ko) ==== @@ -103,12 +103,13 @@ static sdt_probe_t **sdt_probetab; static int sdt_probetab_size; static int sdt_probetab_mask; -static int sdt_verbose = 1; +static int sdt_verbose = 0; static int sdt_invop(uintptr_t addr, uintptr_t *stack, uintptr_t rval) { - uintptr_t stack0, stack1, stack2, stack3, stack4; + struct pcpu *cpu = pcpu_find(curcpu); + uintptr_t stack0, stack1, stack2, stack3, stack4; sdt_probe_t *sdt = sdt_probetab[SDT_ADDR2NDX(addr)]; for (; sdt != NULL; sdt = sdt->sdp_hashnext) { @@ -122,7 +123,8 @@ * disabled. */ DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); - stack0 = stack[i++]; + cpu->pc_dtrace_caller = addr; + stack0 = stack[i++]; stack1 = stack[i++]; stack2 = stack[i++]; stack3 = stack[i++]; From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:47:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C90516A4E7; Thu, 20 Jul 2006 15:47:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D0B5116A4E1 for ; Thu, 20 Jul 2006 15:47:33 +0000 (UTC) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E161643D80 for ; Thu, 20 Jul 2006 15:47:27 +0000 (GMT) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFlRuK014167 for ; Thu, 20 Jul 2006 15:47:27 GMT (envelope-from howardsu@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFlQxG014161 for perforce@freebsd.org; Thu, 20 Jul 2006 15:47:26 GMT (envelope-from howardsu@FreeBSD.org) Date: Thu, 20 Jul 2006 15:47:26 GMT Message-Id: <200607201547.k6KFlQxG014161@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to howardsu@FreeBSD.org using -f From: Howard Su To: Perforce Change Reviews Cc: Subject: PERFORCE change 102003 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:47:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=102003 Change 102003 by howardsu@su_vm on 2006/07/20 15:47:22 Add more probes for 'proc' probe that align with Solaris' name. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#6 edit .. //depot/projects/dtrace/src/sys/kern/kern_exit.c#5 edit .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_exec.c#6 (text+ko) ==== @@ -790,6 +790,12 @@ VFS_UNLOCK_GIANT(vfslocked); exec_free_args(args); + if (error == 0) { + DTRACE_PROBE1(__proc_exec__success, proc *, p); + } + else { + DTRACE_PROBE1(__proc_exec__failure, int, error); + } if (error && imgp->vmspace_destroyed) { /* sorry, no more process anymore. exit gracefully */ exit1(td, W_EXITCODE(0, SIGABRT)); ==== //depot/projects/dtrace/src/sys/kern/kern_exit.c#5 (text+ko) ==== @@ -59,6 +59,7 @@ #include #include #include +#include #include #include #include @@ -91,7 +92,6 @@ /* * exit -- * Death of process. - * * MPSAFE */ void @@ -236,6 +236,8 @@ */ EVENTHANDLER_INVOKE(process_exit, p); + DTRACE_PROBE1(__proc_exit, int, WTERMSIG(rv)); + MALLOC(p->p_ru, struct rusage *, sizeof(struct rusage), M_ZOMBIE, M_WAITOK); /* ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#4 (text+ko) ==== @@ -65,7 +65,7 @@ #include #include #include - +#include #include #include @@ -698,6 +698,7 @@ mtx_lock_spin(&sched_lock); p2->p_state = PRS_NORMAL; + DTRACE_PROBE1(__proc_create, proc *, p2); /* * If RFSTOPPED not requested, make child runnable and add to * run queue. From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:54:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DAF116A4E0; Thu, 20 Jul 2006 15:54:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD1FE16A4DA for ; Thu, 20 Jul 2006 15:54:37 +0000 (UTC) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B0BF43D49 for ; Thu, 20 Jul 2006 15:54:37 +0000 (GMT) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFsbOw014593 for ; Thu, 20 Jul 2006 15:54:37 GMT (envelope-from howardsu@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFsbpb014590 for perforce@freebsd.org; Thu, 20 Jul 2006 15:54:37 GMT (envelope-from howardsu@FreeBSD.org) Date: Thu, 20 Jul 2006 15:54:37 GMT Message-Id: <200607201554.k6KFsbpb014590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to howardsu@FreeBSD.org using -f From: Howard Su To: Perforce Change Reviews Cc: Subject: PERFORCE change 102004 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:54:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=102004 Change 102004 by howardsu@su_vm on 2006/07/20 15:54:05 Remove intrpc logic. Seems it caused some error when getting stack for a SDT probe. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_isa.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_isa.c#5 (text+ko) ==== @@ -63,8 +63,10 @@ struct frame *frame; pc_t caller = (pc_t)pcpu_find(curcpu)->pc_dtrace_caller; +/* if (intrpc != 0) pcstack[depth++] = (pc_t)intrpc; +*/ aframes++; ebp = dtrace_getfp(); frame = (struct frame *)ebp; From owner-p4-projects@FreeBSD.ORG Thu Jul 20 16:15:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A37716A4DE; Thu, 20 Jul 2006 16:15:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 371EE16A4DA for ; Thu, 20 Jul 2006 16:15:04 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E155C43D45 for ; Thu, 20 Jul 2006 16:15:03 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KGF3QT016800 for ; Thu, 20 Jul 2006 16:15:03 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KGF3Jx016797 for perforce@freebsd.org; Thu, 20 Jul 2006 16:15:03 GMT (envelope-from piso@freebsd.org) Date: Thu, 20 Jul 2006 16:15:03 GMT Message-Id: <200607201615.k6KGF3Jx016797@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 16:15:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=102006 Change 102006 by piso@piso_newluxor on 2006/07/20 16:15:01 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/arm/at91/at91_pio.c#5 edit .. //depot/projects/soc2006/intr_filter/arm/at91/at91_rtc.c#4 edit .. //depot/projects/soc2006/intr_filter/arm/at91/at91_st.c#4 edit .. //depot/projects/soc2006/intr_filter/arm/sa11x0/sa11x0_ost.c#4 edit .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/i80321_timer.c#4 edit Differences ... ==== //depot/projects/soc2006/intr_filter/arm/at91/at91_pio.c#5 (text) ==== @@ -148,8 +148,8 @@ * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, PIO_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)at91_pio_intr, NULL, sc, &sc->intrhand); + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + at91_pio_intr, NULL, sc, &sc->intrhand); if (err) { AT91_PIO_LOCK_DESTROY(sc); goto out; ==== //depot/projects/soc2006/intr_filter/arm/at91/at91_rtc.c#4 (text) ==== @@ -110,8 +110,8 @@ * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, RTC_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)at91_rtc_intr, NULL, sc, &sc->intrhand); + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + at91_rtc_intr, NULL, sc, &sc->intrhand); if (err) { AT91_RTC_LOCK_DESTROY(sc); goto out; ==== //depot/projects/soc2006/intr_filter/arm/at91/at91_st.c#4 (text) ==== @@ -178,8 +178,8 @@ if (!irq) panic("Unable to allocate irq for the system timer"); else - bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST, - (driver_filter_t *)clock_intr, NULL, NULL, &ih); + bus_setup_intr(dev, irq, INTR_TYPE_CLK, + clock_intr, NULL, NULL, &ih); WR4(ST_PIMR, rel_value); ==== //depot/projects/soc2006/intr_filter/arm/sa11x0/sa11x0_ost.c#4 (text+ko) ==== @@ -273,11 +273,11 @@ rid = 1; irq2 = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); - bus_setup_intr(dev, irq1, INTR_TYPE_CLK | INTR_FAST, - (driver_filter_t *)clockintr, NULL, NULL, &ih1); + bus_setup_intr(dev, irq1, INTR_TYPE_CLK, + clockintr, NULL, NULL, &ih1); #if 0 - bus_setup_intr(dev, irq2, INTR_TYPE_CLK | INTR_FAST, - (driver_filter_t *)statintr, NULL, NULL, &ih2); + bus_setup_intr(dev, irq2, INTR_TYPE_CLK, + statintr, NULL, NULL, &ih2); #endif bus_space_write_4(saost_sc->sc_iot, saost_sc->sc_ioh, SAOST_SR, 0xf); bus_space_write_4(saost_sc->sc_iot, saost_sc->sc_ioh, SAOST_IR, 3); ==== //depot/projects/soc2006/intr_filter/arm/xscale/i80321/i80321_timer.c#4 (text+ko) ==== @@ -337,8 +337,8 @@ if (!irq) panic("Unable to setup the clock irq handler.\n"); else - bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST, - (driver_filter_t *)clockhandler, NULL, NULL, &ihl); + bus_setup_intr(dev, irq, INTR_TYPE_CLK, + clockhandler, NULL, NULL, &ihl); tmr0_write(0); /* stop timer */ tisr_write(TISR_TMR0); /* clear interrupt */ From owner-p4-projects@FreeBSD.ORG Thu Jul 20 16:42:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58A6016A4DF; Thu, 20 Jul 2006 16:42:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1988D16A4DD for ; Thu, 20 Jul 2006 16:42:39 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D9B5443D46 for ; Thu, 20 Jul 2006 16:42:38 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KGgcOv018035 for ; Thu, 20 Jul 2006 16:42:38 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KGgcMs018032 for perforce@freebsd.org; Thu, 20 Jul 2006 16:42:38 GMT (envelope-from piso@freebsd.org) Date: Thu, 20 Jul 2006 16:42:38 GMT Message-Id: <200607201642.k6KGgcMs018032@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 16:42:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=102008 Change 102008 by piso@piso_newluxor on 2006/07/20 16:42:09 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/pc98/cbus/clock.c#4 edit .. //depot/projects/soc2006/intr_filter/pc98/cbus/sio.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/pc98/cbus/clock.c#4 (text+ko) ==== @@ -775,8 +775,8 @@ * timecounter to user a simpler algorithm. */ if (!using_lapic_timer) { - intr_add_handler("clk", 0, (driver_filter_t *)clkintr, NULL, NULL, - INTR_TYPE_CLK | INTR_FAST, NULL); + intr_add_handler("clk", 0, clkintr, NULL, NULL, + INTR_TYPE_CLK, NULL); i8254_intsrc = intr_lookup_source(0); if (i8254_intsrc != NULL) i8254_pending = ==== //depot/projects/soc2006/intr_filter/pc98/cbus/sio.c#5 (text+ko) ==== @@ -1739,8 +1739,8 @@ com->irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); if (com->irqres) { ret = bus_setup_intr(dev, com->irqres, - INTR_TYPE_TTY | INTR_FAST, - (driver_filter_t *)siointr, NULL, com, + INTR_TYPE_TTY, + siointr, NULL, com, &com->cookie); if (ret) { ret = bus_setup_intr(dev, From owner-p4-projects@FreeBSD.ORG Thu Jul 20 17:25:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AE0116A4E0; Thu, 20 Jul 2006 17:25:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0478516A4DE for ; Thu, 20 Jul 2006 17:25:34 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B1DDA43D46 for ; Thu, 20 Jul 2006 17:25:33 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KHPXUJ029100 for ; Thu, 20 Jul 2006 17:25:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KHPXoH029097 for perforce@freebsd.org; Thu, 20 Jul 2006 17:25:33 GMT (envelope-from imp@freebsd.org) Date: Thu, 20 Jul 2006 17:25:33 GMT Message-Id: <200607201725.k6KHPXoH029097@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 102009 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 17:25:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=102009 Change 102009 by imp@imp_lighthouse on 2006/07/20 17:25:06 Bring in device disabling from the newcard tree. Affected files ... .. //depot/projects/arm/src/sys/kern/subr_bus.c#15 edit Differences ... ==== //depot/projects/arm/src/sys/kern/subr_bus.c#15 (text+ko) ==== @@ -2373,6 +2373,11 @@ } return (error); } + if (resource_disabled(device_get_name(dev), device_get_unit(dev))) { + device_disable(dev); + device_printf(dev, "not probed (disabled)\n"); + return (0); + } error = device_attach(dev); return (error); From owner-p4-projects@FreeBSD.ORG Thu Jul 20 17:45:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F4F716A4DD; Thu, 20 Jul 2006 17:45:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F27A616A4F1 for ; Thu, 20 Jul 2006 17:45:14 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59B4743DB5 for ; Thu, 20 Jul 2006 17:44:59 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KHixtA030001 for ; Thu, 20 Jul 2006 17:44:59 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KHiwQ9029998 for perforce@freebsd.org; Thu, 20 Jul 2006 17:44:58 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 17:44:58 GMT Message-Id: <200607201744.k6KHiwQ9029998@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 17:45:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=102010 Change 102010 by jhb@jhb_mutex on 2006/07/20 17:44:33 Don't offend Robert's delicate sensibilities. Affected files ... .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#67 edit Differences ... ==== //depot/projects/smpng/sys/compat/linux/linux_misc.c#67 (text+ko) ==== @@ -258,7 +258,7 @@ * From here on down, we have a locked vnode that must be unlocked. * XXX: The code below largely duplicates exec_check_permissions(). */ - locked++; + locked = 1; /* Writable? */ if (vp->v_writecount) { From owner-p4-projects@FreeBSD.ORG Thu Jul 20 18:05:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29CB916A4EB; Thu, 20 Jul 2006 18:05:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E18A416A4E9 for ; Thu, 20 Jul 2006 18:05:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FCC743D5D for ; Thu, 20 Jul 2006 18:05:25 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KI5Phq033012 for ; Thu, 20 Jul 2006 18:05:25 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KI5PFA033008 for perforce@freebsd.org; Thu, 20 Jul 2006 18:05:25 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 18:05:25 GMT Message-Id: <200607201805.k6KI5PFA033008@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102012 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 18:05:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=102012 Change 102012 by jhb@jhb_mutex on 2006/07/20 18:05:24 Avoid locking pain and suffering by copying the sockaddr_un found in svr4_find_socket() to a caller supplied sockaddr_un. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#14 edit .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#8 edit .. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#36 edit .. //depot/projects/smpng/sys/notes#84 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#14 (text+ko) ==== @@ -80,12 +80,13 @@ static struct mtx svr4_head_lock; MTX_SYSINIT(svr4_head_lock, &svr4_head_lock, "svr4_head", MTX_DEF); -struct sockaddr_un * -svr4_find_socket(td, fp, dev, ino) +int +svr4_find_socket(td, fp, dev, ino, saun) struct thread *td; struct file *fp; dev_t dev; ino_t ino; + struct sockaddr_un *saun; { struct svr4_sockcache_entry *e; void *cookie = ((struct socket *)fp->f_data)->so_emuldata; @@ -100,13 +101,14 @@ #endif e->cookie = cookie; DPRINTF(("%s\n", e->sock.sun_path)); + *saun = e->sock; mtx_unlock(&svr4_head_lock); - return &e->sock; + return (0); } mtx_unlock(&svr4_head_lock); DPRINTF(("not found\n")); - return NULL; + return (ENOENT); } int ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#8 (text+ko) ==== @@ -48,9 +48,9 @@ u_char sin_zero[8]; }; -struct sockaddr_un *svr4_find_socket(struct thread *, struct file *, - dev_t, ino_t); -void svr4_delete_socket(struct proc *, struct file *); -int svr4_add_socket(struct thread *, const char *, struct stat *); +int svr4_find_socket(struct thread *, struct file *, dev_t, ino_t, + struct sockaddr_un *); +void svr4_delete_socket(struct proc *, struct file *); +int svr4_add_socket(struct thread *, const char *, struct stat *); #endif /* _SVR4_SOCKET_H_ */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#36 (text+ko) ==== @@ -1554,13 +1554,11 @@ /* Maybe we've been given a device/inode pair */ dev_t *dev = SVR4_ADDROF(&sc); ino_t *ino = (ino_t *) &dev[1]; - sa = (struct sockaddr *) - svr4_find_socket(td, fp, *dev, *ino); - if (sa == NULL) { - sa = (struct sockaddr *)&saun; + if (svr4_find_socket(td, fp, *dev, *ino, &saun) != 0) { /* I guess we have it by name */ netaddr_to_sockaddr_un(&saun, &sc); } + sa = (struct sockaddr *)&saun; sasize = sizeof(saun); } break; ==== //depot/projects/smpng/sys/notes#84 (text+ko) ==== @@ -89,7 +89,7 @@ should already have f_ops set correctly and if we can just allocate so_emuldata directly in streamsopen() - XXX: svr4_add_socket() can add duplicates? - - change svr4_find_socket() to copy the sockaddr out to a + + change svr4_find_socket() to copy the sockaddr out to a passed in sockaddr_un and return bool - svr4_sys_ioctl() - svr4_sys_getmsg() From owner-p4-projects@FreeBSD.ORG Thu Jul 20 18:35:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38BC316A4E5; Thu, 20 Jul 2006 18:35:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEB6D16A4E1 for ; Thu, 20 Jul 2006 18:35:06 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B91E843D6E for ; Thu, 20 Jul 2006 18:35:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KIZ2Yt034919 for ; Thu, 20 Jul 2006 18:35:02 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KIZ22r034916 for perforce@freebsd.org; Thu, 20 Jul 2006 18:35:02 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 18:35:02 GMT Message-Id: <200607201835.k6KIZ22r034916@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102013 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 18:35:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=102013 Change 102013 by jhb@jhb_mutex on 2006/07/20 18:34:19 - Add functions to init and destroy the svr4 socket cache and call them from the svr4 module eventhandler. Setup the TAILQ and mutex in these routines. - Rename the mutex to a better name. - Add an eventhandler for process exit and exec that removes any entries for the given process from the cache. - Sort prototypes in svr4_socket.h. Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#15 edit .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#9 edit .. //depot/projects/smpng/sys/compat/svr4/svr4_sysvec.c#21 edit .. //depot/projects/smpng/sys/notes#85 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#15 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -75,10 +76,11 @@ TAILQ_ENTRY(svr4_sockcache_entry) entries; }; -static TAILQ_HEAD(, svr4_sockcache_entry) svr4_head = - TAILQ_HEAD_INITIALIZER(svr4_head); -static struct mtx svr4_head_lock; -MTX_SYSINIT(svr4_head_lock, &svr4_head_lock, "svr4_head", MTX_DEF); +static TAILQ_HEAD(, svr4_sockcache_entry) svr4_head; +static struct mtx svr4_sockcache_lock; +static eventhandler_tag svr4_sockcache_exit_tag, svr4_sockcache_exec_tag; + +static void svr4_purge_sockcache(void *arg, struct proc *p); int svr4_find_socket(td, fp, dev, ino, saun) @@ -92,7 +94,7 @@ void *cookie = ((struct socket *)fp->f_data)->so_emuldata; DPRINTF(("svr4_find_socket: [%p,%d,%d]: ", td, dev, ino)); - mtx_lock(&svr4_head_lock); + mtx_lock(&svr4_sockcache_lock); TAILQ_FOREACH(e, &svr4_head, entries) if (e->p == td->td_proc && e->dev == dev && e->ino == ino) { #ifdef DIAGNOSTIC @@ -102,11 +104,11 @@ e->cookie = cookie; DPRINTF(("%s\n", e->sock.sun_path)); *saun = e->sock; - mtx_unlock(&svr4_head_lock); + mtx_unlock(&svr4_sockcache_lock); return (0); } - mtx_unlock(&svr4_head_lock); + mtx_unlock(&svr4_sockcache_lock); DPRINTF(("not found\n")); return (ENOENT); } @@ -136,9 +138,9 @@ e->sock.sun_family = AF_LOCAL; e->sock.sun_len = len; - mtx_lock(&svr4_head_lock); + mtx_lock(&svr4_sockcache_lock); TAILQ_INSERT_HEAD(&svr4_head, e, entries); - mtx_unlock(&svr4_head_lock); + mtx_unlock(&svr4_sockcache_lock); DPRINTF(("svr4_add_socket: %s [%p,%d,%d]\n", e->sock.sun_path, td->td_proc, e->dev, e->ino)); return 0; @@ -152,17 +154,59 @@ struct svr4_sockcache_entry *e; void *cookie = ((struct socket *)fp->f_data)->so_emuldata; - mtx_lock(&svr4_head_lock); + mtx_lock(&svr4_sockcache_lock); TAILQ_FOREACH(e, &svr4_head, entries) if (e->p == p && e->cookie == cookie) { TAILQ_REMOVE(&svr4_head, e, entries); - mtx_unlock(&svr4_head_lock); + mtx_unlock(&svr4_sockcache_lock); DPRINTF(("svr4_delete_socket: %s [%p,%d,%d]\n", e->sock.sun_path, p, (int)e->dev, e->ino)); free(e, M_TEMP); return; } - mtx_unlock(&svr4_head_lock); + mtx_unlock(&svr4_sockcache_lock); +} + +void +svr4_purge_sockcache(arg, p) + void *arg; + struct proc *p; +{ + struct svr4_sockcache_entry *e, *ne; + + mtx_lock(&svr4_sockcache_lock); + TAILQ_FOREACH_SAFE(e, &svr4_head, entries, ne) { + if (e->p == p) { + TAILQ_REMOVE(&svr4_head, e, entries); + DPRINTF(("svr4_purge_sockcache: %s [%p,%d,%d]\n", + e->sock.sun_path, p, (int)e->dev, e->ino)); + free(e, M_TEMP); + } + } + mtx_unlock(&svr4_sockcache_lock); +} + +void +svr4_sockcache_init(void) +{ + + TAILQ_INIT(&svr4_head); + mtx_init(&svr4_sockcache_lock, "svr4 socket cache", NULL, MTX_DEF); + svr4_sockcache_exit_tag = EVENTHANDLER_REGISTER(process_exit, + svr4_purge_sockcache, NULL, EVENTHANDLER_PRI_ANY); + svr4_sockcache_exec_tag = EVENTHANDLER_REGISTER(process_exec, + svr4_purge_sockcache, NULL, EVENTHANDLER_PRI_ANY); +} + +void +svr4_sockcache_destroy(void) +{ + + KASSERT(TAILQ_EMPTY(&svr4_head), + ("%s: sockcache entries still around", __func__)); + EVENTHANDLER_DEREGISTER(process_exec, svr4_sockcache_exec_tag); + EVENTHANDLER_DEREGISTER(process_exit, svr4_sockcache_exit_tag); + mtx_destroy(&svr4_sockcache_lock); } int ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#9 (text+ko) ==== @@ -48,9 +48,11 @@ u_char sin_zero[8]; }; +int svr4_add_socket(struct thread *, const char *, struct stat *); +void svr4_delete_socket(struct proc *, struct file *); int svr4_find_socket(struct thread *, struct file *, dev_t, ino_t, struct sockaddr_un *); -void svr4_delete_socket(struct proc *, struct file *); -int svr4_add_socket(struct thread *, const char *, struct stat *); +void svr4_sockcache_init(void); +void svr4_sockcache_destroy(void); #endif /* _SVR4_SOCKET_H_ */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_sysvec.c#21 (text+ko) ==== @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -269,12 +270,14 @@ switch(type) { case MOD_LOAD: - if (elf32_insert_brand_entry(&svr4_brand) < 0) + if (elf32_insert_brand_entry(&svr4_brand) < 0) { + printf("cannot insert svr4 elf brand handler\n"); error = EINVAL; - if (error) - printf("cannot insert svr4 elf brand handler\n"); - else if (bootverbose) + break; + } + if (bootverbose) printf("svr4 ELF exec handler installed\n"); + svr4_sockcache_init(); break; case MOD_UNLOAD: /* Only allow the emulator to be removed if it isn't in use. */ @@ -284,11 +287,14 @@ error = EINVAL; } - if (error) + if (error) { printf("Could not deinstall ELF interpreter entry (error %d)\n", error); - else if (bootverbose) + break; + } + if (bootverbose) printf("svr4 ELF exec handler removed\n"); + svr4_sockcache_destroy(); break; default: return (EOPNOTSUPP); ==== //depot/projects/smpng/sys/notes#85 (text+ko) ==== @@ -88,7 +88,8 @@ - need to see where this is called and see if all of the files should already have f_ops set correctly and if we can just allocate so_emuldata directly in streamsopen() - - XXX: svr4_add_socket() can add duplicates? + + XXX: svr4_add_socket() can add duplicates? it's ok, just + purge them all on process exit or exec + change svr4_find_socket() to copy the sockaddr out to a passed in sockaddr_un and return bool - svr4_sys_ioctl() From owner-p4-projects@FreeBSD.ORG Thu Jul 20 19:00:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 425F316A4EA; Thu, 20 Jul 2006 19:00:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA29B16A4DD for ; Thu, 20 Jul 2006 19:00:40 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A412743D62 for ; Thu, 20 Jul 2006 19:00:36 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KJ0atw036900 for ; Thu, 20 Jul 2006 19:00:36 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KJ0aIV036897 for perforce@freebsd.org; Thu, 20 Jul 2006 19:00:36 GMT (envelope-from bushman@freebsd.org) Date: Thu, 20 Jul 2006 19:00:36 GMT Message-Id: <200607201900.k6KJ0aIV036897@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 102017 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 19:00:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=102017 Change 102017 by bushman@bushman_nss_ldap_cached on 2006/07/20 18:59:44 Further nss_ldap development. Passwd database support is almost implemented. Some general routines have to be implemented to allow current code to be plugged in into the nss. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.c#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.h#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#3 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#3 (text+ko) ==== @@ -9,9 +9,10 @@ #SHLIBDIR?= /lib SRCS= nss_ldap.c ldap_passwd.c ldapconn.c ldapconf.c ldapschema.c \ - ldapsearch.c ldaputil.c + ldapsearch.c ldaptls.c ldaputil.c CFLAGS+=-I${.CURDIR}/../libnssutil -I/usr/local/include CFLAGS+=-DINET6 +CFLAGS+=-g LDADD+= -lnssutil -lldap LDFLAGS+= -L${.OBJDIR}/../libnssutil -L/usr/local/lib ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#2 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#2 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#3 (text+ko) ==== @@ -43,11 +43,35 @@ // struct nss_ldap_search_context *); +static int +ldap_getpwnam_r(const char *name, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result) +{ + +} + +static int +ldap_getpwuid_r(uid_t uid, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result) +{ +} + +static int +ldap_getpwent_r(struct passwd *pwd, char *buffer, size_t bufsize, + struct passwd **result) +{ +} + +static int +ldap_setpwent() +{ +} + int -__nss_ldap_parse_passwd(struct nss_ldap_parse_context *pctx, - struct nss_ldap_search_context *sctx) +__nss_ldap_parse_passwd(struct nss_ldap_parse_context *pctx) { struct nss_ldap_schema *schema; + struct nss_ldap_search_context *sctx; struct passwd *pwd; char *buf; size_t buflen; @@ -55,10 +79,18 @@ int rv; assert(pctx != NULL); - assert(sctx != NULL); + + sctx = pctx->sctx; +/* >>>for debug only */ + pwd = (struct passwd *)malloc(sizeof(struct passwd)); + memset(pwd, 0, sizeof(struct passwd)); + buf = malloc(1024); + memset(buf, 0, 1024); +/* <<conf->schema; + printf("==> %d %s\n", __LINE__, __FILE__); rv = __nss_ldap_assign_attr_str(sctx, _ATM(schema, PASSWD, uid), &pwd->pw_name, &len, buf, buflen); @@ -66,21 +98,31 @@ goto errfin; buflen -= len; buf += len; - + + printf("==> %d %s\n", __LINE__, __FILE__); rv = __nss_ldap_assign_attr_uid(sctx, _AT(schema, uidNumber), &pwd->pw_uid); if (rv != 0) goto errfin; + printf("==> %d %s\n", __LINE__, __FILE__); rv = __nss_ldap_assign_attr_str(sctx, _AT(schema, gecos), &pwd->pw_gecos, &len, buf, buflen); + if (rv != 0) { + pwd->pw_gecos = NULL; + rv = __nss_ldap_assign_attr_str(sctx, + _ATM(schema, PASSWD, cn), + &pwd->pw_gecos, &len, buf, buflen); + } + if (rv != 0) goto errfin; buflen -= len; buf += len; + printf("==> %d %s\n", __LINE__, __FILE__); rv = __nss_ldap_assign_attr_str(sctx, _AT(schema, homeDirectory), &pwd->pw_dir, &len, buf, buflen); @@ -92,7 +134,7 @@ buflen -= len; buf += len; - + printf("==> %d %s\n", __LINE__, __FILE__); rv = __nss_ldap_assign_attr_str(sctx, _AT(schema, loginShell), &pwd->pw_shell, &len, buf, buflen); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#3 (text+ko) ==== @@ -29,8 +29,7 @@ #ifndef _LDAP_PASSWD_H_ #define _LDAP_PASSWD_H_ -extern int __nss_ldap_parse_passwd(struct nss_ldap_parse_context *, - struct nss_ldap_search_context *); +extern int __nss_ldap_parse_passwd(struct nss_ldap_parse_context *); extern int __ldap_setpwent(void *, void *, va_list); extern int __ldap_passwd(void *, void *, va_list); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#3 (text+ko) ==== @@ -63,7 +63,7 @@ char *bind_dn; char *bind_pw; - struct nss_ldap_schema schema; + struct nss_ldap_schema schema; }; struct nss_ldap_config_file_error ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#2 (text+ko) ==== @@ -28,6 +28,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include @@ -125,6 +126,7 @@ return (0); } + finished = 0; memset(&zerotime, 0, sizeof(struct timeval)); while (!finished) { rv = ldap_result( ctx->conn->ld, ctx->msgid, LDAP_MSG_ONE, @@ -180,6 +182,7 @@ memset(pctx, 0, sizeof(struct nss_ldap_parse_context)); pctx->parse_next_fn = parse_next_fn; + pctx->sctx = sctx; return (pctx); } @@ -243,15 +246,13 @@ int __nss_ldap_parse_next(struct nss_ldap_search_method *method, - struct nss_ldap_parse_context *pctx, - struct nss_ldap_search_context *sctx) + struct nss_ldap_parse_context *pctx) { assert(method != NULL); assert(pctx != NULL); - assert(sctx != NULL); - return (pctx->parse_next_fn(pctx, sctx)); + return (pctx->parse_next_fn(pctx)); } void @@ -315,7 +316,6 @@ assert(str != NULL); assert(len != NULL); assert(buf != NULL); - assert(bufsize != 0); /* check for the overriding rule */ schema = &ctx->conf->schema; @@ -346,7 +346,59 @@ return (rv); } + +int +__nss_ldap_assign_attr_multi_str(struct nss_ldap_search_context *ctx, + char const *attr, char ***str_array, size_t *str_array_size, + size_t *len, char *buf, size_t bufsize) +{ + char **values, **viter; + size_t size, valsize; + int rv; + + assert(ctx != NULL); + assert(attr != NULL); + assert(str_array != NULL); + assert(str_array_size != NULL); + assert(len != NULL); + assert(buf != NULL); + + values = (char **)ldap_get_values(ctx->conn->ld, ctx->msg, attr); + if (values == NULL) { + /* TODO: proper error handling */ + return (-1); + } + + valsize = ldap_count_values(values); + + *str_array = (char **)ALIGN(buf); + *len = sizeof(char *) * valsize; + if ((char *)(*str_array) + *len > buf + bufsize) { + /* TODO: proper error handling */ + ldap_value_free(values); + return (-1); + } + + buf = (char *)(*str_array) + (*len); + bufsize -= (*len); + + for (viter = values; *viter; ++viter, ++(*str_array)) { + rv = __nss_ldap_assign_str(*viter, *str_array, &size, + buf, bufsize); + if (rv == -1) { + /* TODO: proper error handling */ + ldap_value_free(values); + return (-1); + } + + buf += size; + bufsize -= size; + } + ldap_value_free(values); + return (0); +} + int __nss_ldap_assign_attr_uid(struct nss_ldap_search_context *ctx, char const *attr, uid_t *uid) @@ -375,6 +427,33 @@ } int +__nss_ldap_assign_attr_gid(struct nss_ldap_search_context *ctx, + char const *attr, gid_t *gid) +{ + char temp_buf[16]; + size_t temp_bufsize; + char *temp_ptr; + int rv; + + assert(ctx != NULL); + assert(attr != NULL); + assert(gid != NULL); + + /* TODO: do we need this memset? */ + memset(temp_buf, 0, sizeof(temp_buf)); + + rv = __nss_ldap_assign_attr_str(ctx, attr, &temp_ptr, &temp_bufsize, + temp_buf, sizeof(temp_buf)); + + if (rv != 0) + return (rv); + + *gid = (gid_t)strtol(temp_buf, (char **)NULL, 10); + /* TODO: check that the string is actually a number */ + return (0); +} + +int __nss_ldap_assign_attr_int(struct nss_ldap_search_context *ctx, char const *attr, int *num) { @@ -400,3 +479,69 @@ /* TODO: check that the string is actually a number */ return (0); } + +int +__nss_ldap_assign_attr_password(struct nss_ldap_search_context *ctx, + char const *attr, char **str, size_t *len, char *buf, size_t bufsize) +{ + char **values, **viter; + char *pass; + int rv; + + values = (char **)ldap_get_values(ctx->conn->ld, ctx->msg, attr); + if (values == NULL) + return (-1); + + pass = NULL; + + /* NOTE: actually, we can insert a hook in the configuration file + * parser to avoid using strcmp() every time. But the approach + * below seems to be a bit cleaner */ + if (strcmp(attr, "userPassword") == 0) { + for (viter = values; *viter; ++viter) { + if (strncmp(*viter, "{CRYPT}", sizeof("{CRYPT}") - 1) == 0) { + pass = *viter + sizeof("{CRYPT}") - 1; + break; + } + } + } else if (strcmp(attr, "authPassword") == 0) { + for (viter = values; *viter; ++viter) { + if (strncmp(*viter, "CRYPT$", sizeof("CRYPT$") - 1) == 0) { + pass = *viter + sizeof("CRYPT$") - 1; + break; + } + } + } else + pass = *values; + + if (pass == NULL) + rv = -1; + else + rv = __nss_ldap_assign_str(pass, str, len, buf, bufsize); + + ldap_value_free(*values); + return (rv); +} + +int +__nss_ldap_check_oc(struct nss_ldap_search_context *ctx, + char const *oc) +{ + char **values, **viter; + int rv; + + rv = -1; + values = (char **)ldap_get_values(ctx->conn->ld, ctx->msg, + "objectClass"); + if (values == NULL) + return (rv); + + for (viter = values; *viter; ++viter) + if (strcasecmp(*viter, oc) == 0) { + rv = 0; + break; + } + + ldap_value_free(values); + return (rv); +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#2 (text+ko) ==== @@ -47,12 +47,15 @@ }; struct nss_ldap_parse_context; -typedef int (*nss_ldap_parse_next_fn)(struct nss_ldap_parse_context *, - struct nss_ldap_search_context *); +typedef int (*nss_ldap_parse_next_fn)(struct nss_ldap_parse_context *); struct nss_ldap_parse_context { + struct nss_ldap_search_context *sctx; nss_ldap_parse_next_fn parse_next_fn; + void *mdata; + char *buffer; + size_t bufsize; int type; int retry_count; @@ -95,8 +98,7 @@ struct nss_ldap_search_context *, nss_ldap_parse_next_fn); extern int __nss_ldap_parse_next(struct nss_ldap_search_method *, - struct nss_ldap_parse_context *, - struct nss_ldap_search_context *); + struct nss_ldap_parse_context *); extern void __nss_ldap_end_parsing(struct nss_ldap_search_method *, struct nss_ldap_parse_context *); @@ -107,10 +109,17 @@ size_t); extern int __nss_ldap_assign_attr_str(struct nss_ldap_search_context *, char const *, char **, size_t *, char *, size_t); +extern int __nss_ldap_assign_attr_multi_str(struct nss_ldap_search_context *, + char const *, char ***, size_t *, size_t *, char *, size_t); extern int __nss_ldap_assign_attr_uid(struct nss_ldap_search_context *, char const *, uid_t *); +extern int __nss_ldap_assign_attr_gid(struct nss_ldap_search_context *, + char const *, gid_t *); extern int __nss_ldap_assign_attr_int(struct nss_ldap_search_context *, char const *, int *); +extern int __nss_ldap_assign_attr_password(struct nss_ldap_search_context *, + char const *, char **, size_t *, char *, size_t); - +extern int __nss_ldap_check_oc(struct nss_ldap_search_context *, + char const *); #endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#3 (text+ko) ==== @@ -32,3 +32,55 @@ #include #include #include "ldaputil.h" + +int +__nss_ldap_escape_string(char const *str, char *buffer, size_t bufsize) +{ + char *p, *l, *np; + char const *s; + + p = buffer; + l = p + bufsize; + + for (s = str; *s; ++s) { + switch (*s) { + case '*': + np = p + 3; + if (np >= l) + return (-1); + + memcpy(p, "\\2a", 3); + p = np; + break; + case '(': + np = p + 3; + if (np >= l) + return (-1); + memcpy(p, "\\28", 3); + p = np; + break; + case ')': + np = p + 3; + if (np >= l) + return (-1); + memcpy(p, "\\29", 3); + p = np; + break; + case '\\': + np = p + 3; + if (np >= l) + return (-1); + memcpy(p, "\\5c", 3); + p = np; + break; + default: + *p = *s; + if (++p == l) + return (-1); + break; + } + } + + *p = '\0'; + return (0); +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#3 (text+ko) ==== @@ -29,6 +29,8 @@ #ifndef _LDAPUTIL_H_ #define _LDAPUTIL_H_ +extern int __nss_ldap_escape_string(char const *, char *, size_t); + /* NOTE: implementation from libc/include/nss_tls.h is used. Slightly * modified to use original names of pthread-functions (without the starting * underscore. If nss_ldap is included into the libc, NSS_LDAP_TLS_HANDLING ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#3 (text+ko) ==== @@ -150,6 +150,8 @@ int main(int argc, char **argv) { + char buf[14]; + struct nss_ldap_connection_method method; struct nss_ldap_connection *conn; struct nss_ldap_connection_error conn_error; @@ -160,7 +162,13 @@ struct nss_ldap_search_request request; int rv; - printf("testing nss_ldap\n"); + rv = __nss_ldap_escape_string("() ui = 3", buf, sizeof(buf)); + if (rv == 0) + printf("escaped: %s\n", buf); + else + printf("can't escape\n"); + + printf("testing nss_ldap %d\n", sizeof ("CRYPT$")); printf("configuring\n"); rv = nss_ldap_configure(); @@ -196,6 +204,12 @@ return (rv); } + memset(&request, 0, sizeof(request)); + request.search_base = nss_ldap_conf.schema.filter_bases[NSS_LDAP_MAP_PASSWD]; + asprintf(&request.filter, nss_ldap_conf.schema.filters[NSS_LDAP_FILTER_GETPWNAM], "bushman"); + request.scope = LDAP_SCOPE_SUBTREE; + + printf("%s %s %d\n", request.search_base, request.filter, request.scope); printf("creating search context\n"); search_context = __nss_ldap_start_search(&search_method, conn, &nss_ldap_conf, &request); @@ -212,14 +226,15 @@ } printf("initializing parse context\n"); - parse_context = __nss_ldap_start_parsing(&search_method, search_context, __nss_ldap_parse_passwd); + parse_context = __nss_ldap_start_parsing(&search_method, + search_context, __nss_ldap_parse_passwd); if (parse_context == NULL) { printf("failed\n"); return (-1); } printf("parsing\n"); - rv = __nss_ldap_parse_next(&search_method, parse_context, search_context); + rv = __nss_ldap_parse_next(&search_method, parse_context); if (rv != 0) { printf("failed\n"); } ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#3 (text+ko) ==== @@ -34,4 +34,9 @@ nss_end_ent = 2 }; +extern int __nss_ldap_getby(struct nss_ldap_connection *, + char const *, void *, char *, size_t, nss_ldap_parse_next_fn); +extern int __nss_ldap_getent(struct nss_ldap_connection *, char const *, void *, char *, size_t, + nss_ldap_parse_next_fn); + #endif From owner-p4-projects@FreeBSD.ORG Thu Jul 20 19:07:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6786716A4EF; Thu, 20 Jul 2006 19:07:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3E49816A4EA for ; Thu, 20 Jul 2006 19:07:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DFE2243D53 for ; Thu, 20 Jul 2006 19:07:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KJ7jkA038512 for ; Thu, 20 Jul 2006 19:07:45 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KJ7jca038509 for perforce@freebsd.org; Thu, 20 Jul 2006 19:07:45 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 19:07:45 GMT Message-Id: <200607201907.k6KJ7jca038509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102018 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 19:07:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=102018 Change 102018 by jhb@jhb_mutex on 2006/07/20 19:07:21 Don't allocate a stream structure for a socket on demand but instead just do it in streamsopen(). This avoids changing f_ops during the life of a struct file which is a Bad Thing(tm). I think it is also unnecessary since all sockets for which stream operations make sense should already be created via streamsopen() anyway. Affected files ... .. //depot/projects/smpng/sys/dev/streams/streams.c#30 edit .. //depot/projects/smpng/sys/notes#86 edit Differences ... ==== //depot/projects/smpng/sys/dev/streams/streams.c#30 (text+ko) ==== @@ -188,6 +188,7 @@ int fd, extraref; struct file *fp; struct socket *so; + struct svr4_strm *st; int error; int family; struct proc *p = td->td_proc; @@ -268,7 +269,19 @@ fp->f_type = DTYPE_SOCKET; FILEDESC_UNLOCK_FAST(p->p_fd); - (void)svr4_stream_get(fp); + /* + * Allocate a stream structure and attach it to this socket. + * We don't bother locking so_emuldata for SVR4 stream sockets as + * its value is constant for the lifetime of the stream once it + * is initialized here. + */ + st = malloc(sizeof(struct svr4_strm), M_TEMP, M_WAITOK); + st->s_family = so->so_proto->pr_domain->dom_family; + st->s_cmd = ~0; + st->s_afd = -1; + st->s_eventmask = 0; + so->so_emuldata = st; + fdrop(fp, td); td->td_dupfd = fd; return ENXIO; @@ -331,41 +344,12 @@ struct file *fp; { struct socket *so; - struct svr4_strm *st; if (fp == NULL || fp->f_type != DTYPE_SOCKET) return NULL; so = fp->f_data; - - /* - * mpfixme: lock socketbuffer here - */ - if (so->so_emuldata) { - return so->so_emuldata; - } - - /* Allocate a new one. */ - st = malloc(sizeof(struct svr4_strm), M_TEMP, M_WAITOK); - st->s_family = so->so_proto->pr_domain->dom_family; - st->s_cmd = ~0; - st->s_afd = -1; - st->s_eventmask = 0; - /* - * avoid a race where we loose due to concurrancy issues - * of two threads trying to allocate the so_emuldata. - */ - if (so->so_emuldata) { - /* lost the race, use the existing emuldata */ - FREE(st, M_TEMP); - st = so->so_emuldata; - } else { - /* we won, or there was no race, use our copy */ - so->so_emuldata = st; - fp->f_ops = &svr4_netops; - } - - return st; + return so->so_emuldata; } static int ==== //depot/projects/smpng/sys/notes#86 (text+ko) ==== @@ -85,7 +85,7 @@ + compat32 - svr4 - svr4_stream_get() and friends - - need to see where this is called and see if all of the files + + need to see where this is called and see if all of the files should already have f_ops set correctly and if we can just allocate so_emuldata directly in streamsopen() + XXX: svr4_add_socket() can add duplicates? it's ok, just From owner-p4-projects@FreeBSD.ORG Thu Jul 20 19:24:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BECBF16A4DF; Thu, 20 Jul 2006 19:24:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8366016A4DD for ; Thu, 20 Jul 2006 19:24:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 351D143D45 for ; Thu, 20 Jul 2006 19:24:08 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KJO8uQ039570 for ; Thu, 20 Jul 2006 19:24:08 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KJO7JR039567 for perforce@freebsd.org; Thu, 20 Jul 2006 19:24:07 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 19:24:07 GMT Message-Id: <200607201924.k6KJO7JR039567@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102021 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 19:24:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=102021 Change 102021 by jhb@jhb_mutex on 2006/07/20 19:24:01 - Use fdclose() to do the extraref stuff. - Conditionally grab Giant around socreate(). - Remove D_NEEDGIANT. Affected files ... .. //depot/projects/smpng/sys/dev/streams/streams.c#31 edit Differences ... ==== //depot/projects/smpng/sys/dev/streams/streams.c#31 (text+ko) ==== @@ -99,7 +99,6 @@ static struct cdevsw streams_cdevsw = { .d_version = D_VERSION, - .d_flags = D_NEEDGIANT, .d_open = streamsopen, .d_name = "streams", }; @@ -184,14 +183,12 @@ static int streamsopen(struct cdev *dev, int oflags, int devtype, struct thread *td) { - int type, protocol; - int fd, extraref; + struct filedesc *fdp; + struct svr4_strm *st; + struct socket *so; struct file *fp; - struct socket *so; - struct svr4_strm *st; - int error; - int family; - struct proc *p = td->td_proc; + int family, type, protocol; + int error, fd; if (td->td_dupfd >= 0) return ENODEV; @@ -242,32 +239,26 @@ return EOPNOTSUPP; } + fdp = td->td_proc->p_fd; if ((error = falloc(td, &fp, &fd)) != 0) return error; /* An extra reference on `fp' has been held for us by falloc(). */ - if ((error = socreate(family, &so, type, protocol, - td->td_ucred, td)) != 0) { - FILEDESC_LOCK_FAST(p->p_fd); - /* Check the fd table entry hasn't changed since we made it. */ - extraref = 0; - if (p->p_fd->fd_ofiles[fd] == fp) { - p->p_fd->fd_ofiles[fd] = NULL; - extraref = 1; - } - FILEDESC_UNLOCK_FAST(p->p_fd); - if (extraref) - fdrop(fp, td); - fdrop(fp, td); - return error; + NET_LOCK_GIANT(); + error = socreate(family, &so, type, protocol, td->td_ucred, td); + NET_UNLOCK_GIANT(); + if (error) { + fdclose(fdp, fp, fd, td); + fdrop(fp, td); + return error; } - FILEDESC_LOCK_FAST(p->p_fd); + FILEDESC_LOCK_FAST(fdp); fp->f_data = so; fp->f_flag = FREAD|FWRITE; fp->f_ops = &svr4_netops; fp->f_type = DTYPE_SOCKET; - FILEDESC_UNLOCK_FAST(p->p_fd); + FILEDESC_UNLOCK_FAST(fdp); /* * Allocate a stream structure and attach it to this socket. From owner-p4-projects@FreeBSD.ORG Thu Jul 20 20:21:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9D5416A4E1; Thu, 20 Jul 2006 20:21:18 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4AE416A4E0 for ; Thu, 20 Jul 2006 20:21:18 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8014043D49 for ; Thu, 20 Jul 2006 20:21:18 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KKLIqU044075 for ; Thu, 20 Jul 2006 20:21:18 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KKLI6u044072 for perforce@freebsd.org; Thu, 20 Jul 2006 20:21:18 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 20:21:18 GMT Message-Id: <200607202021.k6KKLI6u044072@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 102022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 20:21:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=102022 Change 102022 by gabor@gabor_spitfire on 2006/07/20 20:21:09 IFC Affected files ... .. //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#7 integrate Differences ... ==== //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ make index, then has to run the command, further slowing down that process. - Usage of sysctl should always done + Usage of sysctl should always be + fully qualified with /sbin/, as some users + may not have that directory in their PATH. + + Usage of &man.sysctl.8; should always be done with the SYSCTL variable, as it contains the fully qualified path and can be overriden, if one has such a special need. From owner-p4-projects@FreeBSD.ORG Thu Jul 20 20:23:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3EA316A4DF; Thu, 20 Jul 2006 20:23:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A75F316A4DE for ; Thu, 20 Jul 2006 20:23:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5181443D5A for ; Thu, 20 Jul 2006 20:23:22 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KKNMAe044236 for ; Thu, 20 Jul 2006 20:23:22 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KKNLw7044233 for perforce@freebsd.org; Thu, 20 Jul 2006 20:23:21 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 20:23:21 GMT Message-Id: <200607202023.k6KKNLw7044233@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102024 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 20:23:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=102024 Change 102024 by jhb@jhb_mutex on 2006/07/20 20:22:35 Grrr. Re-close a race I just re-opened in accept() with another thread closing the file descriptor out from under us. Instead, return a struct file * to the caller (if they provide a place to return it) and let the caller release the reference when they are done with it, letting the caller safely call fdclose() in error cases. Since I went to that trouble, fix the svr4 code to not leak the accept fd on error as well. This is a bit hairy I'm afraid. :( Affected files ... .. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#37 edit .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#91 edit .. //depot/projects/smpng/sys/sys/syscallsubr.h#48 edit Differences ... ==== //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#37 (text+ko) ==== @@ -1637,10 +1637,12 @@ struct sockaddr *sa; socklen_t sasize; struct svr4_strm *st; + struct file *afp; int fl; retval = td->td_retval; error = 0; + afp = NULL; FILE_LOCK_ASSERT(fp, MA_NOTOWNED); @@ -1778,7 +1780,7 @@ * We are after a listen, so we try to accept... */ - error = kern_accept(td, uap->fd, &sa, &sasize); + error = kern_accept(td, uap->fd, &sa, &sasize, &afp); if (error) { DPRINTF(("getmsg: accept failed %d\n", error)); return error; @@ -1809,6 +1811,9 @@ break; default: + fdclose(td->td_proc->p_fd, afp, st->s_afd, td); + fdrop(afp, td); + st->s_afd = -1; free(sa, M_SONAME); return ENOSYS; } @@ -1914,27 +1919,36 @@ return EINVAL; } - /* XXX: We leak the accept fd if we get an error here. */ if (uap->ctl) { if (ctl.len > sizeof(sc)) ctl.len = sizeof(sc); if (ctl.len != -1) - if ((error = copyout(&sc, ctl.buf, ctl.len)) != 0) - return error; + error = copyout(&sc, ctl.buf, ctl.len); - if ((error = copyout(&ctl, uap->ctl, sizeof(ctl))) != 0) - return error; + if (error == 0) + error = copyout(&ctl, uap->ctl, sizeof(ctl)); } if (uap->dat) { - if ((error = copyout(&dat, uap->dat, sizeof(dat))) != 0) - return error; + if (error == 0) + error = copyout(&dat, uap->dat, sizeof(dat)); } if (uap->flags) { /* XXX: Need translation */ - if ((error = copyout(&fl, uap->flags, sizeof(fl))) != 0) - return error; + if (error == 0) + error = copyout(&fl, uap->flags, sizeof(fl)); + } + + if (error) { + if (afp) { + fdclose(td->td_proc->p_fd, afp, st->s_afd, td); + fdrop(afp, td); + st->s_afd = -1; + } + return (error); } + if (afp) + fdrop(afp, td); *retval = 0; ==== //depot/projects/smpng/sys/kern/uipc_syscalls.c#91 (text+ko) ==== @@ -299,16 +299,17 @@ { struct sockaddr *name; socklen_t namelen; + struct file *fp; int error; if (uap->name == NULL) - return (kern_accept(td, uap->s, NULL, NULL)); + return (kern_accept(td, uap->s, NULL, NULL, NULL)); error = copyin(uap->anamelen, &namelen, sizeof (namelen)); if (error) return (error); - error = kern_accept(td, uap->s, &name, &namelen); + error = kern_accept(td, uap->s, &name, &namelen, &fp); /* * return a namelen of zero for older code which might @@ -332,14 +333,15 @@ error = copyout(&namelen, uap->anamelen, sizeof(namelen)); if (error) - kern_close(td, td->td_retval[0]); + fdclose(td->td_proc->p_fd, fp, td->td_retval[0], td); + fdrop(fp, td); free(name, M_SONAME); return (error); } int kern_accept(struct thread *td, int s, struct sockaddr **name, - socklen_t *namelen) + socklen_t *namelen, struct file **fp) { struct filedesc *fdp; struct file *headfp, *nfp = NULL; @@ -478,9 +480,17 @@ fdclose(fdp, nfp, fd, td); /* - * Release explicitly held references before returning. + * Release explicitly held references before returning. We return + * a reference on nfp to the caller on success if they request it. */ done: + if (fp != NULL) { + if (error == 0) { + *fp = nfp; + nfp = NULL; + } else + *fp = NULL; + } if (nfp != NULL) fdrop(nfp, td); fdrop(headfp, td); ==== //depot/projects/smpng/sys/sys/syscallsubr.h#48 (text+ko) ==== @@ -34,6 +34,7 @@ #include #include +struct file; struct itimerval; struct image_args; struct mbuf; @@ -51,7 +52,7 @@ int kern___getcwd(struct thread *td, u_char *buf, enum uio_seg bufseg, u_int buflen); int kern_accept(struct thread *td, int s, struct sockaddr **name, - socklen_t *namelen); + socklen_t *namelen, struct file **fp); int kern_access(struct thread *td, char *path, enum uio_seg pathseg, int flags); int kern_adjtime(struct thread *td, struct timeval *delta, From owner-p4-projects@FreeBSD.ORG Thu Jul 20 20:26:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E5F316A5AE; Thu, 20 Jul 2006 20:26:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F2ADE16A4F0 for ; Thu, 20 Jul 2006 20:26:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E60143D58 for ; Thu, 20 Jul 2006 20:26:26 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KKQQtH044369 for ; Thu, 20 Jul 2006 20:26:26 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KKQQfA044366 for perforce@freebsd.org; Thu, 20 Jul 2006 20:26:26 GMT (envelope-from jhb@freebsd.org) Date: Thu, 20 Jul 2006 20:26:26 GMT Message-Id: <200607202026.k6KKQQfA044366@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102025 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 20:26:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=102025 Change 102025 by jhb@jhb_mutex on 2006/07/20 20:25:37 Document what fdclose() does as it wasn't obvious to me when I looked at it back when doing kern_accept() last week. Affected files ... .. //depot/projects/smpng/sys/kern/kern_descrip.c#95 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_descrip.c#95 (text+ko) ==== @@ -1756,6 +1756,14 @@ FILEDESC_UNLOCK(fdp); } +/* + * If a specific file object occupies a specific file descriptor, + * close the file descriptor entry and drop a reference on the file + * object. This is a convenience function to handle a subsequent + * error in a function that calls falloc() that handles the race that + * another thread might have closed the file descriptor out from under + * the thread creating the file object. + */ void fdclose(struct filedesc *fdp, struct file *fp, int idx, struct thread *td) { From owner-p4-projects@FreeBSD.ORG Thu Jul 20 21:45:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C395716A4DF; Thu, 20 Jul 2006 21:45:22 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E4B116A4DD for ; Thu, 20 Jul 2006 21:45:22 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 592EB43D49 for ; Thu, 20 Jul 2006 21:45:22 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KLjMwd060157 for ; Thu, 20 Jul 2006 21:45:22 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KLjLaB060153 for perforce@freebsd.org; Thu, 20 Jul 2006 21:45:21 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 21:45:21 GMT Message-Id: <200607202145.k6KLjLaB060153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 102032 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 21:45:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=102032 Change 102032 by gabor@gabor_spitfire on 2006/07/20 21:44:30 - Document TARGETDIR - s/here/there/ Affected files ... .. //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#8 edit Differences ... ==== //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#8 (text+ko) ==== @@ -6866,7 +6866,11 @@ definitely wrong, but you can use LOCALBASE_REL if you need a variable relative to DESTDIR. Similarly, you can use LINUXBASE_REL and - X11BASE_REL variables as well. + X11BASE_REL variables as well. + PREFIX is an absolute path. but relative + to DESTDIR. If you want to refer to the + fully qualified destination you can use TARGETDIR, + which resolves to DESTDIR/PREFIX. You have to use these variables correctly in your ports Makefile, esepecially in @@ -6880,7 +6884,7 @@ In packing lists, or in pkg-* scripts you can still use %%LOCALBASE%%, %%LINUXBASE%% and %%X11BASE%% - expansions, since they represent relative paths here. This ambiguity + expansions, since they represent relative paths there. This ambiguity can be frustrating at first, but this actually simplifies the process of writing DESTDIR-compliant ports. We did not use to have DESTDIR support by our ports infrastructure, From owner-p4-projects@FreeBSD.ORG Thu Jul 20 21:47:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6422F16A4DE; Thu, 20 Jul 2006 21:47:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C62416A4DA for ; Thu, 20 Jul 2006 21:47:26 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED31443D49 for ; Thu, 20 Jul 2006 21:47:25 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KLlPtD060361 for ; Thu, 20 Jul 2006 21:47:25 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KLlPx5060358 for perforce@freebsd.org; Thu, 20 Jul 2006 21:47:25 GMT (envelope-from gabor@FreeBSD.org) Date: Thu, 20 Jul 2006 21:47:25 GMT Message-Id: <200607202147.k6KLlPx5060358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 102033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 21:47:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=102033 Change 102033 by gabor@gabor_spitfire on 2006/07/20 21:46:43 Remove the part for DESTDIR_READY since it is controversial and have been removed from my ports branch as well. We need a better way to implement DESTDIR in two steps. Affected files ... .. //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#9 edit Differences ... ==== //depot/projects/soc2006/gabor_docs/porters-handbook/book.sgml#9 (text+ko) ==== @@ -6877,9 +6877,7 @@ custom targets, to ensure each files are installed to the corect place. For dependencies, using LOCALBASE is still correct, since we want to check for dependencies - in DESTDIR. If everything is correct, set - DESTDIR_READY to indicate that your port - is ready to be used with DESTDIR. + in DESTDIR. In packing lists, or in pkg-* scripts you can still use %%LOCALBASE%%, From owner-p4-projects@FreeBSD.ORG Thu Jul 20 22:52:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03AA516A4E1; Thu, 20 Jul 2006 22:52:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CBD4616A4DA for ; Thu, 20 Jul 2006 22:52:48 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82B3543D45 for ; Thu, 20 Jul 2006 22:52:48 +0000 (GMT) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KMqmQO065166 for ; Thu, 20 Jul 2006 22:52:48 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KMqmIj065163 for perforce@freebsd.org; Thu, 20 Jul 2006 22:52:48 GMT (envelope-from bms@incunabulum.net) Date: Thu, 20 Jul 2006 22:52:48 GMT Message-Id: <200607202252.k6KMqmIj065163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 102037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 22:52:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=102037 Change 102037 by bms@bms_empiric on 2006/07/20 22:51:50 Put back old definitions that were blown away. Propagate change to consumers. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpuregs.h#7 integrate .. //depot/projects/mips2/src/sys/mips/mips/cpu.c#13 integrate .. //depot/projects/mips2/src/sys/mips/mips/exception.S#6 integrate .. //depot/projects/mips2/src/sys/mips/mips/trap.c#5 integrate Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpuregs.h#7 (text+ko) ==== @@ -64,13 +64,15 @@ /* * Address space. - * MIPS32 CPUs partition their 32-bit address space into four segments: + * 32-bit mips CPUS partition their 32-bit address space into four segments: * * kuseg 0x00000000 - 0x7fffffff User virtual mem, mapped * kseg0 0x80000000 - 0x9fffffff Physical memory, cached, unmapped * kseg1 0xa0000000 - 0xbfffffff Physical memory, uncached, unmapped * kseg2 0xc0000000 - 0xffffffff kernel-virtual, mapped * + * mips1 physical memory is limited to 512Mbytes, which is + * doubly mapped in kseg0 (cached) and kseg1 (uncached.) * Caching of mapped addresses is controlled by bits in the TLB entry. */ @@ -91,48 +93,180 @@ #define MIPS_PHYS_TO_KSEG1(x) ((unsigned)(x) | MIPS_KSEG1_START) /* Map virtual address to index in mips3 r4k virtually-indexed cache */ -#define MIPS_VA_TO_CINDEX(x) \ +#define MIPS3_VA_TO_CINDEX(x) \ ((unsigned)(x) & 0xffffff | MIPS_KSEG0_START) +#define MIPS_PHYS_TO_XKPHYS(cca,x) \ + ((0x2ULL << 62) | ((unsigned long long)(cca) << 59) | (x)) +#define MIPS_XKPHYS_TO_PHYS(x) ((x) & 0x0effffffffffffffULL) + /* CPU dependent mtc0 hazard hook */ #define COP0_SYNC /* nothing */ #define COP0_HAZARD_FPUENABLE nop; nop; nop; nop; /* - * Cause register bit assignments. + * The bits in the cause register. + * + * Bits common to r3000 and r4000: + * + * MIPS_CR_BR_DELAY Exception happened in branch delay slot. + * MIPS_CR_COP_ERR Coprocessor error. + * MIPS_CR_IP Interrupt pending bits defined below. + * (same meaning as in CAUSE register). + * MIPS_CR_EXC_CODE The exception type (see exception codes below). + * + * Differences: + * r3k has 4 bits of execption type, r4k has 5 bits. */ #define MIPS_CR_BR_DELAY 0x80000000 #define MIPS_CR_COP_ERR 0x30000000 -#define MIPS_CR_EXC_CODE 0x0000007C +#define MIPS1_CR_EXC_CODE 0x0000003C /* four bits */ +#define MIPS3_CR_EXC_CODE 0x0000007C /* five bits */ #define MIPS_CR_IP 0x0000FF00 #define MIPS_CR_EXC_CODE_SHIFT 2 /* - * Status register bit assignments. + * The bits in the status register. All bits are active when set to 1. + * + * R3000 status register fields: + * MIPS_SR_COP_USABILITY Control the usability of the four coprocessors. + * MIPS_SR_TS TLB shutdown. + * + * MIPS_SR_INT_IE Master (current) interrupt enable bit. + * + * Differences: + * r3k has cache control is via frobbing SR register bits, whereas the + * r4k cache control is via explicit instructions. + * r3k has a 3-entry stack of kernel/user bits, whereas the + * r4k has kernel/supervisor/user. */ #define MIPS_SR_COP_USABILITY 0xf0000000 #define MIPS_SR_COP_0_BIT 0x10000000 #define MIPS_SR_COP_1_BIT 0x20000000 -#define MIPS_SR_RP 0x08000000 /* Optional: reduced power mode */ -#define MIPS_SR_FR 0x04000000 /* 64-bit capable fpu */ -#define MIPS_SR_RE 0x02000000 /* Optional: reverse user endian */ + + /* r4k and r3k differences, see below */ + #define MIPS_SR_MX 0x01000000 /* MIPS64 */ #define MIPS_SR_PX 0x00800000 /* MIPS64 */ #define MIPS_SR_BEV 0x00400000 /* Use boot exception vector */ -#define MIPS_SR_TS 0x00200000 /* TLB matched multiple entries */ -#define MIPS_SR_SOFT_RESET 0x00100000 /* Optional: soft reset occurred */ -#define MIPS_SR_NMI 0x00080000 /* Optional: NMI occurred */ -#define MIPS_SR_INT_MASK 0x0000ff00 -#define MIPS_SR_KX 0x00000080 /* MIPS64 */ -#define MIPS_SR_SX 0x00000040 /* MIPS64 */ -#define MIPS_SR_UX 0x00000020 /* MIPS64 */ -#define MIPS_SR_KSU_MASK 0x00000018 /* privilege mode */ -#define MIPS_SR_KSU_USER 0x00000010 -#define MIPS_SR_KSU_SUPER 0x00000008 -#define MIPS_SR_KSU_KERNEL 0x00000000 -#define MIPS_SR_ERL 0x00000004 /* error level */ -#define MIPS_SR_EXL 0x00000002 /* exception level */ +#define MIPS_SR_TS 0x00200000 + #define MIPS_SR_INT_IE 0x00000001 +/*#define MIPS_SR_MBZ 0x0f8000c0*/ /* Never used, true for r3k */ +/*#define MIPS_SR_INT_MASK 0x0000ff00*/ + +/* + * The R2000/R3000-specific status register bit definitions. + * all bits are active when set to 1. + * + * MIPS_SR_PARITY_ERR Parity error. + * MIPS_SR_CACHE_MISS Most recent D-cache load resulted in a miss. + * MIPS_SR_PARITY_ZERO Zero replaces outgoing parity bits. + * MIPS_SR_SWAP_CACHES Swap I-cache and D-cache. + * MIPS_SR_ISOL_CACHES Isolate D-cache from main memory. + * Interrupt enable bits defined below. + * MIPS_SR_KU_OLD Old kernel/user mode bit. 1 => user mode. + * MIPS_SR_INT_ENA_OLD Old interrupt enable bit. + * MIPS_SR_KU_PREV Previous kernel/user mode bit. 1 => user mode. + * MIPS_SR_INT_ENA_PREV Previous interrupt enable bit. + * MIPS_SR_KU_CUR Current kernel/user mode bit. 1 => user mode. + */ + +#define MIPS1_PARITY_ERR 0x00100000 +#define MIPS1_CACHE_MISS 0x00080000 +#define MIPS1_PARITY_ZERO 0x00040000 +#define MIPS1_SWAP_CACHES 0x00020000 +#define MIPS1_ISOL_CACHES 0x00010000 + +#define MIPS1_SR_KU_OLD 0x00000020 /* 2nd stacked KU/IE*/ +#define MIPS1_SR_INT_ENA_OLD 0x00000010 /* 2nd stacked KU/IE*/ +#define MIPS1_SR_KU_PREV 0x00000008 /* 1st stacked KU/IE*/ +#define MIPS1_SR_INT_ENA_PREV 0x00000004 /* 1st stacked KU/IE*/ +#define MIPS1_SR_KU_CUR 0x00000002 /* current KU */ + +/* backwards compatibility */ +#define MIPS_SR_PARITY_ERR MIPS1_PARITY_ERR +#define MIPS_SR_CACHE_MISS MIPS1_CACHE_MISS +#define MIPS_SR_PARITY_ZERO MIPS1_PARITY_ZERO +#define MIPS_SR_SWAP_CACHES MIPS1_SWAP_CACHES +#define MIPS_SR_ISOL_CACHES MIPS1_ISOL_CACHES + +#define MIPS_SR_KU_OLD MIPS1_SR_KU_OLD +#define MIPS_SR_INT_ENA_OLD MIPS1_SR_INT_ENA_OLD +#define MIPS_SR_KU_PREV MIPS1_SR_KU_PREV +#define MIPS_SR_KU_CUR MIPS1_SR_KU_CUR +#define MIPS_SR_INT_ENA_PREV MIPS1_SR_INT_ENA_PREV + +/* + * R4000 status register bit definitons, + * where different from r2000/r3000. + */ +#define MIPS3_SR_XX 0x80000000 +#define MIPS3_SR_RP 0x08000000 +#define MIPS3_SR_FR 0x04000000 +#define MIPS3_SR_RE 0x02000000 + +#define MIPS3_SR_DIAG_DL 0x01000000 /* QED 52xx */ +#define MIPS3_SR_DIAG_IL 0x00800000 /* QED 52xx */ +#define MIPS3_SR_SR 0x00100000 +#define MIPS3_SR_NMI 0x00080000 /* MIPS32/64 */ +#define MIPS3_SR_DIAG_CH 0x00040000 +#define MIPS3_SR_DIAG_CE 0x00020000 +#define MIPS3_SR_DIAG_PE 0x00010000 +#define MIPS3_SR_EIE 0x00010000 /* TX79/R5900 */ +#define MIPS3_SR_KX 0x00000080 +#define MIPS3_SR_SX 0x00000040 +#define MIPS3_SR_UX 0x00000020 +#define MIPS3_SR_KSU_MASK 0x00000018 +#define MIPS3_SR_KSU_USER 0x00000010 +#define MIPS3_SR_KSU_SUPER 0x00000008 +#define MIPS3_SR_KSU_KERNEL 0x00000000 +#define MIPS3_SR_ERL 0x00000004 +#define MIPS3_SR_EXL 0x00000002 + +#ifdef MIPS3_5900 +#undef MIPS_SR_INT_IE +#define MIPS_SR_INT_IE 0x00010001 /* XXX */ +#endif + +/* + * These definitions are for MIPS32 processors. + */ +#define MIPS32_SR_RP 0x08000000 /* reduced power mode */ +#define MIPS32_SR_FR 0x04000000 /* 64-bit capable fpu */ +#define MIPS32_SR_RE 0x02000000 /* reverse user endian */ +#define MIPS32_SR_MX 0x01000000 /* MIPS64 */ +#define MIPS32_SR_PX 0x00800000 /* MIPS64 */ +#define MIPS32_SR_BEV 0x00400000 /* Use boot exception vector */ +#define MIPS32_SR_TS 0x00200000 /* TLB multiple match */ +#define MIPS32_SR_SOFT_RESET 0x00100000 /* soft reset occurred */ +#define MIPS32_SR_NMI 0x00080000 /* NMI occurred */ +#define MIPS32_SR_INT_MASK 0x0000ff00 +#define MIPS32_SR_KX 0x00000080 /* MIPS64 */ +#define MIPS32_SR_SX 0x00000040 /* MIPS64 */ +#define MIPS32_SR_UX 0x00000020 /* MIPS64 */ +#define MIPS32_SR_KSU_MASK 0x00000018 /* privilege mode */ +#define MIPS32_SR_KSU_USER 0x00000010 +#define MIPS32_SR_KSU_SUPER 0x00000008 +#define MIPS32_SR_KSU_KERNEL 0x00000000 +#define MIPS32_SR_ERL 0x00000004 /* error level */ +#define MIPS32_SR_EXL 0x00000002 /* exception level */ + +#define MIPS_SR_SOFT_RESET MIPS3_SR_SR +#define MIPS_SR_DIAG_CH MIPS3_SR_DIAG_CH +#define MIPS_SR_DIAG_CE MIPS3_SR_DIAG_CE +#define MIPS_SR_DIAG_PE MIPS3_SR_DIAG_PE +#define MIPS_SR_KX MIPS3_SR_KX +#define MIPS_SR_SX MIPS3_SR_SX +#define MIPS_SR_UX MIPS3_SR_UX + +#define MIPS_SR_KSU_MASK MIPS3_SR_KSU_MASK +#define MIPS_SR_KSU_USER MIPS3_SR_KSU_USER +#define MIPS_SR_KSU_SUPER MIPS3_SR_KSU_SUPER +#define MIPS_SR_KSU_KERNEL MIPS3_SR_KSU_KERNEL +#define MIPS_SR_ERL MIPS3_SR_ERL +#define MIPS_SR_EXL MIPS3_SR_EXL + /* * The interrupt masks. @@ -150,24 +284,25 @@ #define MIPS_SOFT_INT_MASK_0 0x0100 /* - * MIPS32 CPUs have an on-chip timer at INT_MASK_5. - * Routing of this interrupt is optional; MIPS32 rev2 - * changes its semantics. - * See section 8.16 of the MIPS32 PRA spec for more info. + * mips3 CPUs have on-chip timer at INT_MASK_5. Each platform can + * choose to enable this interrupt. */ -#if defined(MIPS32_ENABLE_CLOCK_INTR) -#define MIPS32_INT_MASK MIPS_INT_MASK -#define MIPS32_HARD_INT_MASK MIPS_HARD_INT_MASK +#if defined(MIPS3_ENABLE_CLOCK_INTR) +#define MIPS3_INT_MASK MIPS_INT_MASK +#define MIPS3_HARD_INT_MASK MIPS_HARD_INT_MASK #else -#define MIPS32_INT_MASK (MIPS_INT_MASK & ~MIPS_INT_MASK_5) -#define MIPS32_HARD_INT_MASK (MIPS_HARD_INT_MASK & ~MIPS_INT_MASK_5) +#define MIPS3_INT_MASK (MIPS_INT_MASK & ~MIPS_INT_MASK_5) +#define MIPS3_HARD_INT_MASK (MIPS_HARD_INT_MASK & ~MIPS_INT_MASK_5) #endif /* - * The bits in the MIPS32 context register. + * The bits in the context register. */ -#define MIPS_CNTXT_PTE_BASE 0xFF800000 -#define MIPS_CNTXT_BAD_VPN2 0x007FFFF0 +#define MIPS1_CNTXT_PTE_BASE 0xFFE00000 +#define MIPS1_CNTXT_BAD_VPN 0x001FFFFC + +#define MIPS3_CNTXT_PTE_BASE 0xFF800000 +#define MIPS3_CNTXT_BAD_VPN2 0x007FFFF0 /* * Location of MIPS32 exception vectors. Most are multiplexed in @@ -186,6 +321,144 @@ #define MIPS_VEC_INTERRUPT 0x80000200 /* + * The bits in the MIPS3 config register. + * + * bit 0..5: R/W, Bit 6..31: R/O + */ + +/* kseg0 coherency algorithm - see MIPS3_TLB_ATTR values */ +#define MIPS3_CONFIG_K0_MASK 0x00000007 + +/* + * R/W Update on Store Conditional + * 0: Store Conditional uses coherency algorithm specified by TLB + * 1: Store Conditional uses cacheable coherent update on write + */ +#define MIPS3_CONFIG_CU 0x00000008 + +#define MIPS3_CONFIG_DB 0x00000010 /* Primary D-cache line size */ +#define MIPS3_CONFIG_IB 0x00000020 /* Primary I-cache line size */ +#define MIPS3_CONFIG_CACHE_L1_LSIZE(config, bit) \ + (((config) & (bit)) ? 32 : 16) + +#define MIPS3_CONFIG_DC_MASK 0x000001c0 /* Primary D-cache size */ +#define MIPS3_CONFIG_DC_SHIFT 6 +#define MIPS3_CONFIG_IC_MASK 0x00000e00 /* Primary I-cache size */ +#define MIPS3_CONFIG_IC_SHIFT 9 +#define MIPS3_CONFIG_C_DEFBASE 0x1000 /* default base 2^12 */ + +/* Cache size mode indication: available only on Vr41xx CPUs */ +#define MIPS3_CONFIG_CS 0x00001000 +#define MIPS3_CONFIG_C_4100BASE 0x0400 /* base is 2^10 if CS=1 */ +#define MIPS3_CONFIG_CACHE_SIZE(config, mask, base, shift) \ + ((base) << (((config) & (mask)) >> (shift))) + +/* External cache enable: Controls L2 for R5000/Rm527x and L3 for Rm7000 */ +#define MIPS3_CONFIG_SE 0x00001000 + +/* Block ordering: 0: sequential, 1: sub-block */ +#define MIPS3_CONFIG_EB 0x00002000 + +/* ECC mode - 0: ECC mode, 1: parity mode */ +#define MIPS3_CONFIG_EM 0x00004000 + +/* BigEndianMem - 0: kernel and memory are little endian, 1: big endian */ +#define MIPS3_CONFIG_BE 0x00008000 + +/* Dirty Shared coherency state - 0: enabled, 1: disabled */ +#define MIPS3_CONFIG_SM 0x00010000 + +/* Secondary Cache - 0: present, 1: not present */ +#define MIPS3_CONFIG_SC 0x00020000 + +/* System Port width - 0: 64-bit, 1: 32-bit (QED RM523x), 2,3: reserved */ +#define MIPS3_CONFIG_EW_MASK 0x000c0000 +#define MIPS3_CONFIG_EW_SHIFT 18 + +/* Secondary Cache port width - 0: 128-bit data path to S-cache, 1: reserved */ +#define MIPS3_CONFIG_SW 0x00100000 + +/* Split Secondary Cache Mode - 0: I/D mixed, 1: I/D separated by SCAddr(17) */ +#define MIPS3_CONFIG_SS 0x00200000 + +/* Secondary Cache line size */ +#define MIPS3_CONFIG_SB_MASK 0x00c00000 +#define MIPS3_CONFIG_SB_SHIFT 22 +#define MIPS3_CONFIG_CACHE_L2_LSIZE(config) \ + (0x10 << (((config) & MIPS3_CONFIG_SB_MASK) >> MIPS3_CONFIG_SB_SHIFT)) + +/* Write back data rate */ +#define MIPS3_CONFIG_EP_MASK 0x0f000000 +#define MIPS3_CONFIG_EP_SHIFT 24 + +/* System clock ratio - this value is CPU dependent */ +#define MIPS3_CONFIG_EC_MASK 0x70000000 +#define MIPS3_CONFIG_EC_SHIFT 28 + +/* Master-Checker Mode - 1: enabled */ +#define MIPS3_CONFIG_CM 0x80000000 + +/* + * The bits in the MIPS4 config register. + */ + +/* kseg0 coherency algorithm - see MIPS3_TLB_ATTR values */ +#define MIPS4_CONFIG_K0_MASK MIPS3_CONFIG_K0_MASK +#define MIPS4_CONFIG_DN_MASK 0x00000018 /* Device number */ +#define MIPS4_CONFIG_CT 0x00000020 /* CohPrcReqTar */ +#define MIPS4_CONFIG_PE 0x00000040 /* PreElmReq */ +#define MIPS4_CONFIG_PM_MASK 0x00000180 /* PreReqMax */ +#define MIPS4_CONFIG_EC_MASK 0x00001e00 /* SysClkDiv */ +#define MIPS4_CONFIG_SB 0x00002000 /* SCBlkSize */ +#define MIPS4_CONFIG_SK 0x00004000 /* SCColEn */ +#define MIPS4_CONFIG_BE 0x00008000 /* MemEnd */ +#define MIPS4_CONFIG_SS_MASK 0x00070000 /* SCSize */ +#define MIPS4_CONFIG_SC_MASK 0x00380000 /* SCClkDiv */ +#define MIPS4_CONFIG_RESERVED 0x03c00000 /* Reserved wired 0 */ +#define MIPS4_CONFIG_DC_MASK 0x1c000000 /* Primary D-Cache size */ +#define MIPS4_CONFIG_IC_MASK 0xe0000000 /* Primary I-Cache size */ + +#define MIPS4_CONFIG_DC_SHIFT 26 +#define MIPS4_CONFIG_IC_SHIFT 29 + +#define MIPS4_CONFIG_CACHE_SIZE(config, mask, base, shift) \ + ((base) << (((config) & (mask)) >> (shift))) + +#define MIPS4_CONFIG_CACHE_L2_LSIZE(config) \ + (((config) & MIPS4_CONFIG_SB) ? 128 : 64) + +/* + * Location of exception vectors. + * + * Common vectors: reset and UTLB miss. + */ +#define MIPS_RESET_EXC_VEC 0xBFC00000 +#define MIPS_UTLB_MISS_EXC_VEC 0x80000000 + +/* + * MIPS-1 general exception vector (everything else) + */ +#define MIPS1_GEN_EXC_VEC 0x80000080 + +/* + * MIPS-III exception vectors + */ +#define MIPS3_XTLB_MISS_EXC_VEC 0x80000080 +#define MIPS3_CACHE_ERR_EXC_VEC 0x80000100 +#define MIPS3_GEN_EXC_VEC 0x80000180 + +/* + * TX79 (R5900) exception vectors + */ +#define MIPS_R5900_COUNTER_EXC_VEC 0x80000080 +#define MIPS_R5900_DEBUG_EXC_VEC 0x80000100 + +/* + * MIPS32/MIPS64 (and some MIPS3) dedicated interrupt vector. + */ +#define MIPS3_INTR_EXC_VEC 0x80000200 + +/* * Coprocessor 0 registers: * * v--- width for mips I,III,32,64 @@ -238,9 +511,13 @@ #define _(n) n #endif + #define MIPS_COP_0_TLB_INDEX _(0) #define MIPS_COP_0_TLB_RANDOM _(1) + /* Name and meaning of TLB bits for $2 differ on r3k and r4k. */ + #define MIPS_COP_0_TLB_CONTEXT _(4) + /* $5 and $6 new with MIPS-III */ #define MIPS_COP_0_BAD_VADDR _(8) #define MIPS_COP_0_TLB_HI _(10) #define MIPS_COP_0_STATUS _(12) @@ -248,6 +525,11 @@ #define MIPS_COP_0_EXC_PC _(14) #define MIPS_COP_0_PRID _(15) + +/* MIPS-I */ +#define MIPS_COP_0_TLB_LOW _(2) + +/* MIPS-III */ #define MIPS_COP_0_TLB_LO0 _(2) #define MIPS_COP_0_TLB_LO1 _(3) @@ -282,17 +564,10 @@ #define MIPS_MMU_BAT 0x02 /* Standard BAT */ #define MIPS_MMU_FIXED 0x03 /* Standard fixed mapping */ -#define MIPS_CONFIG_CM 0x80000000 /* next selection is present */ - -#define MIPS_CONFIG0_K23_MASK 0x70000000 /* kseg2/3 coherency mode */ -#define MIPS_CONFIG0_KU_MASK 0x0E000000 /* kuseg coherency mode */ -#define MIPS_CONFIG0_BE 0x00008000 /* data is big-endian */ -#define MIPS_CONFIG0_AT_MASK 0x00006000 /* architecture type (MIPS32/64) */ -#define MIPS_CONFIG0_AR_MASK 0x00001C00 /* architecture revision */ #define MIPS_CONFIG0_MT_MASK 0x00000380 /* bits 9..7 MMU Type */ #define MIPS_CONFIG0_MT_SHIFT 7 -#define MIPS_CONFIG0_VI 0x00000008 /* instruction cache is virtual */ -#define MIPS_CONFIG0_K0_MASK 0x00000007 /* kseg0 coherency mode */ +#define MIPS_CONFIG0_BE 0x00008000 /* data is big-endian */ +#define MIPS_CONFIG0_VI 0x00000004 /* instruction cache is virtual */ #define MIPS_CONFIG1_TLBSZ_MASK 0x7E000000 /* bits 30..25 # tlb entries minus one */ #define MIPS_CONFIG1_TLBSZ_SHIFT 25 @@ -392,6 +667,12 @@ /* * The low part of the TLB entry. */ +#define MIPS1_TLB_PFN 0xfffff000 +#define MIPS1_TLB_NON_CACHEABLE_BIT 0x00000800 +#define MIPS1_TLB_DIRTY_BIT 0x00000400 +#define MIPS1_TLB_VALID_BIT 0x00000200 +#define MIPS1_TLB_GLOBAL_BIT 0x00000100 + #define MIPS3_TLB_PFN 0x3fffffc0 #define MIPS3_TLB_ATTR_MASK 0x00000038 #define MIPS3_TLB_ATTR_SHIFT 3 @@ -399,8 +680,11 @@ #define MIPS3_TLB_VALID_BIT 0x00000002 #define MIPS3_TLB_GLOBAL_BIT 0x00000001 +#define MIPS1_TLB_PHYS_PAGE_SHIFT 12 #define MIPS3_TLB_PHYS_PAGE_SHIFT 6 +#define MIPS1_TLB_PF_NUM MIPS1_TLB_PFN #define MIPS3_TLB_PF_NUM MIPS3_TLB_PFN +#define MIPS1_TLB_MOD_BIT MIPS1_TLB_DIRTY_BIT #define MIPS3_TLB_MOD_BIT MIPS3_TLB_DIRTY_BIT /* @@ -427,32 +711,54 @@ /* * The high part of the TLB entry. */ +#define MIPS1_TLB_VPN 0xfffff000 +#define MIPS1_TLB_PID 0x00000fc0 +#define MIPS1_TLB_PID_SHIFT 6 + #define MIPS3_TLB_VPN2 0xffffe000 #define MIPS3_TLB_ASID 0x000000ff +#define MIPS1_TLB_VIRT_PAGE_NUM MIPS1_TLB_VPN #define MIPS3_TLB_VIRT_PAGE_NUM MIPS3_TLB_VPN2 #define MIPS3_TLB_PID MIPS3_TLB_ASID #define MIPS_TLB_VIRT_PAGE_SHIFT 12 /* + * r3000: shift count to put the index in the right spot. + */ +#define MIPS1_TLB_INDEX_SHIFT 8 + +/* * The first TLB that write random hits. */ +#define MIPS1_TLB_FIRST_RAND_ENTRY 8 #define MIPS3_TLB_WIRED_UPAGES 1 /* * The number of process id entries. */ +#define MIPS1_TLB_NUM_PIDS 64 #define MIPS3_TLB_NUM_ASIDS 256 /* * Patch codes to hide CPU design differences between MIPS1 and MIPS3. */ + +/* XXX simonb: this is before MIPS3_PLUS is defined (and is ugly!) */ + +#if !(defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ + && defined(MIPS1) /* XXX simonb must be neater! */ +#define MIPS_TLB_PID_SHIFT MIPS1_TLB_PID_SHIFT +#define MIPS_TLB_NUM_PIDS MIPS1_TLB_NUM_PIDS +#endif + #if (defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ && !defined(MIPS1) /* XXX simonb must be neater! */ #define MIPS_TLB_PID_SHIFT 0 #define MIPS_TLB_NUM_PIDS MIPS3_TLB_NUM_ASIDS #endif + #if !defined(MIPS_TLB_PID_SHIFT) #define MIPS_TLB_PID_SHIFT \ ((MIPS_HAS_R4K_MMU) ? 0 : MIPS1_TLB_PID_SHIFT) @@ -497,15 +803,29 @@ #define MIPS_R5500 0x55 /* NEC VR5500 ISA IV */ /* - * CPU revision IDs. + * CPU revision IDs for some prehistoric processors. */ +/* For MIPS_R3000 */ +#define MIPS_REV_R3000 0x20 +#define MIPS_REV_R3000A 0x30 + +/* For MIPS_TX3900 */ +#define MIPS_REV_TX3912 0x10 +#define MIPS_REV_TX3922 0x30 +#define MIPS_REV_TX3927 0x40 + /* For MIPS_R4000 */ +#define MIPS_REV_R4000_A 0x00 +#define MIPS_REV_R4000_B 0x22 #define MIPS_REV_R4000_C 0x30 #define MIPS_REV_R4400_A 0x40 #define MIPS_REV_R4400_B 0x50 #define MIPS_REV_R4400_C 0x60 +/* For MIPS_TX4900 */ +#define MIPS_REV_TX4927 0x22 + /* * CPU processor revision IDs for company ID == 1 (MIPS) */ @@ -560,4 +880,14 @@ #define MIPS_R31LSI 0x06 /* LSI Logic derivate ISA I */ #define MIPS_R3TOSH 0x22 /* Toshiba R3000 based FPU ISA I */ +#ifdef ENABLE_MIPS_TX3900 +#include +#endif +#ifdef MIPS3_5900 +#include +#endif +#ifdef MIPS64_SB1 +#include +#endif + #endif /* _MIPS_CPUREGS_H_ */ ==== //depot/projects/mips2/src/sys/mips/mips/cpu.c#13 (text+ko) ==== @@ -134,7 +134,7 @@ cpuinfo->tlb_type = ((cfg0 & MIPS_CONFIG0_MT_MASK) >> MIPS_CONFIG0_MT_SHIFT); /* If config register selection 1 does not exist, exit. */ - if (!(cfg0 & MIPS_CONFIG_CM)) + if (!(cfg0 & MIPS3_CONFIG_CM)) return; /* Learn TLB size and L1 cache geometry. */ ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#5 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#6 $ */ #include "opt_ddb.h" @@ -94,7 +94,7 @@ .set noat mfc0 k0, MIPS_COP_0_CAUSE - and k0, MIPS_CR_EXC_CODE + and k0, MIPS3_CR_EXC_CODE srl k0, MIPS_CR_EXC_CODE_SHIFT sll k0, 3 /* Index 64-bits. */ la k1, ExceptionHandlerTable @@ -139,7 +139,7 @@ */ mfc0 a1, MIPS_COP_0_CAUSE - and k0, a1, MIPS_CR_EXC_CODE + and k0, a1, MIPS3_CR_EXC_CODE bnez k0, 1f move a0, k1 ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#5 (text+ko) ==== @@ -107,7 +107,7 @@ tf = retf; bcopy(retf, tf, sizeof *tf); - code = (cause & MIPS_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; + code = (cause & MIPS3_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; kernelmode = (tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER) == 0; /* From owner-p4-projects@FreeBSD.ORG Fri Jul 21 01:36:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D35716A4E2; Fri, 21 Jul 2006 01:36:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2236F16A4E0 for ; Fri, 21 Jul 2006 01:36:17 +0000 (UTC) (envelope-from swhitman@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE48643D49 for ; Fri, 21 Jul 2006 01:36:16 +0000 (GMT) (envelope-from swhitman@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6L1aGDm085997 for ; Fri, 21 Jul 2006 01:36:16 GMT (envelope-from swhitman@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6L1aGud085994 for perforce@freebsd.org; Fri, 21 Jul 2006 01:36:16 GMT (envelope-from swhitman@FreeBSD.org) Date: Fri, 21 Jul 2006 01:36:16 GMT Message-Id: <200607210136.k6L1aGud085994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swhitman@FreeBSD.org using -f From: Spencer Whitman To: Perforce Change Reviews Cc: Subject: PERFORCE change 102041 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 01:36:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=102041 Change 102041 by swhitman@swhitman_joethecat on 2006/07/21 01:35:20 Added struct and struct head for argument list (more work on #define) (NOTE: the current submission does not compile) Affected files ... .. //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/cpp.c#13 edit .. //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/string.c#8 edit Differences ... ==== //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/cpp.c#13 (text+ko) ==== @@ -30,33 +30,44 @@ #define MAX_DEPTH 64 struct iarg { - const char *dir; - TAILQ_ENTRY(iarg) list; + const char *dir; + TAILQ_ENTRY(iarg) list; }; struct cppfilestate { - struct h *h; - int iflevel; - int elsestate[MAX_DEPTH]; - int off; - const char *hash; - const char *s, *e; - struct ref *r; + struct h *h; + int iflevel; + int elsestate[MAX_DEPTH]; + int off; + const char *hash; + const char *s, *e; + struct ref *r; +}; + +/* XXX This should prob be optimized to a tree or hash table but should work for now */ +struct macro_arg { + const char *name; /* Argument name */ + TAILQ_ENTRY(macro_arg) list; /* Entry into the argument list */ }; +TAILQ_HEAD(args_list_head, macro_arg); /* Macro argument list head */ + #define OBJ_MAC_TYPE 0/* For object like macros (no paraens, no arguments) */ #define FUNC_MAC_TYPE 1/* For function like macros (paraens and arguments) */ #define NONE_MAC_TYPE -1/* Inital value. Indecates type was not set */ struct define { const char *name; /* Name of the macro */ int mac_type; /* Object or function like macro */ - /* Arguments of the macro */ - /* Value of the macro */ - TAILQ_ENTRY(defines) list; /* Link to list of macros */ + struct args_list_head *args; /* Head of argument list */ + const char *value; /* Value of the macro */ + TAILQ_ENTRY(define) list; /* Link to list of macros */ }; + +#define INIT_DEF_ARG(def) *((def)->args) = { NULL, ((def)->args).tqh_first } //TAILQ_HEAD_INITIALIZER((def)->args) + static TAILQ_HEAD(,iarg) iarg = TAILQ_HEAD_INITIALIZER(iarg); -static TAILQ_HEAD(,defines) defines = TAILQ_HEAD_INITIALIZER(defines); +static TAILQ_HEAD(,define) define = TAILQ_HEAD_INITIALIZER(define); static void cppfile(struct h *h, struct ref *r); static void cpp_expand(struct cppfilestate *cfs, struct ref *r, @@ -206,42 +217,51 @@ static void cpp_include(CPP_ARGS) { - const char *p; - struct sourcefile *sf; - struct ref *r; + const char *p; + struct sourcefile *sf; + struct ref *r; + + r = NewRef(cfs->h); + r->type = INCL; + r->ref.b = h; + r->ref.e = e; + r->ref.r = cfs->r; + b = skipspace(cfs, b, e); + if (*b == '<') { + for (p = b + 1; p < e && *p != '>'; p++) + continue; + if (p >= e) + errx(1, "#include: filename missing '>'"); + p = String(b + 1, p); + sf = cpp_include_path(p); + if (sf == NULL) + errx(1, "#include: <%s> file not found", p); + } else if (*b == '"') { + for (p = b + 1; p < e && *p != '"'; p++) + continue; + if (p >= e) + errx(1, "#include: filename missing '\"'"); + p = String(b + 1, p); + sf = LoadFile(p); + if (sf == NULL) + sf = cpp_include_path(p); + if (sf == NULL) + errx(1, "#include: \"%s\" file not found", p); + } else + errx(1, "#include: filename must be in <..> or \"...\""); + r->sf = sf; + r->s = sf->s; + cppfile(cfs->h, r); +} + - r = NewRef(cfs->h); - r->type = INCL; - r->ref.b = h; - r->ref.e = e; - r->ref.r = cfs->r; - b = skipspace(cfs, b, e); - if (*b == '<') { - for (p = b + 1; p < e && *p != '>'; p++) - continue; - if (p >= e) - errx(1, "#include: filename missing '>'"); - p = String(b + 1, p); - sf = cpp_include_path(p); - if (sf == NULL) - errx(1, "#include: <%s> file not found", p); - } else if (*b == '"') { - for (p = b + 1; p < e && *p != '"'; p++) - continue; - if (p >= e) - errx(1, "#include: filename missing '\"'"); - p = String(b + 1, p); - sf = LoadFile(p); - if (sf == NULL) - sf = cpp_include_path(p); - if (sf == NULL) - errx(1, "#include: \"%s\" file not found", p); - } else - errx(1, "#include: filename must be in <..> or \"...\""); - r->sf = sf; - r->s = sf->s; - cppfile(cfs->h, r); -} +/* Pass this function a string to expand any and all macros */ +/*static void +cpp_macro_expand(const char *b __unused, const char *e __unused) +{ + + +}*/ /* @@ -256,7 +276,8 @@ cpp_add_define(const char *b, const char *e) { struct define *mac; - + struct define *tmp; + const char * name_b = b; const char * name_e; const char * p = b; @@ -273,7 +294,7 @@ /* XXX This is ugly; any better way to do this? */ ((name_e + 1 < e) && ((name_e[1] == '\\') && (name_e[2] == 's')))) { - printf("Defining object macro name %V\n",p); + printf("1Defining object macro name %V\n",String(name_b,name_e)); mac->mac_type = OBJ_MAC_TYPE; break; } @@ -288,32 +309,56 @@ } p = String(name_b,name_e); - if(isspace(*p) || *p == '\0') + if(isspace(*p) || *p == '\0') { + free(mac); errx(1, "no macro name given in #define directive"); + } mac->name = p; if(mac->mac_type == NONE_MAC_TYPE) { - printf("Defining object macro name %V\n", p); + printf("2Defining object macro name %V\n", p); mac->mac_type = OBJ_MAC_TYPE; } switch (mac->mac_type) { + case OBJ_MAC_TYPE: + mac->value = String(name_e,e); break; case FUNC_MAC_TYPE: - { + /* Make sure function macro is wellformed (has a matching ')', arguments * are correct, etc.) Add arguments to mac. */ + //INIT_DEF_ARG(mac); + //*(mac->args) = TAILQ_HEAD_INITIALIZER(*(mac->args)); + //TAILQ_INIT(mac->args); + /* do { + printf("here\n"); + ((mac->args))->tqh_first = NULL; + printf("1\n"); + (mac->args)->tqh_last = &TAILQ_FIRST((mac->args)); + printf("2\n"); + QMD_TRACE_HEAD(mac->args); + printf("3\n"); + } while (0);*/ - - } break; + default: break; } + /* Add this macro to the defined list */ + TAILQ_FOREACH(tmp, &define, list) { + if(tmp == NULL) { + TAILQ_INSERT_TAIL(&define, mac, list); + break; + } + + } + } @@ -333,15 +378,23 @@ } - +/* Note: The "#define" has already been stripped at this point */ static void cpp_define(CPP_ARGS) { /* struct cppfilestate *cfs __unused, const char *h __unused, const char *b __unused, const char *e __unused */ - printf("#define of %V\n",String(b,e)); + struct ref *r; + r = NewRef(cfs->h); + r->type = MACRO; + r->ref.b = h; + r->ref.e = e; + r->ref.r = cfs->r; + + printf("#define of %V\n",String(b,e)); + /* The first token is the macro name */ cpp_add_define(skipspace(cfs, b, e),e); @@ -423,7 +476,7 @@ cppchunk(cfs, NULL, NULL); - /* We must be looking at a preparcessor macro */ + /* We must be looking at a preparcessor command */ assert(*p == '#'); cfs->hash = s; /* Ignore unwanted whitespace */ @@ -436,22 +489,25 @@ D(1, "line <%V>\n", String(p, e)); - /* Scan thru the preprocessor keywords */ + /* Scan through the preprocessor keywords */ for (kw = cpp_kw; kw->q != NULL; kw++) { - if (*p < *kw->q) - break; - if (p + kw->l > e) - continue; - if (isident(p[kw->l])) - continue; - if (memcmp(kw->q, p, kw->l)) - continue; - p += kw->l; - /* If it exists, execute cpp function */ - if (kw->func != NULL) - kw->func(cfs, cfs->hash, p, e); - cfs->hash = NULL; - return; + /* XXX I don't understand this case; taking i out seems to work */ + /*if (*p < *kw->q) { + printf("%s<%s\n",p,kw->q); + break; + }*/ + if (p + kw->l > e) + continue; + if (isident(p[kw->l])) + continue; + if (memcmp(kw->q, p, kw->l)) + continue; + p += kw->l; + /* If it exists, execute cpp function */ + if (kw->func != NULL) + kw->func(cfs, cfs->hash, p, e); + cfs->hash = NULL; + return; } cfs->hash = NULL; ==== //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/k/string.c#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jul 21 07:22:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E86416A4E1; Fri, 21 Jul 2006 07:22:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 330A816A4DF for ; Fri, 21 Jul 2006 07:22:32 +0000 (UTC) (envelope-from tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF0E343D46 for ; Fri, 21 Jul 2006 07:22:31 +0000 (GMT) (envelope-from tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6L7MVD6021156 for ; Fri, 21 Jul 2006 07:22:31 GMT (envelope-from tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6L7MV1J021153 for perforce@freebsd.org; Fri, 21 Jul 2006 07:22:31 GMT (envelope-from tyler@freebsd.org) Date: Fri, 21 Jul 2006 07:22:31 GMT Message-Id: <200607210722.k6L7MV1J021153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tyler@freebsd.org using -f From: "R. Tyler Ballance" To: Perforce Change Reviews Cc: Subject: PERFORCE change 102045 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 07:22:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=102045 Change 102045 by tyler@orange on 2006/07/21 07:22:24 Add kernel configuration files from sys/i386/conf to start building the kernel as a standalone ELF binary Affected files ... .. //depot/projects/l4bsd/src/sys/iguana/conf/DEFAULTS#1 add .. //depot/projects/l4bsd/src/sys/iguana/conf/GENERIC#1 add .. //depot/projects/l4bsd/src/sys/iguana/conf/GENERIC.hints#1 add .. //depot/projects/l4bsd/src/sys/iguana/conf/Makefile#1 add .. //depot/projects/l4bsd/src/sys/iguana/conf/NOTES#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 21 10:21:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A21E16A4E0; Fri, 21 Jul 2006 10:21:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BBB616A4DD for ; Fri, 21 Jul 2006 10:21:25 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFB5A43D49 for ; Fri, 21 Jul 2006 10:21:24 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LALOAK039362 for ; Fri, 21 Jul 2006 10:21:24 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LALOmp039359 for perforce@freebsd.org; Fri, 21 Jul 2006 10:21:24 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 10:21:24 GMT Message-Id: <200607211021.k6LALOmp039359@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 10:21:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=102049 Change 102049 by piso@piso_longino on 2006/07/21 10:21:18 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/adlink/adlink.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/cy/cy_isa.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/cy/cy_pci.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 (text+ko) ==== @@ -312,7 +312,7 @@ } } else { if (bus_setup_intr(sc->aac_dev, sc->aac_irq, - INTR_FAST|INTR_TYPE_BIO, + INTR_TYPE_BIO, aac_fast_intr, NULL, sc, &sc->aac_intr)) { device_printf(sc->aac_dev, ==== //depot/projects/soc2006/intr_filter/dev/adlink/adlink.c#4 (text+ko) ==== @@ -373,14 +373,15 @@ if (error) return (error); + /* XXX why do we need INTR_MPSAFE if INTR_FAST was declared too?!?!? */ i = bus_setup_intr(self, sc->res[2], - INTR_MPSAFE | INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)adlink_intr, NULL, sc, &sc->intrhand); + INTR_MPSAFE | INTR_TYPE_MISC, + adlink_intr, NULL, sc, &sc->intrhand); if (i) { printf("adlink: Couldn't get FAST intr\n"); i = bus_setup_intr(self, sc->res[2], INTR_MPSAFE | INTR_TYPE_MISC, - adlink_intr, sc, &sc->intrhand); + NULL, (driver_intr_t *)adlink_intr, sc, &sc->intrhand); } if (i) { ==== //depot/projects/soc2006/intr_filter/dev/cy/cy_isa.c#4 (text+ko) ==== @@ -132,8 +132,8 @@ device_printf(dev, "interrupt resource allocation failed\n"); goto fail; } - if (bus_setup_intr(dev, irq_res, INTR_TYPE_TTY | INTR_FAST, - (driver_filter_t *)cyintr, NULL, vsc, &irq_cookie) != 0) { + if (bus_setup_intr(dev, irq_res, INTR_TYPE_TTY, + cyintr, NULL, vsc, &irq_cookie) != 0) { device_printf(dev, "interrupt setup failed\n"); goto fail; } ==== //depot/projects/soc2006/intr_filter/dev/cy/cy_pci.c#5 (text+ko) ==== @@ -145,8 +145,8 @@ goto fail; } #ifdef CY_PCI_FASTINTR - irq_setup = bus_setup_intr(dev, irq_res, INTR_TYPE_TTY | INTR_FAST, - (driver_filter_t *)cyintr, NULL, vsc, &irq_cookie); + irq_setup = bus_setup_intr(dev, irq_res, INTR_TYPE_TTY, + cyintr, NULL, vsc, &irq_cookie); #else irq_setup = ENXIO; #endif From owner-p4-projects@FreeBSD.ORG Fri Jul 21 10:44:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C781F16A4DD; Fri, 21 Jul 2006 10:44:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8ADE616A4DF for ; Fri, 21 Jul 2006 10:44:54 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 426E943D45 for ; Fri, 21 Jul 2006 10:44:54 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LAisM5040359 for ; Fri, 21 Jul 2006 10:44:54 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LAirb8040356 for perforce@freebsd.org; Fri, 21 Jul 2006 10:44:53 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 10:44:53 GMT Message-Id: <200607211044.k6LAirb8040356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 10:44:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=102050 Change 102050 by piso@piso_longino on 2006/07/21 10:44:41 compilation Affected files ... .. //depot/projects/soc2006/intr_filter/dev/puc/puc.c#6 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/puc/puc.c#6 (text+ko) ==== @@ -637,7 +637,7 @@ sc->sc_serdevs |= 1UL << (port->p_nr - 1); port->p_hasintr = 1; - port->p_ih = i(driver_intr_t *)filter; + port->p_ih = (driver_intr_t *)filter; port->p_iharg = arg; *cookiep = port; From owner-p4-projects@FreeBSD.ORG Fri Jul 21 11:42:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07C3216A4E5; Fri, 21 Jul 2006 11:42:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D744116A4E0 for ; Fri, 21 Jul 2006 11:42:08 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AF41243D73 for ; Fri, 21 Jul 2006 11:42:06 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LBg6Nq044375 for ; Fri, 21 Jul 2006 11:42:06 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LBg6Co044372 for perforce@freebsd.org; Fri, 21 Jul 2006 11:42:06 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 11:42:06 GMT Message-Id: <200607211142.k6LBg6Co044372@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102052 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 11:42:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=102052 Change 102052 by piso@piso_longino on 2006/07/21 11:41:31 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/fdc/fdc.c#5 edit .. //depot/projects/soc2006/intr_filter/dev/re/if_re.c#6 edit .. //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#5 edit .. //depot/projects/soc2006/intr_filter/dev/sio/sio.c#5 edit .. //depot/projects/soc2006/intr_filter/dev/twa/tw_osl_freebsd.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/uart/uart_core.c#4 edit .. //depot/projects/soc2006/intr_filter/i386/isa/clock.c#4 edit .. //depot/projects/soc2006/intr_filter/i386/isa/npx.c#4 edit .. //depot/projects/soc2006/intr_filter/powerpc/powermac/pswitch.c#4 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/fdc/fdc.c#5 (text+ko) ==== @@ -1762,8 +1762,8 @@ return (error); } error = bus_setup_intr(dev, fdc->res_irq, - INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE | - ((fdc->flags & FDC_NOFAST) ? 0 : INTR_FAST), + INTR_TYPE_BIO | INTR_ENTROPY | + ((fdc->flags & FDC_NOFAST) ? INTR_MPSAFE : 0), ((fdc->flags & FDC_NOFAST) ? NULL : fdc_intr_fast), ((fdc->flags & FDC_NOFAST) ? fdc_intr : NULL), fdc, &fdc->fdc_intr); ==== //depot/projects/soc2006/intr_filter/dev/re/if_re.c#6 (text+ko) ==== @@ -1286,8 +1286,8 @@ #endif /* Hook interrupt last to avoid having to lock softc */ - error = bus_setup_intr(dev, sc->rl_irq, INTR_TYPE_NET | INTR_MPSAFE | - INTR_FAST, re_intr, NULL, sc, &sc->rl_intrhand); + error = bus_setup_intr(dev, sc->rl_irq, INTR_TYPE_NET, + re_intr, NULL, sc, &sc->rl_intrhand); if (error) { device_printf(dev, "couldn't set up irq\n"); ether_ifdetach(ifp); ==== //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#5 (text) ==== @@ -219,7 +219,7 @@ if (ch->ch_ires == NULL) continue; error = bus_setup_intr(dev, ch->ch_ires, - INTR_TYPE_TTY | INTR_FAST, scc_bfe_intr, NULL, + INTR_TYPE_TTY, scc_bfe_intr, NULL, sc, &ch->ch_icookie); if (error) { error = bus_setup_intr(dev, ch->ch_ires, ==== //depot/projects/soc2006/intr_filter/dev/sio/sio.c#5 (text+ko) ==== @@ -1075,7 +1075,7 @@ com->irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); if (com->irqres) { ret = bus_setup_intr(dev, com->irqres, - INTR_TYPE_TTY | INTR_FAST, + INTR_TYPE_TTY, siointr, NULL, com, &com->cookie); if (ret) { ==== //depot/projects/soc2006/intr_filter/dev/twa/tw_osl_freebsd.c#4 (text+ko) ==== @@ -357,11 +357,7 @@ return(ENXIO); } if ((error = bus_setup_intr(sc->bus_dev, sc->irq_res, - ((mp_ncpus > 1) ? (INTR_MPSAFE -#ifdef TW_OSLI_DEFERRED_INTR_USED - | INTR_FAST -#endif /* TW_OSLI_DEFERRED_INTR_USED */ - ) : 0) | INTR_TYPE_CAM, + INTR_TYPE_CAM | INTR_MPSAFE, #ifdef TW_OSLI_DEFERRED_INTR_USED twa_pci_intr_fast, NULL, #else ==== //depot/projects/soc2006/intr_filter/dev/uart/uart_core.c#4 (text+ko) ==== @@ -403,7 +403,7 @@ RF_ACTIVE | RF_SHAREABLE); if (sc->sc_ires != NULL) { error = bus_setup_intr(dev, - sc->sc_ires, INTR_TYPE_TTY | INTR_FAST, + sc->sc_ires, INTR_TYPE_TTY, uart_intr, NULL, sc, &sc->sc_icookie); if (error) error = bus_setup_intr(dev, ==== //depot/projects/soc2006/intr_filter/i386/isa/clock.c#4 (text+ko) ==== @@ -824,8 +824,8 @@ * timecounter to user a simpler algorithm. */ if (!using_lapic_timer) { - intr_add_handler("clk", 0, (driver_filter_t *)clkintr, NULL, NULL, - INTR_TYPE_CLK | INTR_FAST, NULL); + intr_add_handler("clk", 0, clkintr, NULL, NULL, + INTR_TYPE_CLK, NULL); i8254_intsrc = intr_lookup_source(0); if (i8254_intsrc != NULL) i8254_pending = @@ -858,8 +858,8 @@ /* Enable periodic interrupts from the RTC. */ rtc_statusb |= RTCSB_PINTR; - intr_add_handler("rtc", 8, (driver_filter_t *)rtcintr, NULL, NULL, - INTR_TYPE_CLK | INTR_FAST, NULL); + intr_add_handler("rtc", 8, rtcintr, NULL, NULL, + INTR_TYPE_CLK, NULL); writertc(RTC_STATUSB, rtc_statusb); rtcin(RTC_INTR); ==== //depot/projects/soc2006/intr_filter/i386/isa/npx.c#4 (text+ko) ==== @@ -280,7 +280,7 @@ irq_res = bus_alloc_resource(dev, SYS_RES_IRQ, &irq_rid, irq_num, irq_num, 1, RF_ACTIVE); if (irq_res != NULL) { - if (bus_setup_intr(dev, irq_res, INTR_TYPE_MISC | INTR_FAST, + if (bus_setup_intr(dev, irq_res, INTR_TYPE_MISC, npx_intr, NULL, NULL, &irq_cookie) != 0) panic("npx: can't create intr"); } ==== //depot/projects/soc2006/intr_filter/powerpc/powermac/pswitch.c#4 (text+ko) ==== @@ -121,8 +121,8 @@ return (ENXIO); } - if (bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)pswitch_intr, NULL, dev, &sc->sc_ih) != 0) { + if (bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_MISC, + pswitch_intr, NULL, dev, &sc->sc_ih) != 0) { device_printf(dev, "could not setup interrupt\n"); bus_release_resource(dev, SYS_RES_IRQ, sc->sc_irqrid, sc->sc_irq); From owner-p4-projects@FreeBSD.ORG Fri Jul 21 11:53:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3E0616A4E8; Fri, 21 Jul 2006 11:53:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C964416A4E1 for ; Fri, 21 Jul 2006 11:53:21 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 92CBF43D49 for ; Fri, 21 Jul 2006 11:53:21 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LBrLh1044860 for ; Fri, 21 Jul 2006 11:53:21 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LBrLX6044857 for perforce@freebsd.org; Fri, 21 Jul 2006 11:53:21 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 11:53:21 GMT Message-Id: <200607211153.k6LBrLX6044857@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102053 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 11:53:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=102053 Change 102053 by piso@piso_longino on 2006/07/21 11:52:29 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/ppbus/pps.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/zs/zs_macio.c#4 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/ppbus/pps.c#4 (text+ko) ==== @@ -205,7 +205,7 @@ /* attach the interrupt handler */ if ((error = bus_setup_intr(ppsdev, sc->intr_resource, - (INTR_TYPE_TTY | INTR_MPSAFE | INTR_FAST), + INTR_TYPE_TTY, ppsintr, NULL, sc, &sc->intr_cookie))) { ppb_release_bus(ppbus, ppsdev); ==== //depot/projects/soc2006/intr_filter/dev/zs/zs_macio.c#4 (text+ko) ==== @@ -158,8 +158,8 @@ device_printf(dev, "could not allocate interrupt 1\n"); goto error; } - if (bus_setup_intr(dev, sc->sc_irqres1, INTR_TYPE_TTY | INTR_FAST, - (driver_filter_t *)zs_intr, NULL, sc, &sc->sc_ih1) != 0) { + if (bus_setup_intr(dev, sc->sc_irqres1, INTR_TYPE_TTY, + zs_intr, NULL, sc, &sc->sc_ih1) != 0) { device_printf(dev, "could not setup interrupt 1\n"); goto error; } @@ -170,8 +170,8 @@ device_printf(dev, "could not allocate interrupt 2\n"); goto error; } - if (bus_setup_intr(dev, sc->sc_irqres2, INTR_TYPE_TTY | INTR_FAST, - (driver_filter_t *)zs_intr, NULL, sc, &sc->sc_ih2) != 0) { + if (bus_setup_intr(dev, sc->sc_irqres2, INTR_TYPE_TTY, + zs_intr, NULL, sc, &sc->sc_ih2) != 0) { device_printf(dev, "could not setup interrupt 2\n"); goto error; } From owner-p4-projects@FreeBSD.ORG Fri Jul 21 12:33:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 40DB216A4E0; Fri, 21 Jul 2006 12:33:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B01716A4DA for ; Fri, 21 Jul 2006 12:33:12 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD97C43D45 for ; Fri, 21 Jul 2006 12:33:11 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LCXBr5048139 for ; Fri, 21 Jul 2006 12:33:11 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LCXBYb048134 for perforce@freebsd.org; Fri, 21 Jul 2006 12:33:11 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 12:33:11 GMT Message-Id: <200607211233.k6LCXBYb048134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102054 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 12:33:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=102054 Change 102054 by piso@piso_longino on 2006/07/21 12:32:56 compilation Affected files ... .. //depot/projects/soc2006/intr_filter/i386/isa/clock.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/i386/isa/clock.c#5 (text+ko) ==== @@ -824,7 +824,7 @@ * timecounter to user a simpler algorithm. */ if (!using_lapic_timer) { - intr_add_handler("clk", 0, clkintr, NULL, NULL, + intr_add_handler("clk", 0, (driver_filter_t *)clkintr, NULL, NULL, INTR_TYPE_CLK, NULL); i8254_intsrc = intr_lookup_source(0); if (i8254_intsrc != NULL) @@ -858,7 +858,7 @@ /* Enable periodic interrupts from the RTC. */ rtc_statusb |= RTCSB_PINTR; - intr_add_handler("rtc", 8, rtcintr, NULL, NULL, + intr_add_handler("rtc", 8, (driver_filter_t *)rtcintr, NULL, NULL, INTR_TYPE_CLK, NULL); writertc(RTC_STATUSB, rtc_statusb); From owner-p4-projects@FreeBSD.ORG Fri Jul 21 14:06:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 542FD16A4DF; Fri, 21 Jul 2006 14:06:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EDE9316A4E0 for ; Fri, 21 Jul 2006 14:06:08 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 531D143D45 for ; Fri, 21 Jul 2006 14:06:08 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LE687U064315 for ; Fri, 21 Jul 2006 14:06:08 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LE67P7064312 for perforce@freebsd.org; Fri, 21 Jul 2006 14:06:07 GMT (envelope-from cognet@freebsd.org) Date: Fri, 21 Jul 2006 14:06:07 GMT Message-Id: <200607211406.k6LE67P7064312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 102055 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 14:06:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=102055 Change 102055 by cognet@cognet on 2006/07/21 14:05:40 Get the toolchain to defaults to big-endian if ARM_BIG_ENDIAN is defined. Affected files ... .. //depot/projects/arm/contrib-arm.diff#6 edit .. //depot/projects/arm/gnu-arm.diff#14 edit Differences ... ==== //depot/projects/arm/contrib-arm.diff#6 (text+ko) ==== @@ -4,7 +4,7 @@ retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 armelf_fbsd.sh --- contrib/binutils/ld/emulparams/armelf_fbsd.sh 22 Feb 2002 04:18:15 -0000 1.1.1.1 -+++ contrib/binutils/ld/emulparams/armelf_fbsd.sh 29 Aug 2005 12:39:39 -0000 ++++ contrib/binutils/ld/emulparams/armelf_fbsd.sh 21 Jul 2006 12:51:15 -0000 @@ -1,2 +1,7 @@ . ${srcdir}/emulparams/armelf.sh . ${srcdir}/emulparams/elf_fbsd.sh @@ -13,6 +13,16 @@ + +unset STACK_ADDR +unset EMBEDDED +Index: contrib/binutils/ld/emulparams/armelfb_fbsd.sh +=================================================================== +RCS file: contrib/binutils/ld/emulparams/armelfb_fbsd.sh +diff -N contrib/binutils/ld/emulparams/armelfb_fbsd.sh +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ contrib/binutils/ld/emulparams/armelfb_fbsd.sh 21 Jul 2006 12:52:38 -0000 +@@ -0,0 +1,3 @@ ++. ${srcdir}/emulparams/armelf_fbsd.sh ++ ++OUTPUT_FORMAT="elf32-bigarm" Index: contrib/gcc/config/arm/arm.md =================================================================== RCS file: /cognet/ncvs/src/contrib/gcc/config/arm/arm.md,v @@ -66,7 +76,7 @@ retrieving revision 1.1.1.3 diff -u -p -r1.1.1.3 freebsd.h --- contrib/gcc/config/arm/freebsd.h 28 Jul 2004 03:11:35 -0000 1.1.1.3 -+++ contrib/gcc/config/arm/freebsd.h 29 Aug 2005 12:39:39 -0000 ++++ contrib/gcc/config/arm/freebsd.h 21 Jul 2006 00:50:25 -0000 @@ -22,7 +22,10 @@ #undef SUBTARGET_EXTRA_SPECS @@ -89,11 +99,15 @@ /************************[ Target stuff ]***********************************/ -@@ -67,3 +71,75 @@ +@@ -67,3 +71,80 @@ #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (FreeBSD/StrongARM ELF)"); + ++#ifndef TARGET_ENDIAN_DEFAULT ++#define TARGET_ENDIAN_DEFAULT 0 ++#endif ++ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT \ + (ARM_FLAG_APCS_32 \ @@ -101,7 +115,8 @@ + | ARM_FLAG_APCS_FRAME \ + | ARM_FLAG_ATPCS \ + | ARM_FLAG_VFP \ -+ | ARM_FLAG_MMU_TRAPS) ++ | ARM_FLAG_MMU_TRAPS \ ++ | TARGET_ENDIAN_DEFAULT) + +#undef TYPE_OPERAND_FMT +#define TYPE_OPERAND_FMT "%%%s" ==== //depot/projects/arm/gnu-arm.diff#14 (text+ko) ==== @@ -62,6 +62,25 @@ MK_GDB= no # not yet .endif +Index: gnu/usr.bin/binutils/as/Makefile +=================================================================== +RCS file: /cognet/ncvs/src/gnu/usr.bin/binutils/as/Makefile,v +retrieving revision 1.16 +diff -u -p -r1.16 Makefile +--- gnu/usr.bin/binutils/as/Makefile 21 Dec 2004 09:59:40 -0000 1.16 ++++ gnu/usr.bin/binutils/as/Makefile 21 Jul 2006 11:03:28 -0000 +@@ -35,6 +35,11 @@ CFLAGS+= -DDEFAULT_ARCH=\"v9-64\" + .else + CFLAGS+= -DDEFAULT_ARCH=\"${BINUTILS_ARCH}\" + .endif ++ ++.if ${TARGET_ARCH} == "arm" && defined(ARM_BIG_ENDIAN) ++CFLAGS+= -DTARGET_BYTES_BIG_ENDIAN=1 ++.endif ++ + CFLAGS+= -DTARGET_CPU=\"${BINUTILS_ARCH}\" + CFLAGS+= -DTARGET_CANONICAL=\"${TARGET_TUPLE}\" + CFLAGS+= -DTARGET_ALIAS=\"${TARGET_TUPLE}\" Index: gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h =================================================================== RCS file: gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h @@ -77,11 +96,15 @@ RCS file: gnu/usr.bin/binutils/ld/Makefile.arm diff -N gnu/usr.bin/binutils/ld/Makefile.arm --- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ gnu/usr.bin/binutils/ld/Makefile.arm 6 Jul 2006 23:54:06 -0000 -@@ -0,0 +1,12 @@ ++++ gnu/usr.bin/binutils/ld/Makefile.arm 21 Jul 2006 12:53:38 -0000 +@@ -0,0 +1,16 @@ +# $FreeBSD$ + ++.if defined(ARM_BIG_ENDIAN) ++NATIVE_EMULATION= armelfb_fbsd ++.else +NATIVE_EMULATION= armelf_fbsd ++.endif + +SRCS+= e${NATIVE_EMULATION}.c +CLEANFILES+= e${NATIVE_EMULATION}.c @@ -96,11 +119,17 @@ RCS file: gnu/usr.bin/binutils/libbfd/Makefile.arm diff -N gnu/usr.bin/binutils/libbfd/Makefile.arm --- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ gnu/usr.bin/binutils/libbfd/Makefile.arm 7 Jul 2006 21:11:14 -0000 -@@ -0,0 +1,43 @@ ++++ gnu/usr.bin/binutils/libbfd/Makefile.arm 21 Jul 2006 00:22:53 -0000 +@@ -0,0 +1,49 @@ +# $FreeBSD$ + ++.if defined(ARM_BIG_ENDIAN) ++DEFAULT_VECTOR= bfd_elf32_bigarm_vec ++ADDITIONAL_VECTOR= bfd_elf32_littlearm_vec ++.else +DEFAULT_VECTOR= bfd_elf32_littlearm_vec ++ADDITIONAL_VECTOR= bfd_elf32_bigarm_vec ++.endif + +SRCS+= \ + cpu-arm.c \ @@ -111,7 +140,7 @@ + elf32-arm-fbsd.c \ + elf32-target.h +VECS+= ${DEFAULT_VECTOR} \ -+ bfd_elf32_bigarm_vec ++ ${ADDITIONAL_VECTOR} + +.if ${TARGET_ARCH} == "arm" +CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR} @@ -141,6 +170,47 @@ + echo '#include "elf32-arm.h"' >> ${.TARGET} + + +Index: gnu/usr.bin/binutils/libiberty/Makefile +=================================================================== +RCS file: /cognet/ncvs/src/gnu/usr.bin/binutils/libiberty/Makefile,v +retrieving revision 1.24 +diff -u -p -r1.24 Makefile +--- gnu/usr.bin/binutils/libiberty/Makefile 14 Feb 2005 12:10:13 -0000 1.24 ++++ gnu/usr.bin/binutils/libiberty/Makefile 21 Jul 2006 11:10:34 -0000 +@@ -18,4 +18,8 @@ WARNS?= 1 + CFLAGS+= -DHAVE_CONFIG_H + INTERNALLIB= + ++.if ${TARGET_ARCH} == "arm" && defined(ARM_BIG_ENDIAN) ++CFLAGS+= -DARM_BIG_ENDIAN ++.endif ++ + .include +Index: gnu/usr.bin/binutils/libiberty/config.h +=================================================================== +RCS file: /cognet/ncvs/src/gnu/usr.bin/binutils/libiberty/config.h,v +retrieving revision 1.6 +diff -u -p -r1.6 config.h +--- gnu/usr.bin/binutils/libiberty/config.h 16 Jun 2004 07:09:41 -0000 1.6 ++++ gnu/usr.bin/binutils/libiberty/config.h 21 Jul 2006 14:02:16 -0000 +@@ -7,7 +7,7 @@ + + + /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */ +-#ifdef __sparc64__ ++#if defined(__sparc64__) || defined(__ARMEB__) + #define BYTEORDER 4321 + #else + #define BYTEORDER 1234 +@@ -325,7 +325,7 @@ + + /* Define if the host machine stores words of multi-word integers in + big-endian order. */ +-#ifdef __sparc64__ ++#if defined(__sparc64__) || defined(__ARMEB__) + #define HOST_WORDS_BIG_ENDIAN 1 + #endif + Index: gnu/usr.bin/binutils/libopcodes/Makefile.arm =================================================================== RCS file: gnu/usr.bin/binutils/libopcodes/Makefile.arm @@ -152,13 +222,31 @@ + +SRCS+= arm-dis.c +CFLAGS+= -DARCH_arm +Index: gnu/usr.bin/cc/cc_int/Makefile +=================================================================== +RCS file: /cognet/ncvs/src/gnu/usr.bin/cc/cc_int/Makefile,v +retrieving revision 1.46 +diff -u -p -r1.46 Makefile +--- gnu/usr.bin/cc/cc_int/Makefile 14 Jan 2006 20:48:50 -0000 1.46 ++++ gnu/usr.bin/cc/cc_int/Makefile 21 Jul 2006 00:30:44 -0000 +@@ -80,6 +80,10 @@ insn-$F.c: ${.OBJDIR}/../cc_tools/gen$F + CFLAGS+= -DHAVE_CONFIG_H + CFLAGS+= -DTARGET_NAME=\"${target}\" -DIN_GCC + ++.if ${TARGET_ARCH} == "arm" && defined(ARM_BIG_ENDIAN) ++CFLAGS += -DTARGET_ENDIAN_DEFAULT=ARM_FLAG_BIG_END ++.endif ++ + # c-pch.o needs extra defines. Replicate the rule here rather than + # pollute compiler command line for all other files. + c-pch.o: c-pch.c Index: gnu/usr.bin/cc/cc_tools/Makefile =================================================================== RCS file: /cognet/ncvs/src/gnu/usr.bin/cc/cc_tools/Makefile,v retrieving revision 1.82 diff -u -p -r1.82 Makefile --- gnu/usr.bin/cc/cc_tools/Makefile 17 Mar 2006 18:54:23 -0000 1.82 -+++ gnu/usr.bin/cc/cc_tools/Makefile 6 Jul 2006 23:54:06 -0000 ++++ gnu/usr.bin/cc/cc_tools/Makefile 21 Jul 2006 11:15:28 -0000 @@ -216,7 +216,9 @@ CLEANFILES+= fini .if ${TARGET_ARCH} == "amd64" TARGET_INC= i386/biarch64.h @@ -169,7 +257,7 @@ .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" TARGET_INC+= ${GCC_CPU}/unix.h TARGET_INC+= ${GCC_CPU}/att.h -@@ -236,6 +238,11 @@ TARGET_INC+= ${GCC_CPU}/elf.h +@@ -236,6 +238,14 @@ TARGET_INC+= ${GCC_CPU}/elf.h TARGET_INC+= ${GCC_CPU}/sysv4.h .endif .endif @@ -177,6 +265,9 @@ +TARGET_INC+= ${GCC_CPU}/elf.h +TARGET_INC+= ${GCC_CPU}/aout.h +TARGET_INC+= ${GCC_CPU}/${GCC_CPU}.h ++. if defined(ARM_BIG_ENDIAN) ++CFLAGS+= -DTARGET_ENDIAN_DEFAULT=ARM_FLAG_BIG_END ++. endif +.endif TARGET_INC+= ${GCC_CPU}/freebsd.h .if ${TARGET_ARCH} == "amd64" From owner-p4-projects@FreeBSD.ORG Fri Jul 21 15:34:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7455F16A4E6; Fri, 21 Jul 2006 15:34:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1703F16A4DF for ; Fri, 21 Jul 2006 15:34:59 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A80AB43D5C for ; Fri, 21 Jul 2006 15:34:57 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LFYvGK071281 for ; Fri, 21 Jul 2006 15:34:57 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LFYv9i071278 for perforce@freebsd.org; Fri, 21 Jul 2006 15:34:57 GMT (envelope-from piso@freebsd.org) Date: Fri, 21 Jul 2006 15:34:57 GMT Message-Id: <200607211534.k6LFYv9i071278@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 15:34:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=102056 Change 102056 by piso@piso_longino on 2006/07/21 15:34:02 Axe INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/sparc64/pci/psycho.c#5 edit .. //depot/projects/soc2006/intr_filter/sparc64/sbus/sbus.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/sparc64/pci/psycho.c#5 (text+ko) ==== @@ -219,14 +219,18 @@ * On UltraII machines, there can be any number of "Psycho+" ICs, each * providing two PCI buses. */ +/* XXX let's hope no one ever create a flag with this value... */ +#define FAST 0x66600000 + #ifdef DEBUGGER_ON_POWERFAIL -#define PSYCHO_PWRFAIL_INT_FLAGS INTR_FAST +#define PSYCHO_PWRFAIL_INT_FLAGS FAST #else #define PSYCHO_PWRFAIL_INT_FLAGS 0 #endif #define OFW_PCI_TYPE "pci" + struct psycho_desc { const char *pd_string; int pd_mode; @@ -454,7 +458,7 @@ * interrupt but they are also only used for PCI bus A. */ psycho_set_intr(sc, 0, dev, sc->sc_half == 0 ? PSR_PCIAERR_INT_MAP : - PSR_PCIBERR_INT_MAP, INTR_FAST, psycho_pci_bus); + PSR_PCIBERR_INT_MAP, FAST, psycho_pci_bus); /* * If we're a Hummingbird/Sabre or the first of a pair of Psycho's to @@ -470,7 +474,7 @@ * XXX Not all controllers have these, but installing them * is better than trying to sort through this mess. */ - psycho_set_intr(sc, 1, dev, PSR_UE_INT_MAP, INTR_FAST, + psycho_set_intr(sc, 1, dev, PSR_UE_INT_MAP, FAST, psycho_ue); psycho_set_intr(sc, 2, dev, PSR_CE_INT_MAP, 0, psycho_ce); psycho_set_intr(sc, 3, dev, PSR_POWER_INT_MAP, @@ -487,7 +491,7 @@ * over-temperature interrupt. */ psycho_set_intr(sc, 4, dev, PSR_SPARE_INT_MAP, - INTR_FAST, psycho_overtemp); + FAST, psycho_overtemp); #ifdef PSYCHO_MAP_WAKEUP /* * psycho_wakeup() doesn't do anything useful right @@ -625,8 +629,8 @@ vec, vec, 1, RF_ACTIVE); if (sc->sc_irq_res[index] == NULL) panic("%s: failed to get interrupt", __func__); - if (iflags & INTR_FAST) - bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | iflags, + if (iflags & FAST) + bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | (iflags & ~FAST), handler, NULL, sc, &sc->sc_ihand[index]); else bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | iflags, ==== //depot/projects/soc2006/intr_filter/sparc64/sbus/sbus.c#5 (text+ko) ==== @@ -433,8 +433,8 @@ if ((sc->sc_ot_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec, vec, 1, RF_ACTIVE)) == NULL) panic("%s: failed to get temperature interrupt", __func__); - bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)sbus_overtemp, NULL, sc, &sc->sc_ot_ihand); + bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC, + sbus_overtemp, NULL, sc, &sc->sc_ot_ihand); SYSIO_WRITE8(sc, SBR_THERM_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid))); rid = 0; mr = SYSIO_READ8(sc, SBR_POWER_INT_MAP); @@ -442,8 +442,8 @@ if ((sc->sc_pf_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec, vec, 1, RF_ACTIVE)) == NULL) panic("%s: failed to get power fail interrupt", __func__); - bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST, - (driver_filter_t *)sbus_pwrfail, NULL, sc, &sc->sc_pf_ihand); + bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC, + sbus_pwrfail, NULL, sc, &sc->sc_pf_ihand); SYSIO_WRITE8(sc, SBR_POWER_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid))); /* Initialize the counter-timer. */ From owner-p4-projects@FreeBSD.ORG Fri Jul 21 16:17:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EE4816A4E8; Fri, 21 Jul 2006 16:17:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DF91816A4E6 for ; Fri, 21 Jul 2006 16:17:51 +0000 (UTC) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA64743D60 for ; Fri, 21 Jul 2006 16:17:51 +0000 (GMT) (envelope-from ssouhlal@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LGHpQo074892 for ; Fri, 21 Jul 2006 16:17:51 GMT (envelope-from ssouhlal@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LGHpA9074889 for perforce@freebsd.org; Fri, 21 Jul 2006 16:17:51 GMT (envelope-from ssouhlal@freebsd.org) Date: Fri, 21 Jul 2006 16:17:51 GMT Message-Id: <200607211617.k6LGHpA9074889@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ssouhlal@freebsd.org using -f From: Suleiman Souhlal To: Perforce Change Reviews Cc: Subject: PERFORCE change 102058 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 16:17:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=102058 Change 102058 by ssouhlal@ssouhlal-maho on 2006/07/21 16:17:11 Implement spinlock_enter() and spinlock_exit(). This makes a MALTA kernel with INVARIANTS and WITNESS go to the "mountroot>" prompt without panicking. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#18 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#18 (text+ko) ==== @@ -284,13 +284,25 @@ void spinlock_enter(void) { + struct thread *td; + td = curthread; + if (td->td_md.md_spinlock_count == 0) + td->td_md.md_saved_sr = intr_disable(); + td->td_md.md_spinlock_count++; + critical_enter(); } void spinlock_exit(void) { + struct thread *td; + td = curthread; + critical_exit(); + td->td_md.md_spinlock_count--; + if (td->td_md.md_spinlock_count == 0) + intr_restore(td->td_md.md_saved_sr); } void From owner-p4-projects@FreeBSD.ORG Fri Jul 21 18:25:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A2A7216A4E1; Fri, 21 Jul 2006 18:25:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7902016A4DD for ; Fri, 21 Jul 2006 18:25:21 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05B6B43D45 for ; Fri, 21 Jul 2006 18:25:21 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LIPKnG092633 for ; Fri, 21 Jul 2006 18:25:20 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LIPKE8092630 for perforce@freebsd.org; Fri, 21 Jul 2006 18:25:20 GMT (envelope-from jhb@freebsd.org) Date: Fri, 21 Jul 2006 18:25:20 GMT Message-Id: <200607211825.k6LIPKE8092630@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102067 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 18:25:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=102067 Change 102067 by jhb@jhb_zion on 2006/07/21 18:25:14 Don't allow MAXMEM/hw.physmem to extend the last memory segment size if we used an SMAP, treating the SMAP as authoritative on what parts of physical address space are RAM. This makes hw.physmem safe to use with ACPI. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#54 edit .. //depot/projects/smpng/sys/i386/i386/machdep.c#110 edit Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#54 (text+ko) ==== @@ -951,13 +951,6 @@ (boothowto & RB_VERBOSE)) printf("Physical memory use set to %ldK\n", Maxmem * 4); - /* - * If Maxmem has been increased beyond what the system has detected, - * extend the last memory segment to the new limit. - */ - if (atop(physmap[physmap_idx + 1]) < Maxmem) - physmap[physmap_idx + 1] = ptoa((vm_paddr_t)Maxmem); - /* call pmap initialization to make new kernel address space */ pmap_bootstrap(&first); ==== //depot/projects/smpng/sys/i386/i386/machdep.c#110 (text+ko) ==== @@ -1633,7 +1633,7 @@ getmemsize(int first) { int i, physmap_idx, pa_indx, da_indx; - int hasbrokenint12; + int hasbrokenint12, has_smap; u_long physmem_tunable; u_int extmem; struct vm86frame vmf; @@ -1742,6 +1742,7 @@ if (boothowto & RB_VERBOSE) printf("SMAP type=%02x base=%016llx len=%016llx\n", smap->type, smap->base, smap->length); + has_smap = 1; if (smap->type != 0x01) continue; @@ -1888,10 +1889,11 @@ printf("Physical memory use set to %ldK\n", Maxmem * 4); /* - * If Maxmem has been increased beyond what the system has detected, - * extend the last memory segment to the new limit. + * If Maxmem has been increased beyond what the system has detected + * and we didn't get the memory layout via SMAP, extend the last + * memory segment to the new limit. */ - if (atop(physmap[physmap_idx + 1]) < Maxmem) + if (!has_smap && atop(physmap[physmap_idx + 1]) < Maxmem) physmap[physmap_idx + 1] = ptoa((vm_paddr_t)Maxmem); /* call pmap initialization to make new kernel address space */ From owner-p4-projects@FreeBSD.ORG Fri Jul 21 18:29:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D14016A4DF; Fri, 21 Jul 2006 18:29:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F380D16A4DD for ; Fri, 21 Jul 2006 18:29:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AF40D43D45 for ; Fri, 21 Jul 2006 18:29:26 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LITQKa092761 for ; Fri, 21 Jul 2006 18:29:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LITQRA092758 for perforce@freebsd.org; Fri, 21 Jul 2006 18:29:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 21 Jul 2006 18:29:26 GMT Message-Id: <200607211829.k6LITQRA092758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 102068 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 18:29:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=102068 Change 102068 by hselasky@hselasky_mini_itx on 2006/07/21 18:29:01 Added new functions, usbd_m_copy_in, usbd_do_request_mtx and usbd_do_request_flags_mtx. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#8 (text+ko) ==== @@ -43,6 +43,7 @@ #include /* LIST_XXX() */ #include #include +#include #include #include @@ -1680,6 +1681,42 @@ return; } + +/*---------------------------------------------------------------------------* + * usbd_m_copy_in - copy a mbuf chain directly to DMA-able memory + *---------------------------------------------------------------------------*/ +void +usbd_m_copy_in(struct usbd_page_cache *cache, u_int32_t dst_offset, + struct mbuf *m, u_int32_t src_offset, u_int32_t src_len) +{ + u_int32_t count; + + while (src_offset > 0) { + __KASSERT(m != NULL, ("usbd_m_copy_in, offset > " + "size of mbuf chain")); + if (src_offset < m->m_len) { + break; + } + src_offset -= m->m_len; + m = m->m_next; + } + + while (src_len > 0) { + __KASSERT(m != NULL, ("usbd_m_copy_in, length > " + "size of mbuf chain")); + count = min(m->m_len - src_offset, src_len); + + usbd_copy_in(cache, dst_offset, ((caddr_t)(m->m_data)) + + src_offset, count); + + src_len -= count; + dst_offset += count; + src_offset = 0; + m = m->m_next; + } + return; +} + /*---------------------------------------------------------------------------* * usbd_copy_out - copy directly from DMA-able memory *---------------------------------------------------------------------------*/ ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#12 (text+ko) ==== @@ -642,6 +642,9 @@ usbd_copy_in(struct usbd_page_cache *cache, u_int32_t offset, const void *ptr, u_int32_t len); void +usbd_m_copy_in(struct usbd_page_cache *cache, u_int32_t dst_offset, + struct mbuf *m, u_int32_t src_offset, u_int32_t src_len); +void usbd_copy_out(struct usbd_page_cache *cache, u_int32_t offset, void *ptr, u_int32_t len); void @@ -824,6 +827,14 @@ usbd_do_request_flags(struct usbd_device *udev, usb_device_request_t *req, void *data, u_int32_t flags, int *actlen, u_int32_t timeout); +usbd_status +usbd_do_request_mtx(struct usbd_device *udev, struct mtx *mtx, + usb_device_request_t *req, void *data); +usbd_status +usbd_do_request_flags_mtx(struct usbd_device *udev, struct mtx *mtx, + usb_device_request_t *req, void *data, + u_int32_t flags, int *actlen, + u_int32_t timeout); void usbd_fill_get_report(usb_device_request_t *req, u_int8_t iface_no, u_int8_t type, u_int8_t id, u_int16_t size); ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#9 (text+ko) ==== @@ -1166,59 +1166,88 @@ return; } +/*---------------------------------------------------------------------------* + * usbd_do_request_flags / usbd_do_request + * + * NOTE: the caller should hold "Giant" while calling this function + *---------------------------------------------------------------------------*/ usbd_status usbd_do_request(struct usbd_device *udev, usb_device_request_t *req, void *data) { - return (usbd_do_request_flags(udev, req, data, 0, 0, - USBD_DEFAULT_TIMEOUT)); + return usbd_do_request_flags_mtx + (udev, NULL, req, data, 0, NULL, USBD_DEFAULT_TIMEOUT); +} + +usbd_status +usbd_do_request_flags(struct usbd_device *udev, usb_device_request_t *req, + void *data, u_int32_t flags, int *actlen, + u_int32_t timeout) +{ + return usbd_do_request_flags_mtx + (udev, NULL, req, data, flags, actlen, timeout); } /*---------------------------------------------------------------------------* - * usbd_do_request_flags + * usbd_do_request_flags_mtx / usbd_do_request_mtx * - * NOTE: the caller should hold "Giant" while calling this function + * NOTE: the caller should hold "mtx" while calling this function *---------------------------------------------------------------------------*/ usbd_status -usbd_do_request_flags(struct usbd_device *udev, usb_device_request_t *req, - void *data, u_int32_t flags, int *actlen, - u_int32_t timeout) +usbd_do_request_mtx(struct usbd_device *udev, struct mtx *mtx, + usb_device_request_t *req, void *data) +{ + return usbd_do_request_flags_mtx + (udev, mtx, req, data, 0, 0, USBD_DEFAULT_TIMEOUT); +} + +usbd_status +usbd_do_request_flags_mtx(struct usbd_device *udev, struct mtx *mtx, + usb_device_request_t *req, void *data, + u_int32_t flags, int *actlen, + u_int32_t timeout) { struct usbd_config usbd_config[1] = { /* zero */ }; struct usbd_xfer *xfer = NULL; + u_int16_t length = UGETW(req->wLength); usbd_status err; usbd_config[0].type = UE_CONTROL; usbd_config[0].endpoint = 0; /* control pipe */ usbd_config[0].direction = -1; usbd_config[0].timeout = timeout; - usbd_config[0].flags = flags|USBD_SYNCHRONOUS; - usbd_config[0].bufsize = sizeof(req[0]) + UGETW(req->wLength); + usbd_config[0].flags = (flags|USBD_SYNCHRONOUS|USBD_USE_DMA); + usbd_config[0].bufsize = sizeof(*req) + length; usbd_config[0].callback = &usbd_default_callback; + if (mtx) { + mtx_unlock(mtx); + } + /* setup transfer */ err = usbd_transfer_setup(udev, 0, &xfer, &usbd_config[0], 1, - NULL, NULL, NULL); + NULL, mtx, NULL); + + if (mtx) { + mtx_lock(mtx); + } + if(err) { goto done; } - /* copy IN */ + usbd_copy_in(&(xfer->buf_data), 0, req, sizeof(*req)); - bcopy(req, xfer->buffer, sizeof(req[0])); - if(!(req->bmRequestType & UT_READ)) { - bcopy(data, ((u_int8_t *)xfer->buffer) + sizeof(req[0]), UGETW(req->wLength)); + usbd_copy_in(&(xfer->buf_data), sizeof(*req), data, length); } usbd_transfer_start_safe(xfer); - /* copy OUT */ - if(req->bmRequestType & UT_READ) { - bcopy(((u_int8_t *)xfer->buffer) + sizeof(req[0]), data, UGETW(req->wLength)); + usbd_copy_out(&(xfer->buf_data), sizeof(*req), data, length); } err = xfer->error; From owner-p4-projects@FreeBSD.ORG Fri Jul 21 18:37:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AE9116A4E1; Fri, 21 Jul 2006 18:37:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E960916A4DE; Fri, 21 Jul 2006 18:37:55 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 691A343D58; Fri, 21 Jul 2006 18:37:55 +0000 (GMT) (envelope-from sam@errno.com) Received: from [10.0.0.248] (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id k6LIbsSX058431 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 21 Jul 2006 11:37:55 -0700 (PDT) (envelope-from sam@errno.com) Message-ID: <44C11F02.10404@errno.com> Date: Fri, 21 Jul 2006 11:37:54 -0700 From: Sam Leffler User-Agent: Thunderbird 1.5.0.2 (X11/20060508) MIME-Version: 1.0 To: Hans Petter Selasky References: <200607211829.k6LITQRA092758@repoman.freebsd.org> In-Reply-To: <200607211829.k6LITQRA092758@repoman.freebsd.org> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 102068 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 18:37:56 -0000 Hans Petter Selasky wrote: > http://perforce.freebsd.org/chv.cgi?CH=102068 > > Change 102068 by hselasky@hselasky_mini_itx on 2006/07/21 18:29:01 > > Added new functions, usbd_m_copy_in, usbd_do_request_mtx and > usbd_do_request_flags_mtx. > > Affected files ... > > .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#8 edit > .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#12 edit > .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#9 edit > > Differences ... > > ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#8 (text+ko) ==== > > @@ -43,6 +43,7 @@ > #include /* LIST_XXX() */ > #include > #include > +#include > > #include > #include > @@ -1680,6 +1681,42 @@ > return; > } > > + > +/*---------------------------------------------------------------------------* > + * usbd_m_copy_in - copy a mbuf chain directly to DMA-able memory > + *---------------------------------------------------------------------------*/ > +void > +usbd_m_copy_in(struct usbd_page_cache *cache, u_int32_t dst_offset, > + struct mbuf *m, u_int32_t src_offset, u_int32_t src_len) > +{ > + u_int32_t count; > + > + while (src_offset > 0) { > + __KASSERT(m != NULL, ("usbd_m_copy_in, offset > " > + "size of mbuf chain")); > + if (src_offset < m->m_len) { > + break; > + } > + src_offset -= m->m_len; > + m = m->m_next; > + } > + > + while (src_len > 0) { > + __KASSERT(m != NULL, ("usbd_m_copy_in, length > " > + "size of mbuf chain")); > + count = min(m->m_len - src_offset, src_len); > + > + usbd_copy_in(cache, dst_offset, ((caddr_t)(m->m_data)) + > + src_offset, count); > + > + src_len -= count; > + dst_offset += count; > + src_offset = 0; > + m = m->m_next; > + } > + return; > +} FWIW you can also do this with m_apply: struct usbd_arg { struct usbd_page_cache *cache; u_int32_t dst_offset; }; static int usbd_cb(void *arg, void *src, u_int count) { struct usbd_arg *ua = arg; usbd_copy_in(ua->cache, ua->dst_offset, src, count); ua->dst_offset += count; return 0; } struct usbd_arg arg = { cache, dst_offset }; m_apply(m, m, src_offset, src_len, usbd_cb, &arg); You might also look at the various assertion checks and such in m_apply if you decide not to go this route. Sam From owner-p4-projects@FreeBSD.ORG Fri Jul 21 19:09:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E2DE16A4DF; Fri, 21 Jul 2006 19:09:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D46C916A4DD for ; Fri, 21 Jul 2006 19:09:17 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 81BBF43D45 for ; Fri, 21 Jul 2006 19:09:17 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LJ9Hd5097434 for ; Fri, 21 Jul 2006 19:09:17 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LJ9GDT097431 for perforce@freebsd.org; Fri, 21 Jul 2006 19:09:16 GMT (envelope-from bushman@freebsd.org) Date: Fri, 21 Jul 2006 19:09:16 GMT Message-Id: <200607211909.k6LJ9GDT097431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 102070 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 19:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=102070 Change 102070 by bushman@bushman_nss_ldap_cached on 2006/07/21 19:08:28 "passwd" source basically works! Still has to be decorated with nsdispatch(3)-friendly interface. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.h#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#4 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#4 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#4 (text+ko) ==== @@ -35,41 +35,17 @@ #include #include "ldapconn.h" #include "ldapschema.h" -#include "ldapconf.h" #include "ldapsearch.h" +#include "ldaptls.h" #include "ldaputil.h" +#include "ldapconf.h" +#include "nss_ldap.h" //static int nss_ldap_parse_passwd(struct nss_ldap_parse_context *, // struct nss_ldap_search_context *); - - static int -ldap_getpwnam_r(const char *name, struct passwd *pwd, - char *buffer, size_t bufsize, struct passwd **result) -{ - -} - -static int -ldap_getpwuid_r(uid_t uid, struct passwd *pwd, - char *buffer, size_t bufsize, struct passwd **result) +nss_ldap_parse_passwd(struct nss_ldap_parse_context *pctx) { -} - -static int -ldap_getpwent_r(struct passwd *pwd, char *buffer, size_t bufsize, - struct passwd **result) -{ -} - -static int -ldap_setpwent() -{ -} - -int -__nss_ldap_parse_passwd(struct nss_ldap_parse_context *pctx) -{ struct nss_ldap_schema *schema; struct nss_ldap_search_context *sctx; struct passwd *pwd; @@ -81,11 +57,14 @@ assert(pctx != NULL); sctx = pctx->sctx; + pwd = (struct passwd *)pctx->mdata; + buf = pctx->buffer; + buflen = pctx->bufsize; /* >>>for debug only */ - pwd = (struct passwd *)malloc(sizeof(struct passwd)); - memset(pwd, 0, sizeof(struct passwd)); - buf = malloc(1024); - memset(buf, 0, 1024); +// pwd = (struct passwd *)malloc(sizeof(struct passwd)); +// memset(pwd, 0, sizeof(struct passwd)); +// buf = malloc(1024); +// memset(buf, 0, 1024); /* <<conf->schema; @@ -154,6 +133,85 @@ } int +ldap_getpwnam_r(const char *name, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result) +{ + char filter[NSS_LDAP_FILTER_MAX_SIZE]; + char const *fmt; + int rv; + + fmt = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETPWNAM); + if (fmt == NULL) + return (NS_UNAVAIL); + + __nss_ldap_format_filter(fmt, NSS_LDAP_FILTER_ARGS_STR, filter, + sizeof(filter), name); + + rv = __nss_ldap_getby(NSS_LDAP_MAP_PASSWD, filter, (void *)pwd, + buffer, bufsize, nss_ldap_parse_passwd); + + if (rv == NS_SUCCESS) + *result = pwd; + + return (rv); +} + +int +ldap_getpwuid_r(uid_t uid, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result) +{ + char filter[NSS_LDAP_FILTER_MAX_SIZE]; + char const *fmt; + int rv; + + fmt = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETPWUID); + if (fmt == NULL) + return (NS_UNAVAIL); + + __nss_ldap_format_filter(fmt, NSS_LDAP_FILTER_ARGS_UID, filter, + sizeof(filter), uid); + + rv = __nss_ldap_getby(NSS_LDAP_MAP_PASSWD, filter, (void *)pwd, + buffer, bufsize, nss_ldap_parse_passwd); + + if (rv == NS_SUCCESS) + *result = pwd; + + return (rv); +} + +int +ldap_getpwent_r(struct passwd *pwd, char *buffer, size_t bufsize, + struct passwd **result) +{ + char const *filter; + int rv; + + filter = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETPWENT); + if (filter == NULL) + return (NS_UNAVAIL); + + rv = __nss_ldap_getent(NSS_LDAP_MAP_PASSWD, filter, (void *)pwd, + buffer, bufsize, nss_ldap_parse_passwd); + + if (rv == NS_SUCCESS) + *result = pwd; + + return (rv); +} + +void +ldap_setpwent() +{ + + __nss_ldap_setent(NSS_LDAP_MAP_PASSWD); +} + + +int __ldap_setpwent(void *retval, void *mdata, va_list ap) { return (NS_UNAVAIL); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#4 (text+ko) ==== @@ -29,8 +29,18 @@ #ifndef _LDAP_PASSWD_H_ #define _LDAP_PASSWD_H_ -extern int __nss_ldap_parse_passwd(struct nss_ldap_parse_context *); - +int +ldap_getpwnam_r(const char *name, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result); +int +ldap_getpwuid_r(uid_t uid, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result); +int +ldap_getpwent_r(struct passwd *pwd, char *buffer, size_t bufsize, + struct passwd **result); +void +ldap_setpwent(); + extern int __ldap_setpwent(void *, void *, va_list); extern int __ldap_passwd(void *, void *, va_list); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#4 (text+ko) ==== @@ -28,12 +28,16 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include #include #include #include "ldapschema.h" +#include "ldapconn.h" +#include "ldapsearch.h" +#include "ldaptls.h" #include "ldapconf.h" #define NSS_BASE_PREFIX ("nss_base_") @@ -146,9 +150,9 @@ conf->bind_pw = strdup("[passwd]"); assert(conf->bind_pw != NULL); -// conf->base_passwd = strdup( -// "ou=Users,ou=R61.NET,ou=Domains,dc=r61,dc=net"); -// assert(conf->base_passwd != NULL); + __nss_ldap_init_start_tls_simple_auth_method(&conf->connection_method); + __nss_ldap_init_default_search_method(&conf->search_method); + __nss_ldap_init_default_tls_method(&conf->tls_method); } int ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#4 (text+ko) ==== @@ -49,7 +49,7 @@ #define NSS_LDAP_PROTO_VERSION_3 3 #define NSS_LDAP_MAX_ERR_DESC_SIZE 256 - + struct nss_ldap_configuration { char *host; @@ -64,6 +64,10 @@ char *bind_pw; struct nss_ldap_schema schema; + + struct nss_ldap_connection_method connection_method; + struct nss_ldap_search_method search_method; + struct nss_ldap_tls_method tls_method; }; struct nss_ldap_config_file_error ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#4 (text+ko) ==== @@ -34,9 +34,11 @@ #include #include #include "ldapschema.h" -#include "ldapconf.h" +#include "ldapsearch.h" +#include "ldaptls.h" #include "ldaputil.h" #include "ldapconn.h" +#include "ldapconf.h" struct nss_ldap_connection * __nss_ldap_connect(struct nss_ldap_connection_method *method, ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#4 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#4 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#4 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#3 (text+ko) ==== @@ -35,9 +35,10 @@ #include #include #include "ldapschema.h" -#include "ldapconf.h" #include "ldapconn.h" #include "ldapsearch.h" +#include "ldaptls.h" +#include "ldapconf.h" static void copy_request(struct nss_ldap_search_request *, struct nss_ldap_search_request const *); @@ -49,8 +50,9 @@ static int search_next_def(struct nss_ldap_search_context *); static void end_search_def(struct nss_ldap_search_context *); -static struct nss_ldap_parse_context *start_parsing_def( - struct nss_ldap_search_context *, nss_ldap_parse_next_fn); +static struct nss_ldap_parse_context *start_parsing_def( + struct nss_ldap_search_context *, + void *, char *, size_t, nss_ldap_parse_next_fn); static void end_parsing_def(struct nss_ldap_parse_context *); @@ -169,6 +171,7 @@ static struct nss_ldap_parse_context * start_parsing_def(struct nss_ldap_search_context *sctx, + void *mdata, char *buffer, size_t bufsize, nss_ldap_parse_next_fn parse_next_fn) { struct nss_ldap_parse_context *pctx; @@ -183,6 +186,9 @@ pctx->parse_next_fn = parse_next_fn; pctx->sctx = sctx; + pctx->mdata = mdata; + pctx->buffer = buffer; + pctx->bufsize = bufsize; return (pctx); } @@ -235,13 +241,15 @@ struct nss_ldap_parse_context * __nss_ldap_start_parsing(struct nss_ldap_search_method *method, struct nss_ldap_search_context *ctx, + void *mdata, char *buffer, size_t bufsize, nss_ldap_parse_next_fn parse_next_fn) { assert(method != NULL); assert(ctx != NULL); - return (method->start_parsing_fn(ctx, parse_next_fn)); + return (method->start_parsing_fn(ctx, mdata, buffer, bufsize, + parse_next_fn)); } int ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#3 (text+ko) ==== @@ -43,6 +43,14 @@ LDAPMessage *msg; int msgid; + int type; + int retry_count; + + union { + char const *key; + int offset; + }; + struct berval *cookie; }; @@ -55,15 +63,7 @@ void *mdata; char *buffer; - size_t bufsize; - - int type; - int retry_count; - - union { - char const *key; - int offset; - }; + size_t bufsize; }; typedef struct nss_ldap_search_context *(*nss_ldap_start_search_fn)( @@ -73,7 +73,8 @@ typedef void (*nss_ldap_end_search_fn)(struct nss_ldap_search_context *); typedef struct nss_ldap_parse_context *(*nss_ldap_start_parsing_fn)( - struct nss_ldap_search_context *, nss_ldap_parse_next_fn); + struct nss_ldap_search_context *, void *, char *, size_t, + nss_ldap_parse_next_fn); typedef void (*nss_ldap_end_parsing_fn)(struct nss_ldap_parse_context *); struct nss_ldap_search_method { @@ -96,6 +97,7 @@ extern struct nss_ldap_parse_context *__nss_ldap_start_parsing( struct nss_ldap_search_method *, struct nss_ldap_search_context *, + void *, char *, size_t, nss_ldap_parse_next_fn); extern int __nss_ldap_parse_next(struct nss_ldap_search_method *, struct nss_ldap_parse_context *); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.c#2 (text+ko) ==== @@ -27,3 +27,249 @@ #include __FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include "ldapconn.h" +#include "ldapsearch.h" +#include "ldapschema.h" +#include "ldaptls.h" + +/* the default is to have connections and search contexts one per thread */ +#define NSS_LDAP_TLS_DEF(x, name) \ +struct name##_state { \ + struct x *instance; \ + void (*destroy_fn)(struct x *); \ +}; \ + \ +static void \ +name##_endstate(void *p) \ +{ \ + \ + if (p == NULL) \ + return; \ + \ + if (((struct name##_state *)p)->instance != NULL) \ + ((struct name##_state *)p)->destroy_fn( \ + ((struct name##_state *)p)->instance); \ + free(p); \ +} + +NSS_LDAP_TLS_DEF(nss_ldap_connection, nss_ldap_connection) +NSS_LDAP_TLS_DEF(nss_ldap_search_context, nss_ldap_passwd_search_context) +NSS_LDAP_TLS_DEF(nss_ldap_search_context, nss_ldap_group_search_context) + +NSS_LDAP_TLS_HANDLING(nss_ldap_connection); +NSS_LDAP_TLS_HANDLING(nss_ldap_passwd_search_context); +NSS_LDAP_TLS_HANDLING(nss_ldap_group_search_context); + +static int tls_get_connection_def(struct nss_ldap_connection **); +static int tls_set_connection_def(struct nss_ldap_connection *, + void (*)(struct nss_ldap_connection *)); +static void tls_return_connection_def(struct nss_ldap_connection *); + +static int tls_get_search_context_def(int, struct nss_ldap_search_context **); +static int tls_set_search_context_def(int, struct nss_ldap_search_context *, + void (*)(struct nss_ldap_search_context *)); +static void tls_return_search_context_def(int, + struct nss_ldap_search_context *); + +int +tls_get_connection_def(struct nss_ldap_connection **res) +{ + struct nss_ldap_connection_state *st; + int rv; + + assert(res != NULL); + + rv = nss_ldap_connection_getstate(&st); + if (rv != 0) + return (rv); + + *res = st->instance; + return (0); +} + +int +tls_set_connection_def(struct nss_ldap_connection *conn, + void (*destroy_fn)(struct nss_ldap_connection *)) +{ + struct nss_ldap_connection_state *st; + int rv; + + rv = nss_ldap_connection_getstate(&st); + if (rv != 0) + return (rv); + + st->instance = conn; + st->destroy_fn = destroy_fn; + return (0); +} + +void +tls_return_connection_def(struct nss_ldap_connection *conn) +{ + /* DO NOTHING */ +} + +int +tls_get_search_context_def(int id, struct nss_ldap_search_context **res) +{ + union { + struct nss_ldap_passwd_search_context_state *pwd; + struct nss_ldap_group_search_context_state *grp; + } st; + int rv; + + assert(id < NSS_LDAP_MAP_MAX); + assert(res != NULL); + + switch (id) { + case NSS_LDAP_MAP_PASSWD: + rv = nss_ldap_passwd_search_context_getstate(&st.pwd); + if (rv != 0) + return (rv); + + *res = st.pwd->instance; + return (0); + case NSS_LDAP_MAP_GROUP: + rv = nss_ldap_group_search_context_getstate(&st.grp); + if (rv != 0) + return (rv); + + *res = st.grp->instance; + return (0); + default: + return (-1); + } +} + +int +tls_set_search_context_def(int id, struct nss_ldap_search_context *sctx, + void (*destroy_fn)(struct nss_ldap_search_context *)) +{ + union { + struct nss_ldap_passwd_search_context_state *pwd; + struct nss_ldap_group_search_context_state *grp; + } st; + int rv; + + assert(id < NSS_LDAP_MAP_MAX); + + switch (id) { + case NSS_LDAP_MAP_PASSWD: + rv = nss_ldap_passwd_search_context_getstate(&st.pwd); + if (rv != 0) + return (rv); + + st.pwd->instance = sctx; + st.pwd->destroy_fn = destroy_fn; + return (0); + case NSS_LDAP_MAP_GROUP: + rv = nss_ldap_group_search_context_getstate(&st.grp); + if (rv != 0) + return (rv); + + st.grp->instance = sctx; + st.grp->destroy_fn = destroy_fn; + return (0); + default: + return (-1); + } +} + +void +tls_return_search_context_def(int id, + struct nss_ldap_search_context *sctx) +{ + + assert(id < NSS_LDAP_MAP_MAX); + + /* DO NOTHING */ +} + +int +__nss_ldap_tls_get_connection(struct nss_ldap_tls_method *method, + struct nss_ldap_connection **res) +{ + + assert(method != NULL); + + return (method->get_connection_fn(res)); +} + +int +__nss_ldap_tls_set_connection(struct nss_ldap_tls_method *method, + struct nss_ldap_connection *conn, + void (*destroy_fn)(struct nss_ldap_connection *)) +{ + + assert(method != NULL); + + return (method->set_connection_fn(conn, destroy_fn)); +} + +void +__nss_ldap_tls_return_connection(struct nss_ldap_tls_method *method, + struct nss_ldap_connection *conn) +{ + + assert(method != NULL); + + return (method->return_connection_fn(conn)); +} + +int +__nss_ldap_tls_get_search_context(struct nss_ldap_tls_method *method, int id, + struct nss_ldap_search_context **res) +{ + + assert(id < NSS_LDAP_MAP_MAX); + assert(method != NULL); + assert(res != NULL); + + return (method->get_search_context_fn(id, res)); +} + +int +__nss_ldap_tls_set_search_context(struct nss_ldap_tls_method *method, int id, + struct nss_ldap_search_context *sctx, + void (*destroy_fn)(struct nss_ldap_search_context *)) +{ + + assert(method != NULL); + assert(id < NSS_LDAP_MAP_MAX); + + return (method->set_search_context_fn(id, sctx, destroy_fn)); +} + +void +__nss_ldap_tls_return_search_context(struct nss_ldap_tls_method *method, + int id, struct nss_ldap_search_context *sctx) +{ + + assert(method != NULL); + assert(id < NSS_LDAP_MAP_MAX); + + return (method->return_search_context_fn(id, sctx)); +} + +void +__nss_ldap_init_default_tls_method(struct nss_ldap_tls_method *method) +{ + + assert(method != NULL); + + method->get_connection_fn = tls_get_connection_def; + method->set_connection_fn = tls_set_connection_def; + method->return_connection_fn = tls_return_connection_def; + + method->get_search_context_fn = tls_get_search_context_def; + method->set_search_context_fn = tls_set_search_context_def; + method->return_search_context_fn = tls_return_search_context_def; +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.h#2 (text+ko) ==== @@ -29,14 +29,64 @@ #ifndef _LDAPTLS_H_ #define _LDAPTLS_H_ -typedef struct nss_ldap_connection *(*nss_ldap_tls_get_connection_fn)(); -typedef int (*nss_ldap_tls_set_connection_fn)(struct nss_ldap_connection *); +/* NOTE: is this ok? */ +extern int __isthreaded; + +/* NOTE: implementation from libc/include/nss_tls.h is used. Slightly + * modified to use original names of pthread-functions (without the starting + * underscore. If nss_ldap is included into the libc, NSS_LDAP_TLS_HANDLING + * should be probably redefined through original NSS_TLS_HANDLING. */ +#define NSS_LDAP_TLS_HANDLING(name) \ +static pthread_key_t name##_state_key; \ +static void name##_keyinit(void); \ +static int name##_getstate(struct name##_state **); \ +\ +static void \ +name##_keyinit(void) \ +{ \ + (void)_pthread_key_create(&name##_state_key, name##_endstate); \ +} \ +\ +static int \ +name##_getstate(struct name##_state **p) \ +{ \ + static struct name##_state st; \ + static pthread_once_t keyinit = PTHREAD_ONCE_INIT; \ + int rv; \ + \ + if (!__isthreaded || _pthread_main_np() != 0) { \ + *p = &st; \ + return (0); \ + } \ + rv = _pthread_once(&keyinit, name##_keyinit); \ + if (rv != 0) \ + return (rv); \ + *p = (struct name##_state *)_pthread_getspecific(name##_state_key);\ + if (*p != NULL) \ + return (0); \ + *p = calloc(1, sizeof(**p)); \ + if (*p == NULL) \ + return (ENOMEM); \ + rv = _pthread_setspecific(name##_state_key, *p); \ + if (rv != 0) { \ + free(*p); \ + *p = NULL; \ + } \ + return (rv); \ +} \ +/* allow the macro invocation to end with a semicolon */ \ +struct _clashproof_bmVjdGFy + +typedef int (*nss_ldap_tls_get_connection_fn)(struct nss_ldap_connection **); +typedef int (*nss_ldap_tls_set_connection_fn)(struct nss_ldap_connection *, + void (*)(struct nss_ldap_connection *)); typedef void (*nss_ldap_tls_return_connection_fn)(struct nss_ldap_connection *); -typedef struct nss_ldap_search_context *(*nss_ldap_tls_get_search_context_fn)( - int); +typedef int (*nss_ldap_tls_get_search_context_fn)( + int, struct nss_ldap_search_context **); typedef int (*nss_ldap_tls_set_search_context_fn)(int, - struct nss_ldap_search_context *); + struct nss_ldap_search_context *, + void (*)(struct nss_ldap_search_context *)); typedef void (*nss_ldap_tls_return_search_context_fn)(int, struct nss_ldap_search_context *); @@ -51,4 +101,21 @@ nss_ldap_tls_return_search_context_fn return_search_context_fn; }; +extern int __nss_ldap_tls_get_connection( + struct nss_ldap_tls_method *, struct nss_ldap_connection **); +extern int __nss_ldap_tls_set_connection(struct nss_ldap_tls_method *, + struct nss_ldap_connection *, void (*)(struct nss_ldap_connection *)); +extern void __nss_ldap_tls_return_connection(struct nss_ldap_tls_method *, + struct nss_ldap_connection *); + +extern int __nss_ldap_tls_get_search_context(struct nss_ldap_tls_method *, + int, struct nss_ldap_search_context **); +extern int __nss_ldap_tls_set_search_context(struct nss_ldap_tls_method *, + int, struct nss_ldap_search_context *, + void (*)(struct nss_ldap_search_context *)); +extern void __nss_ldap_tls_return_search_context(struct nss_ldap_tls_method *, + int, struct nss_ldap_search_context *); + +extern void __nss_ldap_init_default_tls_method(struct nss_ldap_tls_method *); + #endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#4 (text+ko) ==== @@ -28,10 +28,13 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include +#include #include #include "ldaputil.h" +#include "ldapschema.h" /* for NSS_LDAP_FILTER_MAX_SIZE */ int __nss_ldap_escape_string(char const *str, char *buffer, size_t bufsize) @@ -84,3 +87,55 @@ *p = '\0'; return (0); } + +int +__nss_ldap_format_filter(char const *fmt, int type, char *buffer, + size_t bufsize, ...) +{ + char str[NSS_LDAP_FILTER_MAX_SIZE]; + char str2[NSS_LDAP_FILTER_MAX_SIZE]; + char *s; + va_list ap; + int num, rv; + uid_t uid; + gid_t gid; + + rv = -1; + va_start(ap, bufsize); + + switch (type) { + case NSS_LDAP_FILTER_ARGS_STR: + s = va_arg(ap, char *); + rv = __nss_ldap_escape_string(s, str, sizeof(str)); + if (rv == 0) { + rv = snprintf(buffer, bufsize, fmt, str); + rv = (rv >= bufsize) ? -1 : 0; + } + break; + case NSS_LDAP_FILTER_ARGS_INT: + num = va_arg(ap, int); + rv = snprintf(buffer, bufsize, fmt, num); + rv = (rv >= bufsize) ? -1 : 0; + break; + case NSS_LDAP_FILTER_ARGS_UID: + uid = va_arg(ap, uid_t); + rv = snprintf(buffer, bufsize, fmt, uid); + rv = (rv >= bufsize) ? -1 : 0; + break; + case NSS_LDAP_FILTER_ARGS_GID: + gid = va_arg(ap, gid_t); + rv = snprintf(buffer, bufsize, fmt, gid); + rv = (rv >= bufsize) ? -1 : 0; + break; + case NSS_LDAP_FILTER_ARGS_STR_INT: + break; + case NSS_LDAP_FILTER_ARGS_STR_STR: + break; + default: + break; + }; + +fin: + va_end(ap); + return (rv); +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#4 (text+ko) ==== @@ -28,52 +28,15 @@ #ifndef _LDAPUTIL_H_ #define _LDAPUTIL_H_ - + +#define NSS_LDAP_FILTER_ARGS_STR 0 +#define NSS_LDAP_FILTER_ARGS_INT 1 +#define NSS_LDAP_FILTER_ARGS_UID 2 +#define NSS_LDAP_FILTER_ARGS_GID 3 +#define NSS_LDAP_FILTER_ARGS_STR_INT 4 +#define NSS_LDAP_FILTER_ARGS_STR_STR 5 + extern int __nss_ldap_escape_string(char const *, char *, size_t); - -/* NOTE: implementation from libc/include/nss_tls.h is used. Slightly - * modified to use original names of pthread-functions (without the starting - * underscore. If nss_ldap is included into the libc, NSS_LDAP_TLS_HANDLING - * should be probably redefined through original NSS_TLS_HANDLING. */ -#define NSS_LDAP_TLS_HANDLING(name) \ -static pthread_key_t name##_state_key; \ -static void name##_keyinit(void); \ -static int name##_getstate(struct name##_state **); \ -\ -static void \ -name##_keyinit(void) \ -{ \ - (void)_pthread_key_create(&name##_state_key, name##_endstate); \ -} \ -\ -static int \ -name##_getstate(struct name##_state **p) \ -{ \ - static struct name##_state st; \ - static pthread_once_t keyinit = PTHREAD_ONCE_INIT; \ - int rv; \ - \ - if (!__isthreaded || _pthread_main_np() != 0) { \ - *p = &st; \ - return (0); \ - } \ - rv = _pthread_once(&keyinit, name##_keyinit); \ - if (rv != 0) \ - return (rv); \ - *p = (struct name##_state *)_pthread_getspecific(name##_state_key);\ - if (*p != NULL) \ - return (0); \ - *p = calloc(1, sizeof(**p)); \ - if (*p == NULL) \ - return (ENOMEM); \ - rv = _pthread_setspecific(name##_state_key, *p); \ - if (rv != 0) { \ - free(*p); \ - *p = NULL; \ - } \ - return (rv); \ -} \ -/* allow the macro invocation to end with a semicolon */ \ -struct _clashproof_bmVjdGFy +extern int __nss_ldap_format_filter(char const *, int, char *, size_t, ...); #endif /* _LDAPUTILS_H_ */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#4 (text+ko) ==== @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -37,10 +38,11 @@ #include #include #include "ldapschema.h" -#include "ldapconf.h" #include "ldapconn.h" #include "ldaputil.h" #include "ldapsearch.h" +#include "ldaptls.h" +#include "ldapconf.h" #include "nss_ldap.h" #include "ldap_passwd.h" @@ -63,6 +65,7 @@ static pthread_rwlock_t nss_ldap_lock = PTHREAD_RWLOCK_INITIALIZER; static struct nss_ldap_configuration nss_ldap_conf; +struct nss_ldap_configuration *__nss_ldap_conf = NULL; static int nss_ldap_configure(); static void nss_ldap_atexit(); @@ -102,7 +105,14 @@ __nss_ldap_init_default_config(&nss_ldap_conf); result = __nss_ldap_load_config_from_file(&nss_ldap_conf, path, &config_file_error); + if (result == 0) + __nss_ldap_conf = &nss_ldap_conf; + else { + /* TODO: proper error handling */ + } + __nss_ldap_build_schema_filters(&nss_ldap_conf.schema); + fin: if (isthreaded) (void)pthread_rwlock_unlock(&nss_ldap_lock); @@ -135,6 +145,325 @@ } } +static void +connection_destroy_func(struct nss_ldap_connection *conn) +{ + struct nss_ldap_connection_error conn_error; + int rv; + + memset(&conn_error, 0, sizeof(conn_error)); + rv = __nss_ldap_disconnect(&__nss_ldap_conf->connection_method, + conn, __nss_ldap_conf, &conn_error); + + if (rv != 0) { + /* TODO: proper error handling */ + } +} + +static void +search_context_destroy_func(struct nss_ldap_search_context *sctx) +{ + __nss_ldap_end_search(&nss_ldap_conf.search_method, sctx); +} + +int +__nss_ldap_getby(int map_id, char const *filter, void *mdata, char *buffer, + size_t bufsize, nss_ldap_parse_next_fn parse_next_fn) +{ + struct nss_ldap_connection_method *connection_method; + struct nss_ldap_search_method *search_method; + struct nss_ldap_tls_method *tls_method; + + struct nss_ldap_connection_error conn_error; + struct nss_ldap_search_request search_request; + struct nss_ldap_connection *conn; + struct nss_ldap_search_context *sctx; + struct nss_ldap_parse_context *pctx; + int rv; + + assert(map_id < NSS_LDAP_MAP_MAX); + assert(filter != NULL); + assert(mdata != NULL); + assert(buffer != NULL); + assert(parse_next_fn != NULL); + + connection_method = &__nss_ldap_conf->connection_method; + search_method = &__nss_ldap_conf->search_method; + tls_method = &__nss_ldap_conf->tls_method; + + conn = NULL; + pctx = NULL; + sctx = NULL; + rv = __nss_ldap_tls_get_connection(tls_method, &conn); + if (rv != 0) { + /* TODO: proper error handling */ + rv = NS_UNAVAIL; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 21 20:58:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 253E016A4E5; Fri, 21 Jul 2006 20:58:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C412916A4E1 for ; Fri, 21 Jul 2006 20:58:39 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3069043D58 for ; Fri, 21 Jul 2006 20:58:39 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6LKwdTw013250 for ; Fri, 21 Jul 2006 20:58:39 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6LKwasO013247 for perforce@freebsd.org; Fri, 21 Jul 2006 20:58:36 GMT (envelope-from jhb@freebsd.org) Date: Fri, 21 Jul 2006 20:58:36 GMT Message-Id: <200607212058.k6LKwasO013247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 102081 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 20:58:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=102081 Change 102081 by jhb@jhb_zion on 2006/07/21 20:57:40 IFC @102080 (some loopback). Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#64 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#31 integrate .. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#8 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#68 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#57 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#15 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#16 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#10 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#38 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#14 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#14 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#14 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sysvec.c#22 integrate .. //depot/projects/smpng/sys/compat/svr4/syscalls.master#22 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#19 integrate .. //depot/projects/smpng/sys/dev/ata/ata-queue.c#36 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/smpng/sys/dev/em/if_em.c#69 integrate .. //depot/projects/smpng/sys/dev/em/if_em.h#32 integrate .. //depot/projects/smpng/sys/dev/lmc/if_lmc.h#4 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#32 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#104 integrate .. //depot/projects/smpng/sys/i386/linux/linux_proto.h#31 integrate .. //depot/projects/smpng/sys/i386/linux/linux_syscall.h#30 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysent.c#31 integrate .. //depot/projects/smpng/sys/i386/linux/syscalls.master#36 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#96 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#87 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#62 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#93 integrate .. //depot/projects/smpng/sys/net/raw_usrreq.c#22 integrate .. //depot/projects/smpng/sys/net/rtsock.c#55 integrate .. //depot/projects/smpng/sys/netatalk/ddp_usrreq.c#26 integrate .. //depot/projects/smpng/sys/netatm/atm_aal5.c#15 integrate .. //depot/projects/smpng/sys/netatm/atm_usrreq.c#17 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#6 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#7 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#7 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket.c#13 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#19 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#17 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#16 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#13 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.c#40 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#59 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#80 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#52 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#69 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#41 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#39 integrate .. //depot/projects/smpng/sys/netipsec/keysock.c#13 integrate .. //depot/projects/smpng/sys/netipx/ipx_usrreq.c#24 integrate .. //depot/projects/smpng/sys/netipx/spx_usrreq.c#27 integrate .. //depot/projects/smpng/sys/netkey/keysock.c#26 integrate .. //depot/projects/smpng/sys/netnatm/natm.c#28 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#32 integrate .. //depot/projects/smpng/sys/vm/pmap.h#32 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#81 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#32 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#79 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#64 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.566 2006/07/17 03:10:17 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); /* * Manages physical address maps. @@ -207,7 +207,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -2972,7 +2971,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -static __inline void +void pmap_clear_write(vm_page_t m) { pv_entry_t pv; ==== //depot/projects/smpng/sys/arm/arm/pmap.c#31 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.65 2006/07/11 11:22:06 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.66 2006/07/20 23:26:22 alc Exp $"); #include #include #include @@ -4461,6 +4461,21 @@ /* + * Clear the write and modified bits in each of the given page's mappings. + */ +void +pmap_clear_write(vm_page_t m) +{ + + if (m->md.pvh_attrs & PVF_WRITE) + pmap_clearbit(m, PVF_WRITE); + else + KASSERT((m->flags & PG_WRITEABLE) == 0, + ("pmap_clear_write: page %p has PG_WRITEABLE set", m)); +} + + +/* * perform the pmap work for mincore */ int ==== //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#8 (text) ==== @@ -26,7 +26,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.8 2006/07/14 21:33:04 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.9 2006/07/20 21:03:43 cognet Exp $"); + +#include "opt_comconsole.h" #include #include @@ -492,6 +494,19 @@ return (at91_usart_param(&sc->sc_bas, baudrate, databits, stopbits, parity)); } + +static __inline void +at91_rx_put(struct uart_softc *sc, int key) +{ +#if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER) + if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { + if (kdb_alt_break(key, &sc->sc_altbrk)) + kdb_enter("Break sequence to console"); + } +#endif + uart_rx_put(sc, key); +} + static int at91_usart_bus_ipend(struct uart_softc *sc) { @@ -534,9 +549,9 @@ bus_dmamap_sync(atsc->dmatag, atsc->pong->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->pong->buffer[i]); + at91_rx_put(sc, atsc->pong->buffer[i]); uart_rx_put(sc, UART_STAT_OVERRUN); csr &= ~(USART_CSR_ENDRX | USART_CSR_TIMEOUT); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); @@ -554,7 +569,7 @@ bus_dmamap_sync(atsc->dmatag, atsc->ping->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); p = atsc->ping; atsc->ping = atsc->pong; atsc->pong = p; @@ -574,7 +589,7 @@ BUS_DMASYNC_POSTREAD); len = sc->sc_rxfifosz - RD4(&sc->sc_bas, PDC_RCR); for (i = 0; i < len; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); WR4(&sc->sc_bas, PDC_RCR, sc->sc_rxfifosz); WR4(&sc->sc_bas, USART_CR, USART_CR_STTTO); @@ -584,7 +599,7 @@ if (!(atsc->flags & HAS_TIMEOUT) && (csr & USART_CSR_RXRDY)) { // We have another charater in a device that doesn't support // timeouts, so we do it one character at a time. - uart_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); + at91_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); ipend |= SER_INT_RXREADY; } ==== //depot/projects/smpng/sys/compat/linux/linux_misc.c#68 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.179 2006/06/23 18:49:38 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.180 2006/07/21 20:22:13 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" ==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#57 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.88 2006/07/19 19:03:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.89 2006/07/21 20:28:56 jhb Exp $"); #include "opt_mac.h" ==== //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#15 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.23 2006/07/19 19:03:21 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.24 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.26 2006/07/21 20:28:56 jhb Exp */ #ifndef _SVR4_SYSPROTO_H_ ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.c#16 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_socket.c,v 1.26 2006/07/19 18:26:09 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_socket.c,v 1.27 2006/07/21 20:40:13 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/compat/svr4/svr4_socket.h#10 (text+ko) ==== @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/svr4/svr4_socket.h,v 1.9 2005/01/05 22:34:36 imp Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_socket.h,v 1.10 2006/07/21 20:40:13 jhb Exp $ */ #ifndef _SVR4_SOCKET_H_ ==== //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#38 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.58 2006/07/10 21:38:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.59 2006/07/21 20:40:13 jhb Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#14 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.21 2006/07/19 19:03:21 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.22 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.26 2006/07/21 20:28:56 jhb Exp */ #define SVR4_SYS_exit 1 ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#14 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.21 2006/07/19 19:03:21 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.22 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.26 2006/07/21 20:28:56 jhb Exp */ const char *svr4_syscallnames[] = { ==== //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#14 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.22 2006/07/19 19:03:21 jhb Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp + * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.23 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.26 2006/07/21 20:28:56 jhb Exp */ #include @@ -173,7 +173,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 150 = notused */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 151 = notused */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 152 = modctl */ - { AS(svr4_sys_fchroot_args), (sy_call_t *)svr4_sys_fchroot, AUE_NULL }, /* 153 = svr4_sys_fchroot */ + { SYF_MPSAFE | AS(svr4_sys_fchroot_args), (sy_call_t *)svr4_sys_fchroot, AUE_NULL }, /* 153 = svr4_sys_fchroot */ { SYF_MPSAFE | AS(svr4_sys_utimes_args), (sy_call_t *)svr4_sys_utimes, AUE_NULL }, /* 154 = svr4_sys_utimes */ { SYF_MPSAFE | 0, (sy_call_t *)svr4_sys_vhangup, AUE_NULL }, /* 155 = svr4_sys_vhangup */ { SYF_MPSAFE | AS(svr4_sys_gettimeofday_args), (sy_call_t *)svr4_sys_gettimeofday, AUE_NULL }, /* 156 = svr4_sys_gettimeofday */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_sysvec.c#22 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sysvec.c,v 1.41 2005/02/25 19:34:10 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sysvec.c,v 1.42 2006/07/21 20:40:13 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" ==== //depot/projects/smpng/sys/compat/svr4/syscalls.master#22 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.25 2006/07/19 19:03:03 jhb Exp $ + $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.26 2006/07/21 20:28:56 jhb Exp $ ; from: @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; ; System call name/number master file (or rather, slave, from SVR4). ==== //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#19 (text+ko) ==== @@ -1,5 +1,6 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.24 2006/05/12 16:15:34 mlaier Exp $ */ -/* $OpenBSD: pf_ioctl.c,v 1.139 2005/03/03 07:13:39 dhartmei Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.25 2006/07/21 09:48:13 mlaier Exp $ */ +/* $OpenBSD: pf_ioctl.c,v 1.139 2005/03/03 07:13:39 dhartmei Exp $ */ +/* add: $OpenBSD: pf_ioctl.c,v 1.168 2006/07/21 01:21:17 dhartmei Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -1815,7 +1816,7 @@ (newrule->action == PF_RDR) || (newrule->action == PF_BINAT) || (newrule->rt > PF_FASTROUTE)) && - !pcr->anchor[0])) && + !newrule->anchor)) && (TAILQ_FIRST(&newrule->rpool.list) == NULL)) error = EINVAL; ==== //depot/projects/smpng/sys/dev/ata/ata-queue.c#36 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.64 2006/04/17 10:47:01 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.65 2006/07/21 19:13:05 imp Exp $"); #include "opt_ata.h" #include @@ -430,6 +430,8 @@ request->u.atapi.sense.specific & ATA_SENSE_SPEC_MASK, request->u.atapi.sense.specific1, request->u.atapi.sense.specific2); + else + printf("\n"); } if ((request->u.atapi.sense.key & ATA_SENSE_KEY_MASK ? ==== //depot/projects/smpng/sys/dev/bce/if_bce.c#4 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.5 2006/07/12 23:13:09 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.6 2006/07/20 18:41:00 jhb Exp $"); /* * The following controllers are supported by this driver: @@ -4840,9 +4840,11 @@ DBPRINT(sc, BCE_INFO, "Setting new MTU of %d\n", ifr->ifr_mtu); + BCE_LOCK(sc); ifp->if_mtu = ifr->ifr_mtu; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - bce_init(sc); + bce_init_locked(sc); + BCE_UNLOCK(sc); break; /* Set interface. */ @@ -4877,12 +4879,12 @@ case SIOCDELMULTI: DBPRINT(sc, BCE_VERBOSE, "Received SIOCADDMULTI/SIOCDELMULTI\n"); + BCE_LOCK(sc); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - BCE_LOCK(sc); bce_set_rx_mode(sc); - BCE_UNLOCK(sc); error = 0; } + BCE_UNLOCK(sc); break; @@ -5031,10 +5033,12 @@ /* DBRUN(BCE_FATAL, bce_breakpoint(sc)); */ + BCE_LOCK(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - bce_init(sc); + bce_init_locked(sc); ifp->if_oerrors++; + BCE_UNLOCK(sc); } ==== //depot/projects/smpng/sys/dev/em/if_em.c#69 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.116 2006/06/06 08:03:49 glebius Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.119 2006/07/20 04:18:45 yongari Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -67,6 +67,7 @@ #include #include +#include #include #include #include @@ -692,6 +693,9 @@ EM_LOCK_ASSERT(sc); + if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != + IFF_DRV_RUNNING) + return; if (!sc->link_active) return; @@ -745,6 +749,7 @@ { struct em_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq *)data; + struct ifaddr *ifa = (struct ifaddr *)data; int error = 0; if (sc->in_detach) @@ -753,8 +758,23 @@ switch (command) { case SIOCSIFADDR: case SIOCGIFADDR: - IOCTL_DEBUGOUT("ioctl rcv'd: SIOCxIFADDR (Get/Set Interface Addr)"); - ether_ioctl(ifp, command, data); + if (ifa->ifa_addr->sa_family == AF_INET) { + /* + * XXX + * Since resetting hardware takes a very long time + * and results in link renegotiation we only + * initialize the hardware only when it is absolutely + * required. + */ + ifp->if_flags |= IFF_UP; + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + EM_LOCK(sc); + em_init_locked(sc); + EM_UNLOCK(sc); + } + arp_ifinit(ifp, ifa); + } else + error = ether_ioctl(ifp, command, data); break; case SIOCSIFMTU: { @@ -763,6 +783,7 @@ IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFMTU (Set Interface MTU)"); + EM_LOCK(sc); switch (sc->hw.mac_type) { case em_82573: /* @@ -786,11 +807,11 @@ } if (ifr->ifr_mtu > max_frame_size - ETHER_HDR_LEN - ETHER_CRC_LEN) { + EM_UNLOCK(sc); error = EINVAL; break; } - EM_LOCK(sc); ifp->if_mtu = ifr->ifr_mtu; sc->hw.max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; @@ -802,17 +823,20 @@ IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFFLAGS (Set Interface Flags)"); EM_LOCK(sc); if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if ((ifp->if_flags ^ sc->if_flags) & + IFF_PROMISC) { + em_disable_promisc(sc); + em_set_promisc(sc); + } + } else em_init_locked(sc); - } - - em_disable_promisc(sc); - em_set_promisc(sc); } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { em_stop(sc); } } + sc->if_flags = ifp->if_flags; EM_UNLOCK(sc); break; case SIOCADDMULTI: @@ -878,8 +902,8 @@ break; } default: - IOCTL_DEBUGOUT1("ioctl received: UNKNOWN (0x%x)", (int)command); - error = EINVAL; + error = ether_ioctl(ifp, command, data); + break; } return (error); ==== //depot/projects/smpng/sys/dev/em/if_em.h#32 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.44 2006/02/15 08:39:50 glebius Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.45 2006/07/20 04:18:45 yongari Exp $*/ #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -259,6 +259,7 @@ struct callout timer; struct callout tx_fifo_timer; int io_rid; + int if_flags; struct mtx mtx; int em_insert_vlan_header; struct task link_task; ==== //depot/projects/smpng/sys/dev/lmc/if_lmc.h#4 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/dev/lmc/if_lmc.h,v 1.3 2006/06/02 23:14:39 sam Exp $ + * $FreeBSD: src/sys/dev/lmc/if_lmc.h,v 1.4 2006/07/21 08:45:00 delphij Exp $ * * Copyright (c) 2002-2004 David Boggs. (boggs@boggs.palo-alto.ca.us) * All rights reserved. @@ -936,7 +936,7 @@ #define IOCTL_RESET_CNTRS 54 /* reset event counters */ /* storage for these strings is allocated here! */ -char *ssi_cables[] = +const char *ssi_cables[] = { "V.10/EIA423", "V.11/EIA530A", ==== //depot/projects/smpng/sys/dev/streams/streams.c#32 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.53 2006/07/19 18:52:33 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/streams/streams.c,v 1.54 2006/07/21 20:40:13 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/i386/i386/pmap.c#104 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.570 2006/07/18 03:17:12 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.571 2006/07/20 17:48:40 alc Exp $"); /* * Manages physical address maps. @@ -266,7 +266,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -3066,7 +3065,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -static __inline void +void pmap_clear_write(vm_page_t m) { pv_entry_t pv; ==== //depot/projects/smpng/sys/i386/linux/linux_proto.h#31 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.76 2006/07/11 20:55:23 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.73 2006/07/11 20:52:08 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.77 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.74 2006/07/21 20:22:13 jhb Exp */ #ifndef _LINUX_SYSPROTO_H_ ==== //depot/projects/smpng/sys/i386/linux/linux_syscall.h#30 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.70 2006/07/11 20:55:23 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.73 2006/07/11 20:52:08 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.71 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.74 2006/07/21 20:22:13 jhb Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/smpng/sys/i386/linux/linux_sysent.c#31 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.77 2006/07/11 20:55:23 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.73 2006/07/11 20:52:08 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.78 2006/07/21 20:41:33 jhb Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.74 2006/07/21 20:22:13 jhb Exp */ #include @@ -105,7 +105,7 @@ { SYF_MPSAFE | AS(linux_symlink_args), (sy_call_t *)linux_symlink, AUE_SYMLINK }, /* 83 = linux_symlink */ { SYF_MPSAFE | AS(linux_lstat_args), (sy_call_t *)linux_lstat, AUE_LSTAT }, /* 84 = linux_lstat */ { SYF_MPSAFE | AS(linux_readlink_args), (sy_call_t *)linux_readlink, AUE_READLINK }, /* 85 = linux_readlink */ - { AS(linux_uselib_args), (sy_call_t *)linux_uselib, AUE_USELIB }, /* 86 = linux_uselib */ + { SYF_MPSAFE | AS(linux_uselib_args), (sy_call_t *)linux_uselib, AUE_USELIB }, /* 86 = linux_uselib */ { SYF_MPSAFE | AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON }, /* 87 = swapon */ { SYF_MPSAFE | AS(linux_reboot_args), (sy_call_t *)linux_reboot, AUE_REBOOT }, /* 88 = linux_reboot */ { SYF_MPSAFE | AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_O_GETDENTS }, /* 89 = linux_readdir */ ==== //depot/projects/smpng/sys/i386/linux/syscalls.master#36 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.73 2006/07/11 20:52:08 jhb Exp $ + $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.74 2006/07/21 20:22:13 jhb Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). ==== //depot/projects/smpng/sys/kern/kern_descrip.c#96 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.296 2006/07/08 20:03:39 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.297 2006/07/21 20:24:00 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" ==== //depot/projects/smpng/sys/kern/uipc_socket.c#87 (text+ko) ==== @@ -89,7 +89,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.272 2006/07/16 23:09:39 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.273 2006/07/21 17:11:11 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -589,6 +589,8 @@ sorflush(so); knlist_destroy(&so->so_rcv.sb_sel.si_note); knlist_destroy(&so->so_snd.sb_sel.si_note); + if (so->so_proto->pr_usrreqs->pru_detach != NULL) + (*so->so_proto->pr_usrreqs->pru_detach)(so); sodealloc(so); } @@ -653,8 +655,8 @@ } drop: - if (*so->so_proto->pr_usrreqs->pru_detach != NULL) - (*so->so_proto->pr_usrreqs->pru_detach)(so); + if (so->so_proto->pr_usrreqs->pru_close != NULL) + (*so->so_proto->pr_usrreqs->pru_close)(so); ACCEPT_LOCK(); SOCK_LOCK(so); KASSERT((so->so_state & SS_NOFDREF) == 0, ("soclose: NOFDREF")); @@ -676,9 +678,6 @@ * with any socket locks held. Protocols do call it while holding their own * recursible protocol mutexes, but this is something that should be subject * to review in the future. - * - * XXXRW: Why do we maintain a distinction between pru_abort() and - * pru_detach()? */ void soabort(so) @@ -697,7 +696,7 @@ KASSERT((so->so_state & SQ_COMP) == 0, ("soabort: SQ_COMP")); KASSERT((so->so_state & SQ_INCOMP) == 0, ("soabort: SQ_INCOMP")); - if (*so->so_proto->pr_usrreqs->pru_abort != NULL) + if (so->so_proto->pr_usrreqs->pru_abort != NULL) (*so->so_proto->pr_usrreqs->pru_abort)(so); ACCEPT_LOCK(); SOCK_LOCK(so); ==== //depot/projects/smpng/sys/kern/uipc_usrreq.c#62 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.171 2006/07/11 21:49:54 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.172 2006/07/21 17:11:12 rwatson Exp $"); #include "opt_mac.h" @@ -149,8 +149,7 @@ KASSERT(unp != NULL, ("uipc_abort: unp == NULL")); UNP_LOCK(); unp_drop(unp, ECONNABORTED); - unp_detach(unp); - UNP_UNLOCK_ASSERT(); + UNP_UNLOCK(); } static int @@ -210,6 +209,21 @@ return (error); } +/* + * XXXRW: Should also unbind? + */ +static void +uipc_close(struct socket *so) +{ + struct unpcb *unp; + + unp = sotounpcb(so); + KASSERT(unp != NULL, ("uipc_close: unp == NULL")); + UNP_LOCK(); + unp_disconnect(unp); + UNP_UNLOCK(); +} + int uipc_connect2(struct socket *so1, struct socket *so2) { @@ -565,6 +579,7 @@ .pru_sosend = sosend, .pru_soreceive = soreceive, .pru_sopoll = sopoll, + .pru_close = uipc_close, }; int ==== //depot/projects/smpng/sys/kern/vfs_bio.c#93 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.506 2006/04/04 06:44:21 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.507 2006/07/21 06:40:29 alc Exp $"); #include #include @@ -2285,8 +2285,7 @@ /* * We qualify the scan for modified pages on whether the - * object has been flushed yet. The OBJ_WRITEABLE flag - * is not cleared simply by protecting pages off. + * object has been flushed yet. */ if ((bp->b_flags & B_VMIO) == 0) @@ -2294,11 +2293,6 @@ object = bp->b_pages[0]->object; VM_OBJECT_LOCK(object); - if ((object->flags & OBJ_WRITEABLE) && !(object->flags & OBJ_MIGHTBEDIRTY)) - printf("Warning: object %p writeable but not mightbedirty\n", object); - if (!(object->flags & OBJ_WRITEABLE) && (object->flags & OBJ_MIGHTBEDIRTY)) - printf("Warning: object %p mightbedirty but not writeable\n", object); - if (object->flags & (OBJ_MIGHTBEDIRTY|OBJ_CLEANING)) { vm_offset_t boffset; vm_offset_t eoffset; ==== //depot/projects/smpng/sys/net/raw_usrreq.c#22 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)raw_usrreq.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.42 2006/06/02 08:27:15 rwatson Exp $ + * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.43 2006/07/21 17:11:12 rwatson Exp $ */ #include @@ -146,7 +146,16 @@ KASSERT(rp != NULL, ("raw_uabort: rp == NULL")); raw_disconnect(rp); soisdisconnected(so); - raw_detach(rp); +} + +static void +raw_uclose(struct socket *so) +{ + struct rawcb *rp = sotorawcb(so); + + KASSERT(rp != NULL, ("raw_uabort: rp == NULL")); + raw_disconnect(rp); + soisdisconnected(so); } /* pru_accept is EOPNOTSUPP */ @@ -295,4 +304,5 @@ .pru_send = raw_usend, .pru_shutdown = raw_ushutdown, .pru_sockaddr = raw_usockaddr, + .pru_close = raw_uclose, }; ==== //depot/projects/smpng/sys/net/rtsock.c#55 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)rtsock.c 8.7 (Berkeley) 10/12/95 - * $FreeBSD: src/sys/net/rtsock.c,v 1.136 2006/07/06 00:24:36 oleg Exp $ + * $FreeBSD: src/sys/net/rtsock.c,v 1.137 2006/07/21 17:11:12 rwatson Exp $ */ #include @@ -144,6 +144,13 @@ raw_usrreqs.pru_abort(so); } +static void +rts_close(struct socket *so) +{ + + raw_usrreqs.pru_close(so); +} + /* pru_accept is EOPNOTSUPP */ static int @@ -292,6 +299,7 @@ .pru_send = rts_send, .pru_shutdown = rts_shutdown, .pru_sockaddr = rts_sockaddr, + .pru_close = rts_close, }; /*ARGSUSED*/ ==== //depot/projects/smpng/sys/netatalk/ddp_usrreq.c#26 (text+ko) ==== @@ -24,7 +24,7 @@ * +1-313-764-2278 * netatalk@umich.edu * - * $FreeBSD: src/sys/netatalk/ddp_usrreq.c,v 1.50 2006/04/01 16:54:37 rwatson Exp $ + * $FreeBSD: src/sys/netatalk/ddp_usrreq.c,v 1.51 2006/07/21 17:11:13 rwatson Exp $ */ #include @@ -202,6 +202,10 @@ return (error); } +/* + * XXXRW: This is never called because we only invoke abort on stream + * protocols. + */ static void ddp_abort(struct socket *so) { @@ -210,10 +214,22 @@ ddp = sotoddpcb(so); KASSERT(ddp != NULL, ("ddp_abort: ddp == NULL")); - DDP_LIST_XLOCK(); + DDP_LOCK(ddp); + at_pcbdisconnect(ddp); + DDP_UNLOCK(ddp); +} + +static void +ddp_close(struct socket *so) +{ + struct ddpcb *ddp; + + ddp = sotoddpcb(so); + KASSERT(ddp != NULL, ("ddp_close: ddp == NULL")); + DDP_LOCK(ddp); - at_pcbdetach(so, ddp); - DDP_LIST_XUNLOCK(); + at_pcbdisconnect(ddp); + DDP_UNLOCK(ddp); } void @@ -276,4 +292,5 @@ .pru_send = ddp_send, .pru_shutdown = ddp_shutdown, .pru_sockaddr = at_setsockaddr, + .pru_close = ddp_close, }; ==== //depot/projects/smpng/sys/netatm/atm_aal5.c#15 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netatm/atm_aal5.c,v 1.24 2006/04/01 15:41:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netatm/atm_aal5.c,v 1.25 2006/07/21 17:11:13 rwatson Exp $"); #include #include @@ -88,6 +88,7 @@ Atm_attributes *, void **); static void atm_aal5_cpcs_data(void *, KBuffer *); static caddr_t atm_aal5_getname(void *); +static void atm_aal5_close(struct socket *); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 21 21:01:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F107116A4E2; Fri, 21 Jul 2006 21:01:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CD36A16A4DA; Fri, 21 Jul 2006 21:01:54 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id A09D043D5E; Fri, 21 Jul 2006 21:01:50 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([165.236.175.187]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k6LKXioE027103; Fri, 21 Jul 2006 14:33:49 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44C13A13.7070307@samsco.org> Date: Fri, 21 Jul 2006 14:33:23 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Paolo Pisati References: <200607211021.k6LALOmp039359@repoman.freebsd.org> In-Reply-To: <200607211021.k6LALOmp039359@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: Perforce Change Reviews Subject: Re: PERFORCE change 102049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2006 21:01:55 -0000 Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=102049 > > Change 102049 by piso@piso_longino on 2006/07/21 10:21:18 > > Axe INTR_FAST. > > Affected files ... > > .. //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 edit > .. //depot/projects/soc2006/intr_filter/dev/adlink/adlink.c#4 edit > .. //depot/projects/soc2006/intr_filter/dev/cy/cy_isa.c#4 edit > .. //depot/projects/soc2006/intr_filter/dev/cy/cy_pci.c#5 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 (text+ko) ==== > > @@ -312,7 +312,7 @@ > } > } else { > if (bus_setup_intr(sc->aac_dev, sc->aac_irq, > - INTR_FAST|INTR_TYPE_BIO, > + INTR_TYPE_BIO, > aac_fast_intr, NULL, > sc, &sc->aac_intr)) { > device_printf(sc->aac_dev, > AAC uses the same INTR_FAST + taskqueue scheme that if_em did. Scott From owner-p4-projects@FreeBSD.ORG Sat Jul 22 02:24:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2309D16A4E1; Sat, 22 Jul 2006 02:24:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D861316A4DF for ; Sat, 22 Jul 2006 02:23:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 430CA43D45 for ; Sat, 22 Jul 2006 02:23:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M2NxF0068787 for ; Sat, 22 Jul 2006 02:23:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M2NsQk068784 for perforce@freebsd.org; Sat, 22 Jul 2006 02:23:54 GMT (envelope-from jb@freebsd.org) Date: Sat, 22 Jul 2006 02:23:54 GMT Message-Id: <200607220223.k6M2NsQk068784@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 102095 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 02:24:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=102095 Change 102095 by jb@jb_freebsd2 on 2006/07/22 02:22:56 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/articles/Makefile#2 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/articles/java-tomcat/Makefile#2 delete .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/articles/java-tomcat/article.sgml#2 delete .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/mk/doc.local.mk#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/fdp-primer/translations/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#10 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/share/sgml/urls.ent#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/acm.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#10 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#10 integrate .. //depot/projects/dtrace/doc/share/sgml/trademarks.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/desktop/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/catalog#2 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/l10n.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/trademarks.ent#2 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/book.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/examples/appendix.sgml#2 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/overview/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/sgml-primer/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/tools/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/translations/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/install/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/ports/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/preface/preface.sgml#2 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/porters-handbook/book.sgml#5 integrate .. //depot/projects/dtrace/ports/CHANGES#3 integrate .. //depot/projects/dtrace/ports/GIDs#1 branch .. //depot/projects/dtrace/ports/LEGAL#2 integrate .. //depot/projects/dtrace/ports/MOVED#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#4 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#3 integrate .. //depot/projects/dtrace/ports/UIDs#1 branch .. //depot/projects/dtrace/ports/UPDATING#6 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#12 integrate .. //depot/projects/dtrace/src/etc/rc.d/archdep#3 integrate .. //depot/projects/dtrace/src/etc/rc.d/ntpdate#3 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/send-pr/categories#3 integrate .. //depot/projects/dtrace/src/lib/libc/gen/getgrent.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/net/getaddrinfo.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/net/name6.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/net/resolver.3#3 integrate .. //depot/projects/dtrace/src/lib/libdevinfo/devinfo.c#3 integrate .. //depot/projects/dtrace/src/lib/libpam/libpam/security/pam_mod_misc.h#3 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_list.c#3 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#3 integrate .. //depot/projects/dtrace/src/lib/libutil/humanize_number.3#3 integrate .. //depot/projects/dtrace/src/lib/libypclnt/ypclnt.h#3 integrate .. //depot/projects/dtrace/src/sbin/growfs/growfs.c#3 integrate .. //depot/projects/dtrace/src/sbin/mount_udf/Makefile#3 integrate .. //depot/projects/dtrace/src/secure/lib/libcrypto/Makefile.inc#3 integrate .. //depot/projects/dtrace/src/share/examples/etc/make.conf#3 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#10 integrate .. //depot/projects/dtrace/src/share/man/man4/iwi.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/padlock.4#3 integrate .. //depot/projects/dtrace/src/share/man/man4/pcn.4#3 integrate .. //depot/projects/dtrace/src/share/man/man4/random.4#3 integrate .. //depot/projects/dtrace/src/share/man/man4/snd_emu10kx.4#1 branch .. //depot/projects/dtrace/src/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/dtrace/src/share/man/man9/rwlock.9#4 integrate .. //depot/projects/dtrace/src/share/mk/bsd.cpu.mk#3 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/dtrace/src/sys/arm/arm/in_cksum.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/arm/pmap.c#9 integrate .. //depot/projects/dtrace/src/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_pio.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_piovar.h#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_rtc.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_rtcreg.h#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_spiio.h#3 delete .. //depot/projects/dtrace/src/sys/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_st.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/files.at91#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/arm/at91/std.at91#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/dtrace/src/sys/arm/at91/uart_dev_at91usart.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/conf/KB920X#5 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321_timer.c#3 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_cd.c#4 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_socket.c#5 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_proto.h#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_socket.c#3 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_socket.h#3 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_stream.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_syscall.h#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_syscallnames.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_sysvec.c#3 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/syscalls.master#4 integrate .. //depot/projects/dtrace/src/sys/conf/Makefile.arm#4 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#12 integrate .. //depot/projects/dtrace/src/sys/conf/files#22 integrate .. //depot/projects/dtrace/src/sys/conf/files.ia64#4 integrate .. //depot/projects/dtrace/src/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/dtrace/src/sys/conf/options#13 integrate .. //depot/projects/dtrace/src/sys/conf/options.arm#4 integrate .. //depot/projects/dtrace/src/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/dtrace/src/sys/ddb/db_command.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_cam.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_perf.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-queue.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iic.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iic.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iicbus.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iicbus.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iicbus_if.m#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iiconf.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iiconf.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_pci.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/lmc/if_lmc.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/lmc/if_lmc.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.h#12 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ncv/ncr53c500_pccard.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/pccard/pccarddevs#4 integrate .. //depot/projects/dtrace/src/sys/dev/sio/sio.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/sk/if_sk.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/sk/if_skreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/sound/driver.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/dtrace/src/sys/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/dtrace/src/sys/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/dtrace/src/sys/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/dtrace/src/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pcm/buffer.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pcm/mixer.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pcm/sound.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/spibus/spi.h#1 branch .. //depot/projects/dtrace/src/sys/dev/spibus/spibus.c#1 branch .. //depot/projects/dtrace/src/sys/dev/spibus/spibus_if.m#1 branch .. //depot/projects/dtrace/src/sys/dev/spibus/spibusvar.h#1 branch .. //depot/projects/dtrace/src/sys/dev/stg/tmc18c30_subr.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/streams/streams.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_rule.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_vfsops.c#4 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/portalfs/portal_vnops.c#4 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_vfsops.c#3 integrate .. //depot/projects/dtrace/src/sys/gnu/dev/sound/pci/emu10k1-ac97.h#3 delete .. //depot/projects/dtrace/src/sys/gnu/dev/sound/pci/emu10k1-alsa.h#3 integrate .. //depot/projects/dtrace/src/sys/gnu/dev/sound/pci/emu10k1.h#3 delete .. //depot/projects/dtrace/src/sys/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/dtrace/src/sys/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_isc_syscall.h#3 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_proto.h#5 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_syscall.h#5 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_sysent.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/syscalls.isc#3 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/syscalls.master#5 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#4 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/kern_mac.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/link_elf.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/subr_autoconf.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#5 integrate .. //depot/projects/dtrace/src/sys/modules/sound/driver/Makefile#3 integrate .. //depot/projects/dtrace/src/sys/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/dtrace/src/sys/net/if_spppsubr.c#3 integrate .. //depot/projects/dtrace/src/sys/net/if_tap.c#4 integrate .. //depot/projects/dtrace/src/sys/net/raw_usrreq.c#4 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#4 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/dtrace/src/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/dtrace/src/sys/netatm/atm_aal5.c#3 integrate .. //depot/projects/dtrace/src/sys/netatm/atm_usrreq.c#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_socket.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_divert.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/dtrace/src/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet6/raw_ip6.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/dtrace/src/sys/netipsec/keysock.c#3 integrate .. //depot/projects/dtrace/src/sys/netipx/ipx_usrreq.c#4 integrate .. //depot/projects/dtrace/src/sys/netipx/spx_usrreq.c#3 integrate .. //depot/projects/dtrace/src/sys/netkey/keysock.c#3 integrate .. //depot/projects/dtrace/src/sys/netnatm/natm.c#5 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_conn.c#3 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/dtrace/src/sys/sys/libkern.h#3 integrate .. //depot/projects/dtrace/src/sys/sys/mbuf.h#3 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/protosw.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/sysctl.h#4 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_alloc.c#3 integrate .. //depot/projects/dtrace/src/sys/vm/pmap.h#4 integrate .. //depot/projects/dtrace/src/sys/vm/uma_core.c#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm.h#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm_fault.c#4 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.c#7 integrate .. //depot/projects/dtrace/src/sys/vm/vm_meter.c#6 integrate .. //depot/projects/dtrace/src/sys/vm/vm_object.c#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm_object.h#3 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#7 integrate .. //depot/projects/dtrace/src/tools/regression/ia64/emulated/brl.t#1 branch .. //depot/projects/dtrace/src/tools/regression/ia64/emulated/test.c#1 branch .. //depot/projects/dtrace/src/tools/regression/netinet6/ip6_sockets/Makefile#1 branch .. //depot/projects/dtrace/src/tools/regression/netinet6/ip6_sockets/ip6_sockets.c#1 branch .. //depot/projects/dtrace/src/tools/tools/nanobsd/nanobsd.sh#4 integrate .. //depot/projects/dtrace/src/usr.bin/calendar/day.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/col/col.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/ctags/ctags.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/find/find.1#3 integrate .. //depot/projects/dtrace/src/usr.bin/look/look.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/make/main.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/make/var.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/netstat/inet6.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_network_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_printer_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swinstalled_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/config/config.y#3 integrate .. //depot/projects/dtrace/src/usr.sbin/config/mkmakefile.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/cron.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/fdread/fdread.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/moused/moused.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/newsyslog/newsyslog.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/newsyslog/newsyslog.conf.5#3 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/config.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/debug.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/mkpeer.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/name.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/status.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/types.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/install.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/main.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/misc.c#3 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/sysinstall.h#4 integrate .. //depot/projects/dtrace/www/en/advocacy/myths.sgml#3 integrate .. //depot/projects/dtrace/www/en/commercial/consult.xml#7 integrate .. //depot/projects/dtrace/www/en/commercial/isp.xml#8 integrate .. //depot/projects/dtrace/www/en/commercial/misc.xml#3 integrate .. //depot/projects/dtrace/www/en/community/mailinglists.sgml#2 integrate .. //depot/projects/dtrace/www/en/donations/wantlist.sgml#8 integrate .. //depot/projects/dtrace/www/en/events/events.xml#6 integrate .. //depot/projects/dtrace/www/en/news/news.xml#15 integrate .. //depot/projects/dtrace/www/en/news/press.xml#8 integrate .. //depot/projects/dtrace/www/en/news/status/report-apr-2006-jun-2006.xml#2 integrate .. //depot/projects/dtrace/www/en/platforms/alpha.sgml#2 integrate .. //depot/projects/dtrace/www/en/platforms/xbox.sgml#2 integrate .. //depot/projects/dtrace/www/en/projects/ideas/index.sgml#10 integrate .. //depot/projects/dtrace/www/en/projects/projects.sgml#6 integrate .. //depot/projects/dtrace/www/en/releng/index.sgml#9 integrate .. //depot/projects/dtrace/www/en/snapshots/index.sgml#5 integrate .. //depot/projects/dtrace/www/es/ports/Makefile#2 integrate .. //depot/projects/dtrace/www/ja/ports/Makefile#2 integrate .. //depot/projects/dtrace/www/ru/docs/books.sgml#2 integrate .. //depot/projects/dtrace/www/ru/docs/man.sgml#2 integrate .. //depot/projects/dtrace/www/ru/docs/webresources.sgml#2 integrate .. //depot/projects/dtrace/www/ru/includes.sgml#3 integrate .. //depot/projects/dtrace/www/ru/includes.xsl#2 integrate .. //depot/projects/dtrace/www/ru/internal/developer.sgml#2 integrate .. //depot/projects/dtrace/www/ru/internal/internal.sgml#2 integrate .. //depot/projects/dtrace/www/ru/internal/policies.sgml#2 integrate .. //depot/projects/dtrace/www/ru/internal/releng.sgml#2 integrate .. //depot/projects/dtrace/www/ru/navigation.xml#2 integrate .. //depot/projects/dtrace/www/ru/news/2002/news.xml#2 integrate .. //depot/projects/dtrace/www/ru/platforms/amd64.sgml#3 integrate .. //depot/projects/dtrace/www/ru/ports/Makefile#2 integrate .. //depot/projects/dtrace/www/ru/projects/newbies.sgml#2 integrate .. //depot/projects/dtrace/www/ru/releases/Makefile#2 integrate .. //depot/projects/dtrace/www/ru/releases/index.sgml#2 integrate .. //depot/projects/dtrace/www/ru/releases/snapshots.sgml#2 delete .. //depot/projects/dtrace/www/ru/support.sgml#3 integrate .. //depot/projects/dtrace/www/ru/where.sgml#2 integrate .. //depot/projects/dtrace/www/share/sgml/usergroups.xml#5 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/articles/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/Makefile,v 1.9 2004/07/24 22:12:30 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/Makefile,v 1.10 2006/07/14 21:28:45 keramida Exp $ # Original version: 1.39 SUBDIR = @@ -7,7 +7,6 @@ SUBDIR+= explaining-bsd SUBDIR+= formatting-media SUBDIR+= freebsd-questions -SUBDIR+= java-tomcat SUBDIR+= laptop SUBDIR+= multi-os SUBDIR+= new-users ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#6 (text+ko) ==== @@ -13,7 +13,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.242 2006/06/09 20:44:21 pav Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.244 2006/07/22 00:31:01 obrien Exp $ 1999 @@ -1502,18 +1502,6 @@ - &a.gallatin; - &a.mjacob; - &a.dfr; - &a.obrien; - - - These are the primary developers and overseers of the - DEC Alpha AXP platform. - - - - &a.dg; @@ -2326,7 +2314,7 @@ 2 status as the availability of resources to continue to maintain the system in a Production Quality state diminishes. - Current Tier 2 platforms are Alpha, PowerPC and ia64. + Current Tier 2 platforms are PowerPC and ia64. @@ -2599,7 +2587,8 @@ - Add the new module entry. + Add the new module entry to + CVSROOT/modules. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#16 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + + BSD projects have a better reputation for the quality and + completeness of their documentation. The various documentation + projects aim to provide actively updated documentation, in many + languages, and covering all aspects of the system. + + + The BSD license may be more attractive than the GPL. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -495,10 +495,10 @@ and only has access to the global and static symbols, not to the full debug information like gdb does. - To configure your kernel to include DDB, add the option line + To configure your kernel to include DDB, add the options + options KDB options DDB - options KDB to your config file, and rebuild. (See The FreeBSD Handbook for details on @@ -560,17 +560,11 @@ (this is optional for other numbers). Simple expressions are allowed, for example: function-name + 0x103. - To continue the dump of an interrupted kernel into memory, + To exit the debugger and continue execution, type: continue - - This will cause the machine to dump core and reboot without - syncing data to the disk. Upon re-initialization of the system, - a &man.fsck.8; will be required. - - To get a stack trace, use: trace ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#7 (text+ko) ==== @@ -10,7 +10,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.784 2006/07/06 06:50:52 vanilla Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.785 2006/07/15 12:12:47 joel Exp $ 1995 @@ -7412,7 +7412,7 @@ essentially the graphical counterpart of &man.getty.8; and &man.login.1;. For more information on xdm see - the &xfree86; + the &xfree86; documentation, and the the FAQ entry on it. @@ -9618,10 +9618,6 @@ nat port udp internal:6112 6112 - - Alternatively, you may want to take a look at - www.battle.net for Quake proxy support. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/fdp-primer/translations/chapter.sgml#2 (text+ko) ==== @@ -27,7 +27,7 @@ ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - $FreeBSD: doc/en_US.ISO8859-1/books/fdp-primer/translations/chapter.sgml,v 1.30 2006/02/07 21:46:33 ceri Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/fdp-primer/translations/chapter.sgml,v 1.31 2006/07/16 09:01:43 remko Exp $ --> @@ -263,7 +263,7 @@ documentation, and send it to the project. &prompt.user; cd doc -&prompt.user; tar cf swedish-docs.tar sv +&prompt.user; tar cf swedish-docs.tar sv_SE.ISO8859-1 &prompt.user; gzip -9 swedish-docs.tar Put swedish-docs.tar.gz somewhere. If you ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1085,123 +1085,14 @@ 802.11a & 802.11g Clients - The &man.ath.4; device driver supports 802.11a and 802.11g. - If your card is based on an Atheros chipset, you may - be able to use this driver. - - Unfortunately, there are still many vendors that do not - provide schematics for their drivers to the open source - community because they regard such information as trade - secrets. Consequently, the developers of FreeBSD and other - operating systems are left two choices: develop the drivers by - a long and pain-staking process of reverse engineering or using - the existing driver binaries available for the - µsoft.windows; platforms. Most developers, including those - involved with FreeBSD, have taken the latter approach. - - Thanks to the contributions of Bill Paul (wpaul), as of - FreeBSD 5.3-RELEASE there is native - support for the Network Driver Interface Specification - (NDIS). The FreeBSD NDISulator (otherwise known as Project Evil) - takes a &windows; driver binary and basically tricks it into - thinking it is running on &windows;. This feature is still - relatively new, but most test cases seem to work - adequately. - - NDIS - NDISulator - &windows; drivers - Microsoft Windows - Microsoft Windows - device drivers - KLD (kernel loadable object) - - - In order to use the NDISulator, you need three things: - - - - Kernel sources - - - &windowsxp; driver binary - (.SYS extension) - - - &windowsxp; driver configuration file - (.INF extension) - - - - You may need to compile the &man.ndis.4; mini port driver - wrapper module. As root: - - &prompt.root; cd /usr/src/sys/modules/ndis -&prompt.root; make && make install - - Locate the files for your specific card. Generally, they can - be found on the included CDs or at the vendors' websites. In the - following examples, we will use - W32DRIVER.SYS and - W32DRIVER.INF. - - The next step is to compile the driver binary into a - loadable kernel module. To accomplish this, as - root, go into the - if_ndis module directory and copy the - &windows; driver files into it: - - &prompt.root; cd /usr/src/sys/modules/if_ndis -&prompt.root; cp /path/to/driver/W32DRIVER.SYS ./ -&prompt.root; cp /path/to/driver/W32DRIVER.INF ./ - - We will now use the ndiscvt utility to - create the driver definition header - ndis_driver_data.h to build the - module: - - &prompt.root; ndiscvt -i W32DRIVER.INF -s W32DRIVER.SYS -o ndis_driver_data.h - - The and options specify - the configuration and binary files, respectively. We use the - option because the - Makefile will be looking for this file when it - comes time to build the module. - - - Some &windows; drivers require additional files to operate. You - may include them with ndiscvt by using the - option. Consult the &man.ndiscvt.8; manual page - for more information. - - - Finally, we can build and install the driver module: - - &prompt.root; make && make install - - To use the driver, you must load the appropriate modules: - - &prompt.root; kldload ndis -&prompt.root; kldload if_ndis - - The first command loads the NDIS miniport driver wrapper, - the second loads the actual network interface. Check - &man.dmesg.8; to see if there were any errors loading. If all - went well, you should get output resembling the - following: - - ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 -ndis0: NDIS API version: 5.0 -ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 -ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps -ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps - - From here you can treat the ndis0 device - like any other wireless device (e.g. wi0) and - consult the earlier sections of this chapter. - + The &man.ath.4; device driver supports 802.11a and 802.11g. + If your card is based on an Atheros chipset, you may be able to + use this driver. Many other drivers are available: &man.an.4;, + &man.awi.4;, &man.iwi.4;, &man.ipw.4;, &man.ral.4; and + &man.ural.4;. Some chipsets may not have a native &os; driver + available, in this case you should check if you cannot directly + use the &windows; driver with the NDIS driver wrapper. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -690,7 +690,7 @@ - Using rc under &os; + Using rc under &os; In 2002 &os; integrated the NetBSD rc.d system for system initialization. @@ -894,7 +894,7 @@ The easiest way is to simply load a kernel module for - your network card with &man.kldload.8;. Not all NIC + your network card with &man.kldload.8;, or automatically at boot time by adding the appropriate line to the file /boot/loader.conf. Not all NIC drivers are available as modules; notable examples of devices for which modules do not exist are ISA cards. @@ -912,6 +912,128 @@ not have to build a new kernel. + + + Using &windows; NDIS Drivers + + NDIS + NDISulator + &windows; drivers + Microsoft Windows + Microsoft Windows + device drivers + KLD (kernel loadable + object) + + + Unfortunately, there are still many vendors that do not + provide schematics for their drivers to the open source + community because they regard such information as trade + secrets. Consequently, the developers of &os; and other + operating systems are left two choices: develop the drivers + by a long and pain-staking process of reverse engineering or + using the existing driver binaries available for the + µsoft.windows; platforms. Most developers, including + those involved with &os;, have taken the latter + approach. + + Thanks to the contributions of Bill Paul (wpaul), as of + &os; 5.3-RELEASE there is native support + for the Network Driver Interface Specification (NDIS). The + &os; NDISulator (otherwise known as Project Evil) takes a + &windows; driver binary and basically tricks it into + thinking it is running on &windows;. Because the + &man.ndis.4; driver is using a &windows; binary, it is only + usable on &i386; and amd64 systems. + + + The &man.ndis.4; driver is designed to support mainly + PCI, CardBus and PCMCIA devices, USB devices are not yet + supported. + + + In order to use the NDISulator, you need three + things: + + + + Kernel sources + + + &windowsxp; driver binary + (.SYS extension) + + + &windowsxp; driver configuration file + (.INF extension) + + + + Locate the files for your specific card. Generally, + they can be found on the included CDs or at the vendors' + websites. In the following examples, we will use + W32DRIVER.SYS and + W32DRIVER.INF. + + + You can not use a &windows;/i386 driver with + &os;/amd64, you must get a &windows;/amd64 driver to make it + work properly. + + + The next step is to compile the driver binary into a + loadable kernel module. To accomplish this, as + root, use &man.ndisgen.8;: + + &prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS + + The &man.ndisgen.8; utility is interactive and will + prompt for any extra information it requires; it will + produce a kernel module in the current directory which can + be loaded as follows: + + &prompt.root; kldload ./W32DRIVER.ko + + In addition to the generated kernel module, you must + load the ndis.ko and + if_ndis.ko modules. This should be + automatically done when you load any module that depends on + &man.ndis.4;. If you want to load them manually, use the + following commands: + + &prompt.root; kldload ndis +&prompt.root; kldload if_ndis + + The first command loads the NDIS miniport driver + wrapper, the second loads the actual network + interface. + + Now, check &man.dmesg.8; to see if there were any errors + loading. If all went well, you should get output resembling + the following: + + ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 +ndis0: NDIS API version: 5.0 +ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 +ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps +ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps + + From here you can treat the + ndis0 device like any other network + interface (e.g., dc0). + + You can configure the system to load the NDIS modules at + boot time in the same way as with any other module. First, + copy the generated module, + W32DRIVER.ko, to the /boot/modules directory. Then, + add the following line to + /boot/loader.conf: + + W32DRIVER_load="YES" + ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#3 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -412,7 +412,7 @@ GEOM supports the remote use of devices, such as disks, CD-ROMs, files, etc. through the use of the gate utilities. - This is similar to NFS. + This is similar to NFS. To begin, an exports file must be created. This file specifies who is permitted to access the exported resources and ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#14 (text+ko) ==== @@ -1,7 +1,7 @@ 601102 + 6.1-STABLE after the resolver update to + BIND9, and exposure of reentrant version of + netdb functions. + 601103 + + 7.0-CURRENT. 700000 @@ -9258,6 +9264,10 @@ 7.0-CURRENT after removal of ip6fw. 700017 + + 7.0-CURRENT after import of snd_emu10kx. + 700018 + @@ -10037,6 +10047,17 @@ NOT_FOR_ARCHS_REASON_ARCH. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 22 03:28:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E268916A4E5; Sat, 22 Jul 2006 03:28:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC8A916A4DA for ; Sat, 22 Jul 2006 03:28:31 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2882C43D45 for ; Sat, 22 Jul 2006 03:28:31 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M3SVX8074776 for ; Sat, 22 Jul 2006 03:28:31 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M3SPPe074773 for perforce@freebsd.org; Sat, 22 Jul 2006 03:28:25 GMT (envelope-from gnn@neville-neil.com) Date: Sat, 22 Jul 2006 03:28:25 GMT Message-Id: <200607220328.k6M3SPPe074773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 102102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 03:28:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=102102 Change 102102 by gnn@fast_ipsec_integ on 2006/07/22 03:27:42 Integrate latest socket changes from HEAD Affected files ... .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#13 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/in_cksum.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/uart_dev_at91usart.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/KB920X#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_socket.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_misc.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_proto.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_socket.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_stream.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_syscall.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_syscallnames.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_sysent.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/syscalls.master#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.arm#10 integrate .. //depot/projects/fast_ipsec/src/sys/conf/NOTES#11 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files#16 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.ia64#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options#14 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/ddb/db_command.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_perf.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/amr/amr.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-queue.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/em/if_em.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_freebsd.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_pci.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_sbus.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/isp/isp_target.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/lmc/if_lmc.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt.c#12 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt.h#13 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_cam.c#13 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_raid.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sio/sio.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sk/if_sk.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sk/if_skreg.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/driver.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/cmi.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10k1.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/fast_ipsec/src/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pcm/sound.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/sound/pcm/sound.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/spibus/spi.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/spibus/spibusvar.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/streams/streams.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/fs/devfs/devfs_rule.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/fs/devfs/devfs_vfsops.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/fs/devfs/devfs_vnops.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/fs/smbfs/smbfs_vfsops.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1-ac97.h#2 delete .. //depot/projects/fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1-alsa.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1.h#2 delete .. //depot/projects/fast_ipsec/src/sys/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/fast_ipsec/src/sys/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/fast_ipsec/src/sys/i386/i386/pmap.c#13 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/fast_ipsec/src/sys/ia64/conf/DEFAULTS#4 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_descrip.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_mac.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_socket.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_syscalls.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/uipc_usrreq.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_bio.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_subr.c#14 integrate .. //depot/projects/fast_ipsec/src/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/modules/sound/driver/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/net/raw_usrreq.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/net/rtsock.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netatm/atm_aal5.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netatm/atm_usrreq.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netgraph/ng_socket.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/in_pcb.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/in_pcb.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/ip_divert.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/raw_ip.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/tcp_usrreq.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/netinet/udp_usrreq.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/README#3 delete .. //depot/projects/fast_ipsec/src/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/raw_ip6.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/netipsec/keysock.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/netipx/ipx_usrreq.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/netipx/spx_usrreq.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netkey/keysock.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netnatm/natm.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/netsmb/smb_conn.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/sparc64/include/pmap.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/sys/libkern.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/sys/mbuf.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/sys/param.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/sys/sysctl.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/ufs/ffs/ffs_alloc.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/pmap.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/vm/uma_core.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_fault.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_map.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_meter.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_object.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_object.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/vm/vm_page.c#10 integrate Differences ... ==== //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#13 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.565 2006/07/06 06:17:08 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); /* * Manages physical address maps. @@ -207,7 +207,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -1627,6 +1626,7 @@ int idx, field, bit; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -2015,8 +2015,8 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pmap, pv->pv_va, ptepde); + free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); - free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); } @@ -2971,7 +2971,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -static __inline void +void pmap_clear_write(vm_page_t m) { pv_entry_t pv; ==== //depot/projects/fast_ipsec/src/sys/arm/arm/in_cksum.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.6 2006/03/09 23:33:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.7 2006/07/18 00:07:05 cognet Exp $"); #include #include @@ -89,6 +89,17 @@ return (sum); } +static +uint64_t _do_cksum(void *addr, int len) +{ + uint64_t sum; + union q_util q_util; + + sum = do_cksum(addr, len); + REDUCE32; + return (sum); +} + u_short in_cksum_skip(struct mbuf *m, int len, int skip) { @@ -120,9 +131,9 @@ mlen = len; if ((clen ^ (int) addr) & 1) - sum += do_cksum(addr, mlen) << 8; + sum += _do_cksum(addr, mlen) << 8; else - sum += do_cksum(addr, mlen); + sum += _do_cksum(addr, mlen); clen += mlen; len -= mlen; ==== //depot/projects/fast_ipsec/src/sys/arm/arm/pmap.c#10 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.65 2006/07/11 11:22:06 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.66 2006/07/20 23:26:22 alc Exp $"); #include #include #include @@ -4461,6 +4461,21 @@ /* + * Clear the write and modified bits in each of the given page's mappings. + */ +void +pmap_clear_write(vm_page_t m) +{ + + if (m->md.pvh_attrs & PVF_WRITE) + pmap_clearbit(m, PVF_WRITE); + else + KASSERT((m->flags & PG_WRITEABLE) == 0, + ("pmap_clear_write: page %p has PG_WRITEABLE set", m)); +} + + +/* * perform the pmap work for mincore */ int ==== //depot/projects/fast_ipsec/src/sys/arm/arm/vm_machdep.c#7 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.26 2006/07/15 23:15:31 cognet Exp $"); #include #include @@ -512,7 +512,7 @@ void *ret; struct arm_small_page *sp, *tmp; TAILQ_HEAD(,arm_small_page) *head; - static int in_alloc; + static struct thread *in_alloc; static int in_sleep; int should_wakeup = 0; @@ -532,12 +532,13 @@ if (!sp) { /* No more free pages, need to alloc more. */ - if (!(wait & M_WAITOK)) { + if (!(wait & M_WAITOK) || + in_alloc == curthread) { mtx_unlock(&smallalloc_mtx); *flags = UMA_SLAB_KMEM; return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT)); } - if (in_alloc) { + if (in_alloc != NULL) { /* Somebody else is already doing the allocation. */ in_sleep++; msleep(&in_alloc, &smallalloc_mtx, PWAIT, @@ -545,14 +546,14 @@ in_sleep--; goto retry; } - in_alloc = 1; + in_alloc = curthread; mtx_unlock(&smallalloc_mtx); /* Try to alloc 1MB of contiguous memory. */ ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ? SECTION_PT : SECTION_CACHE); mtx_lock(&smallalloc_mtx); - in_alloc = 0; - if (in_sleep) + in_alloc = NULL; + if (in_sleep > 0) should_wakeup = 1; if (sp) { for (int i = 0; i < (0x100000 / PAGE_SIZE) - 1; ==== //depot/projects/fast_ipsec/src/sys/arm/at91/if_ate.c#6 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.8 2006/06/17 23:24:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.9 2006/07/17 21:36:08 cognet Exp $"); #include #include @@ -764,7 +764,7 @@ } mdefrag = m_defrag(m, M_DONTWAIT); if (mdefrag == NULL) { - m_freem(m); + IFQ_DRV_PREPEND(&ifp->if_snd, m); return; } m = mdefrag; ==== //depot/projects/fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#5 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.11 2006/07/15 00:09:53 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.12 2006/07/17 21:20:00 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -234,7 +234,7 @@ /* PIOA's B periph: Turn USART 3's TX/RX pins */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); -#if AT91_TSC +#ifdef AT91_TSC /* We're using TC0's A1 and A2 input */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); @@ -244,7 +244,7 @@ at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); /* Pin assignment */ -#if AT91_TSC +#ifdef AT91_TSC /* Assert PA24 low -- talk to rubidium */ at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); ==== //depot/projects/fast_ipsec/src/sys/arm/at91/uart_dev_at91usart.c#6 (text) ==== @@ -26,7 +26,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.8 2006/07/14 21:33:04 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.9 2006/07/20 21:03:43 cognet Exp $"); + +#include "opt_comconsole.h" #include #include @@ -492,6 +494,19 @@ return (at91_usart_param(&sc->sc_bas, baudrate, databits, stopbits, parity)); } + +static __inline void +at91_rx_put(struct uart_softc *sc, int key) +{ +#if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER) + if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { + if (kdb_alt_break(key, &sc->sc_altbrk)) + kdb_enter("Break sequence to console"); + } +#endif + uart_rx_put(sc, key); +} + static int at91_usart_bus_ipend(struct uart_softc *sc) { @@ -534,9 +549,9 @@ bus_dmamap_sync(atsc->dmatag, atsc->pong->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->pong->buffer[i]); + at91_rx_put(sc, atsc->pong->buffer[i]); uart_rx_put(sc, UART_STAT_OVERRUN); csr &= ~(USART_CSR_ENDRX | USART_CSR_TIMEOUT); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); @@ -554,7 +569,7 @@ bus_dmamap_sync(atsc->dmatag, atsc->ping->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); p = atsc->ping; atsc->ping = atsc->pong; atsc->pong = p; @@ -574,7 +589,7 @@ BUS_DMASYNC_POSTREAD); len = sc->sc_rxfifosz - RD4(&sc->sc_bas, PDC_RCR); for (i = 0; i < len; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); WR4(&sc->sc_bas, PDC_RCR, sc->sc_rxfifosz); WR4(&sc->sc_bas, USART_CR, USART_CR_STTTO); @@ -584,7 +599,7 @@ if (!(atsc->flags & HAS_TIMEOUT) && (csr & USART_CSR_RXRDY)) { // We have another charater in a device that doesn't support // timeouts, so we do it one character at a time. - uart_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); + at91_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); ipend |= SER_INT_RXREADY; } ==== //depot/projects/fast_ipsec/src/sys/arm/conf/KB920X#4 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.8 2006/07/14 15:20:31 imp Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ machine arm ident KB920X @@ -81,3 +81,4 @@ device md # device at91_twi # TWI: Two Wire Interface device at91_spi # SPI: +device spibus ==== //depot/projects/fast_ipsec/src/sys/compat/linux/linux_misc.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.179 2006/06/23 18:49:38 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.180 2006/07/21 20:22:13 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -229,7 +229,7 @@ unsigned long bss_size; char *library; int error; - int locked; + int locked, vfslocked; LCONVPATHEXIST(td, args->library, &library); @@ -239,34 +239,26 @@ #endif a_out = NULL; + vfslocked = 0; locked = 0; vp = NULL; - /* - * XXX: This code should make use of vn_open(), rather than doing - * all this stuff itself. - */ - NDINIT(&ni, LOOKUP, ISOPEN|FOLLOW|LOCKLEAF, UIO_SYSSPACE, library, td); + NDINIT(&ni, LOOKUP, ISOPEN | FOLLOW | LOCKLEAF | MPSAFE | AUDITVNODE1, + UIO_SYSSPACE, library, td); error = namei(&ni); LFREEPATH(library); if (error) goto cleanup; vp = ni.ni_vp; - /* - * XXX - This looks like a bogus check. A LOCKLEAF namei should not - * succeed without returning a vnode. - */ - if (vp == NULL) { - error = ENOEXEC; /* ?? */ - goto cleanup; - } + vfslocked = NDHASGIANT(&ni); NDFREE(&ni, NDF_ONLY_PNBUF); /* * From here on down, we have a locked vnode that must be unlocked. + * XXX: The code below largely duplicates exec_check_permissions(). */ - locked++; + locked = 1; /* Writable? */ if (vp->v_writecount) { @@ -281,6 +273,7 @@ if ((vp->v_mount->mnt_flag & MNT_NOEXEC) || ((attr.va_mode & 0111) == 0) || (attr.va_type != VREG)) { + /* EACCESS is what exec(2) returns. */ error = ENOEXEC; goto cleanup; } @@ -299,6 +292,8 @@ /* * XXX: This should use vn_open() so that it is properly authorized, * and to reduce code redundancy all over the place here. + * XXX: Not really, it duplicates far more of exec_check_permissions() + * than vn_open(). */ #ifdef MAC error = mac_check_vnode_open(td->td_ucred, vp, FREAD); @@ -312,12 +307,6 @@ /* Pull in executable header into kernel_map */ error = vm_mmap(kernel_map, (vm_offset_t *)&a_out, PAGE_SIZE, VM_PROT_READ, VM_PROT_READ, 0, OBJT_VNODE, vp, 0); - /* - * Lock no longer needed - */ - locked = 0; - VOP_UNLOCK(vp, 0, td); - if (error) goto cleanup; @@ -372,11 +361,21 @@ } PROC_UNLOCK(td->td_proc); - mp_fixme("Unlocked vflags access."); - /* prevent more writers */ + /* + * Prevent more writers. + * XXX: Note that if any of the VM operations fail below we don't + * clear this flag. + */ vp->v_vflag |= VV_TEXT; /* + * Lock no longer needed + */ + locked = 0; + VOP_UNLOCK(vp, 0, td); + VFS_UNLOCK_GIANT(vfslocked); + + /* * Check if file_offset page aligned. Currently we cannot handle * misalinged file offsets, and so we read in the entire image * (what a waste). @@ -453,8 +452,10 @@ cleanup: /* Unlock vnode if needed */ - if (locked) + if (locked) { VOP_UNLOCK(vp, 0, td); + VFS_UNLOCK_GIANT(vfslocked); + } /* Release the kernel mapping. */ if (a_out) ==== //depot/projects/fast_ipsec/src/sys/compat/linux/linux_socket.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.69 2006/07/08 20:03:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.70 2006/07/19 18:28:52 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -609,7 +609,9 @@ if (error) return (error); - return (kern_bind(td, linux_args.s, sa)); + error = kern_bind(td, linux_args.s, sa); + free(sa, M_SONAME); + return (error); } struct linux_connect_args { @@ -638,6 +640,7 @@ return (error); error = kern_connect(td, linux_args.s, sa); + free(sa, M_SONAME); if (error != EISCONN) return (error); ==== //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_misc.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.86 2006/07/11 20:52:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.89 2006/07/21 20:28:56 jhb Exp $"); #include "opt_mac.h" @@ -104,7 +104,7 @@ svr4_mode_t, svr4_dev_t); static __inline clock_t timeval_to_clock_t(struct timeval *); -static int svr4_setinfo (struct proc *, int, svr4_siginfo_t *); +static int svr4_setinfo (pid_t , struct rusage *, int, svr4_siginfo_t *); struct svr4_hrtcntl_args; static int svr4_hrtcntl (struct thread *, struct svr4_hrtcntl_args *, @@ -606,34 +606,36 @@ struct svr4_sys_fchroot_args *uap; { struct filedesc *fdp = td->td_proc->p_fd; - struct vnode *vp, *vpold; + struct vnode *vp; struct file *fp; - int error; + int error, vfslocked; if ((error = suser(td)) != 0) return error; if ((error = getvnode(fdp, uap->fd, &fp)) != 0) return error; vp = fp->f_vnode; + VREF(vp); + fdrop(fp, td); + vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - if (vp->v_type != VDIR) - error = ENOTDIR; - else - error = VOP_ACCESS(vp, VEXEC, td->td_ucred, td); + error = change_dir(vp, td); + if (error) + goto fail; +#ifdef MAC + error = mac_check_vnode_chroot(td->td_ucred, vp); + if (error) + goto fail; +#endif VOP_UNLOCK(vp, 0, td); - if (error) { - fdrop(fp, td); - return error; - } - VREF(vp); - FILEDESC_LOCK_FAST(fdp); - vpold = fdp->fd_rdir; - fdp->fd_rdir = vp; - FILEDESC_UNLOCK_FAST(fdp); - if (vpold != NULL) - vrele(vpold); - fdrop(fp, td); - return 0; + error = change_root(vp, td); + vrele(vp); + VFS_UNLOCK_GIANT(vfslocked); + return (error); +fail: + vput(vp); + VFS_UNLOCK_GIANT(vfslocked); + return (error); } @@ -1083,12 +1085,12 @@ static int -svr4_setinfo(p, st, s) - struct proc *p; +svr4_setinfo(pid, ru, st, s) + pid_t pid; + struct rusage *ru; int st; svr4_siginfo_t *s; { - struct timeval utime, stime; svr4_siginfo_t i; int sig; @@ -1097,13 +1099,10 @@ i.svr4_si_signo = SVR4_SIGCHLD; i.svr4_si_errno = 0; /* XXX? */ - if (p) { - i.svr4_si_pid = p->p_pid; - PROC_LOCK(p); - calcru(p, &utime, &stime); - PROC_UNLOCK(p); - i.svr4_si_stime = stime.tv_sec; - i.svr4_si_utime = utime.tv_sec; + i.svr4_si_pid = pid; + if (ru) { + i.svr4_si_stime = ru->ru_stime.tv_sec; + i.svr4_si_utime = ru->ru_utime.tv_sec; } if (WIFEXITED(st)) { @@ -1142,188 +1141,185 @@ struct thread *td; struct svr4_sys_waitsys_args *uap; { - int nfound; + struct rusage ru; + pid_t pid; + int nfound, status; int error, *retval = td->td_retval; - struct proc *p, *q, *t; + struct proc *p, *q; + + DPRINTF(("waitsys(%d, %d, %p, %x)\n", + uap->grp, uap->id, + uap->info, uap->options)); - p = td->td_proc; + q = td->td_proc; switch (uap->grp) { - case SVR4_P_PID: + case SVR4_P_PID: + pid = uap->id; break; case SVR4_P_PGID: - PROC_LOCK(p); - uap->id = -p->p_pgid; - PROC_UNLOCK(p); + PROC_LOCK(q); + pid = -q->p_pgid; + PROC_UNLOCK(q); break; case SVR4_P_ALL: - uap->id = WAIT_ANY; + pid = WAIT_ANY; break; default: return EINVAL; } - DPRINTF(("waitsys(%d, %d, %p, %x)\n", - uap->grp, uap->id, - uap->info, uap->options)); + /* Hand off the easy cases to kern_wait(). */ + if (!(uap->options & (SVR4_WNOWAIT)) && + (uap->options & (SVR4_WEXITED | SVR4_WTRAPPED))) { + int options; + + options = 0; + if (uap->options & SVR4_WSTOPPED) + options |= WUNTRACED; + if (uap->options & SVR4_WCONTINUED) + options |= WCONTINUED; + if (uap->options & SVR4_WNOHANG) + options |= WNOHANG; + + error = kern_wait(td, pid, &status, options, &ru); + if (error) + return (error); + if (uap->options & SVR4_WNOHANG && *retval == 0) + error = svr4_setinfo(*retval, NULL, 0, uap->info); + else + error = svr4_setinfo(*retval, &ru, status, uap->info); + *retval = 0; + return (error); + } + /* + * Ok, handle the weird cases. Either WNOWAIT is set (meaning we + * just want to see if there is a process to harvest, we dont' + * want to actually harvest it), or WEXIT and WTRAPPED are clear + * meaning we want to ignore zombies. Either way, we don't have + * to handle harvesting zombies here. We do have to duplicate the + * other portions of kern_wait() though, especially for the + * WCONTINUED and WSTOPPED. + */ loop: nfound = 0; sx_slock(&proctree_lock); - LIST_FOREACH(q, &p->p_children, p_sibling) { - PROC_LOCK(q); - if (uap->id != WAIT_ANY && - q->p_pid != uap->id && - q->p_pgid != -uap->id) { - PROC_UNLOCK(q); - DPRINTF(("pid %d pgid %d != %d\n", q->p_pid, - q->p_pgid, uap->id)); + LIST_FOREACH(p, &q->p_children, p_sibling) { + PROC_LOCK(p); + if (pid != WAIT_ANY && + p->p_pid != pid && p->p_pgid != -pid) { + PROC_UNLOCK(p); + DPRINTF(("pid %d pgid %d != %d\n", p->p_pid, + p->p_pgid, pid)); + continue; + } + if (p_canwait(td, p)) { + PROC_UNLOCK(p); continue; } + nfound++; - if ((q->p_state == PRS_ZOMBIE) && + + /* + * See if we have a zombie. If so, WNOWAIT should be set, + * as otherwise we should have called kern_wait() up above. + */ + if ((p->p_state == PRS_ZOMBIE) && ((uap->options & (SVR4_WEXITED|SVR4_WTRAPPED)))) { - PROC_UNLOCK(q); + KASSERT(uap->options & SVR4_WNOWAIT, + ("WNOWAIT is clear")); + + /* Found a zombie, so cache info in local variables. */ + pid = p->p_pid; + status = p->p_xstat; + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); sx_sunlock(&proctree_lock); + + /* Copy the info out to userland. */ *retval = 0; - DPRINTF(("found %d\n", q->p_pid)); - error = svr4_setinfo(q, q->p_xstat, uap->info); - if (error != 0) - return error; + DPRINTF(("found %d\n", pid)); + return (svr4_setinfo(pid, &ru, status, uap->info)); + } + /* + * See if we have a stopped or continued process. + * XXX: This duplicates the same code in kern_wait(). + */ + mtx_lock_spin(&sched_lock); + if ((p->p_flag & P_STOPPED_SIG) && + (p->p_suspcount == p->p_numthreads) && + (p->p_flag & P_WAITED) == 0 && + (p->p_flag & P_TRACED || uap->options & SVR4_WSTOPPED)) { + mtx_unlock_spin(&sched_lock); + if (((uap->options & SVR4_WNOWAIT)) == 0) + p->p_flag |= P_WAITED; + sx_sunlock(&proctree_lock); + pid = p->p_pid; + status = W_STOPCODE(p->p_xstat); + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); - if ((uap->options & SVR4_WNOWAIT)) { - DPRINTF(("Don't wait\n")); - return 0; + if (((uap->options & SVR4_WNOWAIT)) == 0) { + PROC_LOCK(q); + sigqueue_take(p->p_ksi); + PROC_UNLOCK(q); } - /* - * If we got the child via ptrace(2) or procfs, and - * the parent is different (meaning the process was - * attached, rather than run as a child), then we need - * to give it back to the old parent, and send the - * parent a SIGCHLD. The rest of the cleanup will be - * done when the old parent waits on the child. - */ - sx_xlock(&proctree_lock); - PROC_LOCK(q); - if (q->p_flag & P_TRACED) { - if (q->p_oppid != q->p_pptr->p_pid) { - PROC_UNLOCK(q); - t = pfind(q->p_oppid); - if (t == NULL) { - t = initproc; - PROC_LOCK(initproc); - } - PROC_LOCK(q); - proc_reparent(q, t); - q->p_oppid = 0; - q->p_flag &= ~(P_TRACED | P_WAITED); - PROC_UNLOCK(q); - psignal(t, SIGCHLD); - wakeup(t); - PROC_UNLOCK(t); - sx_xunlock(&proctree_lock); - return 0; - } + *retval = 0; + DPRINTF(("jobcontrol %d\n", pid)); + return (svr4_setinfo(pid, &ru, status, uap->info)); + } + mtx_unlock_spin(&sched_lock); + if (uap->options & SVR4_WCONTINUED && + (p->p_flag & P_CONTINUED)) { + sx_sunlock(&proctree_lock); + if (((uap->options & SVR4_WNOWAIT)) == 0) + p->p_flag &= ~P_CONTINUED; + pid = p->p_pid; + ru = *p->p_ru; + status = SIGCONT; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); + + if (((uap->options & SVR4_WNOWAIT)) == 0) { + PROC_LOCK(q); + sigqueue_take(p->p_ksi); + PROC_UNLOCK(q); } - PROC_UNLOCK(q); - sx_xunlock(&proctree_lock); - q->p_xstat = 0; - ruadd(&p->p_stats->p_cru, &p->p_crux, q->p_ru, - &q->p_rux); - FREE(q->p_ru, M_ZOMBIE); - q->p_ru = NULL; - - /* - * Decrement the count of procs running with this uid. - */ - (void)chgproccnt(q->p_ucred->cr_ruidinfo, -1, 0); - /* - * Release reference to text vnode. - */ - if (q->p_textvp) - vrele(q->p_textvp); - - /* - * Free up credentials. - */ - crfree(q->p_ucred); - q->p_ucred = NULL; - - /* - * Remove unused arguments - */ - pargs_drop(q->p_args); - PROC_UNLOCK(q); - - /* - * Finally finished with old proc entry. - * Unlink it from its process group and free it. - */ - sx_xlock(&proctree_lock); - leavepgrp(q); - - sx_xlock(&allproc_lock); - LIST_REMOVE(q, p_list); /* off zombproc */ - sx_xunlock(&allproc_lock); - - LIST_REMOVE(q, p_sibling); - sx_xunlock(&proctree_lock); - - PROC_LOCK(q); - sigacts_free(q->p_sigacts); - q->p_sigacts = NULL; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 22 03:56:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A6DB16A4E8; Sat, 22 Jul 2006 03:56:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9BEDF16A4DE for ; Sat, 22 Jul 2006 03:56:08 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0946343D49 for ; Sat, 22 Jul 2006 03:56:08 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M3u7RZ075989 for ; Sat, 22 Jul 2006 03:56:07 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M3u5sr075986 for perforce@freebsd.org; Sat, 22 Jul 2006 03:56:05 GMT (envelope-from gnn@neville-neil.com) Date: Sat, 22 Jul 2006 03:56:05 GMT Message-Id: <200607220356.k6M3u5sr075986@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 102105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 03:56:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=102105 Change 102105 by gnn@gnn_devbox_fast_ipsec on 2006/07/22 03:55:47 Integrate rwatson's socket changes Affected files ... .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/in_cksum.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/pmap.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/uart_dev_at91usart.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/conf/KB920X#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_socket.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_proto.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_socket.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_stream.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_syscall.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_syscallnames.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_sysent.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/syscalls.master#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/Makefile.arm#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/NOTES#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files.ia64#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options#11 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ddb/db_command.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_perf.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/amr/amr.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-queue.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_sbus.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/isp/isp_target.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/lmc/if_lmc.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt.h#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_cam.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_cam.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_debug.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_pci.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_raid.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_raid.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_reg.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sk/if_sk.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sk/if_skreg.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/driver.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pcm/sound.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/sound/pcm/sound.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/spibus/spi.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/spibus/spibusvar.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/streams/streams.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/devfs/devfs_rule.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/devfs/devfs_vfsops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/smbfs/smbfs_vfsops.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1-ac97.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1-alsa.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/dev/sound/pci/emu10k1.h#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/pmap.c#11 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/conf/DEFAULTS#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_mac.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/uipc_usrreq.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_bio.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/sound/driver/Makefile#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/net/raw_usrreq.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/rtsock.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netatm/atm_aal5.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netatm/atm_usrreq.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netgraph/ng_socket.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/in_pcb.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/ip_divert.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/raw_ip.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_subr.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/tcp_usrreq.c#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/README#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netipsec/keysock.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netipx/ipx_usrreq.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netipx/spx_usrreq.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netkey/keysock.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netnatm/natm.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netsmb/smb_conn.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/libkern.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/mbuf.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/param.h#8 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/sys/sysctl.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ufs/ffs/ffs_alloc.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/pmap.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/uma_core.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_fault.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_object.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_object.h#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/vm/vm_page.c#7 integrate Differences ... ==== //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#10 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.565 2006/07/06 06:17:08 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); /* * Manages physical address maps. @@ -207,7 +207,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -1627,6 +1626,7 @@ int idx, field, bit; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -2015,8 +2015,8 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pmap, pv->pv_va, ptepde); + free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); - free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); } @@ -2971,7 +2971,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -static __inline void +void pmap_clear_write(vm_page_t m) { pv_entry_t pv; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/in_cksum.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.6 2006/03/09 23:33:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.7 2006/07/18 00:07:05 cognet Exp $"); #include #include @@ -89,6 +89,17 @@ return (sum); } +static +uint64_t _do_cksum(void *addr, int len) +{ + uint64_t sum; + union q_util q_util; + + sum = do_cksum(addr, len); + REDUCE32; + return (sum); +} + u_short in_cksum_skip(struct mbuf *m, int len, int skip) { @@ -120,9 +131,9 @@ mlen = len; if ((clen ^ (int) addr) & 1) - sum += do_cksum(addr, mlen) << 8; + sum += _do_cksum(addr, mlen) << 8; else - sum += do_cksum(addr, mlen); + sum += _do_cksum(addr, mlen); clen += mlen; len -= mlen; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/pmap.c#8 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.65 2006/07/11 11:22:06 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.66 2006/07/20 23:26:22 alc Exp $"); #include #include #include @@ -4461,6 +4461,21 @@ /* + * Clear the write and modified bits in each of the given page's mappings. + */ +void +pmap_clear_write(vm_page_t m) +{ + + if (m->md.pvh_attrs & PVF_WRITE) + pmap_clearbit(m, PVF_WRITE); + else + KASSERT((m->flags & PG_WRITEABLE) == 0, + ("pmap_clear_write: page %p has PG_WRITEABLE set", m)); +} + + +/* * perform the pmap work for mincore */ int ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/arm/vm_machdep.c#6 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.26 2006/07/15 23:15:31 cognet Exp $"); #include #include @@ -512,7 +512,7 @@ void *ret; struct arm_small_page *sp, *tmp; TAILQ_HEAD(,arm_small_page) *head; - static int in_alloc; + static struct thread *in_alloc; static int in_sleep; int should_wakeup = 0; @@ -532,12 +532,13 @@ if (!sp) { /* No more free pages, need to alloc more. */ - if (!(wait & M_WAITOK)) { + if (!(wait & M_WAITOK) || + in_alloc == curthread) { mtx_unlock(&smallalloc_mtx); *flags = UMA_SLAB_KMEM; return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT)); } - if (in_alloc) { + if (in_alloc != NULL) { /* Somebody else is already doing the allocation. */ in_sleep++; msleep(&in_alloc, &smallalloc_mtx, PWAIT, @@ -545,14 +546,14 @@ in_sleep--; goto retry; } - in_alloc = 1; + in_alloc = curthread; mtx_unlock(&smallalloc_mtx); /* Try to alloc 1MB of contiguous memory. */ ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ? SECTION_PT : SECTION_CACHE); mtx_lock(&smallalloc_mtx); - in_alloc = 0; - if (in_sleep) + in_alloc = NULL; + if (in_sleep > 0) should_wakeup = 1; if (sp) { for (int i = 0; i < (0x100000 / PAGE_SIZE) - 1; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/if_ate.c#6 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.8 2006/06/17 23:24:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.9 2006/07/17 21:36:08 cognet Exp $"); #include #include @@ -764,7 +764,7 @@ } mdefrag = m_defrag(m, M_DONTWAIT); if (mdefrag == NULL) { - m_freem(m); + IFQ_DRV_PREPEND(&ifp->if_snd, m); return; } m = mdefrag; ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#4 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.11 2006/07/15 00:09:53 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.12 2006/07/17 21:20:00 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -234,7 +234,7 @@ /* PIOA's B periph: Turn USART 3's TX/RX pins */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); -#if AT91_TSC +#ifdef AT91_TSC /* We're using TC0's A1 and A2 input */ at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); @@ -244,7 +244,7 @@ at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); /* Pin assignment */ -#if AT91_TSC +#ifdef AT91_TSC /* Assert PA24 low -- talk to rubidium */ at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/at91/uart_dev_at91usart.c#6 (text) ==== @@ -26,7 +26,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.8 2006/07/14 21:33:04 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.9 2006/07/20 21:03:43 cognet Exp $"); + +#include "opt_comconsole.h" #include #include @@ -492,6 +494,19 @@ return (at91_usart_param(&sc->sc_bas, baudrate, databits, stopbits, parity)); } + +static __inline void +at91_rx_put(struct uart_softc *sc, int key) +{ +#if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER) + if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { + if (kdb_alt_break(key, &sc->sc_altbrk)) + kdb_enter("Break sequence to console"); + } +#endif + uart_rx_put(sc, key); +} + static int at91_usart_bus_ipend(struct uart_softc *sc) { @@ -534,9 +549,9 @@ bus_dmamap_sync(atsc->dmatag, atsc->pong->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->pong->buffer[i]); + at91_rx_put(sc, atsc->pong->buffer[i]); uart_rx_put(sc, UART_STAT_OVERRUN); csr &= ~(USART_CSR_ENDRX | USART_CSR_TIMEOUT); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); @@ -554,7 +569,7 @@ bus_dmamap_sync(atsc->dmatag, atsc->ping->map, BUS_DMASYNC_POSTREAD); for (i = 0; i < sc->sc_rxfifosz; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); p = atsc->ping; atsc->ping = atsc->pong; atsc->pong = p; @@ -574,7 +589,7 @@ BUS_DMASYNC_POSTREAD); len = sc->sc_rxfifosz - RD4(&sc->sc_bas, PDC_RCR); for (i = 0; i < len; i++) - uart_rx_put(sc, atsc->ping->buffer[i]); + at91_rx_put(sc, atsc->ping->buffer[i]); WR4(&sc->sc_bas, PDC_RPR, atsc->ping->pa); WR4(&sc->sc_bas, PDC_RCR, sc->sc_rxfifosz); WR4(&sc->sc_bas, USART_CR, USART_CR_STTTO); @@ -584,7 +599,7 @@ if (!(atsc->flags & HAS_TIMEOUT) && (csr & USART_CSR_RXRDY)) { // We have another charater in a device that doesn't support // timeouts, so we do it one character at a time. - uart_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); + at91_rx_put(sc, RD4(&sc->sc_bas, USART_RHR) & 0xff); ipend |= SER_INT_RXREADY; } ==== //depot/projects/gnn_fast_ipsec/src/sys/arm/conf/KB920X#4 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.8 2006/07/14 15:20:31 imp Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ machine arm ident KB920X @@ -81,3 +81,4 @@ device md # device at91_twi # TWI: Two Wire Interface device at91_spi # SPI: +device spibus ==== //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_misc.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.179 2006/06/23 18:49:38 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.180 2006/07/21 20:22:13 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -229,7 +229,7 @@ unsigned long bss_size; char *library; int error; - int locked; + int locked, vfslocked; LCONVPATHEXIST(td, args->library, &library); @@ -239,34 +239,26 @@ #endif a_out = NULL; + vfslocked = 0; locked = 0; vp = NULL; - /* - * XXX: This code should make use of vn_open(), rather than doing - * all this stuff itself. - */ - NDINIT(&ni, LOOKUP, ISOPEN|FOLLOW|LOCKLEAF, UIO_SYSSPACE, library, td); + NDINIT(&ni, LOOKUP, ISOPEN | FOLLOW | LOCKLEAF | MPSAFE | AUDITVNODE1, + UIO_SYSSPACE, library, td); error = namei(&ni); LFREEPATH(library); if (error) goto cleanup; vp = ni.ni_vp; - /* - * XXX - This looks like a bogus check. A LOCKLEAF namei should not - * succeed without returning a vnode. - */ - if (vp == NULL) { - error = ENOEXEC; /* ?? */ - goto cleanup; - } + vfslocked = NDHASGIANT(&ni); NDFREE(&ni, NDF_ONLY_PNBUF); /* * From here on down, we have a locked vnode that must be unlocked. + * XXX: The code below largely duplicates exec_check_permissions(). */ - locked++; + locked = 1; /* Writable? */ if (vp->v_writecount) { @@ -281,6 +273,7 @@ if ((vp->v_mount->mnt_flag & MNT_NOEXEC) || ((attr.va_mode & 0111) == 0) || (attr.va_type != VREG)) { + /* EACCESS is what exec(2) returns. */ error = ENOEXEC; goto cleanup; } @@ -299,6 +292,8 @@ /* * XXX: This should use vn_open() so that it is properly authorized, * and to reduce code redundancy all over the place here. + * XXX: Not really, it duplicates far more of exec_check_permissions() + * than vn_open(). */ #ifdef MAC error = mac_check_vnode_open(td->td_ucred, vp, FREAD); @@ -312,12 +307,6 @@ /* Pull in executable header into kernel_map */ error = vm_mmap(kernel_map, (vm_offset_t *)&a_out, PAGE_SIZE, VM_PROT_READ, VM_PROT_READ, 0, OBJT_VNODE, vp, 0); - /* - * Lock no longer needed - */ - locked = 0; - VOP_UNLOCK(vp, 0, td); - if (error) goto cleanup; @@ -372,11 +361,21 @@ } PROC_UNLOCK(td->td_proc); - mp_fixme("Unlocked vflags access."); - /* prevent more writers */ + /* + * Prevent more writers. + * XXX: Note that if any of the VM operations fail below we don't + * clear this flag. + */ vp->v_vflag |= VV_TEXT; /* + * Lock no longer needed + */ + locked = 0; + VOP_UNLOCK(vp, 0, td); + VFS_UNLOCK_GIANT(vfslocked); + + /* * Check if file_offset page aligned. Currently we cannot handle * misalinged file offsets, and so we read in the entire image * (what a waste). @@ -453,8 +452,10 @@ cleanup: /* Unlock vnode if needed */ - if (locked) + if (locked) { VOP_UNLOCK(vp, 0, td); + VFS_UNLOCK_GIANT(vfslocked); + } /* Release the kernel mapping. */ if (a_out) ==== //depot/projects/gnn_fast_ipsec/src/sys/compat/linux/linux_socket.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.69 2006/07/08 20:03:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.70 2006/07/19 18:28:52 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -609,7 +609,9 @@ if (error) return (error); - return (kern_bind(td, linux_args.s, sa)); + error = kern_bind(td, linux_args.s, sa); + free(sa, M_SONAME); + return (error); } struct linux_connect_args { @@ -638,6 +640,7 @@ return (error); error = kern_connect(td, linux_args.s, sa); + free(sa, M_SONAME); if (error != EISCONN) return (error); ==== //depot/projects/gnn_fast_ipsec/src/sys/compat/svr4/svr4_misc.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.86 2006/07/11 20:52:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.89 2006/07/21 20:28:56 jhb Exp $"); #include "opt_mac.h" @@ -104,7 +104,7 @@ svr4_mode_t, svr4_dev_t); static __inline clock_t timeval_to_clock_t(struct timeval *); -static int svr4_setinfo (struct proc *, int, svr4_siginfo_t *); +static int svr4_setinfo (pid_t , struct rusage *, int, svr4_siginfo_t *); struct svr4_hrtcntl_args; static int svr4_hrtcntl (struct thread *, struct svr4_hrtcntl_args *, @@ -606,34 +606,36 @@ struct svr4_sys_fchroot_args *uap; { struct filedesc *fdp = td->td_proc->p_fd; - struct vnode *vp, *vpold; + struct vnode *vp; struct file *fp; - int error; + int error, vfslocked; if ((error = suser(td)) != 0) return error; if ((error = getvnode(fdp, uap->fd, &fp)) != 0) return error; vp = fp->f_vnode; + VREF(vp); + fdrop(fp, td); + vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - if (vp->v_type != VDIR) - error = ENOTDIR; - else - error = VOP_ACCESS(vp, VEXEC, td->td_ucred, td); + error = change_dir(vp, td); + if (error) + goto fail; +#ifdef MAC + error = mac_check_vnode_chroot(td->td_ucred, vp); + if (error) + goto fail; +#endif VOP_UNLOCK(vp, 0, td); - if (error) { - fdrop(fp, td); - return error; - } - VREF(vp); - FILEDESC_LOCK_FAST(fdp); - vpold = fdp->fd_rdir; - fdp->fd_rdir = vp; - FILEDESC_UNLOCK_FAST(fdp); - if (vpold != NULL) - vrele(vpold); - fdrop(fp, td); - return 0; + error = change_root(vp, td); + vrele(vp); + VFS_UNLOCK_GIANT(vfslocked); + return (error); +fail: + vput(vp); + VFS_UNLOCK_GIANT(vfslocked); + return (error); } @@ -1083,12 +1085,12 @@ static int -svr4_setinfo(p, st, s) - struct proc *p; +svr4_setinfo(pid, ru, st, s) + pid_t pid; + struct rusage *ru; int st; svr4_siginfo_t *s; { - struct timeval utime, stime; svr4_siginfo_t i; int sig; @@ -1097,13 +1099,10 @@ i.svr4_si_signo = SVR4_SIGCHLD; i.svr4_si_errno = 0; /* XXX? */ - if (p) { - i.svr4_si_pid = p->p_pid; - PROC_LOCK(p); - calcru(p, &utime, &stime); - PROC_UNLOCK(p); - i.svr4_si_stime = stime.tv_sec; - i.svr4_si_utime = utime.tv_sec; + i.svr4_si_pid = pid; + if (ru) { + i.svr4_si_stime = ru->ru_stime.tv_sec; + i.svr4_si_utime = ru->ru_utime.tv_sec; } if (WIFEXITED(st)) { @@ -1142,188 +1141,185 @@ struct thread *td; struct svr4_sys_waitsys_args *uap; { - int nfound; + struct rusage ru; + pid_t pid; + int nfound, status; int error, *retval = td->td_retval; - struct proc *p, *q, *t; + struct proc *p, *q; + + DPRINTF(("waitsys(%d, %d, %p, %x)\n", + uap->grp, uap->id, + uap->info, uap->options)); - p = td->td_proc; + q = td->td_proc; switch (uap->grp) { - case SVR4_P_PID: + case SVR4_P_PID: + pid = uap->id; break; case SVR4_P_PGID: - PROC_LOCK(p); - uap->id = -p->p_pgid; - PROC_UNLOCK(p); + PROC_LOCK(q); + pid = -q->p_pgid; + PROC_UNLOCK(q); break; case SVR4_P_ALL: - uap->id = WAIT_ANY; + pid = WAIT_ANY; break; default: return EINVAL; } - DPRINTF(("waitsys(%d, %d, %p, %x)\n", - uap->grp, uap->id, - uap->info, uap->options)); + /* Hand off the easy cases to kern_wait(). */ + if (!(uap->options & (SVR4_WNOWAIT)) && + (uap->options & (SVR4_WEXITED | SVR4_WTRAPPED))) { + int options; + + options = 0; + if (uap->options & SVR4_WSTOPPED) + options |= WUNTRACED; + if (uap->options & SVR4_WCONTINUED) + options |= WCONTINUED; + if (uap->options & SVR4_WNOHANG) + options |= WNOHANG; + + error = kern_wait(td, pid, &status, options, &ru); + if (error) + return (error); + if (uap->options & SVR4_WNOHANG && *retval == 0) + error = svr4_setinfo(*retval, NULL, 0, uap->info); + else + error = svr4_setinfo(*retval, &ru, status, uap->info); + *retval = 0; + return (error); + } + /* + * Ok, handle the weird cases. Either WNOWAIT is set (meaning we + * just want to see if there is a process to harvest, we dont' + * want to actually harvest it), or WEXIT and WTRAPPED are clear + * meaning we want to ignore zombies. Either way, we don't have + * to handle harvesting zombies here. We do have to duplicate the + * other portions of kern_wait() though, especially for the + * WCONTINUED and WSTOPPED. + */ loop: nfound = 0; sx_slock(&proctree_lock); - LIST_FOREACH(q, &p->p_children, p_sibling) { - PROC_LOCK(q); - if (uap->id != WAIT_ANY && - q->p_pid != uap->id && - q->p_pgid != -uap->id) { - PROC_UNLOCK(q); - DPRINTF(("pid %d pgid %d != %d\n", q->p_pid, - q->p_pgid, uap->id)); + LIST_FOREACH(p, &q->p_children, p_sibling) { + PROC_LOCK(p); + if (pid != WAIT_ANY && + p->p_pid != pid && p->p_pgid != -pid) { + PROC_UNLOCK(p); + DPRINTF(("pid %d pgid %d != %d\n", p->p_pid, + p->p_pgid, pid)); + continue; + } + if (p_canwait(td, p)) { + PROC_UNLOCK(p); continue; } + nfound++; - if ((q->p_state == PRS_ZOMBIE) && + + /* + * See if we have a zombie. If so, WNOWAIT should be set, + * as otherwise we should have called kern_wait() up above. + */ + if ((p->p_state == PRS_ZOMBIE) && ((uap->options & (SVR4_WEXITED|SVR4_WTRAPPED)))) { - PROC_UNLOCK(q); + KASSERT(uap->options & SVR4_WNOWAIT, + ("WNOWAIT is clear")); + + /* Found a zombie, so cache info in local variables. */ + pid = p->p_pid; + status = p->p_xstat; + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); sx_sunlock(&proctree_lock); + + /* Copy the info out to userland. */ *retval = 0; - DPRINTF(("found %d\n", q->p_pid)); - error = svr4_setinfo(q, q->p_xstat, uap->info); - if (error != 0) - return error; + DPRINTF(("found %d\n", pid)); + return (svr4_setinfo(pid, &ru, status, uap->info)); + } + /* + * See if we have a stopped or continued process. + * XXX: This duplicates the same code in kern_wait(). + */ + mtx_lock_spin(&sched_lock); + if ((p->p_flag & P_STOPPED_SIG) && + (p->p_suspcount == p->p_numthreads) && + (p->p_flag & P_WAITED) == 0 && + (p->p_flag & P_TRACED || uap->options & SVR4_WSTOPPED)) { + mtx_unlock_spin(&sched_lock); + if (((uap->options & SVR4_WNOWAIT)) == 0) + p->p_flag |= P_WAITED; + sx_sunlock(&proctree_lock); + pid = p->p_pid; + status = W_STOPCODE(p->p_xstat); + ru = *p->p_ru; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); - if ((uap->options & SVR4_WNOWAIT)) { - DPRINTF(("Don't wait\n")); - return 0; + if (((uap->options & SVR4_WNOWAIT)) == 0) { + PROC_LOCK(q); + sigqueue_take(p->p_ksi); + PROC_UNLOCK(q); } - /* - * If we got the child via ptrace(2) or procfs, and - * the parent is different (meaning the process was - * attached, rather than run as a child), then we need - * to give it back to the old parent, and send the - * parent a SIGCHLD. The rest of the cleanup will be - * done when the old parent waits on the child. - */ - sx_xlock(&proctree_lock); - PROC_LOCK(q); - if (q->p_flag & P_TRACED) { - if (q->p_oppid != q->p_pptr->p_pid) { - PROC_UNLOCK(q); - t = pfind(q->p_oppid); - if (t == NULL) { - t = initproc; - PROC_LOCK(initproc); - } - PROC_LOCK(q); - proc_reparent(q, t); - q->p_oppid = 0; - q->p_flag &= ~(P_TRACED | P_WAITED); - PROC_UNLOCK(q); - psignal(t, SIGCHLD); - wakeup(t); - PROC_UNLOCK(t); - sx_xunlock(&proctree_lock); - return 0; - } + *retval = 0; + DPRINTF(("jobcontrol %d\n", pid)); + return (svr4_setinfo(pid, &ru, status, uap->info)); + } + mtx_unlock_spin(&sched_lock); + if (uap->options & SVR4_WCONTINUED && + (p->p_flag & P_CONTINUED)) { + sx_sunlock(&proctree_lock); + if (((uap->options & SVR4_WNOWAIT)) == 0) + p->p_flag &= ~P_CONTINUED; + pid = p->p_pid; + ru = *p->p_ru; + status = SIGCONT; + calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_UNLOCK(p); + + if (((uap->options & SVR4_WNOWAIT)) == 0) { + PROC_LOCK(q); + sigqueue_take(p->p_ksi); + PROC_UNLOCK(q); } - PROC_UNLOCK(q); - sx_xunlock(&proctree_lock); - q->p_xstat = 0; - ruadd(&p->p_stats->p_cru, &p->p_crux, q->p_ru, - &q->p_rux); - FREE(q->p_ru, M_ZOMBIE); - q->p_ru = NULL; - - /* - * Decrement the count of procs running with this uid. - */ - (void)chgproccnt(q->p_ucred->cr_ruidinfo, -1, 0); - /* - * Release reference to text vnode. - */ - if (q->p_textvp) - vrele(q->p_textvp); - - /* - * Free up credentials. - */ - crfree(q->p_ucred); - q->p_ucred = NULL; - - /* - * Remove unused arguments - */ - pargs_drop(q->p_args); - PROC_UNLOCK(q); - - /* - * Finally finished with old proc entry. - * Unlink it from its process group and free it. - */ - sx_xlock(&proctree_lock); - leavepgrp(q); - - sx_xlock(&allproc_lock); - LIST_REMOVE(q, p_list); /* off zombproc */ - sx_xunlock(&allproc_lock); - - LIST_REMOVE(q, p_sibling); - sx_xunlock(&proctree_lock); - - PROC_LOCK(q); - sigacts_free(q->p_sigacts); - q->p_sigacts = NULL; - PROC_UNLOCK(q); - - /* - * Give machine-dependent layer a chance - * to free anything that cpu_exit couldn't - * release while still running in process context. - */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 22 07:27:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0975716A4DF; Sat, 22 Jul 2006 07:27:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C002D16A4DD for ; Sat, 22 Jul 2006 07:27:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8ABEB43D46 for ; Sat, 22 Jul 2006 07:27:03 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M7R3fY003030 for ; Sat, 22 Jul 2006 07:27:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M7R3F7003027 for perforce@freebsd.org; Sat, 22 Jul 2006 07:27:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 22 Jul 2006 07:27:03 GMT Message-Id: <200607220727.k6M7R3F7003027@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 102112 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 07:27:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=102112 Change 102112 by hselasky@hselasky_mini_itx on 2006/07/22 07:26:22 Factorize "usbd_m_copy_in" into using "m_apply()". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#9 (text+ko) ==== @@ -1681,39 +1681,30 @@ return; } - /*---------------------------------------------------------------------------* - * usbd_m_copy_in - copy a mbuf chain directly to DMA-able memory + * usbd_m_copy_in - copy a mbuf chain directly into DMA-able memory *---------------------------------------------------------------------------*/ +struct usbd_m_copy_in_arg { + struct usbd_page_cache *cache; + u_int32_t dst_offset; +}; + +static int32_t +usbd_m_copy_in_cb(void *arg, void *src, u_int32_t count) +{ + register struct usbd_m_copy_in_arg *ua = arg; + usbd_copy_in(ua->cache, ua->dst_offset, src, count); + ua->dst_offset += count; + return 0; +} + void usbd_m_copy_in(struct usbd_page_cache *cache, u_int32_t dst_offset, struct mbuf *m, u_int32_t src_offset, u_int32_t src_len) { - u_int32_t count; - - while (src_offset > 0) { - __KASSERT(m != NULL, ("usbd_m_copy_in, offset > " - "size of mbuf chain")); - if (src_offset < m->m_len) { - break; - } - src_offset -= m->m_len; - m = m->m_next; - } - - while (src_len > 0) { - __KASSERT(m != NULL, ("usbd_m_copy_in, length > " - "size of mbuf chain")); - count = min(m->m_len - src_offset, src_len); - - usbd_copy_in(cache, dst_offset, ((caddr_t)(m->m_data)) + - src_offset, count); - - src_len -= count; - dst_offset += count; - src_offset = 0; - m = m->m_next; - } + struct usbd_m_copy_in_arg arg = { cache, dst_offset }; + register int error; + error = m_apply(m, src_offset, src_len, &usbd_m_copy_in_cb, &arg); return; } From owner-p4-projects@FreeBSD.ORG Sat Jul 22 09:07:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 60AC516A557; Sat, 22 Jul 2006 09:07:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2061B16A54A for ; Sat, 22 Jul 2006 09:07:17 +0000 (UTC) (envelope-from clem1@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51C9D43D67 for ; Sat, 22 Jul 2006 09:07:14 +0000 (GMT) (envelope-from clem1@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M97DdP018459 for ; Sat, 22 Jul 2006 09:07:13 GMT (envelope-from clem1@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M97DZZ018456 for perforce@freebsd.org; Sat, 22 Jul 2006 09:07:13 GMT (envelope-from clem1@FreeBSD.org) Date: Sat, 22 Jul 2006 09:07:13 GMT Message-Id: <200607220907.k6M97DZZ018456@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to clem1@FreeBSD.org using -f From: Clément Lecigne To: Perforce Change Reviews Cc: Subject: PERFORCE change 102121 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 09:07:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=102121 Change 102121 by clem1@clem1_ipv6vulns on 2006/07/22 09:06:17 fakerta.py is a script that sends a fake router advertisement message with custom values in response to a router solicitation message. Affected files ... .. //depot/projects/soc2006/clem1_ipv6vulns/attacking-tools/fakerta/dos.py#1 add .. //depot/projects/soc2006/clem1_ipv6vulns/attacking-tools/fakerta/fakerta.py#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jul 22 09:24:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AE5C16A586; Sat, 22 Jul 2006 09:24:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E15C016A582 for ; Sat, 22 Jul 2006 09:24:41 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46C1D43D45 for ; Sat, 22 Jul 2006 09:24:41 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6M9OfJp019567 for ; Sat, 22 Jul 2006 09:24:41 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6M9ObUv019564 for perforce@freebsd.org; Sat, 22 Jul 2006 09:24:37 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sat, 22 Jul 2006 09:24:37 GMT Message-Id: <200607220924.k6M9ObUv019564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 102125 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 09:24:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=102125 Change 102125 by rdivacky@rdivacky_witten on 2006/07/22 09:24:12 IFC Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/pmap.c#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/include/specialreg.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_proto.h#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_syscall.h#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_sysent.c#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/syscalls.master#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/db_trace.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/in_cksum.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/pmap.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_pio.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_piovar.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_rtc.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_rtcreg.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_spi.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_spiio.h#2 delete .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_spireg.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_st.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_twi.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/files.at91#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/if_ate.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/std.at91#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/std.kb920x#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/conf/KB920X#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/arm/include/gdb_machdep.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_futex.c#4 edit .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_socket.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_misc.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_proto.h#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_socket.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_stream.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_syscall.h#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_syscallnames.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/svr4/syscalls.master#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/Makefile.arm#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/NOTES#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/files#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/files.arm#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/files.ia64#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/kern.pre.mk#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/options#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/options.arm#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/crypto/via/padlock.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/db_command.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/db_output.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/db_output.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/db_ps.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/db_thread.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ddb/ddb.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/aac/aac_cam.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/amr/amr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/ata/ata-queue.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/em/if_em.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/em/if_em.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/fdc/fdc.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iic.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iic.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iicbus.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iicbus_if.m#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iiconf.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iiconf.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_library.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_pci.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_target.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/lmc/if_lmc.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt.h#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt_debug.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt_pci.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mpt/mpt_raid.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/pccard/pccarddevs#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/pci/pci.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/random/probe.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sio/sio.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sk/if_sk.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sk/if_skreg.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/driver.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/emu10kx-midi.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/emu10kx-pcm.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/emu10kx.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pci/emu10kx.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/spibus/spi.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/spibus/spibus.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/spibus/spibus_if.m#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/spibus/spibusvar.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/streams/streams.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/devfs/devfs_vfsops.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/geom/geom.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/geom/raid3/g_raid3_ctl.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/gnu/dev/sound/pci/emu10k1-ac97.h#2 delete .. //depot/projects/soc2006/rdivacky_linuxolator/gnu/dev/sound/pci/emu10k1-alsa.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/gnu/dev/sound/pci/emu10k1.h#2 delete .. //depot/projects/soc2006/rdivacky_linuxolator/gnu/dev/sound/pci/p16v-alsa.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/gnu/dev/sound/pci/p17v-alsa.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/db_trace.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/identcpu.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/initcpu.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/local_apic.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/machdep.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_isc_syscall.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_isc_sysent.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/syscalls.isc#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/ibcs2/syscalls.master#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/include/md_var.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/include/specialreg.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#20 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_proto.h#13 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_syscall.h#13 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysent.c#13 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/syscalls.master#13 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ia64/conf/DEFAULTS#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/init_sysent.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_descrip.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_intr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_ktr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_lock.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_mac.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_thr.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_uuid.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/link_elf.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/subr_autoconf.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/subr_prf.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/subr_turnstile.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/syscalls.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/syscalls.master#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/sysv_sem.c#6 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_domain.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_socket2.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_syscalls.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/vfs_bio.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/vfs_subr.c#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/modules/sound/driver/Makefile#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/modules/sound/driver/emu10kx/Makefile#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/net/if_tap.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/net/raw_usrreq.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/net/rtsock.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/net80211/ieee80211_input.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netatm/atm_aal5.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netatm/atm_usrreq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/include/ng_btsocket_l2cap.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netgraph/ng_socket.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/in_pcb.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/in_pcb.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/ip_divert.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/raw_ip.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/tcp_subr.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/tcp_usrreq.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/udp_usrreq.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet6/README#2 delete .. //depot/projects/soc2006/rdivacky_linuxolator/netinet6/in6_pcb.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netipsec/keysock.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netipx/spx_usrreq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netkey/keysock.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netnatm/natm.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_conn.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/nfs4client/nfs4_vnops.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/pc98/pc98/machdep.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/posix4/ksched.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/posix4/p1003_1b.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/security/mac/mac_vfs.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sparc64/include/pmap.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sparc64/sparc64/db_trace.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/libkern.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/mbuf.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/param.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/protosw.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/syscall.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/syscall.mk#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/sysctl.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/sysproto.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/thr.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/pmap.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/uma_core.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_fault.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_map.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_meter.c#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_object.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_object.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_page.c#4 integrate Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.74 2006/03/13 23:56:44 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); #include #include @@ -390,16 +390,14 @@ long *argp; db_expr_t offset; c_db_sym_t sym; - int narg, quit; + int narg; boolean_t first; if (count == -1) count = 1024; first = TRUE; - quit = 0; - db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - while (count-- && !quit) { + while (count-- && !db_pager_quit) { sym = db_search_symbol(pc, DB_STGY_ANY, &offset); db_symbol_values(sym, &name, NULL); ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.147 2006/07/12 06:04:11 jkim Exp $"); #include "opt_cpu.h" @@ -306,8 +306,8 @@ "\020" "\001LAHF" /* LAHF/SAHF in long mode */ "\002CMP" /* CMP legacy */ - "\003" - "\004" + "\003SVM" /* Secure Virtual Mode */ + "\004ExtAPIC" /* Extended APIC register */ "\005CR8" /* CR8 in legacy mode */ "\006" "\007" ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/intr_machdep.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.19 2006/02/28 22:24:54 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.20 2006/07/12 21:22:42 jhb Exp $ */ /* @@ -338,16 +338,14 @@ DB_SHOW_COMMAND(irqs, db_show_irqs) { struct intsrc **isrc; - int i, quit, verbose; + int i, verbose; - quit = 0; if (strcmp(modif, "v") == 0) verbose = 1; else verbose = 0; isrc = interrupt_sources; - db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - for (i = 0; i < NUM_IO_INTS && !quit; i++, isrc++) + for (i = 0; i < NUM_IO_INTS && !db_pager_quit; i++, isrc++) if (*isrc != NULL) db_dump_intr_event((*isrc)->is_event, verbose); } ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.25 2006/03/20 19:39:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.26 2006/07/12 21:22:42 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -755,18 +755,16 @@ DB_SHOW_COMMAND(apic, db_show_apic) { struct intsrc *isrc; - int quit, i, verbose; + int i, verbose; u_int irq; - quit = 0; if (strcmp(modif, "vv") == 0) verbose = 2; else if (strcmp(modif, "v") == 0) verbose = 1; else verbose = 0; - db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - for (i = 0; i < APIC_NUM_IOINTS + 1 && !quit; i++) { + for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) { irq = ioint_irqs[i]; if (irq != 0 && irq != IRQ_SYSCALL) { db_printf("vec 0x%2x -> ", i + APIC_IO_INTS); ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/amd64/pmap.c#5 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.565 2006/07/06 06:17:08 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.567 2006/07/20 17:48:40 alc Exp $"); /* * Manages physical address maps. @@ -207,7 +207,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); -static void pmap_clear_write(vm_page_t m); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); @@ -1627,6 +1626,7 @@ int idx, field, bit; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -2015,8 +2015,8 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pmap, pv->pv_va, ptepde); + free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); - free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); } @@ -2971,7 +2971,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -static __inline void +void pmap_clear_write(vm_page_t m) { pv_entry_t pv; ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/include/specialreg.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.33 2006/05/01 22:07:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.35 2006/07/13 16:09:40 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -109,16 +109,18 @@ #define CPUID_SS 0x08000000 #define CPUID_HTT 0x10000000 #define CPUID_TM 0x20000000 -#define CPUID_B30 0x40000000 +#define CPUID_IA64 0x40000000 #define CPUID_PBE 0x80000000 #define CPUID2_SSE3 0x00000001 #define CPUID2_MON 0x00000008 #define CPUID2_DS_CPL 0x00000010 +#define CPUID2_VMX 0x00000020 #define CPUID2_EST 0x00000080 #define CPUID2_TM2 0x00000100 #define CPUID2_CNTXID 0x00000400 #define CPUID2_CX16 0x00002000 +#define CPUID2_XTPR 0x00004000 /* * Important bits in the AMD extended cpuid flags @@ -135,6 +137,8 @@ #define AMDID2_LAHF 0x00000001 #define AMDID2_CMP 0x00000002 +#define AMDID2_SVM 0x00000004 +#define AMDID2_EXT_APIC 0x00000008 #define AMDID2_CR8 0x00000010 /* @@ -188,6 +192,7 @@ #define MSR_THERM_CONTROL 0x19a #define MSR_THERM_INTERRUPT 0x19b #define MSR_THERM_STATUS 0x19c +#define MSR_IA32_MISC_ENABLE 0x1a0 #define MSR_DEBUGCTLMSR 0x1d9 #define MSR_LASTBRANCHFROMIP 0x1db #define MSR_LASTBRANCHTOIP 0x1dc @@ -356,7 +361,7 @@ #define AMD_WT_ALLOC_PRE 0x20000 /* programmable range enable */ #define AMD_WT_ALLOC_FRE 0x10000 /* fixed (A0000-FFFFF) range enable */ -/* X86-64 MSR's */ +/* AMD64 MSR's */ #define MSR_EFER 0xc0000080 /* extended features */ #define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target/cs/ss */ #define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target rip */ ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_proto.h#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.17 2006/07/06 21:43:14 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.18 2006/07/11 20:55:22 jhb Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp */ #ifndef _LINUX_SYSPROTO_H_ ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_syscall.h#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.17 2006/07/06 21:43:14 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.18 2006/07/11 20:55:22 jhb Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_sysent.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.17 2006/07/06 21:43:14 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.18 2006/07/11 20:55:22 jhb Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp */ #include @@ -109,7 +109,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 86 = linux_uselib */ { SYF_MPSAFE | AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON }, /* 87 = swapon */ { SYF_MPSAFE | AS(linux_reboot_args), (sy_call_t *)linux_reboot, AUE_REBOOT }, /* 88 = linux_reboot */ - { AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_O_GETDENTS }, /* 89 = linux_readdir */ + { SYF_MPSAFE | AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_O_GETDENTS }, /* 89 = linux_readdir */ { SYF_MPSAFE | AS(linux_mmap_args), (sy_call_t *)linux_mmap, AUE_MMAP }, /* 90 = linux_mmap */ { SYF_MPSAFE | AS(munmap_args), (sy_call_t *)munmap, AUE_MUNMAP }, /* 91 = munmap */ { SYF_MPSAFE | AS(linux_truncate_args), (sy_call_t *)linux_truncate, AUE_TRUNCATE }, /* 92 = linux_truncate */ @@ -161,7 +161,7 @@ { SYF_MPSAFE | AS(linux_setfsuid16_args), (sy_call_t *)linux_setfsuid16, AUE_SETFSUID }, /* 138 = linux_setfsuid16 */ { SYF_MPSAFE | AS(linux_setfsgid16_args), (sy_call_t *)linux_setfsgid16, AUE_SETFSGID }, /* 139 = linux_setfsgid16 */ { SYF_MPSAFE | AS(linux_llseek_args), (sy_call_t *)linux_llseek, AUE_LSEEK }, /* 140 = linux_llseek */ - { AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_O_GETDENTS }, /* 141 = linux_getdents */ + { SYF_MPSAFE | AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_O_GETDENTS }, /* 141 = linux_getdents */ { SYF_MPSAFE | AS(linux_select_args), (sy_call_t *)linux_select, AUE_SELECT }, /* 142 = linux_select */ { SYF_MPSAFE | AS(flock_args), (sy_call_t *)flock, AUE_FLOCK }, /* 143 = flock */ { SYF_MPSAFE | AS(linux_msync_args), (sy_call_t *)linux_msync, AUE_MSYNC }, /* 144 = linux_msync */ @@ -240,7 +240,7 @@ { SYF_MPSAFE | AS(linux_pivot_root_args), (sy_call_t *)linux_pivot_root, AUE_PIVOT_ROOT }, /* 217 = linux_pivot_root */ { SYF_MPSAFE | AS(linux_mincore_args), (sy_call_t *)linux_mincore, AUE_MINCORE }, /* 218 = linux_mincore */ { SYF_MPSAFE | AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE }, /* 219 = madvise */ - { AS(linux_getdents64_args), (sy_call_t *)linux_getdents64, AUE_O_GETDENTS }, /* 220 = linux_getdents64 */ + { SYF_MPSAFE | AS(linux_getdents64_args), (sy_call_t *)linux_getdents64, AUE_O_GETDENTS }, /* 220 = linux_getdents64 */ { SYF_MPSAFE | AS(linux_fcntl64_args), (sy_call_t *)linux_fcntl64, AUE_FCNTL }, /* 221 = linux_fcntl64 */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 222 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 223 = */ ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/syscalls.master#8 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -169,7 +169,7 @@ 87 AUE_SWAPON MNOPROTO { int swapon(char *name); } 88 AUE_REBOOT MSTD { int linux_reboot(l_int magic1, \ l_int magic2, l_uint cmd, void *arg); } -89 AUE_O_GETDENTS STD { int linux_readdir(l_uint fd, \ +89 AUE_O_GETDENTS MSTD { int linux_readdir(l_uint fd, \ struct l_dirent *dent, l_uint count); } 90 AUE_MMAP MSTD { int linux_mmap(struct l_mmap_argv *ptr); } 91 AUE_MUNMAP MNOPROTO { int munmap(caddr_t addr, int len); } @@ -246,7 +246,7 @@ 140 AUE_LSEEK MSTD { int linux_llseek(l_int fd, l_ulong ohigh, \ l_ulong olow, l_loff_t *res, \ l_uint whence); } -141 AUE_O_GETDENTS STD { int linux_getdents(l_uint fd, void *dent, \ +141 AUE_O_GETDENTS MSTD { int linux_getdents(l_uint fd, void *dent, \ l_uint count); } 142 AUE_SELECT MSTD { int linux_select(l_int nfds, \ l_fd_set *readfds, l_fd_set *writefds, \ @@ -381,7 +381,7 @@ l_size_t len, u_char *vec); } 219 AUE_MADVISE MNOPROTO { int madvise(void *addr, size_t len, \ int behav); } -220 AUE_O_GETDENTS STD { int linux_getdents64(l_uint fd, \ +220 AUE_O_GETDENTS MSTD { int linux_getdents64(l_uint fd, \ void *dirent, l_uint count); } 221 AUE_FCNTL MSTD { int linux_fcntl64(l_uint fd, l_uint cmd, \ uintptr_t arg); } ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/db_trace.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.12 2005/09/10 03:01:24 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.13 2006/07/12 21:22:42 jhb Exp $"); #include #include @@ -93,15 +93,13 @@ db_expr_t value; db_expr_t offset; boolean_t kernel_only = TRUE; - int scp_offset, quit; + int scp_offset; frame = (u_int32_t *)addr; lastframe = NULL; scp_offset = -(get_pc_str_offset() >> 2); - quit = 0; - db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - while (count-- && frame != NULL && !quit) { + while (count-- && frame != NULL && !db_pager_quit) { db_addr_t scp; u_int32_t savecode; int r; ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/in_cksum.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.6 2006/03/09 23:33:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/in_cksum.c,v 1.7 2006/07/18 00:07:05 cognet Exp $"); #include #include @@ -89,6 +89,17 @@ return (sum); } +static +uint64_t _do_cksum(void *addr, int len) +{ + uint64_t sum; + union q_util q_util; + + sum = do_cksum(addr, len); + REDUCE32; + return (sum); +} + u_short in_cksum_skip(struct mbuf *m, int len, int skip) { @@ -120,9 +131,9 @@ mlen = len; if ((clen ^ (int) addr) & 1) - sum += do_cksum(addr, mlen) << 8; + sum += _do_cksum(addr, mlen) << 8; else - sum += do_cksum(addr, mlen); + sum += _do_cksum(addr, mlen); clen += mlen; len -= mlen; ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/pmap.c#4 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.65 2006/07/11 11:22:06 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.66 2006/07/20 23:26:22 alc Exp $"); #include #include #include @@ -4461,6 +4461,21 @@ /* + * Clear the write and modified bits in each of the given page's mappings. + */ +void +pmap_clear_write(vm_page_t m) +{ + + if (m->md.pvh_attrs & PVF_WRITE) + pmap_clearbit(m, PVF_WRITE); + else + KASSERT((m->flags & PG_WRITEABLE) == 0, + ("pmap_clear_write: page %p has PG_WRITEABLE set", m)); +} + + +/* * perform the pmap work for mincore */ int ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/arm/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.26 2006/07/15 23:15:31 cognet Exp $"); #include #include @@ -512,7 +512,7 @@ void *ret; struct arm_small_page *sp, *tmp; TAILQ_HEAD(,arm_small_page) *head; - static int in_alloc; + static struct thread *in_alloc; static int in_sleep; int should_wakeup = 0; @@ -532,12 +532,13 @@ if (!sp) { /* No more free pages, need to alloc more. */ - if (!(wait & M_WAITOK)) { + if (!(wait & M_WAITOK) || + in_alloc == curthread) { mtx_unlock(&smallalloc_mtx); *flags = UMA_SLAB_KMEM; return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT)); } - if (in_alloc) { + if (in_alloc != NULL) { /* Somebody else is already doing the allocation. */ in_sleep++; msleep(&in_alloc, &smallalloc_mtx, PWAIT, @@ -545,14 +546,14 @@ in_sleep--; goto retry; } - in_alloc = 1; + in_alloc = curthread; mtx_unlock(&smallalloc_mtx); /* Try to alloc 1MB of contiguous memory. */ ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ? SECTION_PT : SECTION_CACHE); mtx_lock(&smallalloc_mtx); - in_alloc = 0; - if (in_sleep) + in_alloc = NULL; + if (in_sleep > 0) should_wakeup = 1; if (sp) { for (int i = 0; i < (0x100000 / PAGE_SIZE) - 1; ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_pio.c#3 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pio.c,v 1.2 2006/07/02 03:50:44 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pio.c,v 1.3 2006/07/14 22:22:57 imp Exp $"); #include #include @@ -280,21 +280,29 @@ * them. */ void -at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask) +at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_ASR / 4] = periph_a_mask; PIO[PIO_PDR / 4] = periph_a_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = periph_a_mask; + else + PIO[PIO_PUDR / 4] = periph_a_mask; } void -at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask) +at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_BSR / 4] = periph_b_mask; PIO[PIO_PDR / 4] = periph_b_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = periph_b_mask; + else + PIO[PIO_PUDR / 4] = periph_b_mask; } void @@ -314,11 +322,15 @@ } void -at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask) +at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, int use_pullup) { uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio); PIO[PIO_OER / 4] = output_enable_mask; + if (use_pullup) + PIO[PIO_PUER / 4] = output_enable_mask; + else + PIO[PIO_PUDR / 4] = output_enable_mask; } void ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_piovar.h#2 (text+ko) ==== @@ -22,16 +22,17 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_piovar.h,v 1.1 2006/07/02 03:50:44 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_piovar.h,v 1.2 2006/07/14 22:22:57 imp Exp $ */ #ifndef ARM_AT91_AT91_PIOVAR_H #define ARM_AT91_AT91_PIOVAR_H -void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask); -void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask); +void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup); +void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup); void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask); void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask); -void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask); +void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, + int use_pullup); void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask); void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask); ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_pmc.c#3 (text) ==== @@ -22,8 +22,10 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_at91.h" + #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.2 2006/06/17 23:22:10 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.3 2006/07/14 22:01:51 imp Exp $"); #include #include @@ -397,7 +399,11 @@ pmc_softc->dev = dev; if ((err = at91_pmc_activate(dev)) != 0) return err; +#ifdef AT91_TSC + at91_pmc_init_clock(pmc_softc, 16000000); +#else at91_pmc_init_clock(pmc_softc, 10000000); +#endif return (0); } ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_rtc.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_rtc.c,v 1.1 2006/03/24 07:35:30 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_rtc.c,v 1.2 2006/07/14 21:37:19 imp Exp $"); #include #include @@ -223,9 +223,14 @@ static int at91_rtc_settime(device_t dev, struct timespec *ts) { - // XXX UGLY XXX - printf("SET TIME\n"); - return (EINVAL); + struct at91_rtc_softc *sc; + struct clocktime ct; + + sc = device_get_softc(dev); + clock_ts_to_ct(ts, &ct); + WR4(sc, RTC_TIMR, RTC_TIMR_MK(ct.hour, ct.min, ct.sec)); + WR4(sc, RTC_CALR, RTC_CALR_MK(ct.year, ct.mon, ct.day, ct.dow)); + return (0); } static device_method_t at91_rtc_methods[] = { ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_rtcreg.h#2 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_rtcreg.h,v 1.1 2006/03/24 07:35:30 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_rtcreg.h,v 1.2 2006/07/14 22:06:01 imp Exp $ */ #ifndef ARM_AT91_AT91_RTCREG_H #define ARM_AT91_AT91_RTCREG_H @@ -74,7 +74,7 @@ #define RTC_CALR_DAY_S 24 #define RTC_CALR_DAY(x) FROMBCD(((x) & RTC_CALR_DAY_M) >> RTC_CALR_DAY_S) #define RTC_CALR_MK(yr, mon, day, dow) \ - ((TOBCD((yr) / 100 + 19) << RTC_CALR_CENTURY_S) | \ + ((TOBCD((yr) / 100 + 19) << RTC_CALR_CEN_S) | \ (TOBCD((yr) % 100) << RTC_CALR_YEAR_S) | \ (TOBCD(mon) << RTC_CALR_MON_S) | \ (TOBCD(dow) << RTC_CALR_DOW_S) | \ ==== //depot/projects/soc2006/rdivacky_linuxolator/arm/at91/at91_spi.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.1 2006/02/04 23:32:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.2 2006/07/14 21:35:59 imp Exp $"); #include #include @@ -39,7 +39,10 @@ #include #include -#include +#include + +#include +#include "spibus_if.h" struct at91_spi_softc { @@ -48,13 +51,8 @@ struct resource *irq_res; /* IRQ resource */ struct resource *mem_res; /* Memory resource */ struct mtx sc_mtx; /* basically a perimeter lock */ - int flags; -#define XFER_PENDING 1 /* true when transfer taking place */ -#define OPENED 2 /* Device opened */ -#define RXRDY 4 -#define TXCOMP 8 -#define TXRDY 0x10 - struct cdev *cdev; + bus_dma_tag_t dmatag; /* bus dma tag for mbufs */ + bus_dmamap_t map[4]; /* Maps for the transaction */ }; static inline uint32_t @@ -77,7 +75,6 @@ #define AT91_SPI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); #define AT91_SPI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); #define AT91_SPI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); -#define CDEV2SOFTC(dev) ((dev)->si_drv1) static devclass_t at91_spi_devclass; @@ -86,25 +83,11 @@ static int at91_spi_probe(device_t dev); static int at91_spi_attach(device_t dev); static int at91_spi_detach(device_t dev); -static void at91_spi_intr(void *); /* helper routines */ static int at91_spi_activate(device_t dev); static void at91_spi_deactivate(device_t dev); -/* cdev routines */ -static d_open_t at91_spi_open; -static d_close_t at91_spi_close; -static d_ioctl_t at91_spi_ioctl; - -static struct cdevsw at91_spi_cdevsw = -{ - .d_version = D_VERSION, - .d_open = at91_spi_open, - .d_close = at91_spi_close, - .d_ioctl = at91_spi_ioctl -}; - static int at91_spi_probe(device_t dev) { @@ -116,7 +99,7 @@ at91_spi_attach(device_t dev) { struct at91_spi_softc *sc = device_get_softc(dev); - int err; + int err, i; sc->dev = dev; err = at91_spi_activate(dev); @@ -126,31 +109,45 @@ AT91_SPI_LOCK_INIT(sc); /* - * Activate the interrupt >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 22 10:10:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A7EC16A4E1; Sat, 22 Jul 2006 10:10:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4404716A4DD for ; Sat, 22 Jul 2006 10:10:41 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F34043D45 for ; Sat, 22 Jul 2006 10:10:41 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MAAe43023601 for ; Sat, 22 Jul 2006 10:10:40 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MAAeV7023598 for perforce@freebsd.org; Sat, 22 Jul 2006 10:10:40 GMT (envelope-from gabor@FreeBSD.org) Date: Sat, 22 Jul 2006 10:10:40 GMT Message-Id: <200607221010.k6MAAeV7023598@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 102129 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 10:10:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=102129 Change 102129 by gabor@gabor_spitfire on 2006/07/22 10:10:39 Whitespaces fixes. Reported by: linimon Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#55 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#55 (text+ko) ==== @@ -519,8 +519,8 @@ # Default: /compat/linux # PREFIX - Where *this* port installs its files. # Default: ${X11BASE_REL} if USE_X_PREFIX is set, -# ${LINUXBASE_REL} if USE_LINUX_PREFIX is set, -# otherwise ${LOCALBASE_REL} +# ${LINUXBASE_REL} if USE_LINUX_PREFIX is set, +# otherwise ${LOCALBASE_REL} # # IGNORE_PATH_CHECKS - There are some sanity checks against PREFIX and DESTDIR. # You can diasble these checks with defining From owner-p4-projects@FreeBSD.ORG Sat Jul 22 11:00:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4133016A4E2; Sat, 22 Jul 2006 11:00:45 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EF26116A4DD for ; Sat, 22 Jul 2006 11:00:44 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEE0443D46 for ; Sat, 22 Jul 2006 11:00:43 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MB0haA026286 for ; Sat, 22 Jul 2006 11:00:43 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MB0hbJ026281 for perforce@freebsd.org; Sat, 22 Jul 2006 11:00:43 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sat, 22 Jul 2006 11:00:43 GMT Message-Id: <200607221100.k6MB0hbJ026281@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 102131 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 11:00:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=102131 Change 102131 by rdivacky@rdivacky_witten on 2006/07/22 11:00:20 Change TID handling to be more like linux and less like NetBSD. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_futex.c#5 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#10 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#21 edit .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#10 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_fork.c#3 edit .. //depot/projects/soc2006/rdivacky_linuxolator/kern/subr_trap.c#4 edit .. //depot/projects/soc2006/rdivacky_linuxolator/sys/eventhandler.h#4 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_futex.c#5 (text+ko) ==== @@ -92,8 +92,8 @@ #ifdef DEBUG if (ldebug(sys_futex)) + printf("FUTEX: %x: %i, %i\n", (unsigned int)args->uaddr, args->op, args->val); #endif - printf("FUTEX: %x: %i, %i\n", (unsigned int)args->uaddr, args->op, args->val); switch (args->op) { case LINUX_FUTEX_WAIT: ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#10 (text+ko) ==== @@ -788,8 +788,6 @@ int *child_set_tid; /* in clone(): Child's TID to set on clone */ int *child_clear_tid; /* in clone(): Child's TID to clear on exit */ - int *set_tid; /* in clone(): Own TID to set on clone */ - int *clear_tid; /* Own TID to clear on exit */ SLIST_ENTRY(linux_emuldata) emuldatas; }; ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#21 (text+ko) ==== @@ -70,7 +70,7 @@ static int linux_proc_init(struct thread *, pid_t); void linux_proc_exit(void *, struct proc *); -void linux_userret(void *, struct proc *); +void linux_schedtail(void *, struct proc *); void linux_proc_exec(void *, struct proc *, struct image_params *); static struct linux_emuldata *em_find(pid_t pid, int locked); @@ -312,9 +312,6 @@ linux_fork(struct thread *td, struct linux_fork_args *args) { int error; -#if 0 - struct linux_emuldata *em; -#endif #ifdef DEBUG if (ldebug(fork)) @@ -330,14 +327,6 @@ if (error) return (error); -#if 0 - EMUL_RLOCK(&emul_data); - /* impossible to not find it */ - SLIST_FOREACH(em, &emuldata_head, emuldatas) - if (em->pid == td->td_retval[0]) - break; - EMUL_RUNLOCK(&emul_data); -#endif return (0); } @@ -1093,7 +1082,7 @@ static int linux_proc_init(struct thread *td, pid_t child) { - struct linux_emuldata *em, *p_em; + struct linux_emuldata *em; /* XXX: locking? */ if (child != 0) { @@ -1118,24 +1107,11 @@ em->child_clear_tid = NULL; em->child_set_tid = NULL; - /* SLIST is inefficient - use hash instead */ - /* I hope I rewrote the semantics right */ - if (child != 0) { - /* find the emuldata for the parent process */ - p_em = em_find(td->td_proc->p_pid, EMUL_LOCKED); - if (p_em == NULL) { - em->clear_tid = NULL; - em->set_tid = NULL; - } else { - em->clear_tid = p_em->child_clear_tid; - em->set_tid = p_em->child_set_tid; - } - EMUL_WUNLOCK(&emul_lock); - } else { - em->clear_tid = NULL; - em->set_tid = NULL; - EMUL_RUNLOCK(&emul_lock); - } + if (child != 0) + EMUL_WUNLOCK(&emul_lock); + else + EMUL_RUNLOCK(&emul_lock); + return (0); } @@ -1159,18 +1135,20 @@ #endif return; } - if (em->clear_tid != NULL) { + if (em->child_clear_tid != NULL) { struct linux_sys_futex_args cup; int null = 0; - error = copyout(&null, em->clear_tid, sizeof(null)); + error = copyout(&null, em->child_clear_tid, sizeof(null)); if (error) { EMUL_RUNLOCK(&emul_lock); return; } + em->child_clear_tid = NULL; + /* futexes stuff */ - cup.uaddr = em->clear_tid; + cup.uaddr = em->child_clear_tid; cup.op = LINUX_FUTEX_WAKE; cup.val = 0x7fffffff; /* Awake everyone */ cup.timeout = NULL; @@ -1207,6 +1185,7 @@ if (__predict_false(imgp->sysent == &elf32_freebsd_sysvec && p->p_sysent == &elf_linux_sysvec)) { struct linux_emuldata *em; + struct thread *td = FIRST_THREAD_IN_PROC(p); em = em_find(p->p_pid, EMUL_UNLOCKED); @@ -1231,16 +1210,14 @@ } void -linux_userret(void *arg __unused, struct proc *p) +linux_schedtail(void *arg __unused, struct proc *p) { struct linux_emuldata *em; int error = 0; - //struct thread *td = FIRST_THREAD_IN_PROC(p); if (p->p_sysent != &elf_linux_sysvec) return; - //printf("XXX: %i\n", p->p_pid); /* find the emuldata */ em = em_find(p->p_pid, EMUL_UNLOCKED); @@ -1251,9 +1228,8 @@ return; } - if (em->set_tid != NULL) { - error = copyout(&p->p_pid, em->set_tid, sizeof(p->p_pid)); - } + if (em->child_set_tid != NULL) + error = copyout(&p->p_pid, em->child_set_tid, sizeof(p->p_pid)); EMUL_RUNLOCK(&emul_lock); return; @@ -1275,7 +1251,7 @@ return (0); } - em->clear_tid = args->tidptr; + em->child_clear_tid = args->tidptr; td->td_retval[0] = td->td_proc->p_pid; EMUL_RUNLOCK(&emul_lock); ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#10 (text+ko) ==== @@ -109,13 +109,13 @@ extern void linux_proc_exit(void *, struct proc *, struct image_params *); extern void linux_proc_exec(void *, struct proc *, struct image_params *); -extern void linux_userret(void *, struct proc *); +extern void linux_schedtail(void *, struct proc *); extern struct rwlock emul_lock; extern LIST_HEAD(futex_list, futex) futex_list; extern struct mtx futex_mtx; static eventhandler_tag linux_exit_tag; -static eventhandler_tag linux_userret_tag; +static eventhandler_tag linux_schedtail_tag; static eventhandler_tag linux_exec_tag; /* @@ -926,7 +926,7 @@ mtx_init(&futex_mtx, "futex protection lock", NULL, MTX_DEF); linux_exit_tag = EVENTHANDLER_REGISTER(process_exit, linux_proc_exit, NULL, 1000); - linux_userret_tag = EVENTHANDLER_REGISTER(userret, linux_userret, + linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail, linux_schedtail, NULL, 1000); linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec, NULL, 1000); @@ -954,7 +954,7 @@ rw_destroy(&emul_lock); mtx_destroy(&futex_mtx); EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag); - EVENTHANDLER_DEREGISTER(userret, linux_userret_tag); + EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag); EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag); break; default: ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/kern_fork.c#3 (text+ko) ==== @@ -831,6 +831,8 @@ kthread_exit(0); } mtx_assert(&Giant, MA_NOTOWNED); + + EVENTHANDLER_INVOKE(schedtail, p); } /* ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/subr_trap.c#4 (text+ko) ==== @@ -59,7 +59,6 @@ #include #include #include -#include #ifdef KTRACE #include #include @@ -129,8 +128,6 @@ addupc_task(td, TRAPF_PC(frame), td->td_pticks * psratio); } - EVENTHANDLER_INVOKE(userret, p); - /* * Let the scheduler adjust our priority etc. */ ==== //depot/projects/soc2006/rdivacky_linuxolator/sys/eventhandler.h#4 (text+ko) ==== @@ -176,6 +176,6 @@ EVENTHANDLER_DECLARE(nmbclusters_change, uma_zone_chfn); EVENTHANDLER_DECLARE(maxsockets_change, uma_zone_chfn); -typedef void(*userret_fn)(void *, struct proc *); -EVENTHANDLER_DECLARE(userret, userret_fn); +typedef void(*schedtail_fn)(void *, struct proc *); +EVENTHANDLER_DECLARE(schedtail, schedtail_fn); #endif /* SYS_EVENTHANDLER_H */ From owner-p4-projects@FreeBSD.ORG Sat Jul 22 11:25:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E57116A4E7; Sat, 22 Jul 2006 11:25:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 41A2916A4DE; Sat, 22 Jul 2006 11:25:38 +0000 (UTC) (envelope-from flag@oltrelinux.com) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9696243D49; Sat, 22 Jul 2006 11:25:37 +0000 (GMT) (envelope-from flag@oltrelinux.com) Received: from krisma.oltrelinux.com (krisma [127.0.0.1]) by mail.oltrelinux.com (Postfix) with ESMTP id DF38511AE76; Sat, 22 Jul 2006 13:25:33 +0200 (CEST) Received: from host226-204.pool8717.interbusiness.it ([87.17.204.226]) (SquirrelMail authenticated user flag@oltrelinux.com) by krisma.oltrelinux.com with HTTP; Sat, 22 Jul 2006 13:25:33 +0200 (CEST) Message-ID: <24452.87.17.204.226.1153567533.squirrel@krisma.oltrelinux.com> In-Reply-To: <44C13A13.7070307@samsco.org> References: <200607211021.k6LALOmp039359@repoman.freebsd.org> <44C13A13.7070307@samsco.org> Date: Sat, 22 Jul 2006 13:25:33 +0200 (CEST) From: flag@oltrelinux.com To: "Scott Long" User-Agent: SquirrelMail/1.4.4 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Perforce Change Reviews , Paolo Pisati Subject: Re: PERFORCE change 102049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 11:25:38 -0000 > Paolo Pisati wrote: >> http://perforce.freebsd.org/chv.cgi?CH=102049 >> >> Change 102049 by piso@piso_longino on 2006/07/21 10:21:18 >> >> Axe INTR_FAST. >> >> Affected files ... >> >> .. //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 edit >> .. //depot/projects/soc2006/intr_filter/dev/adlink/adlink.c#4 edit >> .. //depot/projects/soc2006/intr_filter/dev/cy/cy_isa.c#4 edit >> .. //depot/projects/soc2006/intr_filter/dev/cy/cy_pci.c#5 edit >> >> Differences ... >> >> ==== //depot/projects/soc2006/intr_filter/dev/aac/aac.c#4 (text+ko) ==== >> >> @@ -312,7 +312,7 @@ >> } >> } else { >> if (bus_setup_intr(sc->aac_dev, sc->aac_irq, >> - INTR_FAST|INTR_TYPE_BIO, >> + INTR_TYPE_BIO, >> aac_fast_intr, NULL, >> sc, &sc->aac_intr)) { >> device_printf(sc->aac_dev, >> > > AAC uses the same INTR_FAST + taskqueue scheme that if_em did. > > Scott yep, but in this case i kept it like a filter_only + private taskqueue driver, so no need to worry about MPSAFE. P. From owner-p4-projects@FreeBSD.ORG Sat Jul 22 11:39:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22A1416A4E0; Sat, 22 Jul 2006 11:39:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DCD3116A4DD for ; Sat, 22 Jul 2006 11:39:34 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A811B43D46 for ; Sat, 22 Jul 2006 11:39:34 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MBdYM9029424 for ; Sat, 22 Jul 2006 11:39:34 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MBdYOX029421 for perforce@freebsd.org; Sat, 22 Jul 2006 11:39:34 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sat, 22 Jul 2006 11:39:34 GMT Message-Id: <200607221139.k6MBdYOX029421@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 102135 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 11:39:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=102135 Change 102135 by rdivacky@rdivacky_witten on 2006/07/22 11:39:07 Fix the timeout_hz counting. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_futex.c#6 edit Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_futex.c#6 (text+ko) ==== @@ -117,9 +117,24 @@ td->td_proc->p_pid, args->val, args->uaddr, val, timeout.tv_sec, timeout.tv_nsec); #endif - tv.tv_usec = timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000; + tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000; timeout_hz = tvtohz(&tv); + if (timeout.tv_sec == 0 && timeout.tv_nsec == 0) + timeout_hz = 0; + /* + * If the user process requests a non null timeout, + * make sure we do not turn it into an infinite + * timeout because timeout_hz gets null. + * + * We use a minimal timeout of 1/hz. Mayve it would + * make sense to just return ETIMEDOUT without sleeping. + */ + if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) && + (timeout_hz == 0)) + timeout_hz = 1; + + f = futex_get(args->uaddr); ret = futex_sleep(f, td, timeout_hz); futex_put(f); From owner-p4-projects@FreeBSD.ORG Sat Jul 22 11:51:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09D4A16A4E0; Sat, 22 Jul 2006 11:51:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8B2516A4DE for ; Sat, 22 Jul 2006 11:51:50 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A6CE443D45 for ; Sat, 22 Jul 2006 11:51:50 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MBpoR4030088 for ; Sat, 22 Jul 2006 11:51:50 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MBpoLS030085 for perforce@freebsd.org; Sat, 22 Jul 2006 11:51:50 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 11:51:50 GMT Message-Id: <200607221151.k6MBpoLS030085@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 11:51:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=102136 Change 102136 by piso@piso_longino on 2006/07/22 11:51:17 use IF_FAST macro instead of checking for INTR_FAST in flags, and place a comment about bus-related data struct that don't record the filter function. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#3 edit .. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbbvar.h#3 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#3 (text+ko) ==== @@ -361,7 +361,7 @@ * least common denominator until the base system supports mixing * and matching better. */ - if ((flags & INTR_FAST) != 0) + if (IS_FAST(filter, intr)) return (EINVAL); ih = malloc(sizeof(struct cbb_intrhand), M_DEVBUF, M_NOWAIT); if (ih == NULL) ==== //depot/projects/soc2006/intr_filter/dev/pccbb/pccbbvar.h#3 (text+ko) ==== @@ -31,7 +31,14 @@ * Structure definitions for the Cardbus Bridge driver */ +/* + * XXX this structure and all the code that manipulates + * it don't support interrupt filter model. + */ struct cbb_intrhand { +#if 0 + driver_filter_t *filter; +#endif driver_intr_t *intr; void *arg; struct cbb_softc *sc; From owner-p4-projects@FreeBSD.ORG Sat Jul 22 11:53:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BD0D16A4E1; Sat, 22 Jul 2006 11:53:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5858216A4DE for ; Sat, 22 Jul 2006 11:53:54 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CDB1D43D49 for ; Sat, 22 Jul 2006 11:53:53 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MBrrne030201 for ; Sat, 22 Jul 2006 11:53:53 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MBrr7a030197 for perforce@freebsd.org; Sat, 22 Jul 2006 11:53:53 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 11:53:53 GMT Message-Id: <200607221153.k6MBrr7a030197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102137 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 11:53:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=102137 Change 102137 by piso@piso_longino on 2006/07/22 11:53:20 Updated. Affected files ... .. //depot/projects/soc2006/intr_filter/notes#7 edit Differences ... ==== //depot/projects/soc2006/intr_filter/notes#7 (text+ko) ==== @@ -23,6 +23,10 @@ accessing the hw registers. The simplest solution would employ a spin lock, but i'm wondering about the performance penalty... ++ Review all the functions that override bus_generic_setup_intr() + and are unaware of filter model (tipically they record in a struct + just the *intr function and not the filter...) + Interrupt filters: - First Pass: filters exist, but you only get one or the other; also, each threaded handler has its own ithread. Also, this will probably break the From owner-p4-projects@FreeBSD.ORG Sat Jul 22 12:11:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A212616A4DD; Sat, 22 Jul 2006 12:11:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 64D2A16A4DF for ; Sat, 22 Jul 2006 12:11:23 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C541143D70 for ; Sat, 22 Jul 2006 12:11:16 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MCBGXi032345 for ; Sat, 22 Jul 2006 12:11:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MCBGAM032342 for perforce@freebsd.org; Sat, 22 Jul 2006 12:11:16 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 12:11:16 GMT Message-Id: <200607221211.k6MCBGAM032342@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102139 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 12:11:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=102139 Change 102139 by piso@piso_longino on 2006/07/22 12:10:36 Use IF_FAST macro instead of testing for INTR_FAST in flags. Affected files ... .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#6 edit Differences ... ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#6 (text+ko) ==== @@ -300,7 +300,7 @@ * instead from intr_execute_handlers: with interrupt filters in * place, they won't work, to be fixed. */ - intr_setup(flags & INTR_FAST ? PIL_FAST : PIL_ITHREAD, intr_fast, vec, + intr_setup(IS_FAST(filter, handler) ? PIL_FAST : PIL_ITHREAD, intr_fast, vec, intr_execute_handlers, iv); intr_stray_count[vec] = 0; From owner-p4-projects@FreeBSD.ORG Sat Jul 22 12:17:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6412916A4E0; Sat, 22 Jul 2006 12:17:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 267A216A4DF for ; Sat, 22 Jul 2006 12:17:27 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D63BC43D5C for ; Sat, 22 Jul 2006 12:17:24 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MCHOQL032623 for ; Sat, 22 Jul 2006 12:17:24 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MCHOTe032620 for perforce@freebsd.org; Sat, 22 Jul 2006 12:17:24 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 12:17:24 GMT Message-Id: <200607221217.k6MCHOTe032620@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102140 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 12:17:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=102140 Change 102140 by piso@piso_longino on 2006/07/22 12:17:03 Use IF_FAST() instead of testing INTR_FAST in flags. Affected files ... .. //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#6 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#6 (text) ==== @@ -510,14 +510,14 @@ return (EINVAL); /* Interrupt handlers must be FAST or MPSAFE. */ - if ((flags & (INTR_FAST|INTR_MPSAFE)) == 0) + if (!(IS_FAST(filter, handler)) || ((flags & INTR_MPSAFE) == 0)) return (EINVAL); sc = device_get_softc(dev); if (sc->sc_polled) return (ENXIO); - if (sc->sc_fastintr && !(flags & INTR_FAST)) { + if (sc->sc_fastintr && !(IS_FAST(filter, handler))) { sc->sc_fastintr = 0; for (c = 0; c < sc->sc_class->cl_channels; c++) { ch = &sc->sc_chan[c]; @@ -532,7 +532,7 @@ m = device_get_ivars(child); m->m_hasintr = 1; - m->m_fastintr = (flags & INTR_FAST) ? 1 : 0; + m->m_fastintr = IS_FAST(filter, handler) ? 1 : 0; m->ih = ihand; m->ih_arg = arg; From owner-p4-projects@FreeBSD.ORG Sat Jul 22 12:33:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD66016A4E1; Sat, 22 Jul 2006 12:33:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9561416A4DD for ; Sat, 22 Jul 2006 12:33:45 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6313F43D64 for ; Sat, 22 Jul 2006 12:33:45 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MCXjbl033394 for ; Sat, 22 Jul 2006 12:33:45 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MCXjIL033391 for perforce@freebsd.org; Sat, 22 Jul 2006 12:33:45 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 12:33:45 GMT Message-Id: <200607221233.k6MCXjIL033391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 12:33:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=102141 Change 102141 by piso@piso_longino on 2006/07/22 12:33:15 Use IF_FAST macro instead of directly checking flags, and axe an INTR_FAST check in swi_add(): is it possible for a software interrupt handler to have INTR_FAST defined? did it make sense at all? Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#10 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#10 (text+ko) ==== @@ -370,7 +370,7 @@ intr_event_update(ie); /* Create a thread if we need one. */ - while (ie->ie_thread == NULL && !(flags & INTR_FAST)) { + while (ie->ie_thread == NULL && !IS_FAST(filter, handler)) { if (ie->ie_flags & IE_ADDING_THREAD) msleep(ie, &ie->ie_lock, 0, "ithread", 0); else { @@ -551,7 +551,13 @@ struct intr_event *ie; int error; - if (flags & (INTR_FAST | INTR_ENTROPY)) +#if 0 + // XXX a software intr handler with INTR_FAST?!?!?!? + if (flags & (INTR_FAST | INTR_ENTROPY)) + return (EINVAL); +#endif + + if (flags & INTR_ENTROPY) return (EINVAL); ie = (eventp != NULL) ? *eventp : NULL; From owner-p4-projects@FreeBSD.ORG Sat Jul 22 12:37:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7604F16A4E9; Sat, 22 Jul 2006 12:37:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 52A9316A4E0 for ; Sat, 22 Jul 2006 12:37:51 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FCD643D45 for ; Sat, 22 Jul 2006 12:37:51 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MCboct033575 for ; Sat, 22 Jul 2006 12:37:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MCbo45033572 for perforce@freebsd.org; Sat, 22 Jul 2006 12:37:50 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 12:37:50 GMT Message-Id: <200607221237.k6MCbo45033572@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102142 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 12:37:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=102142 Change 102142 by piso@piso_longino on 2006/07/22 12:37:38 Use IF_FAST instead of checking for INTR_FAST in flags. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/subr_bus.c#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/subr_bus.c#5 (text+ko) ==== @@ -3446,11 +3446,11 @@ error = BUS_SETUP_INTR(dev->parent, dev, r, flags, filter, handler, arg, cookiep); if (error == 0) { - if (!(flags & (INTR_MPSAFE | INTR_FAST))) + if (!IS_FAST(filter, handler) && !(flags & INTR_MPSAFE)) device_printf(dev, "[GIANT-LOCKED]\n"); if (bootverbose && (flags & INTR_MPSAFE)) device_printf(dev, "[MPSAFE]\n"); - if (flags & INTR_FAST) + if (IS_FAST(filter, handler)) device_printf(dev, "[FAST]\n"); } } else From owner-p4-projects@FreeBSD.ORG Sat Jul 22 12:38:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1786316A4E2; Sat, 22 Jul 2006 12:38:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CFD7816A4E0 for ; Sat, 22 Jul 2006 12:38:53 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCBA743D70 for ; Sat, 22 Jul 2006 12:38:52 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MCcqAD033628 for ; Sat, 22 Jul 2006 12:38:52 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MCcqnh033625 for perforce@freebsd.org; Sat, 22 Jul 2006 12:38:52 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 12:38:52 GMT Message-Id: <200607221238.k6MCcqnh033625@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102143 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 12:38:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=102143 Change 102143 by piso@piso_longino on 2006/07/22 12:38:49 And, finally, retire INTR_FAST. Affected files ... .. //depot/projects/soc2006/intr_filter/sys/bus.h#5 edit Differences ... ==== //depot/projects/soc2006/intr_filter/sys/bus.h#5 (text+ko) ==== @@ -188,7 +188,6 @@ INTR_TYPE_MISC = 16, INTR_TYPE_CLK = 32, INTR_TYPE_AV = 64, - INTR_FAST = 128, INTR_EXCL = 256, /* exclusive interrupt */ INTR_MPSAFE = 512, /* this interrupt is SMP safe */ INTR_ENTROPY = 1024 /* this interrupt provides entropy */ From owner-p4-projects@FreeBSD.ORG Sat Jul 22 13:07:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A69E16A4DF; Sat, 22 Jul 2006 13:07:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D68016A4DD for ; Sat, 22 Jul 2006 13:07:31 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D2A5443D49 for ; Sat, 22 Jul 2006 13:07:30 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MD7UrG044026 for ; Sat, 22 Jul 2006 13:07:30 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MD7UdR044023 for perforce@freebsd.org; Sat, 22 Jul 2006 13:07:30 GMT (envelope-from piso@freebsd.org) Date: Sat, 22 Jul 2006 13:07:30 GMT Message-Id: <200607221307.k6MD7UdR044023@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 102145 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 13:07:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=102145 Change 102145 by piso@piso_longino on 2006/07/22 13:07:21 compilation Affected files ... .. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#4 edit .. //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#7 edit .. //depot/projects/soc2006/intr_filter/kern/subr_bus.c#6 edit Differences ... ==== //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#4 (text+ko) ==== @@ -84,6 +84,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#7 (text) ==== @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -498,7 +499,7 @@ int scc_bus_setup_intr(device_t dev, device_t child, struct resource *r, int flags, - driver_filter_t *filter __unused, void (*ihand)(void *), void *arg, + driver_filter_t *filter, void (*ihand)(void *), void *arg, void **cookiep) { struct scc_chan *ch; @@ -510,14 +511,14 @@ return (EINVAL); /* Interrupt handlers must be FAST or MPSAFE. */ - if (!(IS_FAST(filter, handler)) || ((flags & INTR_MPSAFE) == 0)) + if (!(IS_FAST(filter, ihand)) || ((flags & INTR_MPSAFE) == 0)) return (EINVAL); sc = device_get_softc(dev); if (sc->sc_polled) return (ENXIO); - if (sc->sc_fastintr && !(IS_FAST(filter, handler))) { + if (sc->sc_fastintr && !(IS_FAST(filter, ihand))) { sc->sc_fastintr = 0; for (c = 0; c < sc->sc_class->cl_channels; c++) { ch = &sc->sc_chan[c]; @@ -532,7 +533,7 @@ m = device_get_ivars(child); m->m_hasintr = 1; - m->m_fastintr = IS_FAST(filter, handler) ? 1 : 0; + m->m_fastintr = IS_FAST(filter, ihand) ? 1 : 0; m->ih = ihand; m->ih_arg = arg; ==== //depot/projects/soc2006/intr_filter/kern/subr_bus.c#6 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include From owner-p4-projects@FreeBSD.ORG Sat Jul 22 19:18:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28D0116A4E5; Sat, 22 Jul 2006 19:18:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0448D16A4DA; Sat, 22 Jul 2006 19:18:15 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id C806743D5A; Sat, 22 Jul 2006 19:18:10 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.14] (imini.samsco.home [192.168.254.14]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k6MJI1ig033094; Sat, 22 Jul 2006 13:18:06 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44C279E9.9060002@samsco.org> Date: Sat, 22 Jul 2006 13:18:01 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.7) Gecko/20050416 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Paolo Pisati References: <200607221233.k6MCXjIL033391@repoman.freebsd.org> In-Reply-To: <200607221233.k6MCXjIL033391@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: Perforce Change Reviews Subject: Re: PERFORCE change 102141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 19:18:15 -0000 Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=102141 > > Change 102141 by piso@piso_longino on 2006/07/22 12:33:15 > > Use IF_FAST macro instead of directly checking flags, > and axe an INTR_FAST check in swi_add(): is it possible > for a software interrupt handler to have INTR_FAST defined? > did it make sense at all? > An swi is an ithread by definition, so INTR_FAST makes no sense to it. Scott From owner-p4-projects@FreeBSD.ORG Sat Jul 22 19:26:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD66016A4E5; Sat, 22 Jul 2006 19:26:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B666416A4E0 for ; Sat, 22 Jul 2006 19:26:42 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C1D443D45 for ; Sat, 22 Jul 2006 19:26:42 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6MJQg1W078076 for ; Sat, 22 Jul 2006 19:26:42 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6MJQfeZ078073 for perforce@freebsd.org; Sat, 22 Jul 2006 19:26:41 GMT (envelope-from bushman@freebsd.org) Date: Sat, 22 Jul 2006 19:26:41 GMT Message-Id: <200607221926.k6MJQfeZ078073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 102159 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 19:26:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=102159 Change 102159 by bushman@bushman_nss_ldap_cached on 2006/07/22 19:26:38 Support for "groups" database added (RFC2307 only). Stubs for "services" added. Some minor changes made. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_serv.c#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_serv.h#1 add .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#5 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/Makefile#5 (text+ko) ==== @@ -8,8 +8,8 @@ #SHLIB_NAME= nss_ldap.so.${SHLIB_MAJOR} #SHLIBDIR?= /lib -SRCS= nss_ldap.c ldap_passwd.c ldapconn.c ldapconf.c ldapschema.c \ - ldapsearch.c ldaptls.c ldaputil.c +SRCS= nss_ldap.c ldap_group.c ldap_passwd.c ldap_serv.c ldapconn.c\ + ldapconf.c ldapschema.c ldapsearch.c ldaptls.c ldaputil.c CFLAGS+=-I${.CURDIR}/../libnssutil -I/usr/local/include CFLAGS+=-DINET6 CFLAGS+=-g ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.c#4 (text+ko) ==== @@ -1,0 +1,300 @@ +/*- + * Copyright (c) 2006 Michael Bushkov + * 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. + * + */ + + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include "ldapconn.h" +#include "ldapschema.h" +#include "ldapsearch.h" +#include "ldaptls.h" +#include "ldaputil.h" +#include "ldapconf.h" +#include "nss_ldap.h" + +static int +nss_ldap_parse_group(struct nss_ldap_parse_context *pctx) +{ + struct nss_ldap_schema *schema; + struct nss_ldap_search_context *sctx; + struct group *grp; + char *buf; + size_t buflen; + size_t len, memlen; + int rv; + + assert(pctx != NULL); + + sctx = pctx->sctx; + grp = (struct group *)pctx->mdata; + buf = pctx->buffer; + buflen = pctx->bufsize; + + schema = &sctx->conf->schema; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_gid(sctx, + _ATM(schema, GROUP, gidNumber), + &grp->gr_gid); + if (rv != 0) + goto errfin; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_rdn_str(sctx, + _ATM(schema, GROUP, cn), + &grp->gr_name, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_password(sctx, + _ATM(schema, GROUP, userPassword), + &grp->gr_passwd, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_multi_str(sctx, + _ATM(schema, GROUP, memberUid), + &grp->gr_mem, &memlen, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("%s %d\n", __FILE__, __LINE__); +fin: + return (0); + +errfin: + return (-1); +/* + + if (_nss_ldap_test_config_flag (NSS_LDAP_FLAGS_RFC2307BIS)) + { + groupMembers = groupMembersBuffer; + groupMembersCount = 0; + groupMembersBufferSize = sizeof (groupMembers); + groupMembersBufferIsMalloced = 0; + depth = 0; + + stat = do_parse_group_members (e, &groupMembers, &groupMembersCount, + &groupMembersBufferSize, + &groupMembersBufferIsMalloced, &buffer, + &buflen, &depth, &knownGroups); + if (stat != NSS_SUCCESS) + { + if (groupMembersBufferIsMalloced) + free (groupMembers); + _nss_ldap_namelist_destroy (&knownGroups); + return stat; + } + + stat = do_fix_group_members_buffer (groupMembers, groupMembersCount, + &gr->gr_mem, &buffer, &buflen); + + if (groupMembersBufferIsMalloced) + free (groupMembers); + _nss_ldap_namelist_destroy (&knownGroups); + } + else + { + stat = + _nss_ldap_assign_attrvals (e, ATM (LM_GROUP, memberUid), NULL, + &gr->gr_mem, &buffer, &buflen, NULL); + } + + return stat;*/ + +/* sctx = pctx->sctx; + pwd = (struct passwd *)pctx->mdata; + buf = pctx->buffer; + buflen = pctx->bufsize; + + schema = &sctx->conf->schema; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_str(sctx, + _ATM(schema, PASSWD, uid), + &pwd->pw_name, &len, buf, buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_uid(sctx, + _AT(schema, uidNumber), + &pwd->pw_uid); + if (rv != 0) + goto errfin; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, gecos), + &pwd->pw_gecos, &len, buf, buflen); + if (rv != 0) { + pwd->pw_gecos = NULL; + rv = __nss_ldap_assign_attr_str(sctx, + _ATM(schema, PASSWD, cn), + &pwd->pw_gecos, &len, buf, buflen); + } + + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, homeDirectory), + &pwd->pw_dir, &len, buf, buflen); + if (rv != 0) + rv = __nss_ldap_assign_str("", &pwd->pw_dir, &len, buf, + buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + + printf("==> %d %s\n", __LINE__, __FILE__); + rv = __nss_ldap_assign_attr_str(sctx, + _AT(schema, loginShell), + &pwd->pw_shell, &len, buf, buflen); + if (rv != 0) + rv = __nss_ldap_assign_str("", &pwd->pw_shell, &len, buf, + buflen); + if (rv != 0) + goto errfin; + buflen -= len; + buf += len; + +fin: + return (0); + +errfin:*/ +} + +int +ldap_getgrnam_r(const char *name, struct group *grp, + char *buffer, size_t bufsize, struct group **result) +{ + char filter[NSS_LDAP_FILTER_MAX_SIZE]; + char const *fmt; + int rv; + + fmt = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETGRNAM); + if (fmt == NULL) + return (NS_UNAVAIL); + + __nss_ldap_format_filter(fmt, NSS_LDAP_FILTER_ARGS_STR, filter, + sizeof(filter), name); + + rv = __nss_ldap_getby(NSS_LDAP_MAP_GROUP, filter, (void *)grp, + buffer, bufsize, nss_ldap_parse_group); + + if (rv == NS_SUCCESS) + *result = grp; + + return (rv); +} + +int +ldap_getgrgid_r(gid_t gid, struct group *grp, + char *buffer, size_t bufsize, struct group **result) +{ + char filter[NSS_LDAP_FILTER_MAX_SIZE]; + char const *fmt; + int rv; + + fmt = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETGRGID); + if (fmt == NULL) + return (NS_UNAVAIL); + + __nss_ldap_format_filter(fmt, NSS_LDAP_FILTER_ARGS_GID, filter, + sizeof(filter), gid); + + rv = __nss_ldap_getby(NSS_LDAP_MAP_GROUP, filter, (void *)grp, + buffer, bufsize, nss_ldap_parse_group); + + if (rv == NS_SUCCESS) + *result = grp; + + return (rv); +} + +int +ldap_getgrent_r(struct group *grp, char *buffer, size_t bufsize, + struct group **result) +{ + char const *filter; + int rv; + + filter = __nss_ldap_get_schema_filter(&__nss_ldap_conf->schema, + NSS_LDAP_FILTER_GETGRENT); + if (filter == NULL) + return (NS_UNAVAIL); + + rv = __nss_ldap_getent(NSS_LDAP_MAP_GROUP, filter, (void *)grp, + buffer, bufsize, nss_ldap_parse_group); + + if (rv == NS_SUCCESS) + *result = grp; + + return (rv); +} + +void +ldap_setgrent() +{ + + __nss_ldap_setent(NSS_LDAP_MAP_GROUP); +} + + +int +__ldap_setgrpent(void *retval, void *mdata, va_list ap) +{ + return (NS_UNAVAIL); +} + +int +__ldap_group(void *retval, void *mdata, va_list ap) +{ + return (NS_UNAVAIL); +} ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_group.h#4 (text+ko) ==== @@ -1,0 +1,47 @@ +/*- + * Copyright (c) 2006 Michael Bushkov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _LDAP_GROUP_H_ +#define _LDAP_GROUP_H_ + +int +ldap_getgrnam_r(const char *name, struct group *grp, + char *buffer, size_t bufsize, struct group **result); +int +ldap_getgrgid_r(gid_t gid, struct group *grp, + char *buffer, size_t bufsize, struct group **result); +int +ldap_getgrent_r(struct group *grp, char *buffer, size_t bufsize, + struct group **result); +void +ldap_setgrent(); + +extern int __ldap_setgrent(void *, void *, va_list); +extern int __ldap_group(void *, void *, va_list); + +#endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.c#5 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldap_passwd.h#5 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.c#5 (text+ko) ==== @@ -98,6 +98,9 @@ else if (strcmp(left_arg, "group") == 0) rv = __nss_ldap_set_schema_filter_base(&conf->schema, NSS_LDAP_MAP_GROUP, right_arg); + else if (strcmp(left_arg, "service") == 0) + rv = __nss_ldap_set_schema_filter_base(&conf->schema, + NSS_LDAP_MAP_SERVICE, right_arg); return (rv); } @@ -138,7 +141,7 @@ conf->port = LDAP_PORT; conf->proto_version = NSS_LDAP_PROTO_VERSION_3; - conf->ssl_mode = NSS_LDAP_SSL_START_TLS; + conf->ssl_mode = NSS_LDAP_SSL_OFF;//NSS_LDAP_SSL_START_TLS; conf->bind_dn = strdup( "uid=nssproxy,ou=Users,ou=LDAPAccess,ou=Domains,dc=r61,dc=net"); @@ -150,7 +153,8 @@ conf->bind_pw = strdup("[passwd]"); assert(conf->bind_pw != NULL); - __nss_ldap_init_start_tls_simple_auth_method(&conf->connection_method); + //__nss_ldap_init_start_tls_simple_auth_method(&conf->connection_method); + __nss_ldap_init_simple_auth_method(&conf->connection_method); __nss_ldap_init_default_search_method(&conf->search_method); __nss_ldap_init_default_tls_method(&conf->tls_method); } ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconf.h#5 (text+ko) ==== @@ -61,7 +61,7 @@ char *root_bind_dn; char *bind_dn; - char *bind_pw; + char *bind_pw; struct nss_ldap_schema schema; ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.c#5 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapconn.h#5 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.c#5 (text+ko) ==== @@ -125,6 +125,21 @@ NSS_LDAP_FILTER_MAX_SIZE, "(&(objectclass=%s))", _OC(schema, posixGroup)); + + snprintf(schema->filters[NSS_LDAP_FILTER_GETSERVBYNAME], + NSS_LDAP_FILTER_MAX_SIZE, + "(&(objectclass=%s)(%s=%s)(%s=%s))", + _OC(schema, ipServices), _ATM(schema, SERVICES, cn), "%s", + _AT(schema, ipServiceProtocol), "%s"); + snprintf(schema->filters[NSS_LDAP_FILTER_GETSERVBYPORT], + NSS_LDAP_FILTER_MAX_SIZE, + "(&(objectclass=%s)(%s=%s)(%s=%s))", + _OC(schema, ipServices), _AT(schema, ipServicePort), "%d", + _AT(schema, ipServiceProtocol), "%s"); + snprintf(schema->filters[NSS_LDAP_FILTER_GETSERVENT], + NSS_LDAP_FILTER_MAX_SIZE, + "(objectclass=%s)", + _OC(schema, ipServices)); } void ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapschema.h#5 (text+ko) ==== @@ -40,7 +40,8 @@ #define NSS_LDAP_MAP_NONE 0 #define NSS_LDAP_MAP_PASSWD 1 #define NSS_LDAP_MAP_GROUP 2 -#define NSS_LDAP_MAP_MAX 3 +#define NSS_LDAP_MAP_SERVICE 3 +#define NSS_LDAP_MAP_MAX 4 #define NSS_LDAP_FILTER_GETPWNAM 0 #define NSS_LDAP_FILTER_GETPWUID 1 @@ -48,7 +49,10 @@ #define NSS_LDAP_FILTER_GETGRNAM 3 #define NSS_LDAP_FILTER_GETGRGID 4 #define NSS_LDAP_FILTER_GETGRENT 5 -#define NSS_LDAP_FILTER_MAX_ID 6 +#define NSS_LDAP_FILTER_GETSERVBYNAME 6 +#define NSS_LDAP_FILTER_GETSERVBYPORT 7 +#define NSS_LDAP_FILTER_GETSERVENT 8 +#define NSS_LDAP_FILTER_MAX_ID 9 #define _AT(schema, at)\ (__nss_ldap_get_attribute(schema, NSS_LDAP_MAP_NONE, #at)) ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#4 (text+ko) ==== @@ -123,6 +123,7 @@ assert(ctx != NULL); + printf("%s %d\n", __FILE__, __LINE__); if (ctx->msgid == -1) { ctx->msg = NULL; return (0); @@ -134,6 +135,7 @@ rv = ldap_result( ctx->conn->ld, ctx->msgid, LDAP_MSG_ONE, &zerotime, &ctx->msg); + printf("%s %d %d %d\n", __FILE__, __LINE__, rv, LDAP_RES_SEARCH_ENTRY); switch (rv) { case -1: return (-1); @@ -310,6 +312,43 @@ } int +__nss_ldap_assign_rdn_str(struct nss_ldap_search_context *sctx, + char const *type, char **str, size_t *len, char *buf, size_t bufsize) +{ + char **values, **viter, *res, *rdn; + size_t type_len; + int rv; + + assert(rdn != NULL); + assert(type != NULL); + assert(str != NULL); + assert(len != NULL); + assert(buf != NULL); + + rdn = ldap_get_dn(sctx->conn->ld, sctx->msg); + if (rdn == NULL) + return (-1); + + rv = -1; + values = ldap_explode_rdn(rdn, 0); + if (values != NULL) { + type_len = strlen(type); + for (viter = values; *viter; ++viter) + if ((strncmp(*viter, type, type_len) == 0) && + (*(*viter + type_len) != '\0')) { + res = *viter + type_len + 1; + rv = __nss_ldap_assign_str(res, str, len, buf, + bufsize); + break; + } + + ldap_value_free(values); + } + + return (rv); +} + +int __nss_ldap_assign_attr_str(struct nss_ldap_search_context *ctx, char const *attr, char **str, size_t *len, char *buf, size_t bufsize) { @@ -360,7 +399,7 @@ char const *attr, char ***str_array, size_t *str_array_size, size_t *len, char *buf, size_t bufsize) { - char **values, **viter; + char **values, **viter, **siter; size_t size, valsize; int rv; @@ -372,38 +411,44 @@ assert(buf != NULL); values = (char **)ldap_get_values(ctx->conn->ld, ctx->msg, attr); - if (values == NULL) { - /* TODO: proper error handling */ - return (-1); - } + valsize = values == NULL ? 0 : ldap_count_values(values); + + siter = (char **)ALIGN(buf); + + *str_array = siter; + *str_array_size = valsize + 1; + *len = sizeof(char *) * (*str_array_size); - valsize = ldap_count_values(values); - - *str_array = (char **)ALIGN(buf); - *len = sizeof(char *) * valsize; - if ((char *)(*str_array) + *len > buf + bufsize) { + if ((char *)siter + *len > buf + bufsize) { /* TODO: proper error handling */ ldap_value_free(values); return (-1); } - buf = (char *)(*str_array) + (*len); - bufsize -= (*len); - - for (viter = values; *viter; ++viter, ++(*str_array)) { - rv = __nss_ldap_assign_str(*viter, *str_array, &size, - buf, bufsize); - if (rv == -1) { - /* TODO: proper error handling */ - ldap_value_free(values); - return (-1); + printf("== %s %d\n", __FILE__, __LINE__); + buf = (char *)siter + *len; + bufsize -= *len; + + printf("== %s %d\n", __FILE__, __LINE__); + if (values != NULL) { + for (viter = values; *viter; ++viter, ++siter) { + rv = __nss_ldap_assign_str(*viter, siter, &size, + buf, bufsize); + if (rv == -1) { + /* TODO: proper error handling */ + ldap_value_free(values); + return (-1); + } + + buf += size; + *len += size; + bufsize -= size; } - buf += size; - bufsize -= size; + ldap_value_free(values); } - - ldap_value_free(values); + + *siter = NULL; return (0); } @@ -496,38 +541,40 @@ char *pass; int rv; + pass = NULL; values = (char **)ldap_get_values(ctx->conn->ld, ctx->msg, attr); - if (values == NULL) - return (-1); - pass = NULL; - - /* NOTE: actually, we can insert a hook in the configuration file - * parser to avoid using strcmp() every time. But the approach - * below seems to be a bit cleaner */ - if (strcmp(attr, "userPassword") == 0) { - for (viter = values; *viter; ++viter) { - if (strncmp(*viter, "{CRYPT}", sizeof("{CRYPT}") - 1) == 0) { - pass = *viter + sizeof("{CRYPT}") - 1; - break; + if (values != NULL) { + /* NOTE: actually, we can insert a hook in the configuration file + * parser to avoid using strcmp() every time. But the approach + * below seems to be a bit cleaner */ + if (strcmp(attr, "userPassword") == 0) { + for (viter = values; *viter; ++viter) { + if (strncmp(*viter, "{CRYPT}", + sizeof("{CRYPT}") - 1) == 0) { + pass = *viter + sizeof("{CRYPT}") - 1; + break; + } } - } - } else if (strcmp(attr, "authPassword") == 0) { - for (viter = values; *viter; ++viter) { - if (strncmp(*viter, "CRYPT$", sizeof("CRYPT$") - 1) == 0) { - pass = *viter + sizeof("CRYPT$") - 1; - break; + } else if (strcmp(attr, "authPassword") == 0) { + for (viter = values; *viter; ++viter) { + if (strncmp(*viter, "CRYPT$", + sizeof("CRYPT$") - 1) == 0) { + pass = *viter + sizeof("CRYPT$") - 1; + break; + } } - } - } else - pass = *values; + } else + pass = *values; + } if (pass == NULL) - rv = -1; - else - rv = __nss_ldap_assign_str(pass, str, len, buf, bufsize); + pass = "*"; + + rv = __nss_ldap_assign_str(pass, str, len, buf, bufsize); - ldap_value_free(*values); + if (values != NULL) + ldap_value_free(values); return (rv); } ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.h#4 (text+ko) ==== @@ -63,7 +63,9 @@ void *mdata; char *buffer; - size_t bufsize; + size_t bufsize; + + int need_more; }; typedef struct nss_ldap_search_context *(*nss_ldap_start_search_fn)( @@ -109,6 +111,8 @@ extern int __nss_ldap_assign_str(char const *, char **, size_t *, char *, size_t); +extern int __nss_ldap_assign_rdn_str(struct nss_ldap_search_context *, + char const *, char **, size_t *, char *, size_t); extern int __nss_ldap_assign_attr_str(struct nss_ldap_search_context *, char const *, char **, size_t *, char *, size_t); extern int __nss_ldap_assign_attr_multi_str(struct nss_ldap_search_context *, ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.c#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaptls.h#3 (text+ko) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.c#5 (text+ko) ==== @@ -105,16 +105,24 @@ switch (type) { case NSS_LDAP_FILTER_ARGS_STR: + case NSS_LDAP_FILTER_ARGS_STR_ANY: s = va_arg(ap, char *); rv = __nss_ldap_escape_string(s, str, sizeof(str)); if (rv == 0) { - rv = snprintf(buffer, bufsize, fmt, str); + if (type == NSS_LDAP_FILTER_ARGS_STR) + rv = snprintf(buffer, bufsize, fmt, str); + else + rv = snprintf(buffer, bufsize, fmt, str, "*"); rv = (rv >= bufsize) ? -1 : 0; } break; case NSS_LDAP_FILTER_ARGS_INT: - num = va_arg(ap, int); - rv = snprintf(buffer, bufsize, fmt, num); + case NSS_LDAP_FITLER_ARGS_INT_ANY: + num = va_arg(ap, int); + if (type == NSS_LDAP_FILTER_ARGS_INT) + rv = snprintf(buffer, bufsize, fmt, num); + else + rv = snprintf(buffer, bufsize, fmt, num, "*"); rv = (rv >= bufsize) ? -1 : 0; break; case NSS_LDAP_FILTER_ARGS_UID: @@ -127,9 +135,27 @@ rv = snprintf(buffer, bufsize, fmt, gid); rv = (rv >= bufsize) ? -1 : 0; break; - case NSS_LDAP_FILTER_ARGS_STR_INT: + case + case NSS_LDAP_FILTER_ARGS_INT_STR: + num = va_arg(ap, int); + s = va_arg(ap, char *); + rv = __nss_ldap_escape_string(s, str, sizeof(str)); + if (rv == 0) { + rv = snprintf(buffer, bufsize, fmt, num, str); + rv = (rv >= bufsize) ? -1 : 0; + } break; case NSS_LDAP_FILTER_ARGS_STR_STR: + s = va_arg(ap, char *); + rv = __nss_ldap_escape_string(s, str, sizeof(str)); + if (rv == 0) { + s = va_arg(ap, char *); + rv = __nss_ldap_escape_string(s, str2, sizeof(str2)); + if (rv == 0) { + rv = snprintf(buffer, bufsize, fmt, str, str2); + rv = (rv >= bufsize) ? -1 : 0; + } + } break; default: break; ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldaputil.h#5 (text+ko) ==== @@ -33,8 +33,10 @@ #define NSS_LDAP_FILTER_ARGS_INT 1 #define NSS_LDAP_FILTER_ARGS_UID 2 #define NSS_LDAP_FILTER_ARGS_GID 3 -#define NSS_LDAP_FILTER_ARGS_STR_INT 4 +#define NSS_LDAP_FILTER_ARGS_INT_STR 4 #define NSS_LDAP_FILTER_ARGS_STR_STR 5 +#define NSS_LDAP_FILTER_ARGS_STR_ANY 6 +#define NSS_LDAP_FILTER_ARGS_INT_ANY 7 extern int __nss_ldap_escape_string(char const *, char *, size_t); extern int __nss_ldap_format_filter(char const *, int, char *, size_t, ...); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.c#5 (text+ko) ==== @@ -31,8 +31,10 @@ #include #include #include +#include +#include +#include #include -#include #include #include #include @@ -46,6 +48,8 @@ #include "nss_ldap.h" #include "ldap_passwd.h" +#include "ldap_group.h" +#include "ldap_serv.h" #define NSS_LDAP_CONF_PATH "/etc/nss_ldap.conf" @@ -61,6 +65,18 @@ {NSDB_PASSWD_COMPAT, "getpwent_r", __ldap_passwd, (void *)nss_lt_all}, {NSDB_PASSWD_COMPAT, "endpwent", __ldap_setpwent, (void *)nss_end_ent}, {NSDB_PASSWD_COMPAT, "setpwent", __ldap_setpwent, (void *)nss_set_ent} +/* + {NSDB_GROUP, "getpwnam_r", __ldap_group, (void *)nss_lt_name}, + {NSDB_GROUP, "getpwuid_r", __ldap_group, (void *)nss_lt_id}, + {NSDB_GROUP, "getpwent_r", __ldap_group, (void *)nss_lt_all}, + {NSDB_GROUP, "endpwent", __ldap_setgrent, (void *)nss_end_ent}, + {NSDB_GROUP, "setpwent", __ldap_setgrent, (void *)nss_set_ent}, + + {NSDB_GROUP_COMPAT, "getpwnam_r", __ldap_group, (void *)nss_lt_name}, + {NSDB_GROUP_COMPAT, "getpwuid_r", __ldap_group, (void *)nss_lt_id}, + {NSDB_GROUP_COMPAT, "getpwent_r", __ldap_group, (void *)nss_lt_all}, + {NSDB_GROUP_COMPAT, "endpwent", __ldap_setgrent, (void *)nss_end_ent}, + {NSDB_GROUP_COMPAT, "setpwent", __ldap_setgrent, (void *)nss_set_ent},*/ }; static pthread_rwlock_t nss_ldap_lock = PTHREAD_RWLOCK_INITIALIZER; @@ -271,12 +287,24 @@ goto fin; } - rv = __nss_ldap_parse_next(search_method, pctx); - if (rv != 0) { - /* TODO: proper error handling */ - rv = NS_NOTFOUND; - goto fin; - } + do { + pctx->need_more = 0; + rv = __nss_ldap_parse_next(search_method, pctx); + if (rv != 0) { + /* TODO: proper error handling */ + rv = NS_NOTFOUND; + goto fin; + } + + if (pctx->need_more != 0) { + rv = __nss_ldap_search_next(search_method, sctx); + if (rv != 0) { + /* TODO: proper error handling */ + rv = NS_NOTFOUND; + goto fin; + } + } + } while (pctx->need_more != 0); rv = NS_SUCCESS; @@ -490,6 +518,8 @@ char buffer[1024]; struct passwd pwd, *res; + struct group grp, *g_res; + struct servent serv, *s_res; printf("making request with getpwnam\n"); rv = ldap_getpwnam_r("os", &pwd, buffer, sizeof(buffer), &res); if (rv != NS_SUCCESS) @@ -523,6 +553,69 @@ res->pw_shell, res->pw_uid); } } + + printf("iterating through groups\n"); + rv = NS_SUCCESS; + while (rv == NS_SUCCESS) { + rv = ldap_getgrent_r(&grp, buffer, sizeof(buffer), &g_res); + if (rv != NS_SUCCESS) + printf("failed\n"); + else { + printf("%s %s %d:\n\t", g_res->gr_name, + g_res->gr_passwd, g_res->gr_gid); + + char **cp; + for (cp = g_res->gr_mem; *cp; ++cp) + printf("%s ", *cp); + printf("\n"); + } + } + + printf("\n\niterating through groups (2nd try)\n"); + ldap_setgrent(); + rv = NS_SUCCESS; + while (rv == NS_SUCCESS) { + rv = ldap_getgrent_r(&grp, buffer, sizeof(buffer), &g_res); + if (rv != NS_SUCCESS) + printf("failed\n"); + else { + printf("%s %s %d:\n\t", g_res->gr_name, + g_res->gr_passwd, g_res->gr_gid); + + char **cp; + for (cp = g_res->gr_mem; *cp; ++cp) + printf("%s ", *cp); + printf("\n"); + } + } + + printf("\n\nmaking request with getgrnam\n"); + rv = ldap_getgrnam_r("domadmins", &grp, buffer, sizeof(buffer), &g_res); + if (rv != NS_SUCCESS) + printf("failed\n"); + else { + printf("%s %s %d:\n\t", g_res->gr_name, + g_res->gr_passwd, g_res->gr_gid); + + char **cp; + for (cp = g_res->gr_mem; *cp; ++cp) + printf("%s ", *cp); + printf("\n"); + } + + printf("\n\nmaking request with getservbyname\n"); + rv = ldap_getservbyname_r("ssh", &serv, buffer, sizeof(buffer), &s_res); + if (rv != NS_SUCCESS) + printf("failed\n"); + else { + printf("%s %s %d:\n\t", s_res->s_name, + s_res->s_proto, s_res->s_port); + + char **cp; + for (cp = s_res->s_aliases; *cp; ++cp) + printf("%s ", *cp); + printf("\n"); + } /* char buf[14]; struct nss_ldap_connection_method method; ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/nss_ldap.h#5 (text+ko) ====