From owner-p4-projects@FreeBSD.ORG Sun Jun 21 03:12:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E49E41065672; Sun, 21 Jun 2009 03:12:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99389106564A for ; Sun, 21 Jun 2009 03:12:28 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 85B1E8FC08 for ; Sun, 21 Jun 2009 03:12:28 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L3CSOf018577 for ; Sun, 21 Jun 2009 03:12:28 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L3CSbD018575 for perforce@freebsd.org; Sun, 21 Jun 2009 03:12:28 GMT (envelope-from antab@FreeBSD.org) Date: Sun, 21 Jun 2009 03:12:28 GMT Message-Id: <200906210312.n5L3CSbD018575@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 164785 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 03:12:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164785 Change 164785 by antab@antab_farm on 2009/06/21 03:12:09 * Implement *setjmp/*longjmp * Implement pmap_change_wiring * Use vm_paddr_t for physical address * Disable usart1 PDC before entering debugger * Change SYSCALL() to use r0 instead of r8, needed for vararg syscalls some other small hacks Affected files ... .. //depot/projects/avr32/src/lib/libc/avr32/gen/_setjmp.S#2 edit .. //depot/projects/avr32/src/lib/libc/avr32/gen/setjmp.S#2 edit .. //depot/projects/avr32/src/lib/libc/avr32/gen/sigsetjmp.S#2 edit .. //depot/projects/avr32/src/lib/libc/avr32/sys/pipe.S#3 edit .. //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#20 edit .. //depot/projects/avr32/src/sys/avr32/avr32/trap.c#11 edit .. //depot/projects/avr32/src/sys/avr32/conf/NGW100.hints#3 edit .. //depot/projects/avr32/src/sys/avr32/include/asm.h#7 edit .. //depot/projects/avr32/src/sys/avr32/include/setjmp.h#2 edit .. //depot/projects/avr32/src/sys/dev/uart/uart_dev_atmel.c#7 edit Differences ... ==== //depot/projects/avr32/src/lib/libc/avr32/gen/_setjmp.S#2 (text+ko) ==== @@ -1,7 +1,10 @@ /*- - * Copyright (c) 2009 Arnar Mar Sig + * Copyright (c) 2009 The FreeBSD Foundation * All rights reserved. * + * This software was developed by Arnar Mar Sig under sponsorship from the + * FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -11,10 +14,10 @@ * 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND + * 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 REGENTS OR CONTRIBUTORS BE LIABLE + * 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) @@ -30,20 +33,33 @@ /* * C library -- _setjmp, _longjmp * - * _longjmp(a,v) - * will generate a "return(v)" from the last call to - * _setjmp(a) - * by restoring registers from the environment 'a'. + * _longjmp(env, val) + * will generate a "return(val)" from the last call to + * _setjmp(env) + * by restoring registers from the stack. * The previous signal state is NOT restored. + * + * Note: r8-r12 are scratch registers and not stored */ -/* XXX: AVR32 Implement this */ +/** + * r12: env + */ ENTRY(_setjmp) - breakpoint - retal sp + mov r11, _JB_MAGIC__SETJMP /* Magic number for _setjmp */ + st.w r12++, r11 /* Store magic */ + stm r12, r0-r7,sp,lr /* Store registers */ + retal sp /* return 0 */ END(_setjmp) +/** + * r12: env + * r11: val + */ ENTRY(_longjmp) breakpoint - retal sp + sub r12, -4 /* Skip magic */ + ldm r12, r0-r7,sp,lr /* Restore registes */ + mov r12, r11 + retal r12 /* Return val */ END(_longjmp) ==== //depot/projects/avr32/src/lib/libc/avr32/gen/setjmp.S#2 (text+ko) ==== @@ -1,7 +1,10 @@ /*- - * Copyright (c) 2009 Arnar Mar Sig + * Copyright (c) 2009 The FreeBSD Foundation * All rights reserved. * + * This software was developed by Arnar Mar Sig under sponsorship from the + * FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -11,10 +14,10 @@ * 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND + * 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 REGENTS OR CONTRIBUTORS BE LIABLE + * 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) @@ -28,22 +31,54 @@ __FBSDID("$FreeBSD: $"); /* - * C library -- _setjmp, _longjmp + * C library -- setjmp, longjmp + * + * longjmp(env, val) + * will generate a "return(val)" from the last call to + * setjmp(env) + * by restoring registers from the stack. * - * longjmp(a,v) - * will generate a "return(v)" from the last call to - * setjmp(a) - * by restoring registers from the environment 'a'. - * The previous signal state is restored. + * Note: r8-r12 are scratch registers and not stored */ -/* XXX: AVR32 Implement this */ +/** + * r12: env + */ ENTRY(setjmp) - breakpoint - retal sp + /* Store signal mask */ + pushm r12,lr + mov r10, r12 /* oset */ + sub r10, -(10 << 2) /* index to sigmask */ + mov r11, 0 /* set */ + mov r12, 1 /* SIG_BLOCK */ + call PIC_PLT(_C_LABEL(sigprocmask)) + popm r12,lr + + mov r11, _JB_MAGIC_SETJMP /* Magic number for setjmp */ + st.w r12++, r11 /* and store in buffer */ + stm r12, r0-r7,sp,lr /* Store registers */ + + retal sp /* return 0 */ END(setjmp) +/** + * r12: env + * r11: val + */ ENTRY(longjmp) breakpoint - retal sp + /* Restore signal mask */ + pushm r11,r12 + mov r10, 0 /* oset */ + mov r11, r12 /* set */ + sub r11, -(10 << 2) /* index to sigmask */ + mov r12, 3 /* SIG_SETMASK */ + call PIC_PLT(_C_LABEL(sigprocmask)) + popm r11,r12 + + sub r12, -4 /* Skip magic */ + ldm r12, r0-r7,sp,lr /* Restore registes */ + mov r12, r11 + retal r12 /* Return val */ END(longjmp) + ==== //depot/projects/avr32/src/lib/libc/avr32/gen/sigsetjmp.S#2 (text+ko) ==== @@ -1,7 +1,10 @@ /*- - * Copyright (c) 2009 Arnar Mar Sig + * Copyright (c) 2009 The FreeBSD Foundation * All rights reserved. * + * This software was developed by Arnar Mar Sig under sponsorship from the + * FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -11,10 +14,10 @@ * 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND + * 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 REGENTS OR CONTRIBUTORS BE LIABLE + * 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) @@ -27,26 +30,39 @@ #include __FBSDID("$FreeBSD: $"); - /* * C library -- sigsetjmp, siglongjmp * - * siglongjmp(a,v) - * will generate a "return(v)" from - * the last call to - * sigsetjmp(a, savemask) - * by restoring registers from the stack, - * and dependent on savemask restores the - * signal mask. + * siglongjmp(env, val) + * will generate a "return(val)" from the last call to + * sigsetjmp(env, savemask) + * by restoring registers from the stack. + * The previous signal state is restored if savemask is not zero + * + * Note: r8-r12 are scratch registers and not stored */ -/* XXX: AVR32 Implement this */ +/** + * r12: env + * r11: savemask + */ ENTRY(sigsetjmp) - breakpoint - retal sp + /* Store signal mask */ + cp.w r11, 0 /* Check if zero */ + breq PIC_PLT(_C_LABEL(_setjmp)) + bral PIC_PLT(_C_LABEL(setjmp)) END(sigsetjmp) +/** + * r12: env + * r11: val + */ ENTRY(siglongjmp) - breakpoint - retal sp + /* Store signal mask */ + mov r9, _JB_MAGIC__SETJMP /* Magic number for _setjmp */ + ld.w r10, r12 /* Load magic from buf */ + cp.w r9, r10 /* Compare them */ + breq PIC_PLT(_C_LABEL(_setjmp)) + bral PIC_PLT(_C_LABEL(setjmp)) END(siglongjmp) + ==== //depot/projects/avr32/src/lib/libc/avr32/sys/pipe.S#3 (text+ko) ==== @@ -29,8 +29,16 @@ #include "SYS.h" .text +/** + * r12: int fildes[2] + */ ENTRY(pipe) - breakpoint + mov r10, r12 /* Save r12 for later use */ SCALL(pipe) + brcs _C_LABEL(cerror) + + st.w r10[0], r12 /* read part of pipe */ + st.w r10[4], r11 /* write part of pipe */ + retal sp END(pipe) ==== //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#20 (text+ko) ==== @@ -315,7 +315,24 @@ void pmap_change_wiring(pmap_t pmap, vm_offset_t va, boolean_t wired) { - avr32_impl(); + pt_entry_t *pte; + + PMAP_LOCK(pmap); + + if (wired && ((*pte & PTE_WIRED) == 0)) { + pmap->pm_stats.wired_count++; + } + else if (!wired && (*pte & PTE_WIRED)) { + pmap->pm_stats.wired_count--; + } + + if (wired) { + *pte |= PTE_WIRED; + } else { + *pte &= ~PTE_WIRED; + } + + PMAP_UNLOCK(pmap); } /* @@ -430,7 +447,7 @@ void pmap_zero_page_area(vm_page_t m, int off, int size) { - vm_offset_t phys = VM_PAGE_TO_PHYS(m); + vm_paddr_t phys = VM_PAGE_TO_PHYS(m); bzero((caddr_t)AVR32_PHYS_TO_P2(phys) + off, size); } ==== //depot/projects/avr32/src/sys/avr32/avr32/trap.c#11 (text+ko) ==== @@ -80,8 +80,10 @@ #include #include #include +#include static char *trap_name(uint32_t type); +static int trap_breakpoint(uint32_t type, struct trapframe *frame); extern char *syscallnames[]; /* @@ -145,7 +147,7 @@ #ifdef KDB if (kdb_on_nmi) { printf("NMI ... going to debugger\n"); - kdb_trap(type, 0, frame); + trap_breakpoint(type, frame); } #endif /* KDB */ if (panic_on_nmi) { @@ -200,7 +202,7 @@ /* * XXX: Break into kdb until we have userspace and working gdb */ - kdb_trap(type, 0, frame); + trap_breakpoint(type, frame); return; #if 0 signo = SIGTRAP; @@ -270,7 +272,7 @@ case T_BREAKPOINT: #ifdef KDB - if (kdb_trap(type, 0, frame)) { + if (trap_breakpoint(type, frame)) { return; } #endif /* KDB */ @@ -385,10 +387,11 @@ struct sysent *callp; int code, error, nargs, nsaved; register_t args[8]; + caddr_t params; PCPU_INC(cnt.v_syscall); - code = frame->regs.r8; + code = frame->regs.r0; switch (code) { case SYS_syscall: code = frame->regs.r12; @@ -405,12 +408,25 @@ nsaved = 2; break; + /* + * XXX: syscalls prototyped with varargs, on avr32 all varargs get + * pushed on stack so we must handled thous:/ I'm not sure this is + * the right way but it seems to work for now. + */ + case SYS_fcntl: + case SYS_ioctl: + args[0] = frame->regs.r12; + args[1] = frame->regs.r11; + nsaved = 2; + break; + default: args[0] = frame->regs.r12; args[1] = frame->regs.r11; args[2] = frame->regs.r10; args[3] = frame->regs.r9; - nsaved = 4; + args[4] = frame->regs.r8; + nsaved = 5; break; } @@ -426,10 +442,12 @@ error = 0; if (nargs > nsaved) { - error = copyin((caddr_t)frame->regs.sp, (caddr_t)&args[nsaved], + params = (caddr_t)frame->regs.sp + sizeof(register_t); + error = copyin(params, (caddr_t)&args[nsaved], (u_int)(nargs - nsaved) * sizeof(register_t)); } + printf("--- syscall: %d (%s) at pc: 0x%x, lr: 0x%x, args: %d\n", code, syscallnames[code], frame->regs.pc, frame->regs.lr, nargs); // for (int i = 0; i < nargs; i++) { @@ -572,7 +590,7 @@ #ifdef KDB if (debugger_on_panic || kdb_active) { - if (kdb_trap(type, 0, frame)) { + if (trap_breakpoint(type, frame)) { return; } } @@ -596,3 +614,17 @@ } return "UNKNOWN"; } + +/** + * XXX: Turn PDC for uart1 off before entering debugger. + */ +static int +trap_breakpoint(uint32_t type, struct trapframe *frame) +{ + int ret; + + bus_space_write_4(NULL, 0xFFE01000, PDC_PTCR, PDC_PTCR_RXTDIS); + ret = kdb_trap(type, 0, frame); + bus_space_write_4(NULL, 0xFFE01000, PDC_PTCR, PDC_PTCR_RXTEN); + return (ret); +} ==== //depot/projects/avr32/src/sys/avr32/conf/NGW100.hints#3 (text+ko) ==== @@ -31,3 +31,7 @@ hint.geom_hints.2.at="cfid0" hint.geom_hints.2.maddr="0x007f0000" hint.geom_hints.2.msize="0x00010000" + +# Serial console +hint.uart.1.flags=0x10 + ==== //depot/projects/avr32/src/sys/avr32/include/asm.h#7 (text+ko) ==== @@ -62,14 +62,15 @@ #define _C_LABEL(x) x /** - * Do syscall and pass the syscall number in thru r8. All registers - * are preserved except r12 and r11. thous hold return values. + * Do syscall and pass the syscall number in thru r0. Old value of r0 + * is pushed to stack. All registers are preserved except r12 and r11, + * thous hold return values. */ #define SCALL(name) \ - stm --sp, r8 ;\ - mov r8, SYS_ ## name ;\ + stm --sp, r0 ;\ + mov r0, SYS_ ## name ;\ scall ;\ - ldm sp++, r8 + ldm sp++, r0 /** * Save trapfrome to stack @@ -156,4 +157,18 @@ #define FRAMEPOINTER_RESTORE #endif +#ifndef _JB_MAGIC__SETJMP +#define _JB_MAGIC__SETJMP 0xFE +#define _JB_MAGIC_SETJMP 0xED +#endif + +#ifdef PIC +#define PIC_PLT(x) x +#define PIC_GOT(x) x +#else +#define PIC_PLT(x) x +#define PIC_GOT(x) x +#endif + + #endif /* !_MACHINE_ASM_H_ */ ==== //depot/projects/avr32/src/sys/avr32/include/setjmp.h#2 (text+ko) ==== @@ -30,7 +30,32 @@ #ifndef _MACHINE_SETJMP_H_ #define _MACHINE_SETJMP_H_ -#define _JBLEN 64 /* size, in longs, of a jmp_buf */ +#define _JBLEN 13 /* size, in longs, of a jmp_buf */ + +/** + * NOTE: The internal structure of a jmp_buf is *PRIVATE* + * + * Description of the setjmp buffer + * + * word 0 magic number (dependant on creator) + * 1 lr link register + * 2 r7 register 7 + * 3 r6 register 6 + * 4 r5 register 5 + * 5 r4 register 4 + * 6 r3 register 3 + * 7 r2 register 2 + * 8 r1 register 1 + * 9 r0 register 0 + * 10 signal mask (dependant on magic) + * 11 (con't) + * 12 (con't) + * 13 (con't) + * + * The magic number number identifies the jmp_buf and + * how the buffer was created as well as providing + * a sanity check + */ #if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE typedef struct _sigjmp_buf { int _sjb[_JBLEN + 1]; } sigjmp_buf[1]; ==== //depot/projects/avr32/src/sys/dev/uart/uart_dev_atmel.c#7 (text+ko) ==== @@ -300,6 +300,7 @@ uart_atmel_getc(struct uart_bas *bas, struct mtx *mtx) { int c; + while (!(RD4(bas, USART_CSR) & USART_CSR_RXRDY)) continue; c = RD4(bas, USART_RHR); @@ -347,12 +348,12 @@ * XXX: Enableing interrupts and PDC creates races between sysdev pools * and the dma */ - if (sc->sc_sysdev != NULL) { +/* if (sc->sc_sysdev != NULL) { di = sc->sc_sysdev; uart_atmel_init(&sc->sc_bas, di->baudrate, di->databits, di->stopbits, di->parity); return(0); - } + } */ /* * See if we have a TIMEOUT bit. We disable all interrupts as @@ -680,8 +681,6 @@ struct uart_atmel_softc *atsc; atsc = (struct uart_atmel_softc *)sc; - - #ifndef SKYEYE_WORKAROUNDS if (sc->sc_sysdev == NULL) { if (bus_dmamap_load(atsc->dmatag, atsc->tx_map, sc->sc_txbuf, @@ -701,6 +700,7 @@ for (int i = 0; i < sc->sc_txdatasz; i++) { uart_atmel_putc(&sc->sc_bas, sc->sc_txbuf[i]); } + WR4(&sc->sc_bas, USART_IER, USART_CSR_TXRDY); } else { /* * Setup the PDC to transfer the data and interrupt us when it From owner-p4-projects@FreeBSD.ORG Sun Jun 21 04:52:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8885E1065678; Sun, 21 Jun 2009 04:52:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37B881065672 for ; Sun, 21 Jun 2009 04:52:18 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B8458FC0C for ; Sun, 21 Jun 2009 04:52:18 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L4qHqN037358 for ; Sun, 21 Jun 2009 04:52:17 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L4qHVo037356 for perforce@freebsd.org; Sun, 21 Jun 2009 04:52:17 GMT (envelope-from dforsyth@FreeBSD.org) Date: Sun, 21 Jun 2009 04:52:17 GMT Message-Id: <200906210452.n5L4qHVo037356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164787 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 04:52:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164787 Change 164787 by dforsyth@squirrel on 2009/06/21 04:51:49 Parse takes in dependencies and their orgins. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#10 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jun 21 04:53:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 603A51065676; Sun, 21 Jun 2009 04:53:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 204711065675 for ; Sun, 21 Jun 2009 04:53:19 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D2AF8FC13 for ; Sun, 21 Jun 2009 04:53:19 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L4rJLu037420 for ; Sun, 21 Jun 2009 04:53:19 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L4rID8037418 for perforce@freebsd.org; Sun, 21 Jun 2009 04:53:18 GMT (envelope-from dforsyth@FreeBSD.org) Date: Sun, 21 Jun 2009 04:53:18 GMT Message-Id: <200906210453.n5L4rID8037418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164788 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 04:53:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164788 Change 164788 by dforsyth@squirrel on 2009/06/21 04:53:16 Parse NOW takes in dependencies and their origins. Last push was a dud. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#21 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_error.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#13 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#10 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#16 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#14 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#21 (text+ko) ==== @@ -27,7 +27,9 @@ struct pkg_plist plist; struct pkgdb_sub *sub; +#if 0 TAILQ_ENTRY(pkg) next; +#endif short dirty; /* Add an owner field? */ }; @@ -58,10 +60,8 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (ident != NULL) - p->ident = strdup(ident); - else - p->ident = NULL; + free(p->ident); + p->ident = (ident != NULL) ? strdup(ident) : NULL; return (OK); } @@ -76,13 +76,13 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->comment = NULL; - if (comment != NULL) { - p->comment = strdup(comment); - /* Blot out trailing \n */ + free(p->comment); + p->comment = (comment != NULL) ? strdup(comment) : NULL; + if (p->comment != NULL) { + /* Blot out trailing \n, if it's there. */ c = (int)'\n'; f = strrchr(p->comment, c); - if (f != NULL) + if (f != NULL && *(f + 1) == '\0') *f = '\0'; } @@ -99,10 +99,8 @@ /* Yes this makes for 3 copies of the text in memory at once, but just * until I decide how I want to handle 'dirty' packages. */ - if (contents != NULL) - p->contents = strdup(contents); - else - p->contents = NULL; + free(p->contents); + p->contents = (contents != NULL) ? strdup(contents) : NULL; return (OK); } @@ -112,12 +110,10 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->description); + p->description = (description != NULL) ? strdup(description) : NULL; - if (description != NULL) - p->description = strdup(description); - else - p->description = NULL; - return (OK); } @@ -126,11 +122,9 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (display != NULL) - p->display = strdup(display); - else - p->display = NULL; + + free(p->display); + p->display = (display != NULL) ? strdup(display) : NULL; return (OK); } @@ -140,12 +134,10 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->mtree_dirs); + p->mtree_dirs = (mtree_dirs != NULL) ? strdup(mtree_dirs) : NULL; - if (mtree_dirs != NULL) - p->mtree_dirs = strdup(mtree_dirs); - else - p->mtree_dirs = NULL; - return (OK); } @@ -155,10 +147,8 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (required_by != NULL) - p->required_by = strdup(required_by); - else - p->required_by = NULL; + free(p->required_by); + p->required_by = (required_by != NULL) ? strdup(required_by) : NULL; return (OK); } @@ -177,7 +167,6 @@ } pkg_plist_reset(&p->plist); - status = pkg_plist_parse_contents_from_text(&p->plist, p->contents); return (status); @@ -206,6 +195,12 @@ char * pkg_name(struct pkg *p) { + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + return (pkg_plist_name(&p->plist)); } @@ -215,6 +210,8 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (pkg_parse_plist(p) != OK) + return (NULL); return (pkg_plist_cwd(&p->plist)); } @@ -224,6 +221,8 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (pkg_parse_plist(p) != OK) + return (NULL); return (pkg_plist_origin(&p->plist)); } @@ -241,14 +240,28 @@ struct pkg_file * pkg_pkg_file_list_next(struct pkg *p) { - struct pkg_file *pf; + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_pkg_file_list_next(&p->plist)); +} + +void +pkg_pkg_dep_list_init(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_pkg_dep_list_reset(&p->plist)); +} +struct pkg_dep * +pkg_pkg_dep_list_next(struct pkg *p) +{ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - pf = pkg_plist_pkg_file_list_next(&p->plist); - - return (pf); + return (pkg_plist_pkg_dep_list_next(&p->plist)); } void @@ -267,7 +280,7 @@ pkg_plist_reset(&p->plist); } -/* TODO: Make an note in the manual for libpkg that pkg_free should not be +/* TODO: Make an note in the manual for libpkg that pkg_delete should not be * called on pkgs that are not explicitly created by the client. */ void ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#20 (text+ko) ==== @@ -20,33 +20,38 @@ /* PKGDB Errors. */ #define DB_OK 0x00000000 -#define DB_NOT_OK 0x00000001 -#define DB_BAD_ROOT 0x00000002 -#define DB_NOT_OPEN 0x00000004 -#define DB_OPEN 0x00000008 -#define DB_NO_PKG 0x00000010 +#define DB_NOT_OK 0x10000000 +#define DB_BAD_ROOT 0x20000000 +#define DB_NOT_OPEN 0x40000000 +#define DB_OPEN 0x80000000 +#define DB_NO_PKG 0x01000000 /* These should probably go to _private */ #define SUB_OK 0x00000000 -#define SUB_NO_COMMENT 0x00000001 -#define SUB_NO_CONTENTS 0x00000002 -#define SUB_NO_DESC 0x00000004 -#define SUB_NO_DISPLAY 0x00000008 -#define SUB_NO_MTREE_DIRS 0x00000010 -#define SUB_NO_REQUIRED_BY 0x00000020 -#define SUB_NO_FILE 0x00000040 -#define SUB_EMPTY_FILE 0x00000080 +#define SUB_NO_COMMENT 0x10000000 +#define SUB_NO_CONTENTS 0x20000000 +#define SUB_NO_DESC 0x40000000 +#define SUB_NO_DISPLAY 0x80000000 +#define SUB_NO_MTREE_DIRS 0x01000000 +#define SUB_NO_REQUIRED_BY 0x02000000 +#define SUB_NO_FILE 0x04000000 +#define SUB_EMPTY_FILE 0x08000000 /* PKG Errors. */ #define PKG_OK 0x00000000 -#define PKG_NOT_OK 0x00000001 -#define PKG_PARSE_NOT_OK 0x00000002 -#define PKG_NO_COMMENT 0x00000004 -#define PKG_NO_DESC 0x00000008 -#define PKG_NO_DISPLAY 0x00000010 -#define PKG_NO_MTREE_DIRS 0x00000020 -#define PKG_NO_REQUIRED_BY 0x00000040 +#define PKG_NOT_OK 0x10000000 +#define PKG_PARSE_NOT_OK 0x20000000 +#define PKG_NO_COMMENT 0x40000000 +#define PKG_NO_DESC 0x80000000 +#define PKG_NO_DISPLAY 0x01000000 +#define PKG_NO_MTREE_DIRS 0x02000000 +#define PKG_NO_REQUIRED_BY 0x04000000 +#define PKG_CORRUPT 0x08000000 + +/* Parse errors. */ +#define PARSE_OK 0x00000000 +#define PARSE_FAIL 0x10000000 /* pkg_file */ @@ -70,6 +75,20 @@ int pkg_file_set_group(struct pkg_file *pf, const char *group); +/* pkg_dep */ + +struct pkg_dep; + +struct pkg_dep *pkg_dep_new(void); + +struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); + +struct pkg_dep *pkg_dep_set_origin(struct pkg_dep *pd, const char *origin); + +const char *pkg_dep_name(struct pkg_dep *pd); + +const char *pkg_dep_origin(struct pkg_dep *pd); + /* pkg */ /* Add mtree stuff later. */ @@ -126,6 +145,10 @@ int pkg_pkg_file_remove(struct pkg *p, struct pkg_file *pf); +void pkg_pkg_dep_list_init(struct pkg *p); + +struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p); + void pkg_delete(struct pkg *p); /* pkgdb */ @@ -152,6 +175,6 @@ int pkgdb_db_sync(struct pkgdb *db); #endif -void pkgdb_delete(struct pkgdb *db); +void pkgdb_db_delete(struct pkgdb *db); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#4 (text+ko) ==== @@ -5,15 +5,11 @@ #include "pkg.h" struct pkg_dep * -pkg_dep_new(const char *name, const char *origin) +pkg_dep_new() { struct pkg_dep *pd; pd = calloc(1, sizeof(*pd)); - if (pd != NULL) { - pd->name = name; - pd->origin = origin; - } return (pd); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#3 (text+ko) ==== @@ -12,7 +12,8 @@ TAILQ_ENTRY(pkg_dep) next; }; -struct pkg_dep *pkg_dep_new(const char *name, const char *origin); +#if 0 +struct pkg_dep *pkg_dep_new(void); struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); @@ -21,5 +22,6 @@ const char *pkg_dep_name(struct pkg_dep *pd); const char *pkg_dep_origin(struct pkg_dep *pd); +#endif #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_error.h#2 (text+ko) ==== @@ -1,0 +1,5 @@ +#ifndef __PKG_ERROR_H__ +#define __PKG_ERROR_H__ + + +#endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#13 (text+ko) ==== @@ -42,6 +42,18 @@ return (pl); } +void +pkg_plist_free(struct pkg_plist *pl) +{ + /* TODO: Write this function. */ +#if 0 + pkg_plist_pkg_list_free(pl); + pkg_plist_pkg_dep_free(pl); +#endif + free(pl); + return; +} + int pkg_plist_parsed(struct pkg_plist *pl) { @@ -100,6 +112,7 @@ /* XXX: Use fgets(), dummy. */ pkg_plist_pkg_file_list_init(pl); + pkg_plist_pkg_dep_list_init(pl); set_parse_state_default(&st); for (p = textp; *p != '\0'; p++) { if (*p == '\n') { @@ -143,11 +156,12 @@ char *argument; char *sep; struct pkg_file *pf; + struct pkg_dep *pd; if (line == NULL) return (-1); - s = 0; + s = PARSE_OK; line_len = strlen(line); if (*line == '@') { sep = strchr(line, ' '); @@ -183,7 +197,7 @@ st->last_elem = PLIST_OWNER; } else if (strcmp(command, PLIST_CMD_GROUP) == 0) { - if (line_len == strlen(PLIST_CMD_OWNER) + 1) + if (line_len == strlen(PLIST_CMD_GROUP) + 1) /* Empty group line, reset to NULL. */ st->owner = NULL; else @@ -198,8 +212,6 @@ * function. */ if (line_len == strlen(PLIST_CMD_COMMENT) + 1) { /* Empty comment. */ - st->last_elem = PLIST_COMMENT; - return (0); } sep = strchr(argument, ':'); if (sep == NULL) { @@ -208,27 +220,35 @@ * them out. Maybe later, add a new command that specifies * comments that should be printed when displaying * information from the plist. */ - return (0); + return (PARSE_OK); } *sep = '\0'; if (strcmp(argument, PLIST_COMMENT_PKG_REV) == 0) { - /* TODO: Keeping rev as s string for now. String based + /* TODO: Keeping rev as a string for now. String based * version comparison is dumb, convert to int. */ pl->rev = sep + 1; - st->last_elem = PLIST_COMMENT; } else if (strcmp(argument, PLIST_COMMENT_ORIGIN) == 0) { pl->origin = sep + 1; - st->last_elem = PLIST_COMMENT; } else if (strcmp(argument, PLIST_COMMENT_DEPORIGIN) == 0) { if (st->last_elem != PLIST_PKGDEP) - return (1); + return (PARSE_FAIL); /* add the the dependency list. */ + pd = pkg_plist_pkg_dep_list_last(pl); + pkg_dep_set_origin(pd, sep + 1); } else if (strcmp(argument, PLIST_COMMENT_MD5) == 0) { if (st->last_elem != PLIST_FILE) - return (1); + return (PARSE_FAIL); pf = pkg_plist_pkg_file_list_last(pl); pkg_file_set_md5(pf, sep + 1); + } else { + /* Comment we don't know anything about. */ } + st->last_elem = PLIST_COMMENT; + } else if (strcmp(command, PLIST_CMD_PKGDEP) == 0) { + pd = pkg_dep_new(); + pkg_dep_set_name(pd, argument); + pkg_plist_pkg_dep_list_append(pl, pd); + st->last_elem = PLIST_PKGDEP; } #if 0 else if (strcmp(command, PLIST_CMD_NOINST) == 0) { @@ -249,7 +269,10 @@ ent = pl_entry_new(PLIST_DIRRM, argument, NULL); #endif else if (strcmp(command, PLIST_CMD_MTREE) == 0) { - pl->mtree_file = argument; + if (pl->mtree_file == NULL) + pl->mtree_file = argument; + else + return (PARSE_FAIL); /* strict. */ st->last_elem = PLIST_MTREE; } else if (strcmp(command, PLIST_CMD_DISPLAY) == 0) { @@ -258,8 +281,10 @@ } #if 0 else { - /* If we cant identify the command, set it unknown and gather - * whatever information we can. */ + /* If we cant identify the command, we have to return + * PARSE_FAIL. Apparently their are quite a few undocumented + * commands for plists. If we don't know a given command, we + * could really mess something up. */ ent = pl_entry_new(PLIST_UNKNOWN, argument, NULL); } #endif @@ -371,12 +396,69 @@ TAILQ_INSERT_TAIL(&pl->pf_head, pf, next); } +/* pkg_dep list manipulation and access. */ +/* generalize plz. */ + +void +pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl) +{ + if (pl == NULL) + return; + + pl->pd_curr = NULL; +} + +void +pkg_plist_pkg_dep_list_init(struct pkg_plist *pl) +{ + if (pl == NULL) + return; + + TAILQ_INIT(&pl->pd_head); +} + +struct pkg_dep * +pkg_plist_pkg_dep_list_last(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (TAILQ_LAST(&pl->pd_head, pd_head)); +} + void -pkg_plist_free(struct pkg_plist *pl) +pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, struct pkg_dep *pd) +{ + if (pl == NULL || pd == NULL) + return; + + TAILQ_INSERT_TAIL(&pl->pd_head, pd, next); +} + +struct pkg_dep * +pkg_plist_pkg_dep_list_next(struct pkg_plist *pl) { - /* TODO: Write this function. */ - free(pl); - return; + struct pkg_dep *pd; + + if (pl == NULL) + return (NULL); + + if (pl->pd_curr == NULL) + pd = pkg_plist_pkg_dep_list_first(pl); + else + pd = TAILQ_NEXT(pl->pd_curr, next); + + if (pd != NULL) + pl->pd_curr = pd; + + return (pd); } -/* pkg_dep list manipulation and access. */ +struct pkg_dep * +pkg_plist_pkg_dep_list_first(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (TAILQ_FIRST(&pl->pd_head)); +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#10 (text+ko) ==== @@ -43,9 +43,10 @@ #define PLIST_CMD_IGNORE_INST "ignore_inst" #define PLIST_CMD_NAME "name" #define PLIST_CMD_DIRRM "dirrm" +#define PLIST_CMD_DIRRMTRY "dirrmtry" #define PLIST_CMD_MTREE "mtree" #define PLIST_CMD_DISPLAY "display" -#define PLIST_CMD_PKGDEG "pkgdep" +#define PLIST_CMD_PKGDEP "pkgdep" #define PLIST_CMD_CONFLICTS "conflicts" /* Meta comments. */ @@ -111,4 +112,15 @@ void pkg_plist_free(struct pkg_plist *pl); +/* pkg_dep */ +void pkg_plist_pkg_dep_list_init(struct pkg_plist *pl); + +struct pkg_dep *pkg_plist_pkg_dep_list_last(struct pkg_plist *pl); + +void pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, + struct pkg_dep *pd); + +void pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl); +struct pkg_dep *pkg_plist_pkg_dep_list_next(struct pkg_plist *pl); +struct pkg_dep *pkg_plist_pkg_dep_list_first(struct pkg_plist *pl); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#7 (text+ko) ==== @@ -9,6 +9,8 @@ char *path_build(const char *prefix, const char *suffix); +char *strrep(char *dest, char *src); + void arg_rage_quit(const char *function, const char *message, int ret); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#16 (text+ko) ==== @@ -74,7 +74,7 @@ } void -pkgdb_delete(struct pkgdb *db) +pkgdb_db_delete(struct pkgdb *db) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); @@ -101,8 +101,9 @@ * Is this a terrible idea? Stay tuned to find out. */ pkg_reset(p); sub = pkgdb_pkgdb_sub_list_next(db); - if (sub == NULL) + if (sub == NULL) { return (DB_NO_PKG); /* Already at the end. */ + } status = OK; status |=pkg_set_ident(p, pkgdb_sub_ident(sub)); /* Status should be pointless to check here, because the init loop @@ -116,7 +117,6 @@ /* I'm not sure all of these have to be loaded, but we can make a * decision about that later. */ - status |= pkg_parse_plist(p); /* Error codes to the client. */ return (status); } @@ -133,49 +133,50 @@ void pkgdb_pkgdb_sub_list_free(struct pkgdb *db) { - struct pkgdb_sub *dbs1; - struct pkgdb_sub *dbs2; + struct pkgdb_sub *sub1; + struct pkgdb_sub *sub2; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); pkgdb_pkgdb_sub_list_init(db); - dbs1 = pkgdb_pkgdb_sub_list_first(db); - while (dbs1 != NULL) { - dbs2 = pkgdb_pkgdb_sub_list_next(db); - pkgdb_sub_delete(dbs1); - dbs1 = dbs2; + sub1 = pkgdb_pkgdb_sub_list_first(db); + while (sub1 != NULL) { + sub2 = pkgdb_pkgdb_sub_list_next(db); + pkgdb_sub_reset(sub1); + sub1 = sub2; } } struct pkgdb_sub * pkgdb_pkgdb_sub_list_next(struct pkgdb *db) { - struct pkgdb_sub *dbs; + struct pkgdb_sub *sub; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); if (db->sub_curr == NULL) - dbs = TAILQ_FIRST(&db->sub_head); + sub = pkgdb_pkgdb_sub_list_first(db); else - dbs = TAILQ_NEXT(db->sub_curr, next); + sub = TAILQ_NEXT(db->sub_curr, next); + + if (sub != NULL) + db->sub_curr = sub; - db->sub_curr = dbs; - return (dbs); + return (sub); } struct pkgdb_sub * pkgdb_pkgdb_sub_list_first(struct pkgdb *db) { - struct pkgdb_sub *dbs; + struct pkgdb_sub *sub; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - dbs = TAILQ_FIRST(&db->sub_head); - - return (dbs); + sub = TAILQ_FIRST(&db->sub_head); + return (sub); } void @@ -187,7 +188,7 @@ if (sub == NULL) arg_rage_quit(__func__, "Not a valid sub directory.", RAGE_AT_LIBPKG); - + TAILQ_INSERT_TAIL(&db->sub_head, sub, next); } @@ -196,7 +197,7 @@ { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - + TAILQ_INIT(&db->sub_head); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#9 (text+ko) ==== @@ -199,9 +199,10 @@ void pkgdb_sub_reset(struct pkgdb_sub *dbs) { - if (dbs == NULL) + if (dbs == NULL) { + printf("uh oh."); return; - + } free(dbs->ident); free(dbs->path); free(dbs->comment_text); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#2 (text+ko) ==== @@ -15,7 +15,7 @@ int sub_count; struct pkgdb_sub *sub_curr; - + TAILQ_HEAD(sub_head, pkgdb_sub) sub_head; int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#14 (text+ko) ==== @@ -59,7 +59,7 @@ perform_on_db(db); - pkgdb_delete(db); + // pkgdb_db_delete(db); return (EXIT_SUCCESS); } @@ -119,6 +119,9 @@ print_pkg_information(struct pkg *p) { struct pkg_file *pf; + struct pkg_dep *pd; + const char *ident; + const char *comment; const char *name; const char *cwd; const char *origin; @@ -129,34 +132,48 @@ /* Just print the basic PKGNAME COMMENT scheme right now. Other * information isn't collected by the library yet. */ - if (!opt_show_all_info) + if (!opt_show_all_info) { /* Use pkg_ident because old pkg_info goes by directory name. */ - printf("%s %s\n", pkg_ident(p), pkg_comment(p)); - else { + ident = pkg_ident(p); + comment = pkg_comment(p); + printf("%s %s\n", + (ident != NULL ? ident : BAD_OR_UNKNOWN_VALUE), + (comment != NULL ? comment : BAD_OR_UNKNOWN_VALUE)); + } else { /* Testing plist interaction. */ - name = - ((name = pkg_name(p)) == NULL ? BAD_OR_UNKNOWN_VALUE : name); - cwd = ((cwd = pkg_cwd(p)) == NULL ? BAD_OR_UNKNOWN_VALUE : cwd); - origin = - ((origin = pkg_origin(p)) == NULL ? BAD_OR_UNKNOWN_VALUE : origin); + name = pkg_name(p); + cwd = pkg_cwd(p); + origin = pkg_origin(p); - printf("%s:\n", name); - printf("\tcwd: %s\n", cwd); - printf("\torigin: %s\n", origin); + printf("%s:\n", + (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + printf("\tcwd: %s\n", + (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + printf("\torigin: %s\n", + (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); printf("\tfiles:\n"); pkg_pkg_file_list_init(p); while ((pf = pkg_pkg_file_list_next(p)) != NULL) { - path = - ((path = pkg_file_path(pf)) == NULL ? BAD_OR_UNKNOWN_VALUE : path); - md5 = - ((md5 = pkg_file_md5(pf)) == NULL ? BAD_OR_UNKNOWN_VALUE : md5); - owner = - ((owner = pkg_file_owner(pf)) == NULL ? BAD_OR_UNKNOWN_VALUE : owner); - group = - ((group = pkg_file_group(pf)) == NULL ? BAD_OR_UNKNOWN_VALUE : group); - printf("\t\t%s\n\t\t\tMD5: %s\n\t\t\tOWNER: %s\n\t\t\t", - path, md5, owner); - printf("GROUP: %s\n", owner); + path = pkg_file_path(pf); + md5 = pkg_file_md5(pf); + owner = pkg_file_owner(pf); + group = pkg_file_group(pf); + printf("\t\t%s\n", + (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); + printf("\t\t\tMD5: %s\n", + (md5 != NULL ? md5 : BAD_OR_UNKNOWN_VALUE)); + printf("\t\t\tOWNER: %s\n", + (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); + printf("\t\t\tGROUP: %s\n", + (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); + } + + printf("\tdepends:\n"); + pkg_pkg_dep_list_init(p); + while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { + name = pkg_dep_name(pd); + origin = pkg_dep_origin(pd); + printf("\t\t%s : %s\n", name, origin); } } } From owner-p4-projects@FreeBSD.ORG Sun Jun 21 08:03:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6413D1065673; Sun, 21 Jun 2009 08:03:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 235D71065670 for ; Sun, 21 Jun 2009 08:03:01 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F6308FC16 for ; Sun, 21 Jun 2009 08:03:01 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L830Fe055948 for ; Sun, 21 Jun 2009 08:03:00 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L830R1055929 for perforce@freebsd.org; Sun, 21 Jun 2009 08:03:00 GMT (envelope-from zjriggl@FreeBSD.org) Date: Sun, 21 Jun 2009 08:03:00 GMT Message-Id: <200906210803.n5L830R1055929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 164796 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 08:03:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=164796 Change 164796 by zjriggl@zjriggl_tcpregression on 2009/06/21 08:02:56 Periodic commit Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/hwAddress.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/networkPort.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/payload.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpConstructor.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#3 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/testconfig.py#4 edit Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#4 (text+ko) ==== @@ -4,6 +4,7 @@ import socket import sys +from pcs.packets.ipv4 import ipv4 from pcs.packets.tcp import tcp from pcs.packets.tcpv6 import tcpv6 @@ -28,11 +29,19 @@ # Find the TCP layer in a packet. def findTcpLayer(packet): + return findPacketLayer(packet,tcp) + +def findIpLayer(packet): + return findPacketLayer(packet,ipv4) + +def findPacketLayer(packet, _class): p = packet while p is not None: - if isinstance(p,tcp) or isinstance(p,tcpv6): + if isinstance(p,_class): return p p = p.data + return None + def inet_lton(integer): @@ -45,33 +54,4 @@ return struct.unpack(">L",byteString)[0] def inet_atol(ipString): - return inet_ntol(socket.inet_aton(ipString)) - -def getPcsFormattedIP(ipAddr): - if type(ipAddr) == str: - # The byte representation's length will be 4 bytes - if len(ipAddr) == 4: - return inet_ntol(ipAddr) - - # Otherwise, the length is between len("0.0.0.0") and len("255.255.255.255") (lengths are 7 and 15) - elif 7 <= len(ipAddr) and len(ipAddr) <= 15: - return inet_atol(ipAddr) - - elif type(ipAddr) == int: - return ipAddr - - logging.warn("Could not properly identify IP address type for: %s" % str(ipAddr)) - return 0 - -def getPcsFormattedPort(port): - if type(port) == str: - if port.isdigit(): - return htons(int(port)) - else: - return struct.unpack("!i",'A\x00\x00\x00')[0] - - if type(port) == int: - return port - - logging.warn("Could not properly identify port type for: %s" % str(ipAddr)) - return 0+ return inet_ntol(socket.inet_aton(ipString)) ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/hwAddress.py#2 (text+ko) ==== @@ -6,57 +6,67 @@ from socket import inet_ntoa, inet_aton, htons, ntohs, htonl, ntohl from struct import pack, unpack import binascii +from field import Field -class hwAddress(object): +class HwAddress( Field ): ''' Stores a hardware address, and provides helper methods to retrieve the hardware address. Unless specified, all byte orders are host-byte-order. ''' - + # 00:00:00:00:00:00 nbo = '\x00\x00\x00\x00\x00\x00' - - def setAscii(self, x): - + + def setAscii( self, x ): + nbo = "" - for word in x.split(":"): - nbo += binascii.a2b_hex(word) - + for word in x.split( ":" ): + nbo += binascii.a2b_hex( word ) + self.nbo = nbo - - def getAscii(self): - + + def getAscii( self ): + ascii = "" for b in self.nbo: - ascii += binascii.b2a_hex(b) + ":" - + ascii += binascii.b2a_hex( b ) + ":" + # Strip of the trailing ":", return return ascii[0:-1] - - def setBytes(self, bytes): + + def setBytes( self, bytes ): self.nbo = bytes[::-1] - - def getBytes(self): - return self.nbo[::-1] - - def setNetworkBytes(self, bytes): + + def getBytes( self ): + return self.nbo[::-1] + + def setNetworkBytes( self, bytes ): self.nbo = bytes - - def getNetworkBytes(self): + + def getNetworkBytes( self ): return self.nbo - - def setInteger(self, x): - self.nbo = pack("L", x) - - def getInteger(self): - return unpack("L", self.nbo)[0] - - def setNetworkInteger(self, x): - self.nbo = pack("!L", x) - + + def setInteger( self, x ): + self.nbo = pack( "L", x ) + + def getInteger( self ): + return unpack( "L", self.nbo )[0] + + def setNetworkInteger( self, x ): + self.nbo = pack( "!L", x ) + # Make sure the length is 6 bytes/48 bit - while len(self.nbo) > 6: + while len( self.nbo ) > 6: self.nbo = '\x00' + self.nbo - - def getNetworkInteger(self): - return unpack("!L", self.nbo)[0]+ + def getNetworkInteger( self ): + return unpack( "!L", self.nbo )[0] + + def getPCS( self ): + return self.getNetworkBytes() + + def setPCS( self, x ): + self.setNetworkBytes( x ) + + def __str__( self ): + return getAscii() ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#2 (text+ko) ==== @@ -4,43 +4,55 @@ @author: zach ''' -from socket import inet_ntoa, inet_aton, htons, ntohs, htonl, ntohl +from socket import inet_ntoa, inet_aton, htons, ntohs, htonl, ntohl, inet_pton, inet_ntop from struct import pack, unpack +from field import Field +from socket import IPPROTO_IP, IPPROTO_IPV6, AF_INET, AF_INET6, htonl, ntohl -class IpAddress(object): +class IpAddress( Field ): ''' Stores an IP address, and provides helper methods to retrieve the IP address. Unless specified, all byte orders are host-byte-order. ''' - + nbo = '\x7f\x00\x00\x01' - - def setAscii(self, x): - self.nbo = inet_aton(x) - - def getAscii(self): - return inet_ntoa(self.nbo) - - def setBytes(self, bytes): - self.nbo = bytes[::-1] - - def getBytes(self): - return self.nbo[::-1] - - def setNetworkBytes(self, bytes): + + def __init__( self, default = 0, width = None, networkByteOrder = False, version = AF_INET ): + self.version = version + Field.__init__( self, width = width, default = default, networkByteOrder = networkByteOrder ) + + def setAscii( self, x ): + self.nbo = inet_pton( self.version, x ) + + def getAscii( self ): + return inet_ntop( self.version, self.nbo ) + + def setBytes( self, bytes ): + self.nbo = bytes + + def getBytes( self ): + return pack( "L", self.getInteger() ) + + def setNetworkBytes( self, bytes ): self.nbo = bytes - - def getNetworkBytes(self): + + def getNetworkBytes( self ): return self.nbo - - def setInteger(self, x): - self.nbo = pack("L", x) - - def getInteger(self): - return unpack("L", self.nbo)[0] - - def setNetworkInteger(self, x): - self.nbo = pack("!L", x) - - def getNetworkInteger(self): - return unpack("!L", self.nbo)[0] + + def setInteger( self, x ): + self.nbo = pack( "!L", x ) + + def getInteger( self ): + return unpack( "!L", self.nbo )[0] + + def setNetworkInteger( self, x ): + self.nbo = pack( "!L", ntohl( x ) ) + + def getNetworkInteger( self ): + return htonl( unpack( "!L", self.nbo )[0] ) + + def getPCS( self ): + return self.getNetworkInteger() + + def setPCS( self, x ): + self.setNetworkInteger( x ) ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/networkPort.py#2 (text+ko) ==== @@ -12,45 +12,52 @@ from socket import inet_ntoa, inet_aton, htons, ntohs, htonl, ntohl from struct import pack, unpack +from field import Field -class NetworkPort(object): +class NetworkPort( Field ): ''' Stores an network (TCP/UDP) port, and provides helper methods to retrieve the port. Unless specified, all byte orders are host-byte-order. ''' - + # Host-order integer internally ho = 80 - - def __init__(self): - pass - - def setAscii(self, x): - self.ho = int(x) - - def getAscii(self): - return str(self.ho) - - def setBytes(self, bytes): - self.ho = unpack("L",bytes) - - def setNetworkBytes(self, bytes): - self.ho = unpack("!L",bytes) - - def getBytes(self): - return pack("L", self.ho) - - def getNetworkBytes(self): - return pack("!L", self.ho) - - def setInteger(self, x): + + def setAscii( self, x ): + self.ho = int( x ) + + def getAscii( self ): + return str( self.ho ) + + def setBytes( self, bytes ): + self.ho = unpack( "H", bytes ) + + def setNetworkBytes( self, bytes ): + self.ho = unpack( "!H", bytes ) + + def getBytes( self ): + return pack( "H", self.ho ) + + def getNetworkBytes( self ): + return pack( "!H", self.ho ) + + def setInteger( self, x ): self.ho = x - - def getInteger(self): + + def getInteger( self ): return self.ho - - def setNetworkInteger(self, x): - self.ho = ntohs(x) - - def getNetworkInteger(self): - return htons(self.ho)+ + def setNetworkInteger( self, x ): + self.ho = ntohs( x ) + + def getNetworkInteger( self ): + return htons( self.ho ) + + def __eq__( self, x ): + if isinstance( x, int ): + return x == self.getInteger() + if isinstance( x, str ): + if( x.isdigit() ): + return x == self.getAscii() + else: + return x == self.getBytes() ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/payload.py#2 (text+ko) ==== @@ -5,40 +5,40 @@ ''' import pcs -from pcsextension.StringField import StringField +from pcsextension.StringField import StringField from pprint import pformat import inspect import time import struct -class payload(pcs.Packet): +class Payload( pcs.Packet ): """Payload""" _layout = pcs.Layout() _map = None - - def __init__(self, bytes = None, **kv): + + def __init__( self, bytes = None, **kv ): """initialize a payload packet""" - pcs.Packet.__init__(self, [], bytes = bytes, **kv) - self.description = inspect.getdoc(self) + pcs.Packet.__init__( self, [], bytes = bytes, **kv ) + self.description = inspect.getdoc( self ) # Dencode - self.decode(bytes) + self.decode( bytes ) # Unconditionally the last packet in a chain self.data = None - - def encode(self): + + def encode( self ): pass - - def decode(self, value): + + def decode( self, value ): self._bytes = value - - def getbytes(self): - return struct.pack("!%ss" % len(self._bytes), self._bytes) + + def getbytes( self ): + return struct.pack( "!%ss" % len( self._bytes ), self._bytes ) - def __str__(self): + def __str__( self ): """return a readable version of a payload object""" retval = "Payload\n" - retval += "%s" % pformat(self.payload) - return retval+ retval += "%s" % pformat( self._bytes ) + return retval ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpConstructor.py#4 (text+ko) ==== @@ -5,106 +5,138 @@ ''' import socket -from pcs.packets import ipv4 -from pcs.packets import ipv6 -from pcs.packets import tcp -from pcs.packets import tcpv6 -from pcs.packets import ethernet +import testconfig +from random import randint +from pcs.packets.ipv4 import ipv4 +from pcs.packets.tcp import tcp +from pcs.packets.ethernet import * +from socket import IPPROTO_IPV4, IPPROTO_IPV6, IPPROTO_TCP +from pcsextension.ipAddress import IpAddress +from pcsextension.hwAddress import HwAddress +from pcsextension.checksum import * + +class tcpConstructor: + ''' + Used to construct a packet complete with hardware and IP layers. + Currently supports: + - Ethernet + - IPv4 + TODO IPv6 + ''' + ipVersion = IPPROTO_IPV4 + localIP = IpAddress() + remoteIP = IpAddress() + + localHw = HwAddress() + remoteHw = HwAddress() + + def __init__( self ): + self.localIP.setAscii( testconfig.localIP ) + self.remoteIP.setAscii( testconfig.remoteIP ) + + self.localHw.setAscii( testconfig.localMAC ) + self.remoteHw.setAscii( testconfig.remoteMAC ) + + def setLocalIP( self, ip ): + ''' + Sets the IP address to be used as the source IP address in the IP layer. + @param ip + IP parameter supports dotted-quad strings and IpAddress objects. + ''' + if isinstance( ip, str ): + self.localIP.setAscii( ip ) + elif isinstance( ip, IpAddress ): + self.localIP.setAscii( ip.getAscii() ) + def setRemoteIP( self, ip ): + ''' + Sets the IP address to be used as the remote address in the IP layer. + @see setLocalIP + ''' + if isinstance( ip, str ): + self.remoteIP.setAscii( ip ) + elif isinstance( ip, IpAddress ): + self.remoteIP.setAscii( ip.getAscii() ) -class tcpStateMachine: - - - srcMac = "FF:FF:FF:FF:FF:FF" - dstMac = "FF:FF:FF:FF:FF:FF" - srcPort = 1025 - dstPort = 1025 - srcIP = "127.0.0.1" - dstIP = "127.0.0.1" - ipv6 = False - + def setIpVersion( self, version ): + ''' + Sets the IP version to be used when creating the IP layer. + @param version + Either socket.IPPROTO_IPV4 or socket.IPPROTO_IPV6 + ''' + if version == IPPROTO_IPV4 or version == IPPROTO_IPV6: + self.ipVersion = version - - # Tcp States - ( CLOSED, # Initial closed state - LISTEN, # Listening for connections - SYNSENT, # Initial SYN sent - SYNRECVD, # Initial SYN recvd - ESTAB, # Connection established - FINWAIT1, # FIN-Wait 1 - CLOSEWAIT, # Close-Wait - FINWAIT2, # FIN-Wait 2 - CLOSING, # Connection closing - LASTACK, # Last ACK - TIMEWAIT, # Connection closing - CLOSED2 ) = range(12) # Connection terminated + def generateIPv4( self ): + ''' + Generates a pcs.packets.ipv4.ipv4 object with all of the fields set + to the following values: + - protocol = socket.IPPROTO_TCP + - src = local IP address (@see setLocalIP) + - dst = remote IP address (@see setRemoteIP) + - id = Random, between 0 and 65535 inclusive - - - - def tcpConstructor(self, srcMAC, srcIP, srcPort, dstMAC, dstIP, dstPort, ipv6=False): - self.srcMac = srcMAC - self.dstMac = dstMAC - self.srcPort = srcPort - self.dstPort = dstPort - self.srcIP = srcIP - self.dstIP = dstIP - - def createEthernetPacket(self): - ether = ethernet.ethernet() - ether.type = ethernet.ETHERTYPE_IP - ether.src = ethernet.ether_atob(testconfig.localMAC) - ether.dst = ethernet.ether_atob(testconfig.remoteMAC) - - - def _createIpv4Packet(self): + Other values are filled in with default values that will likely be changed. + ''' + ip = ipv4() + ip.version = 4 + ip.hlen = 5 + ip.tos = 0 # Normal + ip.length = 20 + ip.id = randint( 0, 65535 ) # See RFC4413, pp. 20 + ip.flags = 0x4 # 'Dont fragment' + ip.ttl = 64 + ip.protocol = IPPROTO_TCP + ip.src = self.localIP.getPCS() + ip.dst = self.remoteIP.getPCS() + return ip + + def generateIPv6( self ): + ''' + Genreates a pcs.packets.ipv6.ipv6 object + TODO: Not supported. + ''' pass - - def _createIpv6Packet(self): - pass - - def _createTCPv4Packet(self): - pass - - def _createTCPv6Packet(self): - pass - - def createIpPacket(self): - pass - - def createTcpPacket(self): - pass - - def buildConnectionPacket(self): - pass - - def buildPacket(self, srcMAC, srcIP, srcPort, dstMAC, dstIP, dstPort, ipv6=False): - - # Set ethernet information. - ether = ethernet.ethernet() - ether.type = ethernet.ETHERTYPE_IP - ether.src = ethernet.ether_atob(srcMAC) - ether.dst = ethernet.ether_atob(dstMAC) - - # IP and TCP levels - ip = None - t = None - - # Create the proper IP and TCP types - if ipv6 is True: - raise NotImplementedError - else: - ip = ipv4.ipv4() - t = tcp.tcp() - ip.src =inet_atol(srcIP) - ip.dst =inet_atol(dstIP) + + def generateIP( self ): + ''' + Generates the appropriate IP layer, depending on what the user has selected. + @see setIpVersion + @see generateIPv4 + @see generateIPv6 + ''' + if self.ipVersion == IPPROTO_IPV4: + return self.generateIPv4() + elif self.ipVersion == IPPROTO_IPV6: + return self.generateIPv6() + return None + + def generateEthernet( self ): + ''' + Generates the ethernet-level data... + ''' + ether = ethernet() + ether.type = ETHERTYPE_IP + ether.src = self.localHw.getPCS() + ether.dst = self.remoteHw.getPCS() + return ether + + def generateChain( self, tcpPacket ): + ''' + Generates a pcs.Chain complete with Ethernet and IP levels, that uses the provided + pcs.packets.tcp.tcp object as the TCP layer. + NOTE: This method makes no modifications to the TCP packet, and as such does not + perform any validation of auto-generation of ANY TCP fields. The length of the + TCP header + data is necessary to set the IP length field. + ''' + ether = self.generateEthernet() + ip = self.generateIP() + + ether.data = ip + ip.data = tcpPacket + + # Set the proper IP length and checksum + ip.length = ip.length + len( tcpPacket.chain().bytes ) + ip.checksum = ipChecksum( ip ) - t = tcp.tcp() - t.sport = srcPort - t.dport = dstPort - t.seq = 1 - t.window = 1024 - - ip.protocol = socket.IPPROTO_TCP - ip.checksum = ip.calc_checksum() - + return ether.chain() ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#4 (text+ko) ==== @@ -1,47 +1,48 @@ -from pcsextension import intToBytes, bytesToInt - import sys import logging import struct -from socket import inet_ntoa, ntohs, inet_aton, htons +from socket import inet_ntoa, ntohs, inet_aton, htons, getnameinfo -from loggable import Loggable +from loggable import tcplog from pcs import PcapConnector from pcs.packets.ipv4 import ipv4 from pcs.packets.tcp import tcp from pcs.packets.tcpv6 import tcpv6 from pcs.packets.ethernet import ethernet +from pcsextension.ipAddress import IpAddress +from pcsextension.networkPort import NetworkPort +from pcsextension import findIpLayer, findTcpLayer -class tcpFilter(Loggable): +class tcpFilter(object): + log = None pcapHandle = None doRead = False def __init__(self, interfaceName): - Loggable._setLogKey(self) + self.log = tcplog(self) self.openInterface(interfaceName) def openInterface(self, interfaceName): try: self.pcapHandle = PcapConnector(interfaceName) + # self.pcapHandle = IP4Connector(); except: - self.log.error("Could not open interface %s" % interfaceName) + self.log.error("Could not open interface %s" % interfaceName) def read(self): return self.pcapHandle.readpkt() - def write(self,packet,byets): - self.pcapHandle.write(packet,bytes) + def write(self,bytes): + self.pcapHandle.write(bytes,len(bytes)) - def readFilteredByIP(self, ipAddress): + def readFilteredByIP(self, ip): """ Reads packets until a packet is found going either to or from the specified IP address is discovered. Returns the first matching packet. - @param port TCP port in network byte order (byte-string or integer representation) - @return A pcs.ipv4.ipv4 or pcs.ipv6.ipv6 object. - @see pcs.htons(integer) - @see pcs.htonl(integer) + @param ip IpAddress or dotted-quad string + @return A pcs.Packet object """ # if isinstance(ipAddress,int): @@ -49,58 +50,52 @@ # If the IP address is a string ("127.0.0.1") or byte array ('\x7f\x00\x00\x01') # we need to convert it into an integer representation of the same. - if isinstance(ipAddress,str): - if len(ipAddress) != 4: - ipAddress = inet_aton(ipAddress) - - ipAddress = bytesToInt(ipAddress) - + if isinstance(ip,str): + tmp = IpAddress() + tmp.setAscii(ip) + ip = tmp + + srcIP = IpAddress() + dstIP = IpAddress() while True: packet = self.read() - if isinstance(packet,ethernet): - packet = packet.data + ipLayer = findIpLayer(packet) - if not isinstance(packet,ipv4): + if ipLayer == None: continue - if (not packet.src == ipAddress) and \ - (not packet.dst == ipAddress): - continue + srcIP.setNetworkInteger(ipLayer.src) + dstIP.setNetworkInteger(ipLayer.dst) - return packet + if ipLayer.src == ip.getPCS() or ipLayer.dst == ip.getPCS(): + return packet def readFilteredByTuple(self, ipAddress, port): """ Reads packets until a packet is found going either to or from [1] the specified IP address and [2] the specified port. Returns the first matching packet. - @param ipAddress IP address in network byte order. - @param port TCP port in network byte order. - @return A pcs.tcp.tcp or pcs.tcpv6.tcpv6 object. - @see pcs.inet_aton(string) - @see pcs.htons(integer) - @see pcs.htonl(integer) + @param IpAddress object or dotted-quad string ('127.0.0.1') + @param NetworkPort object or integer port number. + @return A pcs.Packet object. + @see readFilteredByIP """ + if isinstance(port,int): + tmp = NetworkPort() + tmp.setInteger(port) + port = tmp + while True: packet = self.readFilteredByIP(ipAddress) - if isinstance(port,str): - if port.isdigit(): - port = htons(port) - - port = bytesToInt(port) - - port = htons(port) - - if (not isinstance(packet.data, tcp)) and \ - (not isinstance(packet.data, tcpv6)): + tcpLayer = findTcpLayer(packet) + if tcpLayer == None: continue - tcpPacket = packet.data - if (not tcpPacket.sport == port) and \ - (not tcpPacket.dport == port): - continue + print tcpLayer.sport + print port.getNetworkInteger() - return packet+ if tcpLayer.sport == port.getInteger() or tcpLayer.dport == port.getInteger(): + return packet ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#3 (text+ko) ==== @@ -5,21 +5,20 @@ ''' from loggable import tcplog +from pcs.packets import ethernet, ipv4, tcp from pcsextension.decorators import prop, validateTypes +from pcsextension.hwAddress import HwAddress from pcsextension.ipAddress import IpAddress from pcsextension.networkPort import NetworkPort from pcsextension.pseudoipv4 import pseudoipv4, ipv4_cksum from socket import IPPROTO_TCP -from tcpstates import * from tcpFilter import tcpFilter +from tcpConstructor import tcpConstructor +from tcpstates import +import binascii import binhex import pcs -from pcs.packets import tcp -from pcs.packets import ipv4 -from pcs.packets import ethernet import testconfig -import binascii - # Valid state transitions, as defined by the diagram on RFC 793 pp. 23: # September 1981 @@ -76,7 +75,7 @@ # # [Page 23] -class TcpStateMachine(object): +class TcpStateMachine( object ): ''' Enumerates the various states of a TCP connection as defined by RFC 793, pages 21-22. @@ -107,139 +106,129 @@ >>> t.state 3 ''' - - _connector = None - - def generateInitialSequence(self): + + _constructor = tcpConstructor() + _connector = tcpFilter( testconfig.interface ) + + def generateInitialSequence( self ): return 0 - + snd_nxt = 0 # Next available send sequence # snd_una = 0 # Unacknowledge send sequence # - snd_wnd = 128*1024 # Send window - snd_up = 0 # Seng urgent pointer + snd_wnd = 128 * 1024 # Send window + snd_up = 0 # Seng urgent pointer snd_wl1 = 0 # Sequence number used for last window update snd_wl2 = 0 # Ack number used for last window update - iss = -1 # Initial sequence number - - rcv_wnd = 128*1024 # Recv window size - rcv_up = 0 # Recv urgent pointer - irs = -1 # Initial receive sequence number + iss = -1 # Initial sequence number + + rcv_wnd = 128 * 1024 # Recv window size + rcv_up = 0 # Recv urgent pointer + irs = -1 # Initial receive sequence number rcv_nxt = irs # Expected next recv sequence # - + ack_nxt = 0 # Next ACK number to send. ack_lst = 0 # Last ACK number sent. - + msl = 2 * 60 # Maximum Segment Lifetime. Arbitrarily defined in the RFC to 2 minutes - timeout = 2*msl # Timeout - - + timeout = 2 * msl # Timeout + + # Ethernet stuff + def localEthernet(): + return {'doc': 'Local hardware ethernet address'} + _localEthernet = HwAddress( default = testconfig.localMAC ) + + def remoteEthernet(): + return {'doc': 'Remote hardware ethernet address'} + remoteEthernet = HwAddress( default = testconfig.remoteMAC ) + @prop def localIP(): return {'doc': 'Local IP address.'} - - + _localIP = IpAddress( default = testconfig.localIP ) + @prop def remoteIP(): return {'doc': 'Remote IP address.' } - + _remoteIP = IpAddress( default = testconfig.remoteIP ) + @prop def localPort(): return {'doc': 'Local port.'} - + _localPort = NetworkPort( default = testconfig.localPort ) + @prop def remotePort(): - return {'doc': 'Remote port.'} - + return {'doc': 'Remote port.'} + _remotePort = NetworkPort( default = testconfig.remotePort ) + @prop def mtu(): return {'doc': 'Maximum Tranmission Unit'} - -# packetsToSend = [] - # = testconfig.mtu - - + _mtu = testconfig.mtu + + def generate(): + return {'doc': 'What fields of outgoing TCP packets should be auto-generated.'} + _generate = {'cksum': True, + 'off': True, + 'seq': True, + 'acknum': True, + 'sport': True, + 'dport': True, + 'window': True, + 'urg': True, + 'ack': True, + 'syn': True, + 'fin': True, + 'rst': True, + 'psh': True, + 'urgp': True } + + @prop + def validate(): + return {'doc': 'What fields of incoming TCP packets should be validated.'} + _validate = { 'cksum': True, + 'seq': True, + 'acknum': True, + 'sport': True, + 'dport': True } + @prop def packetsToSend(): return {'doc': 'List of all packets to be sent.' } - + _packetsToSend = [] + @prop def packetsSent(): return {'doc': 'List of all packets the have been sent.' } + _packetsSent = [] - # packetsSent = [] @prop def packetsSentAcked(): return {'doc': 'List of all packets the have been sent, for which ' 'an ACKnowledgement message has not been received.'} - #packetsSentUnack = [] - + _packetsSentAcked = [] + @prop - def packetsRecvd(): - return {'doc': 'List of all packets the have been received, but have not been ACKnowledged. ' + def packetsRecvd(): + return {'doc': 'List of all packets the have been received, but have not been ACKnowledged. ' 'Upon receiving, a packet will be put into this buffer. If its sequence number is rcv_nxt, ' 'it is moved to packetsRecvdAcked, and rcv_next is updated.'} - # packetsRecvd = [] >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 21 08:30:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E1F61065670; Sun, 21 Jun 2009 08:30:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27E4D1065675 for ; Sun, 21 Jun 2009 08:30:32 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1445B8FC18 for ; Sun, 21 Jun 2009 08:30:32 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L8UWUe058903 for ; Sun, 21 Jun 2009 08:30:32 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L8UVCB058901 for perforce@freebsd.org; Sun, 21 Jun 2009 08:30:31 GMT (envelope-from zec@fer.hr) Date: Sun, 21 Jun 2009 08:30:31 GMT Message-Id: <200906210830.n5L8UVCB058901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164797 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 08:30:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164797 Change 164797 by zec@zec_amdx4 on 2009/06/21 08:30:31 IFC @ 164795 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/pmap.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/include/pmap.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/if_npe.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425_npe.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/boot/forth/loader.conf#14 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#15 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#15 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#15 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linprocfs/linprocfs.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_ioctl.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#31 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#44 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options#34 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_adapter.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_multiq.c#9 delete .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_osdep.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/cxgb_support.c#5 delete .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_bufs.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_context.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_dma.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_drv.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_irq.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fxp/if_fxp.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fxp/if_fxpvar.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/dev/puc/pucdata.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cdce.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umodem.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uath.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/fs/devfs/devfs_vnops.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsport.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clbio.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clkrpc.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/fs/portalfs/portal_vnops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/unionfs/union_vnops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/ext2fs/ext2_lookup.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/ext2fs/ext2_vnops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/msi.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_misc.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/cpufunc.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/specialreg.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/init_sysent.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_acct.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_descrip.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exit.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#27 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_lock.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_lockf.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_mbuf.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_proc.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_prot.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_sysctl.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#55 integrate .. //depot/projects/vimage-commit2/src/sys/kern/makesyscalls.sh#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.master#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/systrace_args.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty.c#27 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#24 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admsw.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/vimage-commit2/src/sys/mips/idt/idtpci.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/mips/idt/if_kr.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/modules/Makefile#26 integrate .. //depot/projects/vimage-commit2/src/sys/modules/acpi/acpi/Makefile#4 integrate .. //depot/projects/vimage-commit2/src/sys/modules/cas/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/cxgb/Makefile#6 integrate .. //depot/projects/vimage-commit2/src/sys/modules/wlan/Makefile#7 integrate .. //depot/projects/vimage-commit2/src/sys/net/bpf.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/net/if.c#77 integrate .. //depot/projects/vimage-commit2/src/sys/net/if.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_enc.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_gre.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_tun.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_var.h#32 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_wds.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_proto.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_var.h#19 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_indata.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#39 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#23 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_subr.c#55 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_timer.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_usrreq.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_var.h#18 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_proto.c#25 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/key.c#34 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/xform_tcp.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_usrreq.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/spx.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/spx_usrreq.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/spx_var.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_bio.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvsock.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvsubs.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/nlm/nlm_prot_impl.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/spr.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/cpu.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/svc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/svc_vc.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_biba/mac_biba.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_lomac/mac_lomac.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/conf/GENERIC#14 integrate .. //depot/projects/vimage-commit2/src/sys/sys/jail.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/sys/lockmgr.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#45 integrate .. //depot/projects/vimage-commit2/src/sys/sys/priv.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sockio.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.mk#7 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysctl.h#22 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syslimits.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ucred.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/sys/user.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#74 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_dirhash.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_lookup.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_vnops.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/vm/device_pager.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/uma_core.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_contig.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_extern.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_page.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_phys.c#2 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/msi.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.21 2009/06/15 21:55:29 ps Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -24,3 +24,6 @@ hint.uart.1.irq="3" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.atrtc.0.at="isa" +hint.atrtc.0.port="0x70" +hint.atrtc.0.irq="8" ==== //depot/projects/vimage-commit2/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.109 2009/06/08 12:15:39 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.110 2009/06/18 20:42:37 thompsa Exp $"); #include #include #include @@ -200,8 +200,7 @@ static void pmap_enter_locked(pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t, int); -static __inline void pmap_fix_cache(struct vm_page *, pmap_t, - vm_offset_t); +static void pmap_fix_cache(struct vm_page *, pmap_t, vm_offset_t); static void pmap_alloc_l1(pmap_t); static void pmap_free_l1(pmap_t); static void pmap_use_l1(pmap_t); @@ -406,7 +405,7 @@ #define pmap_is_current(pm) ((pm) == pmap_kernel() || \ curproc->p_vmspace->vm_map.pmap == (pm)) -static uma_zone_t pvzone; +static uma_zone_t pvzone = NULL; uma_zone_t l2zone; static uma_zone_t l2table_zone; static vm_offset_t pmap_kernel_l2dtable_kva; @@ -1451,6 +1450,7 @@ * kernel writable or kernel readable with writable user entry */ if ((kwritable && entries) || + (kwritable > 1) || ((kwritable != writable) && kentries && (pv->pv_pmap == pmap_kernel() || (pv->pv_flags & PVF_WRITE) || @@ -1472,7 +1472,8 @@ continue; } /* user is no longer sharable and writable */ - if (pm != pmap_kernel() && (pv->pv_pmap == pm) && + if (pm != pmap_kernel() && + (pv->pv_pmap == pm || pv->pv_pmap == pmap_kernel()) && !pmwc && (pv->pv_flags & PVF_NC)) { pv->pv_flags &= ~(PVF_NC | PVF_MWC); @@ -1674,7 +1675,29 @@ vm_offset_t va, u_int flags) { + int km; + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + + if (pg->md.pv_kva) { + /* PMAP_ASSERT_LOCKED(pmap_kernel()); */ + pve->pv_pmap = pmap_kernel(); + pve->pv_va = pg->md.pv_kva; + pve->pv_flags = PVF_WRITE | PVF_UNMAN; + pg->md.pv_kva = 0; + + TAILQ_INSERT_HEAD(&pg->md.pv_list, pve, pv_list); + TAILQ_INSERT_HEAD(&pm->pm_pvlist, pve, pv_plist); + if ((km = PMAP_OWNED(pmap_kernel()))) + PMAP_UNLOCK(pmap_kernel()); + vm_page_unlock_queues(); + if ((pve = pmap_get_pv_entry()) == NULL) + panic("pmap_kenter_internal: no pv entries"); + vm_page_lock_queues(); + if (km) + PMAP_LOCK(pmap_kernel()); + } + PMAP_ASSERT_LOCKED(pm); pve->pv_pmap = pm; pve->pv_va = va; @@ -1742,6 +1765,7 @@ pmap_nuke_pv(struct vm_page *pg, pmap_t pm, struct pv_entry *pve) { + struct pv_entry *pv; mtx_assert(&vm_page_queue_mtx, MA_OWNED); PMAP_ASSERT_LOCKED(pm); TAILQ_REMOVE(&pg->md.pv_list, pve, pv_list); @@ -1766,6 +1790,20 @@ vm_page_flag_clear(pg, PG_WRITEABLE); } } + pv = TAILQ_FIRST(&pg->md.pv_list); + if (pv != NULL && (pv->pv_flags & PVF_UNMAN) && + TAILQ_NEXT(pv, pv_list) == NULL) { + pg->md.pv_kva = pv->pv_va; + /* a recursive pmap_nuke_pv */ + TAILQ_REMOVE(&pg->md.pv_list, pv, pv_list); + TAILQ_REMOVE(&pm->pm_pvlist, pv, pv_plist); + if (pv->pv_flags & PVF_WIRED) + --pm->pm_stats.wired_count; + pg->md.pvh_attrs &= ~PVF_REF; + pg->md.pvh_attrs &= ~PVF_MOD; + vm_page_flag_clear(pg, PG_WRITEABLE); + pmap_free_pv_entry(pv); + } } static struct pv_entry * @@ -1784,6 +1822,9 @@ pve = TAILQ_NEXT(pve, pv_list); } + if (pve == NULL && pg->md.pv_kva == va) + pg->md.pv_kva = 0; + return(pve); /* return removed pve */ } /* @@ -2711,8 +2752,8 @@ cpu_idcache_wbinv_all(); cpu_l2cache_wbinv_all(); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { - if (pv->pv_flags & PVF_WIRED) { - /* The page is wired, cannot remove it now. */ + if (pv->pv_flags & PVF_WIRED || pv->pv_flags & PVF_UNMAN) { + /* Cannot remove wired or unmanaged pages now. */ npv = TAILQ_NEXT(pv, pv_plist); continue; } @@ -2822,6 +2863,9 @@ struct l2_bucket *l2b; pt_entry_t *pte; pt_entry_t opte; + struct pv_entry *pve; + vm_page_t m; + PDEBUG(1, printf("pmap_kenter: va = %08x, pa = %08x\n", (uint32_t) va, (uint32_t) pa)); @@ -2835,10 +2879,7 @@ PDEBUG(1, printf("pmap_kenter: pte = %08x, opte = %08x, npte = %08x\n", (uint32_t) pte, opte, *pte)); if (l2pte_valid(opte)) { - cpu_dcache_wbinv_range(va, PAGE_SIZE); - cpu_l2cache_wbinv_range(va, PAGE_SIZE); - cpu_tlb_flushD_SE(va); - cpu_cpwait(); + pmap_kremove(va); } else { if (opte == 0) l2b->l2b_occupancy++; @@ -2850,6 +2891,33 @@ if (flags & KENTER_USER) *pte |= L2_S_PROT_U; PTE_SYNC(pte); + + /* kernel direct mappings can be shared, so use a pv_entry + * to ensure proper caching. + * + * The pvzone is used to delay the recording of kernel + * mappings until the VM is running. + * + * This expects the physical memory to have vm_page_array entry. + */ + if (pvzone != NULL && (m = vm_phys_paddr_to_vm_page(pa))) { + vm_page_lock_queues(); + if (!TAILQ_EMPTY(&m->md.pv_list) || m->md.pv_kva) { + /* release vm_page lock for pv_entry UMA */ + vm_page_unlock_queues(); + if ((pve = pmap_get_pv_entry()) == NULL) + panic("pmap_kenter_internal: no pv entries"); + vm_page_lock_queues(); + PMAP_LOCK(pmap_kernel()); + pmap_enter_pv(m, pve, pmap_kernel(), va, + PVF_WRITE | PVF_UNMAN); + pmap_fix_cache(m, pmap_kernel(), va); + PMAP_UNLOCK(pmap_kernel()); + } else { + m->md.pv_kva = va; + } + vm_page_unlock_queues(); + } } void @@ -2886,6 +2954,9 @@ { struct l2_bucket *l2b; pt_entry_t *pte, opte; + struct pv_entry *pve; + vm_page_t m; + vm_offset_t pa; l2b = pmap_get_l2_bucket(pmap_kernel(), va); if (!l2b) @@ -2894,6 +2965,25 @@ pte = &l2b->l2b_kva[l2pte_index(va)]; opte = *pte; if (l2pte_valid(opte)) { + /* pa = vtophs(va) taken from pmap_extract() */ + switch (opte & L2_TYPE_MASK) { + case L2_TYPE_L: + pa = (opte & L2_L_FRAME) | (va & L2_L_OFFSET); + break; + default: + pa = (opte & L2_S_FRAME) | (va & L2_S_OFFSET); + break; + } + /* note: should never have to remove an allocation + * before the pvzone is initialized. + */ + vm_page_lock_queues(); + PMAP_LOCK(pmap_kernel()); + if (pvzone != NULL && (m = vm_phys_paddr_to_vm_page(pa)) && + (pve = pmap_remove_pv(m, pmap_kernel(), va))) + pmap_free_pv_entry(pve); + PMAP_UNLOCK(pmap_kernel()); + vm_page_unlock_queues(); cpu_dcache_wbinv_range(va, PAGE_SIZE); cpu_l2cache_wbinv_range(va, PAGE_SIZE); cpu_tlb_flushD_SE(va); @@ -3137,16 +3227,24 @@ cpu_l2cache_inv_range(pv->pv_va, PAGE_SIZE); } - l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); - KASSERT(l2b != NULL, ("No l2 bucket")); - ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; - *ptep = 0; - PTE_SYNC_CURRENT(pv->pv_pmap, ptep); - pmap_free_l2_bucket(pv->pv_pmap, l2b, 1); - if (pv->pv_flags & PVF_WIRED) - pv->pv_pmap->pm_stats.wired_count--; - pv->pv_pmap->pm_stats.resident_count--; - flags |= pv->pv_flags; + if (pv->pv_flags & PVF_UNMAN) { + /* remove the pv entry, but do not remove the mapping + * and remember this is a kernel mapped page + */ + m->md.pv_kva = pv->pv_va; + } else { + /* remove the mapping and pv entry */ + l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); + KASSERT(l2b != NULL, ("No l2 bucket")); + ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; + *ptep = 0; + PTE_SYNC_CURRENT(pv->pv_pmap, ptep); + pmap_free_l2_bucket(pv->pv_pmap, l2b, 1); + if (pv->pv_flags & PVF_WIRED) + pv->pv_pmap->pm_stats.wired_count--; + pv->pv_pmap->pm_stats.resident_count--; + flags |= pv->pv_flags; + } pmap_nuke_pv(m, pv->pv_pmap, pv); PMAP_UNLOCK(pv->pv_pmap); pmap_free_pv_entry(pv); @@ -3428,25 +3526,19 @@ * It is part of our managed memory so we * must remove it from the PV list */ - pve = pmap_remove_pv(opg, pmap, va); - if (m && (m->flags & (PG_UNMANAGED | PG_FICTITIOUS)) && - pve) - pmap_free_pv_entry(pve); - else if (!pve && - !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) - pve = pmap_get_pv_entry(); - KASSERT(pve != NULL || m->flags & (PG_UNMANAGED | - PG_FICTITIOUS), ("No pv")); - oflags = pve->pv_flags; - + if ((pve = pmap_remove_pv(opg, pmap, va))) { + + /* note for patch: the oflags/invalidation was moved + * because PG_FICTITIOUS pages could free the pve + */ + oflags = pve->pv_flags; /* * If the old mapping was valid (ref/mod * emulation creates 'invalid' mappings * initially) then make sure to frob * the cache. */ - if ((oflags & PVF_NC) == 0 && - l2pte_valid(opte)) { + if ((oflags & PVF_NC) == 0 && l2pte_valid(opte)) { if (PV_BEEN_EXECD(oflags)) { pmap_idcache_wbinv_range(pmap, va, PAGE_SIZE); @@ -3456,15 +3548,43 @@ PAGE_SIZE, TRUE, (oflags & PVF_WRITE) == 0); } - } - } else if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) - if ((pve = pmap_get_pv_entry()) == NULL) { - panic("pmap_enter: no pv entries"); + } + + /* free/allocate a pv_entry for UNMANAGED pages if + * this physical page is not/is already mapped. + */ + + if (m && ((m->flags & PG_FICTITIOUS) || + ((m->flags & PG_UNMANAGED) && + !m->md.pv_kva && + TAILQ_EMPTY(&m->md.pv_list)))) { + pmap_free_pv_entry(pve); + pve = NULL; + } + } else if (m && !(m->flags & PG_FICTITIOUS) && + (!(m->flags & PG_UNMANAGED) || m->md.pv_kva || + !TAILQ_EMPTY(&m->md.pv_list))) + pve = pmap_get_pv_entry(); + } else if (m && !(m->flags & PG_FICTITIOUS) && + (!(m->flags & PG_UNMANAGED) || m->md.pv_kva || + !TAILQ_EMPTY(&m->md.pv_list))) + pve = pmap_get_pv_entry(); + + if (m && !(m->flags & PG_FICTITIOUS)) { + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, + ("pmap_enter: managed mapping within the clean submap")); + if (m->flags & PG_UNMANAGED) { + if (!TAILQ_EMPTY(&m->md.pv_list) || + m->md.pv_kva) { + KASSERT(pve != NULL, ("No pv")); + nflags |= PVF_UNMAN; + pmap_enter_pv(m, pve, pmap, va, nflags); + } else + m->md.pv_kva = va; + } else { + KASSERT(pve != NULL, ("No pv")); + pmap_enter_pv(m, pve, pmap, va, nflags); } - if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) { - KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, - ("pmap_enter: managed mapping within the clean submap")); - pmap_enter_pv(m, pve, pmap, va, nflags); } } /* ==== //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -21,11 +21,11 @@ hint.npe.0.mac="C" hint.npe.0.mii="C" hint.npe.0.phy=1 -#hint.npe.1.at="ixp0" -#hint.npe.1.npeid="A" -#hint.npe.1.mac="A" -#hint.npe.1.mii="C" -#hint.npe.1.phy=2 +hint.npe.1.at="ixp0" +hint.npe.1.npeid="A" +hint.npe.1.mac="A" +hint.npe.1.mii="C" +hint.npe.1.phy=2 # FLASH hint.cfi.0.at="ixp0" ==== //depot/projects/vimage-commit2/src/sys/arm/include/pmap.h#4 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.31 2009/05/07 05:42:13 alc Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.32 2009/06/18 20:42:37 thompsa Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -94,6 +94,7 @@ struct md_page { int pvh_attrs; + vm_offset_t pv_kva; /* first kernel VA mapping */ TAILQ_HEAD(,pv_entry) pv_list; }; @@ -494,6 +495,7 @@ #define PVF_EXEC 0x10 /* mapping is executable */ #define PVF_NC 0x20 /* mapping is non-cacheable */ #define PVF_MWC 0x40 /* mapping is used multiple times in userland */ +#define PVF_UNMAN 0x80 /* mapping is unmanaged */ void vector_page_setprot(int); ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/if_npe.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.18 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -153,9 +153,9 @@ * multi-port processing. It may be better to handle * all traffic through one Q (as done by the Intel drivers). * - * Note that the PHY's are accessible only from MAC A - * on the IXP425. This and other platform-specific - * assumptions probably need to be handled through hints. + * Note that the PHY's are accessible only from MAC B on the + * IXP425 and from MAC C on other devices. This and other + * platform-specific assumptions are handled with hints. */ static const struct { uint32_t macbase; @@ -177,7 +177,7 @@ }, [NPE_B] = { .macbase = IXP425_MAC_B_HWBASE, - .miibase = IXP425_MAC_C_HWBASE, + .miibase = IXP425_MAC_B_HWBASE, .phy = 0, .rx_qid = 4, .rx_freeqid = 27, @@ -186,7 +186,7 @@ }, [NPE_C] = { .macbase = IXP425_MAC_C_HWBASE, - .miibase = IXP425_MAC_C_HWBASE, + .miibase = IXP425_MAC_B_HWBASE, .phy = 1, .rx_qid = 12, .rx_freeqid = 28, @@ -239,6 +239,7 @@ static int npe_setrxqosentry(struct npe_softc *, int classix, int trafclass, int qid); +static int npe_setportaddress(struct npe_softc *, const uint8_t mac[]); static int npe_setfirewallmode(struct npe_softc *, int onoff); static int npe_updatestats(struct npe_softc *); #if 0 @@ -666,7 +667,7 @@ static int npe_activate(device_t dev) { - struct npe_softc * sc = device_get_softc(dev); + struct npe_softc *sc = device_get_softc(dev); int error, i, macbase, miibase; /* @@ -1024,7 +1025,7 @@ struct txdone *td, q[NPE_MAX]; uint32_t entry; - /* XXX no NPE-A support */ + q[NPE_A].tail = &q[NPE_A].head; q[NPE_A].count = 0; q[NPE_B].tail = &q[NPE_B].head; q[NPE_B].count = 0; q[NPE_C].tail = &q[NPE_C].head; q[NPE_C].count = 0; /* XXX max # at a time? */ @@ -1043,6 +1044,8 @@ td->count++; } + if (q[NPE_A].count) + npe_txdone_finish(npes[NPE_A], &q[NPE_A]); if (q[NPE_B].count) npe_txdone_finish(npes[NPE_B], &q[NPE_B]); if (q[NPE_C].count) @@ -1252,6 +1255,7 @@ WR4(sc, NPE_MAC_RX_CNTRL2, 0); npe_setmac(sc, IF_LLADDR(ifp)); + npe_setportaddress(sc, IF_LLADDR(ifp)); npe_setmcast(sc); npe_startxmit(sc); @@ -1552,6 +1556,22 @@ } static int +npe_setportaddress(struct npe_softc *sc, const uint8_t mac[ETHER_ADDR_LEN]) +{ + uint32_t msg[2]; + + msg[0] = (NPE_SETPORTADDRESS << 24) + | (sc->sc_npeid << 20) + | (mac[0] << 8) + | (mac[1] << 0); + msg[1] = (mac[2] << 24) + | (mac[3] << 16) + | (mac[4] << 8) + | (mac[5] << 0); + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg); +} + +static int npe_setfirewallmode(struct npe_softc *sc, int onoff) { uint32_t msg[2]; ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#7 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.19 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.20 2009/06/17 02:51:16 sam Exp $"); #include "opt_ddb.h" @@ -85,6 +85,12 @@ return bits; } +void +ixp4xx_write_feature_bits(uint32_t v) +{ + IXPREG(IXP425_EXP_VBASE + EXP_FCTRL_OFFSET) = ~v; +} + struct arm32_dma_range * bus_dma_get_range(void) { ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425_npe.c#3 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.10 2008/12/23 04:51:46 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.12 2009/06/17 17:57:52 sam Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. @@ -306,8 +306,14 @@ sc->sc_nrefs = 1; sc->sc_size = config->size; - sc->insMemSize = config->ins_memsize; /* size of instruction memory */ - sc->dataMemSize = config->data_memsize; /* size of data memory */ + if (cpu_is_ixp42x()) { + /* NB: instruction/data memory sizes are NPE-dependent */ + sc->insMemSize = config->ins_memsize; + sc->dataMemSize = config->data_memsize; + } else { + sc->insMemSize = IXP46X_NPEDL_INS_MEMSIZE_WORDS; + sc->dataMemSize = IXP46X_NPEDL_DATA_MEMSIZE_WORDS; + } if (bus_space_map(sc->sc_iot, config->base, sc->sc_size, 0, &sc->sc_ioh)) panic("%s: Cannot map registers", device_get_name(dev)); @@ -798,20 +804,34 @@ IX_NPEDL_CTXT_REG_RESET_CINDEX, }; -#define IX_NPEDL_RESET_NPE_PARITY 0x0800 #define IX_NPEDL_PARITY_BIT_MASK 0x3F00FFFF #define IX_NPEDL_CONFIG_CTRL_REG_MASK 0x3F3FFFFF +#if 0 +/* + * Reset the NPE and its coprocessor using the + * fuse bits in the feature control register. + */ +static void +npe_reset(int npeid) +{ + uint32_t mask = EXP_FCTRL_NPEA << npeid; + uint32_t v; + + v = ixp4xx_read_feature_bits(); + ixp4xx_write_feature_bits(v &~ mask); + /* un-fuse and un-reset the NPE & coprocessor */ + ixp4xx_write_feature_bits(v | mask); +} +#endif + static int npe_cpu_reset(struct ixpnpe_softc *sc) { #define N(a) (sizeof(a) / sizeof(a[0])) - struct ixp425_softc *sa = - device_get_softc(device_get_parent(sc->sc_dev)); uint32_t ctxtReg; /* identifies Context Store reg (0-3) */ uint32_t regAddr; uint32_t regVal; - uint32_t resetNpeParity; uint32_t ixNpeConfigCtrlRegVal; int i, error = 0; @@ -929,33 +949,15 @@ /* Reset the Watch-count register */ npe_reg_write(sc, IX_NPEDL_REG_OFFSET_WC, 0); - +#if 0 /* * WR IXA00055043 - Remove IMEM Parity Introduced by NPE Reset Operation + * XXX Removed because it breaks IXP435 operation; e.g. on Gateworks + * XXX 2358 boards reseting NPE-A after NPE-C is running causes both + * XXX npe's to stop working */ - - /* - * Reset the NPE and its coprocessor - to reset internal - * states and remove parity error. Note this makes no - * sense based on the documentation. The feature control - * register always reads back as 0 on the ixp425 and further - * the bit definition of NPEA/NPEB is off by 1 according to - * the Intel documention--so we're blindly following the - * Intel code w/o any real understanding. - */ - regVal = EXP_BUS_READ_4(sa, EXP_FCTRL_OFFSET); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL 0x%x\n", __func__, regVal); - resetNpeParity = - IX_NPEDL_RESET_NPE_PARITY << (1 + device_get_unit(sc->sc_dev)); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL fuse parity, write 0x%x\n", - __func__, regVal | resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal | resetNpeParity); - - /* un-fuse and un-reset the NPE & coprocessor */ - DPRINTFn(2, sc->sc_dev, "%s: FCTRL unfuse parity, write 0x%x\n", - __func__, regVal & resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal &~ resetNpeParity); - + npe_reset(sc->sc_npeid); +#endif /* * Call NpeMgr function to stop the NPE again after the Feature Control * has unfused and Un-Reset the NPE and its associated Coprocessors. ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npereg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npereg.h,v 1.2 2009/06/17 02:55:53 sam Exp $ */ /*- @@ -95,7 +95,6 @@ /* * Instruction and Data Memory Size (in words) for each NPE */ -#ifndef __ixp46X #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096 #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 2048 #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 2048 @@ -103,15 +102,9 @@ #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 2048 #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 2048 #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 2048 -#else -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096 -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 4096 -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 4096 -#endif +#define IXP46X_NPEDL_INS_MEMSIZE_WORDS 4096 +#define IXP46X_NPEDL_DATA_MEMSIZE_WORDS 4096 /* BAR offsets */ #define IX_NPEDL_REG_OFFSET_EXAD 0x00000000 /* Execution Address */ ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.6 2008/12/23 04:48:27 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.7 2009/06/17 02:51:16 sam Exp $ * */ @@ -101,6 +101,7 @@ uint32_t ixp425_sdram_size(void); uint32_t ixp435_ddram_size(void); uint32_t ixp4xx_read_feature_bits(void); +void ixp4xx_write_feature_bits(uint32_t); int ixp425_md_route_interrupt(device_t, device_t, int); void ixp425_md_attach(device_t); ==== //depot/projects/vimage-commit2/src/sys/boot/forth/loader.conf#14 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.141 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.142 2009/06/15 18:22:41 marius Exp $ ############################################################## ### Basic configuration options ############################ @@ -221,6 +221,7 @@ if_bce_load="NO" # Broadcom NetXtreme II Gigabit Ethernet if_bfe_load="NO" # Broadcom BCM4401 if_bge_load="NO" # Broadcom BCM570x PCI Gigabit Ethernet +if_cas_load="NO" # Sun Cassini/Cassini+ and NS DP83065 Saturn if_cm_load="NO" # SMC (90c26, 90c56, 90c66) if_cs_load="NO" # Crystal Semiconductor CS8920 if_cue_load="NO" # CATC USB-EL1210A USB Ethernet ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 (text+ko) ==== @@ -158,7 +158,7 @@ */ static int arc_min_prefetch_lifespan; -extern int zfs_prefetch_enable; +extern int zfs_prefetch_disable; static int arc_dead; /* @@ -3552,21 +3552,21 @@ mutex_init(&zfs_write_limit_lock, NULL, MUTEX_DEFAULT, NULL); #ifdef _KERNEL - if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_enable", &zfs_prefetch_enable)) + if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_disable", &zfs_prefetch_disable)) prefetch_tunable_set = 1; #ifdef __i386__ if (prefetch_tunable_set == 0) { printf("ZFS NOTICE: prefetch is disabled by default on i386" " - add enable to tunable to change.\n" ); - zfs_prefetch_enable=0; + zfs_prefetch_disable=1; } #else if ((((uint64_t)physmem * PAGESIZE) < (1ULL << 32)) && prefetch_tunable_set == 0) { printf("ZFS NOTICE: system has less than 4GB and prefetch enable is not set" "... disabling.\n"); - zfs_prefetch_enable=0; + zfs_prefetch_disable=1; } #endif /* Warn about ZFS memory and address space requirements. */ ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 (text+ko) ==== @@ -326,7 +326,7 @@ uint64_t blkid; int nblks, i, err; - if (zfs_prefetch_enable == 0) + if (zfs_prefetch_disable) return; if (len == 0) { /* they're interested in the bonus buffer */ ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ * until we can get this working the way we want it to. */ -int zfs_prefetch_enable = 1; +int zfs_prefetch_disable = 0; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 21 08:52:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8B431065676; Sun, 21 Jun 2009 08:52:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8C511065670 for ; Sun, 21 Jun 2009 08:52:57 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94C0F8FC0A for ; Sun, 21 Jun 2009 08:52:57 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5L8qvO3070623 for ; Sun, 21 Jun 2009 08:52:57 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5L8qumn070617 for perforce@freebsd.org; Sun, 21 Jun 2009 08:52:56 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 21 Jun 2009 08:52:56 GMT Message-Id: <200906210852.n5L8qumn070617@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164800 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 08:52:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=164800 Change 164800 by anchie@anchie_malimis on 2009/06/21 08:52:01 Integrate. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_ioctl.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_multiq.c#3 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/scterm-teken.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_uath.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfs/nfs.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfs/nfs_commonport.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfs/nfsport.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clbio.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clkrpc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clport.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsserver/nfs_nfsdport.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsserver/nfs_nfsdstate.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_lookup.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_vnops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/cpufunc.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/init_sysent.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_acct.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_proc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_prot.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_sysctl.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/syscalls.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/syscalls.master#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/systrace_args.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_export.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/adm5120/if_admsw.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/mips/idt/idtpci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/idt/if_kr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/Makefile#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi/Makefile#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/wlan/Makefile#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/bpf.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_enc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_gre.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_tun.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_var.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#4 edit .. //depot/projects/soc2009/anchie_send/src/sys/net80211/ieee80211_wds.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/in_proto.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_var.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_indata.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_input.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_output.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_output.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#9 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#2 edit .. //depot/projects/soc2009/anchie_send/src/sys/netipsec/key.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipsec/xform_tcp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipx/spx.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipx/spx_usrreq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipx/spx_var.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsserver/nfs_srvkrpc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsserver/nfs_srvsock.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nlm/nlm_prot_impl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/powerpc/include/spr.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_auth.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_auth_unix.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_generic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_vc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#3 edit .. //depot/projects/soc2009/anchie_send/src/sys/sys/param.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/priv.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/syscall.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/syscall.mk#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/syslimits.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/sysproto.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/ucred.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/user.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/vimage.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ufs/ufs/ufs_dirhash.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/device_pager.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/uma_core.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_contig.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_extern.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_page.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_phys.c#2 integrate Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/arm/arm/pmap.c#3 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.109 2009/06/08 12:15:39 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.110 2009/06/18 20:42:37 thompsa Exp $"); #include #include #include @@ -200,8 +200,7 @@ static void pmap_enter_locked(pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t, int); -static __inline void pmap_fix_cache(struct vm_page *, pmap_t, - vm_offset_t); +static void pmap_fix_cache(struct vm_page *, pmap_t, vm_offset_t); static void pmap_alloc_l1(pmap_t); static void pmap_free_l1(pmap_t); static void pmap_use_l1(pmap_t); @@ -406,7 +405,7 @@ #define pmap_is_current(pm) ((pm) == pmap_kernel() || \ curproc->p_vmspace->vm_map.pmap == (pm)) -static uma_zone_t pvzone; +static uma_zone_t pvzone = NULL; uma_zone_t l2zone; static uma_zone_t l2table_zone; static vm_offset_t pmap_kernel_l2dtable_kva; @@ -1451,6 +1450,7 @@ * kernel writable or kernel readable with writable user entry */ if ((kwritable && entries) || + (kwritable > 1) || ((kwritable != writable) && kentries && (pv->pv_pmap == pmap_kernel() || (pv->pv_flags & PVF_WRITE) || @@ -1472,7 +1472,8 @@ continue; } /* user is no longer sharable and writable */ - if (pm != pmap_kernel() && (pv->pv_pmap == pm) && + if (pm != pmap_kernel() && + (pv->pv_pmap == pm || pv->pv_pmap == pmap_kernel()) && !pmwc && (pv->pv_flags & PVF_NC)) { pv->pv_flags &= ~(PVF_NC | PVF_MWC); @@ -1674,7 +1675,29 @@ vm_offset_t va, u_int flags) { + int km; + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + + if (pg->md.pv_kva) { + /* PMAP_ASSERT_LOCKED(pmap_kernel()); */ + pve->pv_pmap = pmap_kernel(); + pve->pv_va = pg->md.pv_kva; + pve->pv_flags = PVF_WRITE | PVF_UNMAN; + pg->md.pv_kva = 0; + + TAILQ_INSERT_HEAD(&pg->md.pv_list, pve, pv_list); + TAILQ_INSERT_HEAD(&pm->pm_pvlist, pve, pv_plist); + if ((km = PMAP_OWNED(pmap_kernel()))) + PMAP_UNLOCK(pmap_kernel()); + vm_page_unlock_queues(); + if ((pve = pmap_get_pv_entry()) == NULL) + panic("pmap_kenter_internal: no pv entries"); + vm_page_lock_queues(); + if (km) + PMAP_LOCK(pmap_kernel()); + } + PMAP_ASSERT_LOCKED(pm); pve->pv_pmap = pm; pve->pv_va = va; @@ -1742,6 +1765,7 @@ pmap_nuke_pv(struct vm_page *pg, pmap_t pm, struct pv_entry *pve) { + struct pv_entry *pv; mtx_assert(&vm_page_queue_mtx, MA_OWNED); PMAP_ASSERT_LOCKED(pm); TAILQ_REMOVE(&pg->md.pv_list, pve, pv_list); @@ -1766,6 +1790,20 @@ vm_page_flag_clear(pg, PG_WRITEABLE); } } + pv = TAILQ_FIRST(&pg->md.pv_list); + if (pv != NULL && (pv->pv_flags & PVF_UNMAN) && + TAILQ_NEXT(pv, pv_list) == NULL) { + pg->md.pv_kva = pv->pv_va; + /* a recursive pmap_nuke_pv */ + TAILQ_REMOVE(&pg->md.pv_list, pv, pv_list); + TAILQ_REMOVE(&pm->pm_pvlist, pv, pv_plist); + if (pv->pv_flags & PVF_WIRED) + --pm->pm_stats.wired_count; + pg->md.pvh_attrs &= ~PVF_REF; + pg->md.pvh_attrs &= ~PVF_MOD; + vm_page_flag_clear(pg, PG_WRITEABLE); + pmap_free_pv_entry(pv); + } } static struct pv_entry * @@ -1784,6 +1822,9 @@ pve = TAILQ_NEXT(pve, pv_list); } + if (pve == NULL && pg->md.pv_kva == va) + pg->md.pv_kva = 0; + return(pve); /* return removed pve */ } /* @@ -2711,8 +2752,8 @@ cpu_idcache_wbinv_all(); cpu_l2cache_wbinv_all(); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { - if (pv->pv_flags & PVF_WIRED) { - /* The page is wired, cannot remove it now. */ + if (pv->pv_flags & PVF_WIRED || pv->pv_flags & PVF_UNMAN) { + /* Cannot remove wired or unmanaged pages now. */ npv = TAILQ_NEXT(pv, pv_plist); continue; } @@ -2822,6 +2863,9 @@ struct l2_bucket *l2b; pt_entry_t *pte; pt_entry_t opte; + struct pv_entry *pve; + vm_page_t m; + PDEBUG(1, printf("pmap_kenter: va = %08x, pa = %08x\n", (uint32_t) va, (uint32_t) pa)); @@ -2835,10 +2879,7 @@ PDEBUG(1, printf("pmap_kenter: pte = %08x, opte = %08x, npte = %08x\n", (uint32_t) pte, opte, *pte)); if (l2pte_valid(opte)) { - cpu_dcache_wbinv_range(va, PAGE_SIZE); - cpu_l2cache_wbinv_range(va, PAGE_SIZE); - cpu_tlb_flushD_SE(va); - cpu_cpwait(); + pmap_kremove(va); } else { if (opte == 0) l2b->l2b_occupancy++; @@ -2850,6 +2891,33 @@ if (flags & KENTER_USER) *pte |= L2_S_PROT_U; PTE_SYNC(pte); + + /* kernel direct mappings can be shared, so use a pv_entry + * to ensure proper caching. + * + * The pvzone is used to delay the recording of kernel + * mappings until the VM is running. + * + * This expects the physical memory to have vm_page_array entry. + */ + if (pvzone != NULL && (m = vm_phys_paddr_to_vm_page(pa))) { + vm_page_lock_queues(); + if (!TAILQ_EMPTY(&m->md.pv_list) || m->md.pv_kva) { + /* release vm_page lock for pv_entry UMA */ + vm_page_unlock_queues(); + if ((pve = pmap_get_pv_entry()) == NULL) + panic("pmap_kenter_internal: no pv entries"); + vm_page_lock_queues(); + PMAP_LOCK(pmap_kernel()); + pmap_enter_pv(m, pve, pmap_kernel(), va, + PVF_WRITE | PVF_UNMAN); + pmap_fix_cache(m, pmap_kernel(), va); + PMAP_UNLOCK(pmap_kernel()); + } else { + m->md.pv_kva = va; + } + vm_page_unlock_queues(); + } } void @@ -2886,6 +2954,9 @@ { struct l2_bucket *l2b; pt_entry_t *pte, opte; + struct pv_entry *pve; + vm_page_t m; + vm_offset_t pa; l2b = pmap_get_l2_bucket(pmap_kernel(), va); if (!l2b) @@ -2894,6 +2965,25 @@ pte = &l2b->l2b_kva[l2pte_index(va)]; opte = *pte; if (l2pte_valid(opte)) { + /* pa = vtophs(va) taken from pmap_extract() */ + switch (opte & L2_TYPE_MASK) { + case L2_TYPE_L: + pa = (opte & L2_L_FRAME) | (va & L2_L_OFFSET); + break; + default: + pa = (opte & L2_S_FRAME) | (va & L2_S_OFFSET); + break; + } + /* note: should never have to remove an allocation + * before the pvzone is initialized. + */ + vm_page_lock_queues(); + PMAP_LOCK(pmap_kernel()); + if (pvzone != NULL && (m = vm_phys_paddr_to_vm_page(pa)) && + (pve = pmap_remove_pv(m, pmap_kernel(), va))) + pmap_free_pv_entry(pve); + PMAP_UNLOCK(pmap_kernel()); + vm_page_unlock_queues(); cpu_dcache_wbinv_range(va, PAGE_SIZE); cpu_l2cache_wbinv_range(va, PAGE_SIZE); cpu_tlb_flushD_SE(va); @@ -3137,16 +3227,24 @@ cpu_l2cache_inv_range(pv->pv_va, PAGE_SIZE); } - l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); - KASSERT(l2b != NULL, ("No l2 bucket")); - ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; - *ptep = 0; - PTE_SYNC_CURRENT(pv->pv_pmap, ptep); - pmap_free_l2_bucket(pv->pv_pmap, l2b, 1); - if (pv->pv_flags & PVF_WIRED) - pv->pv_pmap->pm_stats.wired_count--; - pv->pv_pmap->pm_stats.resident_count--; - flags |= pv->pv_flags; + if (pv->pv_flags & PVF_UNMAN) { + /* remove the pv entry, but do not remove the mapping + * and remember this is a kernel mapped page + */ + m->md.pv_kva = pv->pv_va; + } else { + /* remove the mapping and pv entry */ + l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); + KASSERT(l2b != NULL, ("No l2 bucket")); + ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; + *ptep = 0; + PTE_SYNC_CURRENT(pv->pv_pmap, ptep); + pmap_free_l2_bucket(pv->pv_pmap, l2b, 1); + if (pv->pv_flags & PVF_WIRED) + pv->pv_pmap->pm_stats.wired_count--; + pv->pv_pmap->pm_stats.resident_count--; + flags |= pv->pv_flags; + } pmap_nuke_pv(m, pv->pv_pmap, pv); PMAP_UNLOCK(pv->pv_pmap); pmap_free_pv_entry(pv); @@ -3428,25 +3526,19 @@ * It is part of our managed memory so we * must remove it from the PV list */ - pve = pmap_remove_pv(opg, pmap, va); - if (m && (m->flags & (PG_UNMANAGED | PG_FICTITIOUS)) && - pve) - pmap_free_pv_entry(pve); - else if (!pve && - !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) - pve = pmap_get_pv_entry(); - KASSERT(pve != NULL || m->flags & (PG_UNMANAGED | - PG_FICTITIOUS), ("No pv")); - oflags = pve->pv_flags; - + if ((pve = pmap_remove_pv(opg, pmap, va))) { + + /* note for patch: the oflags/invalidation was moved + * because PG_FICTITIOUS pages could free the pve + */ + oflags = pve->pv_flags; /* * If the old mapping was valid (ref/mod * emulation creates 'invalid' mappings * initially) then make sure to frob * the cache. */ - if ((oflags & PVF_NC) == 0 && - l2pte_valid(opte)) { + if ((oflags & PVF_NC) == 0 && l2pte_valid(opte)) { if (PV_BEEN_EXECD(oflags)) { pmap_idcache_wbinv_range(pmap, va, PAGE_SIZE); @@ -3456,15 +3548,43 @@ PAGE_SIZE, TRUE, (oflags & PVF_WRITE) == 0); } - } - } else if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) - if ((pve = pmap_get_pv_entry()) == NULL) { - panic("pmap_enter: no pv entries"); + } + + /* free/allocate a pv_entry for UNMANAGED pages if + * this physical page is not/is already mapped. + */ + + if (m && ((m->flags & PG_FICTITIOUS) || + ((m->flags & PG_UNMANAGED) && + !m->md.pv_kva && + TAILQ_EMPTY(&m->md.pv_list)))) { + pmap_free_pv_entry(pve); + pve = NULL; + } + } else if (m && !(m->flags & PG_FICTITIOUS) && + (!(m->flags & PG_UNMANAGED) || m->md.pv_kva || + !TAILQ_EMPTY(&m->md.pv_list))) + pve = pmap_get_pv_entry(); + } else if (m && !(m->flags & PG_FICTITIOUS) && + (!(m->flags & PG_UNMANAGED) || m->md.pv_kva || + !TAILQ_EMPTY(&m->md.pv_list))) + pve = pmap_get_pv_entry(); + + if (m && !(m->flags & PG_FICTITIOUS)) { + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, + ("pmap_enter: managed mapping within the clean submap")); + if (m->flags & PG_UNMANAGED) { + if (!TAILQ_EMPTY(&m->md.pv_list) || + m->md.pv_kva) { + KASSERT(pve != NULL, ("No pv")); + nflags |= PVF_UNMAN; + pmap_enter_pv(m, pve, pmap, va, nflags); + } else + m->md.pv_kva = va; + } else { + KASSERT(pve != NULL, ("No pv")); + pmap_enter_pv(m, pve, pmap, va, nflags); } - if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) { - KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, - ("pmap_enter: managed mapping within the clean submap")); - pmap_enter_pv(m, pve, pmap, va, nflags); } } /* ==== //depot/projects/soc2009/anchie_send/src/sys/arm/conf/CAMBRIA.hints#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -21,11 +21,11 @@ hint.npe.0.mac="C" hint.npe.0.mii="C" hint.npe.0.phy=1 -#hint.npe.1.at="ixp0" -#hint.npe.1.npeid="A" -#hint.npe.1.mac="A" -#hint.npe.1.mii="C" -#hint.npe.1.phy=2 +hint.npe.1.at="ixp0" +hint.npe.1.npeid="A" +hint.npe.1.mac="A" +hint.npe.1.mii="C" +hint.npe.1.phy=2 # FLASH hint.cfi.0.at="ixp0" ==== //depot/projects/soc2009/anchie_send/src/sys/arm/include/pmap.h#2 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.31 2009/05/07 05:42:13 alc Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.32 2009/06/18 20:42:37 thompsa Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -94,6 +94,7 @@ struct md_page { int pvh_attrs; + vm_offset_t pv_kva; /* first kernel VA mapping */ TAILQ_HEAD(,pv_entry) pv_list; }; @@ -494,6 +495,7 @@ #define PVF_EXEC 0x10 /* mapping is executable */ #define PVF_NC 0x20 /* mapping is non-cacheable */ #define PVF_MWC 0x40 /* mapping is used multiple times in userland */ +#define PVF_UNMAN 0x80 /* mapping is unmanaged */ void vector_page_setprot(int); ==== //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/if_npe.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.18 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -153,9 +153,9 @@ * multi-port processing. It may be better to handle * all traffic through one Q (as done by the Intel drivers). * - * Note that the PHY's are accessible only from MAC A - * on the IXP425. This and other platform-specific - * assumptions probably need to be handled through hints. + * Note that the PHY's are accessible only from MAC B on the + * IXP425 and from MAC C on other devices. This and other + * platform-specific assumptions are handled with hints. */ static const struct { uint32_t macbase; @@ -177,7 +177,7 @@ }, [NPE_B] = { .macbase = IXP425_MAC_B_HWBASE, - .miibase = IXP425_MAC_C_HWBASE, + .miibase = IXP425_MAC_B_HWBASE, .phy = 0, .rx_qid = 4, .rx_freeqid = 27, @@ -186,7 +186,7 @@ }, [NPE_C] = { .macbase = IXP425_MAC_C_HWBASE, - .miibase = IXP425_MAC_C_HWBASE, + .miibase = IXP425_MAC_B_HWBASE, .phy = 1, .rx_qid = 12, .rx_freeqid = 28, @@ -239,6 +239,7 @@ static int npe_setrxqosentry(struct npe_softc *, int classix, int trafclass, int qid); +static int npe_setportaddress(struct npe_softc *, const uint8_t mac[]); static int npe_setfirewallmode(struct npe_softc *, int onoff); static int npe_updatestats(struct npe_softc *); #if 0 @@ -666,7 +667,7 @@ static int npe_activate(device_t dev) { - struct npe_softc * sc = device_get_softc(dev); + struct npe_softc *sc = device_get_softc(dev); int error, i, macbase, miibase; /* @@ -1024,7 +1025,7 @@ struct txdone *td, q[NPE_MAX]; uint32_t entry; - /* XXX no NPE-A support */ + q[NPE_A].tail = &q[NPE_A].head; q[NPE_A].count = 0; q[NPE_B].tail = &q[NPE_B].head; q[NPE_B].count = 0; q[NPE_C].tail = &q[NPE_C].head; q[NPE_C].count = 0; /* XXX max # at a time? */ @@ -1043,6 +1044,8 @@ td->count++; } + if (q[NPE_A].count) + npe_txdone_finish(npes[NPE_A], &q[NPE_A]); if (q[NPE_B].count) npe_txdone_finish(npes[NPE_B], &q[NPE_B]); if (q[NPE_C].count) @@ -1252,6 +1255,7 @@ WR4(sc, NPE_MAC_RX_CNTRL2, 0); npe_setmac(sc, IF_LLADDR(ifp)); + npe_setportaddress(sc, IF_LLADDR(ifp)); npe_setmcast(sc); npe_startxmit(sc); @@ -1552,6 +1556,22 @@ } static int +npe_setportaddress(struct npe_softc *sc, const uint8_t mac[ETHER_ADDR_LEN]) +{ + uint32_t msg[2]; + + msg[0] = (NPE_SETPORTADDRESS << 24) + | (sc->sc_npeid << 20) + | (mac[0] << 8) + | (mac[1] << 0); + msg[1] = (mac[2] << 24) + | (mac[3] << 16) + | (mac[4] << 8) + | (mac[5] << 0); + return ixpnpe_sendandrecvmsg_sync(sc->sc_npe, msg, msg); +} + +static int npe_setfirewallmode(struct npe_softc *sc, int onoff) { uint32_t msg[2]; ==== //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.19 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.20 2009/06/17 02:51:16 sam Exp $"); #include "opt_ddb.h" @@ -85,6 +85,12 @@ return bits; } +void +ixp4xx_write_feature_bits(uint32_t v) +{ + IXPREG(IXP425_EXP_VBASE + EXP_FCTRL_OFFSET) = ~v; +} + struct arm32_dma_range * bus_dma_get_range(void) { ==== //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425_npe.c#2 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.10 2008/12/23 04:51:46 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.12 2009/06/17 17:57:52 sam Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. @@ -306,8 +306,14 @@ sc->sc_nrefs = 1; sc->sc_size = config->size; - sc->insMemSize = config->ins_memsize; /* size of instruction memory */ - sc->dataMemSize = config->data_memsize; /* size of data memory */ + if (cpu_is_ixp42x()) { + /* NB: instruction/data memory sizes are NPE-dependent */ + sc->insMemSize = config->ins_memsize; + sc->dataMemSize = config->data_memsize; + } else { + sc->insMemSize = IXP46X_NPEDL_INS_MEMSIZE_WORDS; + sc->dataMemSize = IXP46X_NPEDL_DATA_MEMSIZE_WORDS; + } if (bus_space_map(sc->sc_iot, config->base, sc->sc_size, 0, &sc->sc_ioh)) panic("%s: Cannot map registers", device_get_name(dev)); @@ -798,20 +804,34 @@ IX_NPEDL_CTXT_REG_RESET_CINDEX, }; -#define IX_NPEDL_RESET_NPE_PARITY 0x0800 #define IX_NPEDL_PARITY_BIT_MASK 0x3F00FFFF #define IX_NPEDL_CONFIG_CTRL_REG_MASK 0x3F3FFFFF +#if 0 +/* + * Reset the NPE and its coprocessor using the + * fuse bits in the feature control register. + */ +static void +npe_reset(int npeid) +{ + uint32_t mask = EXP_FCTRL_NPEA << npeid; + uint32_t v; + + v = ixp4xx_read_feature_bits(); + ixp4xx_write_feature_bits(v &~ mask); + /* un-fuse and un-reset the NPE & coprocessor */ + ixp4xx_write_feature_bits(v | mask); +} +#endif + static int npe_cpu_reset(struct ixpnpe_softc *sc) { #define N(a) (sizeof(a) / sizeof(a[0])) - struct ixp425_softc *sa = - device_get_softc(device_get_parent(sc->sc_dev)); uint32_t ctxtReg; /* identifies Context Store reg (0-3) */ uint32_t regAddr; uint32_t regVal; - uint32_t resetNpeParity; uint32_t ixNpeConfigCtrlRegVal; int i, error = 0; @@ -929,33 +949,15 @@ /* Reset the Watch-count register */ npe_reg_write(sc, IX_NPEDL_REG_OFFSET_WC, 0); - +#if 0 /* * WR IXA00055043 - Remove IMEM Parity Introduced by NPE Reset Operation + * XXX Removed because it breaks IXP435 operation; e.g. on Gateworks + * XXX 2358 boards reseting NPE-A after NPE-C is running causes both + * XXX npe's to stop working */ - - /* - * Reset the NPE and its coprocessor - to reset internal - * states and remove parity error. Note this makes no - * sense based on the documentation. The feature control - * register always reads back as 0 on the ixp425 and further - * the bit definition of NPEA/NPEB is off by 1 according to - * the Intel documention--so we're blindly following the - * Intel code w/o any real understanding. - */ - regVal = EXP_BUS_READ_4(sa, EXP_FCTRL_OFFSET); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL 0x%x\n", __func__, regVal); - resetNpeParity = - IX_NPEDL_RESET_NPE_PARITY << (1 + device_get_unit(sc->sc_dev)); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL fuse parity, write 0x%x\n", - __func__, regVal | resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal | resetNpeParity); - - /* un-fuse and un-reset the NPE & coprocessor */ - DPRINTFn(2, sc->sc_dev, "%s: FCTRL unfuse parity, write 0x%x\n", - __func__, regVal & resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal &~ resetNpeParity); - + npe_reset(sc->sc_npeid); +#endif /* * Call NpeMgr function to stop the NPE again after the Feature Control * has unfused and Un-Reset the NPE and its associated Coprocessors. ==== //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npereg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npereg.h,v 1.2 2009/06/17 02:55:53 sam Exp $ */ /*- @@ -95,7 +95,6 @@ /* * Instruction and Data Memory Size (in words) for each NPE */ -#ifndef __ixp46X #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096 #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 2048 #define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 2048 @@ -103,15 +102,9 @@ #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 2048 #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 2048 #define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 2048 -#else -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096 -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 4096 -#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 4096 -#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 4096 -#endif +#define IXP46X_NPEDL_INS_MEMSIZE_WORDS 4096 +#define IXP46X_NPEDL_DATA_MEMSIZE_WORDS 4096 /* BAR offsets */ #define IX_NPEDL_REG_OFFSET_EXAD 0x00000000 /* Execution Address */ ==== //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425var.h#2 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.6 2008/12/23 04:48:27 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.7 2009/06/17 02:51:16 sam Exp $ * */ @@ -101,6 +101,7 @@ uint32_t ixp425_sdram_size(void); uint32_t ixp435_ddram_size(void); uint32_t ixp4xx_read_feature_bits(void); +void ixp4xx_write_feature_bits(uint32_t); int ixp425_md_route_interrupt(device_t, device_t, int); void ixp425_md_attach(device_t); ==== //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 (text+ko) ==== @@ -158,7 +158,7 @@ */ static int arc_min_prefetch_lifespan; -extern int zfs_prefetch_enable; +extern int zfs_prefetch_disable; static int arc_dead; /* @@ -3552,21 +3552,21 @@ mutex_init(&zfs_write_limit_lock, NULL, MUTEX_DEFAULT, NULL); #ifdef _KERNEL - if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_enable", &zfs_prefetch_enable)) + if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_disable", &zfs_prefetch_disable)) prefetch_tunable_set = 1; #ifdef __i386__ if (prefetch_tunable_set == 0) { printf("ZFS NOTICE: prefetch is disabled by default on i386" " - add enable to tunable to change.\n" ); - zfs_prefetch_enable=0; + zfs_prefetch_disable=1; } #else if ((((uint64_t)physmem * PAGESIZE) < (1ULL << 32)) && prefetch_tunable_set == 0) { printf("ZFS NOTICE: system has less than 4GB and prefetch enable is not set" "... disabling.\n"); - zfs_prefetch_enable=0; + zfs_prefetch_disable=1; } #endif /* Warn about ZFS memory and address space requirements. */ ==== //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 (text+ko) ==== @@ -326,7 +326,7 @@ uint64_t blkid; int nblks, i, err; - if (zfs_prefetch_enable == 0) + if (zfs_prefetch_disable) return; if (len == 0) { /* they're interested in the bonus buffer */ ==== //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ * until we can get this working the way we want it to. */ -int zfs_prefetch_enable = 1; +int zfs_prefetch_disable = 0; /* max # of streams per zfetch */ uint32_t zfetch_max_streams = 8; @@ -49,8 +49,8 @@ uint64_t zfetch_array_rd_sz = 1024 * 1024; SYSCTL_DECL(_vfs_zfs); -SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_enable, CTLFLAG_RDTUN, - &zfs_prefetch_enable, 0, "Enable prefetch for systems with less than 4GB"); +SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_disable, CTLFLAG_RDTUN, + &zfs_prefetch_disable, 0, "Disable prefetch"); SYSCTL_NODE(_vfs_zfs, OID_AUTO, zfetch, CTLFLAG_RW, 0, "ZFS ZFETCH"); TUNABLE_INT("vfs.zfs.zfetch.max_streams", &zfetch_max_streams); SYSCTL_UINT(_vfs_zfs_zfetch, OID_AUTO, max_streams, CTLFLAG_RDTUN, @@ -598,7 +598,7 @@ unsigned int blkshft; uint64_t blksz; - if (zfs_prefetch_enable == 0) + if (zfs_prefetch_disable) return; /* files that aren't ln2 blocksz are only one block -- nothing to do */ ==== //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 (text+ko) ==== @@ -457,7 +457,7 @@ int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, struct page *pp, dmu_tx_t *tx); -extern int zfs_prefetch_enable; +extern int zfs_prefetch_disable; /* * Asynchronously try to read in the data. ==== //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.102 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.103 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.101 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.102 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.92 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.93 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ const char *freebsd32_syscallnames[] = { @@ -25,7 +25,7 @@ "chmod", /* 15 = chmod */ "chown", /* 16 = chown */ "break", /* 17 = break */ - "compat4.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ + "compat4.freebsd32_getfsstat", /* 18 = freebsd4 freebsd32_getfsstat */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 21 10:30:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A61EA1065679; Sun, 21 Jun 2009 10:30:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63FF31065675 for ; Sun, 21 Jun 2009 10:30:44 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37C758FC0C for ; Sun, 21 Jun 2009 10:30:44 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LAUiLg080189 for ; Sun, 21 Jun 2009 10:30:44 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LAUigV080187 for perforce@freebsd.org; Sun, 21 Jun 2009 10:30:44 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 21 Jun 2009 10:30:44 GMT Message-Id: <200906211030.n5LAUigV080187@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164803 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 10:30:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=164803 Change 164803 by pgj@beehive on 2009/06/21 10:30:23 MFen (doc): 1.131 -> 1.132 hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#8 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -672,10 +672,14 @@ Az mpg123 futtatásához paraméterként meg kell adnunk a hangeszközt és lejátszandó - MP3 állományt, ahogy ez a példában - is látható: + MP3 állományt. Ha a hangeszközünk a + /dev/dsp1.0 és a + IzéMizé-Sláger.mp3 + nevû MP3 állományt akarjuk rajta + lejátszatni, akkor a következõt kell + begépelnünk: - &prompt.root; mpg123 -a /dev/dsp1.0 IzéMizé-Sláger.mp3 + &prompt.root; mpg123 -a /dev/dsp1.0 IzéMizé-Sláger.mp3 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! @@ -688,12 +692,6 @@ Playing MPEG stream from IzéMizé-Sláger.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo - - Itt a - /dev/dsp1.0 - nevet ne felejtsük el kicserélni a - rendszerünkben található - dsp eszköz nevével. From owner-p4-projects@FreeBSD.ORG Sun Jun 21 14:08:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A6211065674; Sun, 21 Jun 2009 14:08:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A2911065672 for ; Sun, 21 Jun 2009 14:08:43 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EACDD8FC08 for ; Sun, 21 Jun 2009 14:08:42 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LE8gJF010764 for ; Sun, 21 Jun 2009 14:08:42 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LE8ggF010762 for perforce@freebsd.org; Sun, 21 Jun 2009 14:08:42 GMT (envelope-from gk@FreeBSD.org) Date: Sun, 21 Jun 2009 14:08:42 GMT Message-Id: <200906211408.n5LE8ggF010762@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 164811 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 14:08:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=164811 Change 164811 by gk@gk_h1 on 2009/06/21 14:07:54 add rest of vops. support not block aligned read/write. handle file resize. rename to be more consistens, cleanup Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#3 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#2 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_xbase64.c#2 edit .. //depot/projects/soc2009/gk_pefs/sys/modules/pefs/Makefile#3 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#3 (text+ko) ==== @@ -39,62 +39,81 @@ #include -struct pe_mount { - struct mount *pem_vfs; - struct vnode *pem_rootvp; /* Reference to root pe_node */ +struct pefs_mount { + struct mount *pm_vfs; + struct vnode *pm_rootvp; /* Reference to root pefs_node */ }; #ifdef _KERNEL + +#define PEFS_BLOCK 16 + /* * A cache of vnode references */ -struct pe_node { - LIST_ENTRY(pe_node) pe_hash; /* Hash list */ - struct vnode *pe_lowervp; /* VREFed once */ - struct vnode *pe_vnode; /* Back pointer */ +struct pefs_node { + LIST_ENTRY(pefs_node) pn_hash; /* Hash list */ + struct vnode *pn_lowervp; /* VREFed once */ + struct vnode *pn_vnode; /* Back pointer */ }; -struct pe_xuio { - struct uio xuio_uio; - void **xuio_bases; +struct pefs_chunk { + int pc_iovcnt; + int pc_basescnt; + struct iovec *pc_iov; + int pc_size; + void **pc_bases; + struct uio pc_uio; }; -typedef void (*pe_tr)(void *mem, size_t size, void *arg); +typedef void (*pefs_tr)(void *mem, size_t size, void *arg); -#define MOUNTTOPEMOUNT(mp) ((struct pe_mount *)((mp)->mnt_data)) -#define VTOPE(vp) ((struct pe_node *)(vp)->v_data) -#define PETOV(xp) ((xp)->pe_vnode) +#define MOUNTTOPEMOUNT(mp) ((struct pefs_mount *)((mp)->mnt_data)) +#define VTOPE(vp) ((struct pefs_node *)(vp)->v_data) +#define PETOV(xp) ((xp)->pn_vnode) struct vfsconf; struct vop_generic_args; int pefs_init(struct vfsconf *vfsp); int pefs_uninit(struct vfsconf *vfsp); -int pe_nodeget(struct mount *mp, struct vnode *target, struct vnode **vpp); -void pe_hashrem(struct pe_node *xp); -int pe_bypass(struct vop_generic_args *ap); -struct pe_xuio* pe_xuio_create(struct uio* uio); -void pe_xuio_finish(struct pe_xuio* xuio, struct uio *src); -void pe_xuio_transfrom(struct pe_xuio *xuio, struct uio *src, pe_tr tr, void *arg); -int pe_name_encrypt(const char *plain, size_t plain_len, char *enc, size_t enc_size); -int pe_name_decrypt(const char *enc, size_t enc_len, char *plain, size_t plain_size); +int pefs_nodeget(struct mount *mp, struct vnode *target, struct vnode **vpp); +void pefs_hashrem(struct pefs_node *xp); +int pefs_bypass(struct vop_generic_args *ap); +int pefs_name_encrypt(const char *plain, size_t plain_len, char *enc, size_t enc_size); +int pefs_name_decrypt(const char *enc, size_t enc_len, char *plain, size_t plain_size); + +void pefs_xor(void *mem, size_t size); + +#define PEFS_NAME_NTOP_SIZE(a) (((a) * 4 + 2)/3) +#define PEFS_NAME_PTON_SIZE(a) (((a) * 3)/4) +int pefs_name_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); +int pefs_name_pton(char const *src, size_t srclen, u_char *target, size_t targsize); -void pe_xor(void *mem, size_t size, void *arg); +void pefs_xor_chunk(struct pefs_chunk *pc); -int pe_b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); -int pe_b64_pton(char const *src, size_t srclen, u_char *target, size_t targsize); +struct pefs_chunk* pefs_chunk_create(size_t size); +void pefs_chunk_free(struct pefs_chunk* pc); +struct uio* pefs_chunk_uio(struct pefs_chunk *pc, off_t uio_offset, enum uio_rw uio_rw); +struct uio* pefs_chunk_uio_range(struct pefs_chunk *pc, size_t skip, size_t size, off_t uio_offset, enum uio_rw uio_rw); +void* pefs_chunk_get(struct pefs_chunk *pc, size_t *size, long *_state); +void pefs_chunk_zero(struct pefs_chunk *pc); +int pefs_chunk_copy(struct pefs_chunk *pc, size_t skip, struct uio *uio); +void pefs_chunk_crop(struct pefs_chunk *pc, size_t skip_begin, size_t skip_end); +void pefs_chunk_shrink(struct pefs_chunk *pc, size_t size); #ifdef DIAGNOSTIC -struct vnode *pe_checkvp(struct vnode *vp, char *fil, int lno); -#define PEVPTOLOWERVP(vp) pe_checkvp((vp), __FILE__, __LINE__) +struct vnode *pefs_checkvp(struct vnode *vp, char *fil, int lno); +#define PEVPTOLOWERVP(vp) pefs_checkvp((vp), __FILE__, __LINE__) #else -#define PEVPTOLOWERVP(vp) (VTOPE(vp)->pe_lowervp) +#define PEVPTOLOWERVP(vp) (VTOPE(vp)->pn_lowervp) #endif -extern struct vop_vector pe_vnodeops; +extern struct vop_vector pefs_vnodeops; #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_PEFSNODE); +MALLOC_DECLARE(M_PEFSBUF); #endif #ifdef PEFS_DEBUG ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#3 (text+ko) ==== @@ -61,31 +61,27 @@ * alias is removed the lower vnode is vrele'd. */ -#define PE_NHASH(vp) \ - (&pe_node_hashtbl[(((uintptr_t)vp)>>LOG2_SIZEVNODE) & pe_node_hash]) +#define PEFS_NHASH(vp) \ + (&pefs_node_hashtbl[(((uintptr_t)vp)>>LOG2_SIZEVNODE) & pefs_node_hash]) -static LIST_HEAD(pe_node_hashhead, pe_node) *pe_node_hashtbl; -static u_long pe_node_hash; -struct mtx pe_hashmtx; +static LIST_HEAD(pefs_node_hashhead, pefs_node) *pefs_node_hashtbl; +static u_long pefs_node_hash; +struct mtx pefs_hashmtx; static MALLOC_DEFINE(M_PEFSHASH, "pefs_hash", "PEFS hash table"); MALLOC_DEFINE(M_PEFSNODE, "pefs_node", "PEFS vnode private part"); -static MALLOC_DEFINE(M_PEFSBUF, "pefs_buf", "PEFS buffers"); +MALLOC_DEFINE(M_PEFSBUF, "pefs_buf", "PEFS buffers"); -static struct vnode * pe_hashget(struct mount *, struct vnode *); -static struct vnode * pe_hashins(struct mount *, struct pe_node *); - /* * Initialise cache headers */ int -pefs_init(vfsp) - struct vfsconf *vfsp; +pefs_init(struct vfsconf *vfsp) { PEFSDEBUG("pefs_init\n"); /* printed during system boot */ - pe_node_hashtbl = hashinit(NPENODECACHE, M_PEFSHASH, &pe_node_hash); - mtx_init(&pe_hashmtx, "pehs", NULL, MTX_DEF); + pefs_node_hashtbl = hashinit(NPENODECACHE, M_PEFSHASH, &pefs_node_hash); + mtx_init(&pefs_hashmtx, "pehs", NULL, MTX_DEF); return (0); } @@ -94,8 +90,8 @@ struct vfsconf *vfsp; { - mtx_destroy(&pe_hashmtx); - free(pe_node_hashtbl, M_PEFSHASH); + mtx_destroy(&pefs_hashmtx); + free(pefs_node_hashtbl, M_PEFSHASH); return (0); } @@ -104,26 +100,24 @@ * Lower vnode should be locked on entry and will be left locked on exit. */ static struct vnode * -pe_hashget(mp, lowervp) - struct mount *mp; - struct vnode *lowervp; +pefs_hashget(struct mount *mp, struct vnode *lowervp) { - struct pe_node_hashhead *hd; - struct pe_node *a; + struct pefs_node_hashhead *hd; + struct pefs_node *a; struct vnode *vp; - ASSERT_VOP_LOCKED(lowervp, "pe_hashget"); + ASSERT_VOP_LOCKED(lowervp, "pefs_hashget"); /* * Find hash base, and then search the (two-way) linked - * list looking for a pe_node structure which is referencing - * the lower vnode. If found, the increment the pe_node + * list looking for a pefs_node structure which is referencing + * the lower vnode. If found, the increment the pefs_node * reference count (but NOT the lower vnode's VREF counter). */ - hd = PE_NHASH(lowervp); - mtx_lock(&pe_hashmtx); - LIST_FOREACH(a, hd, pe_hash) { - if (a->pe_lowervp == lowervp && PETOV(a)->v_mount == mp) { + hd = PEFS_NHASH(lowervp); + mtx_lock(&pefs_hashmtx); + LIST_FOREACH(a, hd, pn_hash) { + if (a->pn_lowervp == lowervp && PETOV(a)->v_mount == mp) { /* * Since we have the lower node locked the pefs * node can not be in the process of recycling. If @@ -132,49 +126,47 @@ */ vp = PETOV(a); vref(vp); - mtx_unlock(&pe_hashmtx); + mtx_unlock(&pefs_hashmtx); return (vp); } } - mtx_unlock(&pe_hashmtx); + mtx_unlock(&pefs_hashmtx); return (NULLVP); } /* - * Act like pe_hashget, but add passed pe_node to hash if no existing + * Act like pefs_hashget, but add passed pefs_node to hash if no existing * node found. */ static struct vnode * -pe_hashins(mp, xp) - struct mount *mp; - struct pe_node *xp; +pefs_hashins(struct mount *mp, struct pefs_node *xp) { - struct pe_node_hashhead *hd; - struct pe_node *oxp; + struct pefs_node_hashhead *hd; + struct pefs_node *oxp; struct vnode *ovp; - hd = PE_NHASH(xp->pe_lowervp); - mtx_lock(&pe_hashmtx); - LIST_FOREACH(oxp, hd, pe_hash) { - if (oxp->pe_lowervp == xp->pe_lowervp && + hd = PEFS_NHASH(xp->pn_lowervp); + mtx_lock(&pefs_hashmtx); + LIST_FOREACH(oxp, hd, pn_hash) { + if (oxp->pn_lowervp == xp->pn_lowervp && PETOV(oxp)->v_mount == mp) { /* - * See pe_hashget for a description of this + * See pefs_hashget for a description of this * operation. */ ovp = PETOV(oxp); vref(ovp); - mtx_unlock(&pe_hashmtx); + mtx_unlock(&pefs_hashmtx); return (ovp); } } - LIST_INSERT_HEAD(hd, xp, pe_hash); - mtx_unlock(&pe_hashmtx); + LIST_INSERT_HEAD(hd, xp, pn_hash); + mtx_unlock(&pefs_hashmtx); return (NULLVP); } static void -pe_insmntque_dtr(struct vnode *vp, void *xp) +pefs_insmntque_dtr(struct vnode *vp, void *xp) { vp->v_data = NULL; vp->v_vnlock = &vp->v_lock; @@ -194,17 +186,14 @@ * the caller's "spare" reference to created pefs vnode. */ int -pe_nodeget(mp, lowervp, vpp) - struct mount *mp; - struct vnode *lowervp; - struct vnode **vpp; +pefs_nodeget(struct mount *mp, struct vnode *lowervp, struct vnode **vpp) { - struct pe_node *xp; + struct pefs_node *xp; struct vnode *vp; int error; /* Lookup the hash firstly */ - *vpp = pe_hashget(mp, lowervp); + *vpp = pefs_hashget(mp, lowervp); if (*vpp != NULL) { vrele(lowervp); return (0); @@ -223,34 +212,34 @@ * might cause a bogus v_data pointer to get dereferenced * elsewhere if MALLOC should block. */ - xp = malloc(sizeof(struct pe_node), + xp = malloc(sizeof(struct pefs_node), M_PEFSNODE, M_WAITOK); - error = getnewvnode("null", mp, &pe_vnodeops, &vp); + error = getnewvnode("pefs", mp, &pefs_vnodeops, &vp); if (error) { free(xp, M_PEFSNODE); return (error); } - xp->pe_vnode = vp; - xp->pe_lowervp = lowervp; + xp->pn_vnode = vp; + xp->pn_lowervp = lowervp; vp->v_type = lowervp->v_type; vp->v_data = xp; vp->v_vnlock = lowervp->v_vnlock; if (vp->v_vnlock == NULL) - panic("pe_nodeget: Passed a NULL vnlock.\n"); - error = insmntque1(vp, mp, pe_insmntque_dtr, xp); + panic("pefs_nodeget: Passed a NULL vnlock.\n"); + error = insmntque1(vp, mp, pefs_insmntque_dtr, xp); if (error != 0) return (error); /* * Atomically insert our new node into the hash or vget existing * if someone else has beaten us to it. */ - *vpp = pe_hashins(mp, xp); + *vpp = pefs_hashins(mp, xp); if (*vpp != NULL) { vrele(lowervp); vp->v_vnlock = &vp->v_lock; - xp->pe_lowervp = NULL; + xp->pn_lowervp = NULL; vrele(vp); return (0); } @@ -263,17 +252,16 @@ * Remove node from hash. */ void -pe_hashrem(xp) - struct pe_node *xp; +pefs_hashrem(struct pefs_node *xp) { - mtx_lock(&pe_hashmtx); - LIST_REMOVE(xp, pe_hash); - mtx_unlock(&pe_hashmtx); + mtx_lock(&pefs_hashmtx); + LIST_REMOVE(xp, pn_hash); + mtx_unlock(&pefs_hashmtx); } void -pe_xor(void *mem, size_t size, void *arg) +pefs_xor(void *mem, size_t size) { char *b = (char *)mem; char *e = b + size; @@ -283,8 +271,23 @@ } } +void +pefs_xor_chunk(struct pefs_chunk *pc) +{ + long arg = 0; + char *mem; + size_t size; + + while (1) { + mem = pefs_chunk_get(pc, &size, &arg); + if (mem == NULL) + break; + pefs_xor(mem, size); + } +} + int -pe_name_encrypt(const char *plain, size_t plain_len, char *enc, size_t enc_size) +pefs_name_encrypt(const char *plain, size_t plain_len, char *enc, size_t enc_size) { char b_static[64]; char *b; @@ -298,123 +301,236 @@ // FIXME for (int i = 0; i < plain_len; i++) b[i] ^= 0xAA; - r = pe_b64_ntop(b, plain_len, enc, enc_size); - printf("pe_name_encrypt: %d; %.*s => %.*s\n", r, plain_len, plain, r, enc); + r = pefs_name_ntop(b, plain_len, enc, enc_size); + // printf("pefs_name_encrypt: %d; %.*s => %.*s\n", r, plain_len, plain, r, enc); if (b != b_static) free(b, M_PEFSBUF); return r; } int -pe_name_decrypt(const char *enc, size_t enc_len, char *plain, size_t plain_size) +pefs_name_decrypt(const char *enc, size_t enc_len, char *plain, size_t plain_size) { int r; - r = pe_b64_pton(enc, enc_len, plain, plain_size); + r = pefs_name_pton(enc, enc_len, plain, plain_size); if (r > 0) { // FIXME for (int i = 0; i < r; i++) plain[i] ^= 0xAA; } - printf("pe_name_decrypt: %d; %.*s => %.*s\n", r, enc_len, enc, r < 0 ? 0 : r, plain); + if (r < plain_size) + plain[r] = '\0'; + // printf("pefs_name_decrypt: %d; %.*s => %.*s\n", r, enc_len, enc, r < 0 ? 0 : r, plain); return r; } -struct pe_xuio* -pe_xuio_create(struct uio* uio) +struct pefs_chunk* +pefs_chunk_create(size_t size) +{ + struct pefs_chunk *pc; + int iovcnt; + + iovcnt = (size + PAGE_SIZE - 1) / PAGE_SIZE; + PEFSDEBUG("%s: length=%u; iovcnt=%d\n", __func__, size, iovcnt); + pc = malloc(sizeof(struct pefs_chunk) + (sizeof(void*) + sizeof(struct iovec) * 2) * iovcnt, + M_PEFSBUF, M_WAITOK | M_ZERO); + + pc->pc_size = size; + pc->pc_iovcnt = iovcnt; + pc->pc_basescnt = iovcnt; + pc->pc_bases = (void **)(pc + 1); + pc->pc_iov = (struct iovec *)(pc->pc_bases + iovcnt); + pc->pc_uio.uio_iov = (struct iovec *)(pc->pc_iov + iovcnt); + + for (int i = 0; i < iovcnt && size > 0; i++) { + int len = imin(PAGE_SIZE, size); + pc->pc_iov[i].iov_len = len; + pc->pc_bases[i] = malloc(len, M_PEFSBUF, M_WAITOK | M_ZERO); + pc->pc_iov[i].iov_base = pc->pc_bases[i]; + size -= len; + } + if (size != 0) + panic("pefs_chunk initialization error\n"); + + return (pc); +} + +void +pefs_chunk_free(struct pefs_chunk* pc) +{ + for (int i = 0; i < pc->pc_basescnt; i++) { + free(pc->pc_bases[i], M_PEFSBUF); + } + free(pc, M_PEFSBUF); +} + +struct uio* +pefs_chunk_uio(struct pefs_chunk *pc, off_t uio_offset, enum uio_rw uio_rw) +{ + return pefs_chunk_uio_range(pc, 0, pc->pc_size, uio_offset, uio_rw); +} + +struct uio* +pefs_chunk_uio_range(struct pefs_chunk *pc, size_t skip, size_t size, off_t uio_offset, enum uio_rw uio_rw) { - struct pe_xuio *xuio; - size_t len; - int iov_cnt; + int skip_iov, i; - len = 0; - for (int i = 0; i < uio->uio_iovcnt; i++) { - len += uio->uio_iov[i].iov_len; + KASSERT(pc->pc_size >= size + skip, ("invalid range value")); + /* skip */ + for (skip_iov = 0; skip_iov < pc->pc_iovcnt && skip; skip_iov++) { + if (skip < pc->pc_iov[skip_iov].iov_len) + break; + else + skip -= pc->pc_iov[skip_iov].iov_len; } - iov_cnt = (len + PAGE_SIZE - 1) / PAGE_SIZE; - xuio = malloc(sizeof(struct pe_xuio) + (sizeof(void*) + sizeof(struct iovec)) * iov_cnt, - M_PEFSBUF, M_WAITOK); - xuio->xuio_uio = *uio; - xuio->xuio_uio.uio_segflg = UIO_SYSSPACE; - xuio->xuio_uio.uio_iov = (struct iovec *)(xuio + 1); - xuio->xuio_bases = (void **)(xuio->xuio_uio.uio_iov + iov_cnt); - for (int i = 0; i < iov_cnt; i++) { - xuio->xuio_uio.uio_iov[i].iov_len = imin(PAGE_SIZE, len); - len -= PAGE_SIZE; - xuio->xuio_bases[i] = xuio->xuio_uio.uio_iov[i].iov_base = - malloc(xuio->xuio_uio.uio_iov[i].iov_len, M_PEFSBUF, M_WAITOK); + pc->pc_uio.uio_offset = uio_offset; + pc->pc_uio.uio_resid = size; + pc->pc_uio.uio_rw = uio_rw; + pc->pc_uio.uio_segflg = UIO_SYSSPACE; + pc->pc_uio.uio_td = curthread; + + for (i = 0; skip_iov + i < pc->pc_iovcnt && size; i++) { + pc->pc_uio.uio_iov[i].iov_base = (char *)pc->pc_iov[skip_iov + i].iov_base + skip; + pc->pc_uio.uio_iov[i].iov_len = min(size, pc->pc_iov[skip_iov + i].iov_len - skip); + size -= pc->pc_uio.uio_iov[i].iov_len; + skip = 0; + printf("%s: creating iov: i=%d; len=%d; base=%p\n", __func__, i, + pc->pc_uio.uio_iov[i].iov_len, pc->pc_uio.uio_iov[i].iov_base); } + pc->pc_uio.uio_iovcnt = i; + + return (&pc->pc_uio); +} - return (xuio); +void* +pefs_chunk_get(struct pefs_chunk *pc, size_t *size, long *state) +{ + void *mem; + + if (!size || !state || *state < 0) + panic("invalid args"); + if (*state >= pc->pc_iovcnt) { + *size = 0; + return (NULL); + } + mem = pc->pc_iov[*state].iov_base; + *size = pc->pc_iov[*state].iov_len; + (*state)++; + return (mem); } void -pe_xuio_finish(struct pe_xuio* xuio, struct uio *src) +pefs_chunk_zero(struct pefs_chunk *pc) +{ + int i; + + for (i = 0; i < pc->pc_iovcnt; i++) { + bzero(pc->pc_iov[i].iov_base, pc->pc_iov[i].iov_len); + } +} + +int +pefs_chunk_copy(struct pefs_chunk *pc, size_t skip, struct uio *uio) { - src->uio_offset = xuio->xuio_uio.uio_offset; - src->uio_resid = xuio->xuio_uio.uio_resid; - for (int i = 0; i < xuio->xuio_uio.uio_iovcnt; i++) { - free(xuio->xuio_bases[i], M_PEFSBUF); + int i; + int error; + + KASSERT(pc->pc_size >= skip, ("invalid range value")); + /* skip */ + for (i = 0; i < pc->pc_iovcnt && skip; i++) { + if (skip < pc->pc_iov[i].iov_len) + break; + else + skip -= pc->pc_iov[i].iov_len; + } + + for (; i < pc->pc_iovcnt && uio->uio_resid; i++) { + error = uiomove((char *)pc->pc_iov[i].iov_base + skip, pc->pc_iov[i].iov_len - skip, uio); + if (error) + return (error); + skip = 0; } - free(xuio, M_PEFSBUF); + return (0); } void -pe_xuio_transfrom(struct pe_xuio *_xuio, struct uio *src, pe_tr tr, void *arg) +pefs_chunk_crop(struct pefs_chunk *pc, size_t skip_begin, size_t skip_end) { - struct uio *xuio = &_xuio->xuio_uio; + + KASSERT(pc->pc_size >= skip_begin + skip_end, ("invalid range value")); + + if (skip_begin + skip_end == 0) + return; + + PEFSDEBUG("%s: skip_begin=%d; skip_end=%d; size=%d\n", __func__, + skip_begin, skip_end, pc->pc_size); + + for (int i = 0; i < pc->pc_iovcnt && skip_begin; i++) { + struct iovec *iov = &pc->pc_iov[i]; - KASSERT(xuio->uio_segflg == UIO_SYSSPACE && xuio->uio_rw == src->uio_rw, - ("pe_uio_transfrom")); - for (int i = 0; i < xuio->uio_iovcnt; i++) { - int n; - void *base = xuio->uio_iov[i].iov_base; + if (skip_begin < iov->iov_len) { + pc->pc_size -= skip_begin; + iov->iov_base = (char *)iov->iov_base + skip_begin; + iov->iov_len -= skip_begin; + skip_begin = 0; + break; + } else { + pc->pc_size -= iov->iov_len; + skip_begin -= iov->iov_len; + pc->pc_iovcnt--; + i--; + pc->pc_iov++; + } + } + for (int i = pc->pc_iovcnt - 1; i >= 0 && skip_end; i--) { + struct iovec *iov = &pc->pc_iov[i]; - if (xuio->uio_rw == UIO_READ) { - n = src->uio_iov[i].iov_len - xuio->uio_iov[i].iov_len; - base = ((caddr_t) base) - n; + if (skip_end < iov->iov_len) { + pc->pc_size -= skip_end; + iov->iov_len -= skip_end; + skip_end = 0; + break; } else { - n = src->uio_iov[i].iov_len; + pc->pc_size -= iov->iov_len; + skip_end -= iov->iov_len; + pc->pc_iovcnt--; } - if (xuio->uio_rw == UIO_WRITE) - uiomove(base, n, src); - if (tr) - tr(base, n, arg); - if (xuio->uio_rw == UIO_READ) - uiomove(base, n, src); } } +void +pefs_chunk_shrink(struct pefs_chunk *pc, size_t size) +{ + pefs_chunk_crop(pc, 0, pc->pc_size - size); +} #ifdef DIAGNOSTIC #ifdef KDB -#define pe_checkvp_barrier 1 +#define pefs_checkvp_barrier 1 #else -#define pe_checkvp_barrier 0 +#define pefs_checkvp_barrier 0 #endif struct vnode * -pe_checkvp(vp, fil, lno) - struct vnode *vp; - char *fil; - int lno; +pefs_checkvp(struct vnode *vp, char *fil, int lno) { int interlock = 0; - struct pe_node *a = VTOPE(vp); + struct pefs_node *a = VTOPE(vp); #ifdef notyet /* * Can't do this check because vop_reclaim runs * with a funny vop vector. */ - if (vp->v_op != pe_vnodeop_p) { - printf ("pe_checkvp: on non-null-node\n"); - while (pe_checkvp_barrier) /*WAIT*/ ; - panic("pe_checkvp"); + if (vp->v_op != pefs_vnodeop_p) { + printf ("pefs_checkvp: on non-null-node\n"); + while (pefs_checkvp_barrier) /*WAIT*/ ; + panic("pefs_checkvp"); }; #endif - if (a->pe_lowervp == NULLVP) { + if (a->pefs_lowervp == NULLVP) { /* Should never happen */ int i; u_long *p; printf("vp = %p, ZERO ptr\n", (void *)vp); @@ -422,21 +538,21 @@ printf(" %lx", p[i]); printf("\n"); /* wait for debugger */ - while (pe_checkvp_barrier) /*WAIT*/ ; - panic("pe_checkvp"); + while (pefs_checkvp_barrier) /*WAIT*/ ; + panic("pefs_checkvp"); } if (mtx_owned(VI_MTX(vp)) != 0) { VI_UNLOCK(vp); interlock = 1; } - if (vrefcnt(a->pe_lowervp) < 1) { + if (vrefcnt(a->pefs_lowervp) < 1) { int i; u_long *p; printf("vp = %p, unref'ed lowervp\n", (void *)vp); for (p = (u_long *) a, i = 0; i < 8; i++) printf(" %lx", p[i]); printf("\n"); /* wait for debugger */ - while (pe_checkvp_barrier) /*WAIT*/ ; + while (pefs_checkvp_barrier) /*WAIT*/ ; panic ("null with unref'ed lowervp"); }; if (interlock != 0) @@ -444,9 +560,9 @@ #ifdef notyet printf("null %x/%d -> %x/%d [%s, %d]\n", PETOV(a), vrefcnt(PETOV(a)), - a->pe_lowervp, vrefcnt(a->pe_lowervp), + a->pn_lowervp, vrefcnt(a->pn_lowervp), fil, lno); #endif - return a->pe_lowervp; + return a->pn_lowervp; } #endif ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#2 (text+ko) ==== @@ -38,11 +38,6 @@ * $FreeBSD$ */ -/* - * Null Layer - * (See pe_vnops.c for a description of what this does.) - */ - #include #include #include @@ -58,16 +53,6 @@ static MALLOC_DEFINE(M_PEFSMNT, "pefs_mount", "PEFS mount structure"); -static vfs_fhtovp_t pefs_fhtovp; -static vfs_mount_t pefs_mount; -static vfs_quotactl_t pefs_quotactl; -static vfs_root_t pefs_root; -static vfs_sync_t pefs_sync; -static vfs_statfs_t pefs_statfs; -static vfs_unmount_t pefs_unmount; -static vfs_vget_t pefs_vget; -static vfs_extattrctl_t pefs_extattrctl; - /* * Mount null layer */ @@ -76,8 +61,8 @@ { int error = 0; struct vnode *lowerrootvp, *vp; - struct vnode *pem_rootvp; - struct pe_mount *xmp; + struct vnode *pm_rootvp; + struct pefs_mount *xmp; char *target; int isvnunlocked = 0, len; struct nameidata nd, *ndp = &nd; @@ -110,7 +95,7 @@ * Unlock lower node to avoid deadlock. * (XXX) VOP_ISLOCKED is needed? */ - if ((mp->mnt_vnodecovered->v_op == &pe_vnodeops) && + if ((mp->mnt_vnodecovered->v_op == &pefs_vnodeops) && VOP_ISLOCKED(mp->mnt_vnodecovered)) { VOP_UNLOCK(mp->mnt_vnodecovered, 0); isvnunlocked = 1; @@ -138,25 +123,25 @@ /* * Check multi null mount to avoid `lock against myself' panic. */ - if (lowerrootvp == VTOPE(mp->mnt_vnodecovered)->pe_lowervp) { + if (lowerrootvp == VTOPE(mp->mnt_vnodecovered)->pn_lowervp) { PEFSDEBUG("pefs_mount: multi null mount?\n"); vput(lowerrootvp); return (EDEADLK); } - xmp = (struct pe_mount *) malloc(sizeof(struct pe_mount), + xmp = (struct pefs_mount *) malloc(sizeof(struct pefs_mount), M_PEFSMNT, M_WAITOK); /* XXX */ /* * Save reference to underlying FS */ - xmp->pem_vfs = lowerrootvp->v_mount; + xmp->pm_vfs = lowerrootvp->v_mount; /* * Save reference. Each mount also holds * a reference on the root vnode. */ - error = pe_nodeget(mp, lowerrootvp, &vp); + error = pefs_nodeget(mp, lowerrootvp, &vp); /* * Make sure the node alias worked */ @@ -171,16 +156,16 @@ * Keep a held reference to the root vnode. * It is vrele'd in pefs_unmount. */ - pem_rootvp = vp; - pem_rootvp->v_vflag |= VV_ROOT; - xmp->pem_rootvp = pem_rootvp; + pm_rootvp = vp; + pm_rootvp->v_vflag |= VV_ROOT; + xmp->pm_rootvp = pm_rootvp; /* * Unlock the node (either the lower or the alias) */ VOP_UNLOCK(vp, 0); - if (PEVPTOLOWERVP(pem_rootvp)->v_mount->mnt_flag & MNT_LOCAL) { + if (PEVPTOLOWERVP(pm_rootvp)->v_mount->mnt_flag & MNT_LOCAL) { MNT_ILOCK(mp); mp->mnt_flag |= MNT_LOCAL; MNT_IUNLOCK(mp); @@ -202,9 +187,7 @@ * Free reference to null layer */ static int -pefs_unmount(mp, mntflags) - struct mount *mp; - int mntflags; +pefs_unmount(struct mount *mp, int mntflags) { void *mntdata; int error; @@ -215,13 +198,13 @@ if (mntflags & MNT_FORCE) flags |= FORCECLOSE; - /* There is 1 extra root vnode reference (pem_rootvp). */ + /* There is 1 extra root vnode reference (pm_rootvp). */ error = vflush(mp, 1, flags, curthread); if (error) return (error); /* - * Finally, throw away the pe_mount structure + * Finally, throw away the pefs_mount structure */ mntdata = mp->mnt_data; mp->mnt_data = 0; @@ -230,24 +213,21 @@ } static int -pefs_root(mp, flags, vpp) - struct mount *mp; - int flags; - struct vnode **vpp; +pefs_root(struct mount *mp, int flags, struct vnode **vpp) { struct vnode *vp; PEFSDEBUG("pefs_root(mp = %p, vp = %p->%p)\n", (void *)mp, - (void *)MOUNTTOPEMOUNT(mp)->pem_rootvp, - (void *)PEVPTOLOWERVP(MOUNTTOPEMOUNT(mp)->pem_rootvp)); + (void *)MOUNTTOPEMOUNT(mp)->pm_rootvp, + (void *)PEVPTOLOWERVP(MOUNTTOPEMOUNT(mp)->pm_rootvp)); /* * Return locked reference to root. */ - vp = MOUNTTOPEMOUNT(mp)->pem_rootvp; + vp = MOUNTTOPEMOUNT(mp)->pm_rootvp; VREF(vp); -#ifdef PEFS_DEBUG +#ifdef PEFSXXX_DEBUG if (VOP_ISLOCKED(vp)) panic("root vnode is locked.\n"); #endif @@ -257,30 +237,24 @@ } static int -pefs_quotactl(mp, cmd, uid, arg) - struct mount *mp; - int cmd; - uid_t uid; - void *arg; +pefs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg) { - return VFS_QUOTACTL(MOUNTTOPEMOUNT(mp)->pem_vfs, cmd, uid, arg); + return VFS_QUOTACTL(MOUNTTOPEMOUNT(mp)->pm_vfs, cmd, uid, arg); } static int -pefs_statfs(mp, sbp) - struct mount *mp; - struct statfs *sbp; +pefs_statfs(struct mount *mp, struct statfs *sbp) { int error; struct statfs mstat; PEFSDEBUG("pefs_statfs(mp = %p, vp = %p->%p)\n", (void *)mp, - (void *)MOUNTTOPEMOUNT(mp)->pem_rootvp, - (void *)PEVPTOLOWERVP(MOUNTTOPEMOUNT(mp)->pem_rootvp)); + (void *)MOUNTTOPEMOUNT(mp)->pm_rootvp, + (void *)PEVPTOLOWERVP(MOUNTTOPEMOUNT(mp)->pm_rootvp)); bzero(&mstat, sizeof(mstat)); - error = VFS_STATFS(MOUNTTOPEMOUNT(mp)->pem_vfs, &mstat); + error = VFS_STATFS(MOUNTTOPEMOUNT(mp)->pm_vfs, &mstat); if (error) return (error); @@ -298,9 +272,7 @@ } static int -pefs_sync(mp, waitfor) - struct mount *mp; - int waitfor; +pefs_sync(struct mount *mp, int waitfor) { /* * XXX - Assumes no data cached at null layer. @@ -309,48 +281,43 @@ } static int -pefs_vget(mp, ino, flags, vpp) - struct mount *mp; - ino_t ino; - int flags; - struct vnode **vpp; +pefs_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) { int error; - error = VFS_VGET(MOUNTTOPEMOUNT(mp)->pem_vfs, ino, flags, vpp); + error = VFS_VGET(MOUNTTOPEMOUNT(mp)->pm_vfs, ino, flags, vpp); if (error) return (error); - return (pe_nodeget(mp, *vpp, vpp)); + return (pefs_nodeget(mp, *vpp, vpp)); } static int -pefs_fhtovp(mp, fidp, vpp) - struct mount *mp; - struct fid *fidp; - struct vnode **vpp; +pefs_fhtovp(struct mount *mp, struct fid *fidp, struct vnode **vpp) { int error; - error = VFS_FHTOVP(MOUNTTOPEMOUNT(mp)->pem_vfs, fidp, vpp); + + error = VFS_FHTOVP(MOUNTTOPEMOUNT(mp)->pm_vfs, fidp, vpp); if (error) return (error); - return (pe_nodeget(mp, *vpp, vpp)); + error = pefs_nodeget(mp, *vpp, vpp); + printf("pefs_fhtovp: error=%d; vp=%p; v_object=%p\n", error, + !error ? *vpp : NULL, !error ? (*vpp)->v_object : NULL); + if (error) + return (error); + vnode_create_vobject(*vpp, 0, curthread); + return (error); } -static int -pefs_extattrctl(mp, cmd, filename_vp, namespace, attrname) - struct mount *mp; - int cmd; - struct vnode *filename_vp; - int namespace; - const char *attrname; +static int +pefs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, int namespace, const char *attrname) { - return VFS_EXTATTRCTL(MOUNTTOPEMOUNT(mp)->pem_vfs, cmd, filename_vp, + return VFS_EXTATTRCTL(MOUNTTOPEMOUNT(mp)->pm_vfs, cmd, filename_vp, namespace, attrname); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 21 18:22:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DF8E1065673; Sun, 21 Jun 2009 18:22:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A7171065670 for ; Sun, 21 Jun 2009 18:22:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 48DF38FC14 for ; Sun, 21 Jun 2009 18:22:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LIMJ60045075 for ; Sun, 21 Jun 2009 18:22:19 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LIMJU1045073 for perforce@freebsd.org; Sun, 21 Jun 2009 18:22:19 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 21 Jun 2009 18:22:19 GMT Message-Id: <200906211822.n5LIMJU1045073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 18:22:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164816 Change 164816 by pgj@petymeg-current on 2009/06/21 18:21:22 Improve resolve_portname() Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#32 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#32 (text+ko) ==== @@ -826,12 +826,16 @@ { struct servent *sp = NULL; - sp = getservbyport((int)htons(addr->at_port), - addr->at_parent->st_name); - if ((sp != NULL || addr->at_port == 0) && - ((addr->at_flags & ADDRTYPE_ANONPORT) == 0)) - sprintf(addr->at_portname, "%.15s", sp ? sp->s_name : "*"); - else - sprintf(addr->at_portname, "%d", addr->at_port); + if ((addr->at_port == 0) || + ((addr->at_flags & ADDRTYPE_ANONPORT) != 0)) { + sprintf(addr->at_portname, "%.15s", "*"); + } else { + sp = getservbyport((int)htons(addr->at_port), + addr->at_parent->st_name); + if (sp != NULL) + sprintf(addr->at_portname, "%.15s", sp->s_name); + else + sprintf(addr->at_portname, "%d", addr->at_port); + } addr->at_flags |= ADDRTYPE_PORT_RESOLVED; } From owner-p4-projects@FreeBSD.ORG Sun Jun 21 19:17:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E9D11065679; Sun, 21 Jun 2009 19:17:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBDCA1065673 for ; Sun, 21 Jun 2009 19:17:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A94318FC19 for ; Sun, 21 Jun 2009 19:17:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LJHKip050775 for ; Sun, 21 Jun 2009 19:17:20 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LJHKVw050773 for perforce@freebsd.org; Sun, 21 Jun 2009 19:17:20 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 21 Jun 2009 19:17:20 GMT Message-Id: <200906211917.n5LJHKVw050773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 19:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=164820 Change 164820 by pgj@petymeg-current on 2009/06/21 19:17:18 Introduce a type for socket buffers Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 (text+ko) ==== @@ -581,20 +581,20 @@ stp->st_qlen = xpcb->xu_socket.so_qlen; stp->st_incqlen = xpcb->xu_socket.so_incqlen; stp->st_qlimit = xpcb->xu_socket.so_qlimit; - stp->st_snd_cc = xpcb->xu_socket.so_snd.sb_cc; - stp->st_snd_mcnt = xpcb->xu_socket.so_snd.sb_mcnt; - stp->st_snd_ccnt = xpcb->xu_socket.so_snd.sb_ccnt; - stp->st_snd_hiwat = xpcb->xu_socket.so_snd.sb_hiwat; - stp->st_snd_lowat = xpcb->xu_socket.so_snd.sb_lowat; - stp->st_snd_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt; - stp->st_snd_mbmax = xpcb->xu_socket.so_snd.sb_mbmax; - stp->st_rcv_cc = xpcb->xu_socket.so_rcv.sb_cc; - stp->st_rcv_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt; - stp->st_rcv_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt; - stp->st_rcv_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat; - stp->st_rcv_lowat = xpcb->xu_socket.so_rcv.sb_lowat; - stp->st_rcv_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt; - stp->st_rcv_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax; + stp->st_snd.sbt_cc = xpcb->xu_socket.so_snd.sb_cc; + stp->st_snd.sbt_mcnt = xpcb->xu_socket.so_snd.sb_mcnt; + stp->st_snd.sbt_ccnt = xpcb->xu_socket.so_snd.sb_ccnt; + stp->st_snd.sbt_hiwat = xpcb->xu_socket.so_snd.sb_hiwat; + stp->st_snd.sbt_lowat = xpcb->xu_socket.so_snd.sb_lowat; + stp->st_snd.sbt_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt; + stp->st_snd.sbt_mbmax = xpcb->xu_socket.so_snd.sb_mbmax; + stp->st_rcv.sbt_cc = xpcb->xu_socket.so_rcv.sb_cc; + stp->st_rcv.sbt_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt; + stp->st_rcv.sbt_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt; + stp->st_rcv.sbt_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat; + stp->st_rcv.sbt_lowat = xpcb->xu_socket.so_rcv.sb_lowat; + stp->st_rcv.sbt_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt; + stp->st_rcv.sbt_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax; stp->st_pcb = (u_long)xpcb->xu_socket.so_pcb; stp->st_vnode = (u_long)xpcb->xu_unp.unp_vnode; stp->st_conn = (u_long)xpcb->xu_unp.unp_conn; @@ -627,20 +627,20 @@ stp->st_qlen = so->so_qlen; stp->st_incqlen = so->so_incqlen; stp->st_qlimit = so->so_qlimit; - stp->st_snd_cc = so->so_snd.sb_cc; - stp->st_snd_mcnt = so->so_snd.sb_mcnt; - stp->st_snd_ccnt = so->so_snd.sb_ccnt; - stp->st_snd_hiwat = so->so_snd.sb_hiwat; - stp->st_snd_lowat = so->so_snd.sb_lowat; - stp->st_snd_mbcnt = so->so_snd.sb_mbcnt; - stp->st_snd_mbmax = so->so_snd.sb_mbmax; - stp->st_rcv_cc = so->so_rcv.sb_cc; - stp->st_rcv_mcnt = so->so_rcv.sb_mcnt; - stp->st_rcv_ccnt = so->so_rcv.sb_ccnt; - stp->st_rcv_hiwat = so->so_rcv.sb_hiwat; - stp->st_rcv_lowat = so->so_rcv.sb_lowat; - stp->st_rcv_mbcnt = so->so_rcv.sb_mbcnt; - stp->st_rcv_mbmax = so->so_rcv.sb_mbmax; + stp->st_snd.sbt_cc = so->so_snd.sb_cc; + stp->st_snd.sbt_mcnt = so->so_snd.sb_mcnt; + stp->st_snd.sbt_ccnt = so->so_snd.sb_ccnt; + stp->st_snd.sbt_hiwat = so->so_snd.sb_hiwat; + stp->st_snd.sbt_lowat = so->so_snd.sb_lowat; + stp->st_snd.sbt_mbcnt = so->so_snd.sb_mbcnt; + stp->st_snd.sbt_mbmax = so->so_snd.sb_mbmax; + stp->st_rcv.sbt_cc = so->so_rcv.sb_cc; + stp->st_rcv.sbt_mcnt = so->so_rcv.sb_mcnt; + stp->st_rcv.sbt_ccnt = so->so_rcv.sb_ccnt; + stp->st_rcv.sbt_hiwat = so->so_rcv.sb_hiwat; + stp->st_rcv.sbt_lowat = so->so_rcv.sb_lowat; + stp->st_rcv.sbt_mbcnt = so->so_rcv.sb_mbcnt; + stp->st_rcv.sbt_mbmax = so->so_rcv.sb_mbmax; stp->st_pcb = (tp == NULL) ? (u_long)inp->inp_ppcb : (u_long)so->so_pcb; stp->st_vnode = (u_long)0; ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 (text+ko) ==== @@ -62,21 +62,8 @@ int netstat_st_get_protocol(const struct socket_type *stp); const char *netstat_st_get_name(const struct socket_type *stp); const char *netstat_st_get_extname(const struct socket_type *stp); -/* XXX: move snd/rcv-related properties into a new abstract type? */ -u_int netstat_st_get_snd_cc(const struct socket_type *stp); -u_int netstat_st_get_snd_hiwat(const struct socket_type *stp); -u_int netstat_st_get_snd_lowat(const struct socket_type *stp); -u_int netstat_st_get_snd_mbcnt(const struct socket_type *stp); -u_int netstat_st_get_snd_mcnt(const struct socket_type *stp); -u_int netstat_st_get_snd_ccnt(const struct socket_type *stp); -u_int netstat_st_get_snd_mbmax(const struct socket_type *stp); -u_int netstat_st_get_rcv_cc(const struct socket_type *stp); -u_int netstat_st_get_rcv_hiwat(const struct socket_type *stp); -u_int netstat_st_get_rcv_lowat(const struct socket_type *stp); -u_int netstat_st_get_rcv_mbcnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_mcnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_ccnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_mbmax(const struct socket_type *stp); +const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp); +const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp); u_short netstat_st_get_qlen(const struct socket_type *stp); u_short netstat_st_get_incqlen(const struct socket_type *stp); u_short netstat_st_get_qlimit(const struct socket_type *stp); @@ -97,6 +84,14 @@ char *addr, int addr_len); u_short netstat_at_get_port(const struct addr_type *atp); const char *netstat_at_get_portname(struct addr_type *atp); +/* Socket buffers: */ +u_int netstat_sbt_get_cc(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_lowat(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp); __END_DECLS #endif /* !_NETSTAT_H_ */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 (text+ko) ==== @@ -32,6 +32,17 @@ char at_portname[32]; }; +/* Socket buffer type */ +struct sockbuf_type { + u_int sbt_cc; /* actual chars in the buffer */ + u_int sbt_mcnt; + u_int sbt_ccnt; + u_int sbt_hiwat; + u_int sbt_lowat; + u_int sbt_mbcnt; + u_int sbt_mbmax; +}; + /* internal defines for addr_type: */ #define ADDRTYPE_ANONPORT 0x01 #define ADDRTYPE_NAME_RESOLVED 0x02 @@ -58,20 +69,10 @@ struct addr_type *st_address[SOCKTYPE_MAXADDRCNT]; int st_addrcnt; /* address count */ - u_int st_snd_cc; /* actual chars in the send buffer */ - u_int st_snd_mcnt; - u_int st_snd_ccnt; - u_int st_snd_hiwat; - u_int st_snd_lowat; - u_int st_snd_mbcnt; - u_int st_snd_mbmax; - u_int st_rcv_cc; /* actual chars in the receive buffer */ - u_int st_rcv_mcnt; - u_int st_rcv_ccnt; - u_int st_rcv_hiwat; - u_int st_rcv_lowat; - u_int st_rcv_mbcnt; - u_int st_rcv_mbmax; + /* buffers */ + struct sockbuf_type st_snd; + struct sockbuf_type st_rcv; + u_short st_qlen; /* number of unaccepted connections */ u_short st_incqlen; /* number of unaccepted incomplete connections */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 (text+ko) ==== @@ -350,88 +350,16 @@ return (stp->st_extname); } -u_int -netstat_st_get_rcv_cc(const struct socket_type *stp) +const struct sockbuf_type * +netstat_st_get_snd(const struct socket_type *stp) { - return (stp->st_rcv_cc); + return (&stp->st_snd); } -u_int -netstat_st_get_rcv_hiwat(const struct socket_type *stp) +const struct sockbuf_type * +netstat_st_get_rcv(const struct socket_type *stp) { - return (stp->st_rcv_hiwat); -} - -u_int -netstat_st_get_rcv_lowat(const struct socket_type *stp) -{ - return (stp->st_rcv_lowat); -} - -u_int -netstat_st_get_rcv_mbcnt(const struct socket_type *stp) -{ - return (stp->st_rcv_mbcnt); -} - -u_int -netstat_st_get_rcv_mcnt(const struct socket_type *stp) -{ - return (stp->st_rcv_mcnt); -} - -u_int -netstat_st_get_rcv_ccnt(const struct socket_type *stp) -{ - return (stp->st_rcv_ccnt); -} - -u_int -netstat_st_get_rcv_mbmax(const struct socket_type *stp) -{ - return (stp->st_rcv_mbmax); -} - -u_int -netstat_st_get_snd_cc(const struct socket_type *stp) -{ - return (stp->st_snd_cc); -} - -u_int -netstat_st_get_snd_hiwat(const struct socket_type *stp) -{ - return (stp->st_snd_hiwat); -} - -u_int -netstat_st_get_snd_lowat(const struct socket_type *stp) -{ - return (stp->st_snd_lowat); -} - -u_int -netstat_st_get_snd_mbcnt(const struct socket_type *stp) -{ - return (stp->st_snd_mbcnt); -} - -u_int -netstat_st_get_snd_mcnt(const struct socket_type *stp) -{ - return (stp->st_snd_mcnt); -} - -u_int -netstat_st_get_snd_ccnt(const struct socket_type *stp) -{ - return (stp->st_snd_ccnt); -} - -u_int -netstat_st_get_snd_mbmax(const struct socket_type *stp) -{ - return (stp->st_snd_mbmax); + return (&stp->st_rcv); } u_short @@ -547,3 +475,45 @@ } return (atp->at_portname); } + +u_int +netstat_sbt_get_cc(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_cc); +} + +u_int +netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_hiwat); +} + +u_int +netstat_sbt_get_lowat(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_lowat); +} + +u_int +netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mbcnt); +} + +u_int +netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mcnt); +} + +u_int +netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_ccnt); +} + +u_int +netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mbmax); +} ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 (text+ko) ==== @@ -203,8 +203,9 @@ netstat_st_get_incqlen(stp), netstat_st_get_qlimit(stp)); printf("%-14.14s", buf1); } else { - printf("%6u %6u ", netstat_st_get_rcv_cc(stp), - netstat_st_get_snd_cc(stp)); + printf("%6u %6u ", + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp))); } laddr = netstat_st_get_address(stp, 0); /* local */ faddr = netstat_st_get_address(stp, 1); /* foreign */ @@ -218,16 +219,18 @@ if (Lflag) printf("%21s", " "); printf("%6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u", - netstat_st_get_rcv_mcnt(stp), netstat_st_get_snd_mcnt(stp), - netstat_st_get_rcv_ccnt(stp), netstat_st_get_snd_ccnt(stp), - netstat_st_get_rcv_hiwat(stp), - netstat_st_get_snd_hiwat(stp), - netstat_st_get_rcv_lowat(stp), - netstat_st_get_snd_lowat(stp), - netstat_st_get_rcv_mbcnt(stp), - netstat_st_get_snd_mbcnt(stp), - netstat_st_get_rcv_mbmax(stp), - netstat_st_get_snd_mbmax(stp)); + netstat_sbt_get_mcnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_mcnt(netstat_st_get_snd(stp)), + netstat_sbt_get_ccnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_ccnt(netstat_st_get_snd(stp)), + netstat_sbt_get_hiwat(netstat_st_get_rcv(stp)), + netstat_sbt_get_hiwat(netstat_st_get_snd(stp)), + netstat_sbt_get_lowat(netstat_st_get_rcv(stp)), + netstat_sbt_get_lowat(netstat_st_get_snd(stp)), + netstat_sbt_get_mbcnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_mbcnt(netstat_st_get_snd(stp)), + netstat_sbt_get_mbmax(netstat_st_get_rcv(stp)), + netstat_sbt_get_mbmax(netstat_st_get_snd(stp))); } if (!Lflag) { printf("%s", netstat_st_get_tcpstate(stp)); ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 (text+ko) ==== @@ -136,7 +136,8 @@ } else { printf("%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", netstat_st_get_pcb(stp), netstat_st_get_name(stp), - netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_st_get_vnode(stp), netstat_st_get_conn(stp), netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); } ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 (text+ko) ==== @@ -78,7 +78,8 @@ mvprintw(row, 0, "%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", netstat_st_get_pcb(stp), netstat_st_get_name(stp), - netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_st_get_vnode(stp), netstat_st_get_conn(stp), netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); if (netstat_st_get_addrcnt(stp) > 0) { @@ -102,8 +103,9 @@ faddr = netstat_st_get_address(stp, 1); mvprintw(row, 0, "%-5.5s %6u %6u %-17.17s %-6.6s %-17.17s %-6.6s %s", - netstat_st_get_extname(stp), netstat_st_get_rcv_cc(stp), - netstat_st_get_snd_cc(stp), + netstat_st_get_extname(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_at_get_name(laddr), netstat_at_get_portname(laddr), netstat_at_get_name(faddr), From owner-p4-projects@FreeBSD.ORG Sun Jun 21 19:45:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB8931065679; Sun, 21 Jun 2009 19:45:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94A2B1065672 for ; Sun, 21 Jun 2009 19:45:52 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 781968FC1B for ; Sun, 21 Jun 2009 19:45:52 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LJjq6l060237 for ; Sun, 21 Jun 2009 19:45:52 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LJjqU8060235 for perforce@freebsd.org; Sun, 21 Jun 2009 19:45:52 GMT (envelope-from dforsyth@FreeBSD.org) Date: Sun, 21 Jun 2009 19:45:52 GMT Message-Id: <200906211945.n5LJjqU8060235@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 19:45:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=164825 Change 164825 by dforsyth@squirrel on 2009/06/21 19:45:10 Added a little sweet macro action. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#22 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#21 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#14 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#15 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#22 (text+ko) ==== @@ -226,6 +226,17 @@ return (pkg_plist_origin(&p->plist)); } +char * +pkg_mtree_file(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + return (pkg_plist_mtree_file(&p->plist)); +} + /* These need to be renamed. */ void ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#21 (text+ko) ==== @@ -113,6 +113,8 @@ char *pkg_display(struct pkg *p); +char *pkg_mtree_file(struct pkg *p); + int pkg_set_ident(struct pkg *p, const char *ident); int pkg_set_name(struct pkg *p, const char *name); @@ -133,6 +135,10 @@ int pkg_set_display(struct pkg *p, const char *display); +#if 0 +int pkg_set_mtree_file(struct pkg *p, const char *mtree_file); +#endif + int pkg_parse_plist(struct pkg *p); void pkg_pkg_file_list_init(struct pkg *p); @@ -151,6 +157,17 @@ void pkg_delete(struct pkg *p); +/* Check style. */ + +#define pkg_ent_list_init(t, p) \ + pkg_##t##_list_init(p) + +#define pkg_ent_list_next(t, p) \ + pkg_##t##_list_next(p) + +#define pkg_ent_list_add(t, p) \ + pkg_##t##_list_add(t, p) + /* pkgdb */ struct pkgdb; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#14 (text+ko) ==== @@ -328,6 +328,15 @@ return (pl->origin); } +char * +pkg_plist_mtree_file(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (pl->mtree_file); +} + /* pkg_file list manipulation and access. */ /* I should really just write a set of generic routine to handle this ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#11 (text+ko) ==== @@ -101,6 +101,7 @@ char *pkg_plist_name(struct pkg_plist *pl); char *pkg_plist_cwd(struct pkg_plist *pl); char *pkg_plist_origin(struct pkg_plist *pl); +char *pkg_plist_mtree_file(struct pkg_plist *pl); void pkg_plist_pkg_file_list_init(struct pkg_plist *pl); struct pkg_file *pkg_plist_pkg_file_list_first(struct pkg_plist *pl); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#17 (text+ko) ==== @@ -126,8 +126,26 @@ pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident) { /* TODO: Write this function. */ + int status; + + if (db == NULL) + arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + status = PKG_OK; + pkg_reset(p); + return (OK); } + +/* Grab a specific sub out of the pkgdb_sub list. */ +struct pkgdb_sub * +pkgdb_pkgdb_sub_get(struct pkgdb *db, const char *ident) +{ + /* TODO: Write this function. */ + return (NULL); +} #endif void ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#11 (text+ko) ==== @@ -15,4 +15,5 @@ void pkgdb_pkgdb_sub_list_append(struct pkgdb *db, struct pkgdb_sub *sub); +struct pkgdb_sub *pkgdb_pkgdb_sub_get(struct pkgdb *db, const char *ident); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#15 (text+ko) ==== @@ -125,6 +125,7 @@ const char *name; const char *cwd; const char *origin; + const char *mtree_file; const char *path; const char *md5; const char *owner; @@ -144,6 +145,7 @@ name = pkg_name(p); cwd = pkg_cwd(p); origin = pkg_origin(p); + mtree_file = pkg_mtree_file(p); printf("%s:\n", (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); @@ -151,9 +153,11 @@ (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); printf("\torigin: %s\n", (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); + printf("\tmtree file: %s\n", + (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); printf("\tfiles:\n"); - pkg_pkg_file_list_init(p); - while ((pf = pkg_pkg_file_list_next(p)) != NULL) { + pkg_ent_list_init(pkg_file, p); + while ((pf = pkg_ent_list_next(pkg_file, p)) != NULL) { path = pkg_file_path(pf); md5 = pkg_file_md5(pf); owner = pkg_file_owner(pf); @@ -169,8 +173,8 @@ } printf("\tdepends:\n"); - pkg_pkg_dep_list_init(p); - while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { + pkg_ent_list_init(pkg_dep, p); + while ((pd = pkg_ent_list_next(pkg_dep, p)) != NULL) { name = pkg_dep_name(pd); origin = pkg_dep_origin(pd); printf("\t\t%s : %s\n", name, origin); From owner-p4-projects@FreeBSD.ORG Sun Jun 21 20:30:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F10B81065687; Sun, 21 Jun 2009 20:30:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B09CB106566C for ; Sun, 21 Jun 2009 20:30:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9DD508FC19 for ; Sun, 21 Jun 2009 20:30:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LKUf6D064890 for ; Sun, 21 Jun 2009 20:30:41 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LKUfjf064888 for perforce@freebsd.org; Sun, 21 Jun 2009 20:30:41 GMT (envelope-from trasz@freebsd.org) Date: Sun, 21 Jun 2009 20:30:41 GMT Message-Id: <200906212030.n5LKUfjf064888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 20:30:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=164828 Change 164828 by trasz@trasz_victim on 2009/06/21 20:29:52 Trying to get hierarchical resource accounting to work. This still trips on KASSERTs horribly, for some reason. I'm running out of ideas. ;-/ Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#4 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#7 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#5 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#14 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#10 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#5 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#4 (text+ko) ==== @@ -705,7 +705,7 @@ */ change_svuid(newcred, newcred->cr_uid); change_svgid(newcred, newcred->cr_gid); - p->p_ucred = newcred; + change_cred(p, newcred); newcred = NULL; } else { if (oldcred->cr_uid == oldcred->cr_ruid && @@ -728,7 +728,7 @@ crcopy(newcred, oldcred); change_svuid(newcred, newcred->cr_uid); change_svgid(newcred, newcred->cr_gid); - p->p_ucred = newcred; + change_cred(p, newcred); newcred = NULL; } } ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#7 (text+ko) ==== @@ -128,7 +128,7 @@ struct ucred *tracecred; #endif struct plimit *plim; - int locked, i; + int locked; mtx_assert(&Giant, MA_NOTOWNED); @@ -398,16 +398,6 @@ PROC_UNLOCK(p); lim_free(plim); - for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_accounting.ha_resources[i] != 0) -#ifdef notyet - printf("exit1: exiting process: resource %d = %lld\n", - i, p->p_accounting.ha_resources[i]); -#else - ; -#endif - } - /* * Remove proc from allproc queue and pidhash chain. * Place onto zombproc. Unlink from parent's child list. @@ -772,6 +762,8 @@ * Decrement the count of procs running with this uid. */ (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); + hrl_free_proc(p->p_pptr, HRL_RESOURCE_MAXPROCESSES, 1); + hrl_proc_exiting(p); /* * Free credentials, arguments, and sigacts. @@ -934,6 +926,10 @@ if (child->p_pptr == parent) return; + hrl_free_proc(child->p_pptr, HRL_RESOURCE_MAXPROCESSES, 1); + /* XXX: What about return value? */ + hrl_alloc_proc(parent, HRL_RESOURCE_MAXPROCESSES, 1); + PROC_LOCK(child->p_pptr); sigqueue_take(child->p_ksi); PROC_UNLOCK(child->p_pptr); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#5 (text+ko) ==== @@ -570,6 +570,12 @@ PROC_UNLOCK(p1); PROC_UNLOCK(p2); + /* + * Initialize HRL accounting information. + * XXX: Handle failure? + */ + hrl_proc_fork(p1, p2); + /* Bump references to the text vnode (for procfs) */ if (p2->p_textvp) vref(p2->p_textvp); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#14 (text+ko) ==== @@ -47,6 +47,11 @@ #include #include +#define HRF_DEFAULT 0 +#define HRF_DONT_INHERIT 1 +#define HRF_DONT_ACCUMULATE 2 + + struct hrl_node { struct hrl_rule hn_rule; RB_ENTRY(hrl_node) hn_next; @@ -93,14 +98,24 @@ RB_HEAD(hrl_tree, hrl_node) hrls = RB_INITIALIZER(hrls); RB_GENERATE_STATIC(hrl_tree, hrl_node, hn_next, hn_compare); +static const char * hrl_resource_name(int resource); static void hrl_init(void); -SYSINIT(hrl, SI_SUB_RUN_SCHEDULER, SI_ORDER_SECOND, hrl_init, NULL); +SYSINIT(hrl, SI_SUB_CPU, SI_ORDER_FIRST, hrl_init, NULL); static uma_zone_t hrl_zone; static struct mtx hrl_lock; MALLOC_DEFINE(M_HRL, "hrl", "Hierarchical Resource Limits"); +#define notyet +#if 0 +#undef KASSERT +#define KASSERT(exp,msg) do { \ + if (__predict_false(!(exp))) \ + printf msg; \ +} while (0) +#endif + #ifdef INVARIANTS /* * Go through the accounting info and verify that it makes sense. @@ -114,7 +129,7 @@ struct prison *pr; cred = p->p_ucred; - + mtx_assert(&hrl_lock, MA_OWNED); for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) KASSERT(p->p_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); KASSERT(cred->cr_ruidinfo->ui_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); @@ -128,6 +143,88 @@ } #endif /* INVARIANTS */ +void +hrl_proc_exiting(struct proc *p) +{ + int i; + + mtx_lock(&hrl_lock); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (p->p_accounting.ha_resources[i] != 0) +#if 0 + KASSERT(p->p_accounting.ha_resources == 0, + ("dead process still holding resources")); +#else + printf("hrl_proc_exiting: %s = %lld\n", + hrl_resource_name(i), + p->p_accounting.ha_resources[i]); + if (p->p_accounting.ha_resources[i] > 0) + hrl_free_proc(p, i, p->p_accounting.ha_resources[i]); + else + p->p_accounting.ha_resources[i] = 0; +#endif + } + mtx_unlock(&hrl_lock); +} + +static int +hrl_resource_inheritable(int resource) +{ + + switch (resource) { + case HRL_RESOURCE_MAXPROCESSES: + return (0); + default: + return (1); + } +} + +static const char * +hrl_resource_name(int resource) +{ + switch (resource) { + case HRL_RESOURCE_CPUTIME: + return ("cputime"); + case HRL_RESOURCE_FILESIZE: + return ("filesize"); + case HRL_RESOURCE_DATASIZE: + return ("datasize"); + case HRL_RESOURCE_STACKSIZE: + return ("stacksize"); + case HRL_RESOURCE_COREDUMPSIZE: + return ("coredumpsize"); + case HRL_RESOURCE_MEMORYUSE: + return ("memoryuse"); + case HRL_RESOURCE_MEMORYLOCKED: + return ("memorylocked"); + case HRL_RESOURCE_MAXPROCESSES: + return ("maxprocesses"); + case HRL_RESOURCE_OPENFILES: + return ("openfiles"); + case HRL_RESOURCE_SBSIZE: + return ("sbsize"); + case HRL_RESOURCE_VMEMORYUSE: + return ("vmemoryuse"); + case HRL_RESOURCE_PTY: + return ("vmemoryuse"); + default: + panic("hrl_resource_name: unknown resource"); + } +} + +void +hrl_proc_fork(struct proc *parent, struct proc *child) +{ + int i; + + mtx_lock(&hrl_lock); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (parent->p_accounting.ha_resources[i] != 0 && hrl_resource_inheritable(i)) + hrl_allocated_proc(child, i, parent->p_accounting.ha_resources[i]); + } + mtx_unlock(&hrl_lock); +} + /* * Increase allocation of 'resource' by 'amount' for process 'p'. * Return 0 if it's below limits, or errno, if it's not. @@ -135,27 +232,43 @@ int hrl_alloc_proc(struct proc *p, int resource, uint64_t amount) { - int i; + int i, j; struct ucred *cred; struct prison *pr; - KASSERT(amount > 0, ("invalid amount")); + KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", + hrl_resource_name(resource), amount)); + if (amount <= 0) + panic("bleh."); - /* - * XXX: Obviously wrong, fix later. - */ + mtx_lock(&hrl_lock); p->p_accounting.ha_resources[resource] += amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; - cred->cr_uidinfo->ui_accounting.ha_resources[resource] += amount; + if (cred->cr_ruidinfo != cred->cr_uidinfo) + cred->cr_uidinfo->ui_accounting.ha_resources[resource] += amount; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) pr->pr_accounting.ha_resources[resource] += amount; - for (i = 0; i < cred->cr_ngroups; i++) + /* + * XXX: Slow. + */ + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += amount; - +skip_group: + continue; + } #ifdef INVARIANTS hrl_assert_proc(p); #endif + mtx_unlock(&hrl_lock); /* * XXX: When denying, return proper errno - EFSIZ, ENOMEM etc. @@ -174,24 +287,45 @@ int hrl_allocated_proc(struct proc *p, int resource, uint64_t amount) { - int i; + int i, j; int64_t diff; struct ucred *cred; struct prison *pr; + KASSERT(amount > 0, ("hrl_allocated_proc: invalid amount for %s: %lld", + hrl_resource_name(resource), amount)); + if (amount <= 0) + panic("bleh."); + + mtx_lock(&hrl_lock); diff = amount - p->p_accounting.ha_resources[resource]; - p->p_accounting.ha_resources[resource] += diff; + p->p_accounting.ha_resources[resource] = amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; - cred->cr_uidinfo->ui_accounting.ha_resources[resource] += diff; + if (cred->cr_ruidinfo != cred->cr_uidinfo) + cred->cr_uidinfo->ui_accounting.ha_resources[resource] += diff; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) pr->pr_accounting.ha_resources[resource] += diff; - for (i = 0; i < cred->cr_ngroups; i++) + /* + * XXX: Slow. + */ + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += diff; - +skip_group: + continue; + } #ifdef INVARIANTS hrl_assert_proc(p); #endif + mtx_unlock(&hrl_lock); return (0); } @@ -202,27 +336,49 @@ void hrl_free_proc(struct proc *p, int resource, uint64_t amount) { - int i; + int i, j; struct ucred *cred; struct prison *pr; - KASSERT(amount > 0, ("invalid amount")); + KASSERT(amount > 0, ("hrl_free_proc: invalid amount for %s: %lld", + hrl_resource_name(resource), amount)); + if (amount <= 0) + panic("bleh."); + mtx_lock(&hrl_lock); p->p_accounting.ha_resources[resource] -= amount; #ifdef notyet - KASSERT(amount >= p->p_accounting.ha_resources[resource], ("freeing more than allocated")); + KASSERT(amount <= p->p_accounting.ha_resources[resource], + ("hrl_free_proc: freeing %lld, which is more than allocated %lld " + "for %s", amount, p->p_accounting.ha_resources[resource], + hrl_resource_name(resource))); #endif cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; - cred->cr_uidinfo->ui_accounting.ha_resources[resource] -= amount; + if (cred->cr_ruidinfo != cred->cr_uidinfo) + cred->cr_uidinfo->ui_accounting.ha_resources[resource] -= amount; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) pr->pr_accounting.ha_resources[resource] -= amount; - for (i = 0; i < cred->cr_ngroups; i++) + /* + * XXX: Slow. + */ + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] -= amount; - +skip_group: + continue; + } #ifdef INVARIANTS hrl_assert_proc(p); #endif + mtx_unlock(&hrl_lock); } /* @@ -263,7 +419,7 @@ node = RB_FIND(hrl_tree, &hrls, &searched); if (node != NULL) { node = RB_REMOVE(hrl_tree, &hrls, node); - KASSERT(node != NULL, ("node removal failed")); + KASSERT(node != NULL, ("hrl_adjust: node removal failed")); } mtx_unlock(&hrl_lock); if (node != NULL) @@ -292,16 +448,18 @@ { int i; + mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { #ifdef notyet KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); #endif dest->ha_resources[i] += src->ha_resources[i]; #ifdef notyet - KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); #endif } + mtx_unlock(&hrl_lock); } void @@ -309,16 +467,19 @@ { int i; + mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { #ifdef notyet KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->ha_resources[i] <= dest->ha_resources[i], ("resource usage propagation meltdown")); #endif dest->ha_resources[i] -= src->ha_resources[i]; #ifdef notyet - KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); #endif } + mtx_unlock(&hrl_lock); } /* @@ -526,7 +687,7 @@ continue; node = RB_REMOVE(hrl_tree, &hrls, node); - KASSERT(node != NULL, ("node removal failed")); + KASSERT(node != NULL, ("hrl_proc_exit: node removal failed")); mtx_unlock(&hrl_lock); uma_zfree(hrl_zone, node); @@ -541,6 +702,6 @@ hrl_zone = uma_zcreate("hrl", sizeof(struct hrl_node), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - mtx_init(&hrl_lock, "hrl lock", NULL, MTX_DEF); + mtx_init(&hrl_lock, "hrl lock", NULL, MTX_RECURSE); /* XXX: Make it non-recurseable later. */ EVENTHANDLER_REGISTER(process_exit, hrl_proc_exit, NULL, EVENTHANDLER_PRI_ANY); } ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#10 (text+ko) ==== @@ -120,6 +120,8 @@ void hrl_adjust(int subject, id_t subject_id, int per, int resource, int action, int64_t amount); void hrl_acc_add(struct hrl_acc *dest, const struct hrl_acc *src); void hrl_acc_subtract(struct hrl_acc *dest, const struct hrl_acc *src); +void hrl_proc_exiting(struct proc *p); +void hrl_proc_fork(struct proc *parent, struct proc *child); #else /* !_KERNEL */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#5 (text+ko) ==== @@ -84,7 +84,9 @@ #ifdef _KERNEL struct thread; +struct proc; +void change_cred(struct proc *p, struct ucred *newcred); void change_egid(struct ucred *newcred, struct gidinfo *egip); void change_euid(struct ucred *newcred, struct uidinfo *euip); void change_rgid(struct ucred *newcred, gid_t rgid); From owner-p4-projects@FreeBSD.ORG Sun Jun 21 20:31:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B48C10656AD; Sun, 21 Jun 2009 20:31:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E613B10656A8 for ; Sun, 21 Jun 2009 20:31:42 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2E318FC1B for ; Sun, 21 Jun 2009 20:31:42 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LKVgBp064953 for ; Sun, 21 Jun 2009 20:31:42 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LKVgQA064951 for perforce@freebsd.org; Sun, 21 Jun 2009 20:31:42 GMT (envelope-from andre@freebsd.org) Date: Sun, 21 Jun 2009 20:31:42 GMT Message-Id: <200906212031.n5LKVgQA064951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 164829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 20:31:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=164829 Change 164829 by andre@andre_t61 on 2009/06/21 20:31:09 Merge in some fixes to head after the branch point of tcp_new: svn r178862 jhb Always bump tcpstat.tcps_badrst if we get a RST for a connection in the syncache that has an invalid SEQ instead of only doing it when we suceed in mallocing space for the log message. svn r179832 ups Fix a check in SYN cache expansion (syncache_expand()) to accept packets that arrive in the receive window instead of just on the left edge of the receive window. This is needed for correct behavior when packets are lost or reordered. svn r179833 ups Change incorrect stale cookie detection in syncookie_lookup() that prematurely declared a cookie as expired. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_syncache.c#2 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_syncache.c#2 (text+ko) ==== @@ -567,10 +567,11 @@ "connection attempt aborted by remote endpoint\n", s, __func__); tcpstat.tcps_sc_reset++; - } else if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { - log(LOG_DEBUG, "%s; %s: RST with invalid SEQ %u != IRS %u " - "(+WND %u), segment ignored\n", - s, __func__, th->th_seq, sc->sc_irs, sc->sc_wnd); + } else { + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { + log(LOG_DEBUG, "%s; %s: RST with invalid SEQ %u != " + "IRS %u (+WND %u), segment ignored\n", + s, __func__, th->th_seq, sc->sc_irs, sc->sc_wnd); tcpstat.tcps_badrst++; } @@ -902,12 +903,14 @@ "rejected\n", s, __func__, th->th_ack, sc->sc_iss); goto failed; } + /* - * The SEQ must match the received initial receive sequence - * number + 1 (the SYN) because we didn't ACK any data that - * may have come with the SYN. + * The SEQ must fall in the window starting at the received + * initial receive sequence number + 1 (the SYN). */ - if (th->th_seq != sc->sc_irs + 1 && !TOEPCB_ISSET(sc)) { + if ((SEQ_LEQ(th->th_seq, sc->sc_irs) || + SEQ_GT(th->th_seq, sc->sc_irs + sc->sc_wnd) && + !TOEPCB_ISSET(sc)) { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: SEQ %u != IRS+1 %u, segment " "rejected\n", s, __func__, th->th_seq, sc->sc_irs); @@ -1607,7 +1610,7 @@ * The secret wasn't updated for the lifetime of a syncookie, * so this SYN-ACK/ACK is either too old (replay) or totally bogus. */ - if (sch->sch_reseed < time_uptime) { + if (sch->sch_reseed + SYNCOOKIE_LIFETIME < time_uptime) { return (NULL); } From owner-p4-projects@FreeBSD.ORG Sun Jun 21 20:45:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C93C01065675; Sun, 21 Jun 2009 20:45:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88C9E1065673 for ; Sun, 21 Jun 2009 20:45:58 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 775148FC18 for ; Sun, 21 Jun 2009 20:45:58 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LKjwmA066206 for ; Sun, 21 Jun 2009 20:45:58 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LKjw6H066204 for perforce@freebsd.org; Sun, 21 Jun 2009 20:45:58 GMT (envelope-from andre@freebsd.org) Date: Sun, 21 Jun 2009 20:45:58 GMT Message-Id: <200906212045.n5LKjw6H066204@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 164830 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 20:45:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=164830 Change 164830 by andre@andre_t61 on 2009/06/21 20:45:25 Undo the following changes which happend before the branch point of tcp_new. The original version was correct based on a full reading of RFC1323 and the consesus of IETF TCPM. Eventually the problem this was supposed to solve had a different origin. See mainling list archives. svn r173771 silby Comment out the syncache's test which ensures that hosts which negotiate TCP timestamps in the initial SYN packet actually use them in the rest of the connection. Unfortunately, during the 7.0 testing cycle users have already found network devices that violate this constraint. RFC 1323 states 'and may send a TSopt in other segments' rather than 'and MUST send', so we must allow it. svn r174545 kmacy Remove spurious timestamp check. RFC 1323 explicitly states that timestamps MAY be transmitted if negotiated. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_syncache.c#3 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_syncache.c#3 (text+ko) ==== @@ -917,12 +917,24 @@ goto failed; } + /* + * If timestamps were present in the SYN and we accepted + * them in our SYN|ACK we require them to be present from + * now on. And vice versa. + */ + if ((sc->sc_flags & SCF_TIMESTAMP) && !(to->to_flags & TOF_TS)) { + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Timestamp missing, " + "segment rejected\n", s, __func__); + goto failed; + } if (!(sc->sc_flags & SCF_TIMESTAMP) && (to->to_flags & TOF_TS)) { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Timestamp not expected, " "segment rejected\n", s, __func__); goto failed; } + /* * If timestamps were negotiated the reflected timestamp * must be equal to what we actually sent in the SYN|ACK. From owner-p4-projects@FreeBSD.ORG Sun Jun 21 21:05:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED6761065674; Sun, 21 Jun 2009 21:05:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB0471065670 for ; Sun, 21 Jun 2009 21:05:19 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 97FD58FC17 for ; Sun, 21 Jun 2009 21:05:19 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LL5Jgd078759 for ; Sun, 21 Jun 2009 21:05:19 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LL5Jh6078757 for perforce@freebsd.org; Sun, 21 Jun 2009 21:05:19 GMT (envelope-from gabor@freebsd.org) Date: Sun, 21 Jun 2009 21:05:19 GMT Message-Id: <200906212105.n5LL5Jh6078757@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 164831 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 21:05:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164831 Change 164831 by gabor@gabor_server on 2009/06/21 21:04:42 MFHg: - Clean up esdb and csmapper Makefile structures. Tied to generalize the building and made a mini-framework for these pieces of metadata. It seems like a misc item but actually conversion tables are very important and thus we need an easy way to add/modify conversion tables. - Fixed some issues showing up in the GNU regression tests by adding -INTERNAL and -SWAPPED encoding forms for UTF/UCS family. The former always means using the machine byte order, while the latter one is the swapped byte order. GNU regression tests use UCS-4-INTERNAL and by implementing it in a compatible way, lot of regressions went away in other encodings, as well. - Finally really fix BOM handling - Nits in the test suite Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile.inc#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#2 edit Differences ... ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#2 (text+ko) ==== @@ -112,7 +112,7 @@ # -$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP # -$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP -$(srcdir)/check-stateless $(srcdir) ISO646-CN -# -$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN + -$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN -$(srcdir)/check-stateless $(srcdir) ISO-IR-165 # -$(srcdir)/check-stateless $(srcdir) KSC_5601 # redundant, see EUC-KR # /* CJK encodings */ @@ -129,7 +129,7 @@ { cat $(srcdir)/GB18030-BMP.TXT ; ./gengb18030z ; } | sort > GB18030.TXT && \ $(srcdir)/check-stateless . GB18030 && \ -$(RM) -r gengb18030z gengb18030z.dSYM GB18030.TXT - -$(srcdir)/check-stateful $(srcdir) ISO-2022-CN +# -$(srcdir)/check-stateful $(srcdir) ISO-2022-CN -$(srcdir)/check-stateful $(srcdir) ISO-2022-CN-EXT -$(srcdir)/check-stateful $(srcdir) HZ -$(srcdir)/check-stateless $(srcdir) EUC-TW ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#2 (text+ko) ==== @@ -8,9 +8,8 @@ # charset, modified for use in filenames. charsetf=`echo "$charset" | sed -e 's,:,-,g'` -../../../../usr.bin/iconv/iconv -f "$charset" -t UTF-8 < "${srcdir}"/"$charsetf"-snippet > tmp-snippet -cmp "${srcdir}"/"$charsetf"-snippet.UTF-8 tmp-snippet -../../../../usr.bin/iconv/iconv -f UTF-8 -t "$charset" < "${srcdir}"/"$charsetf"-snippet.UTF-8 > tmp-snippet -cmp "${srcdir}"/"$charsetf"-snippet tmp-snippet -rm -f tmp-snippet +../../../../usr.bin/iconv/iconv -f "$charset" -t UTF-8 < "${srcdir}"/"$charsetf"-snippet > tmp-"$charsetf"-snippet.UTF-8 +cmp "${srcdir}"/"$charsetf"-snippet.UTF-8 tmp-"$charsetf"-snippet.UTF-8 +../../../../usr.bin/iconv/iconv -f UTF-8 -t "$charset" < "${srcdir}"/"$charsetf"-snippet.UTF-8 > tmp-"$charsetf"-snippet +cmp "${srcdir}"/"$charsetf"-snippet tmp-"$charsetf"-snippet exit 0 ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#2 (text+ko) ==== @@ -26,7 +26,6 @@ fi cmp tmp-orig-"$charsetf".INVERSE.TXT tmp-"$charsetf".INVERSE.TXT 2> /dev/null -rm -f tmp-"$charsetf".TXT tmp-"$charsetf".INVERSE.TXT tmp-noprecomposed-"$charsetf".TXT tmp-orig-"$charsetf".INVERSE.TXT exit 0 # For a new encoding: # You can create the "$charsetf".TXT like this: ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#2 (text+ko) ==== @@ -110,7 +110,7 @@ SET_BINARY(fileno(stdout)); #endif - cd = iconv_open("UCS-4",charset); + cd = iconv_open("UCS-4-INTERNAL",charset); if (cd == (iconv_t)(-1)) { perror("iconv_open"); exit(1); ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#2 (text+ko) ==== @@ -25,8 +25,6 @@ #include "iconv.h" #include -//#include "binary-io.h" - #include "test.h" int main (int argc, char* argv[]) @@ -45,7 +43,7 @@ SET_BINARY(fileno(stdout)); #endif - cd = iconv_open(charset,"UCS-4"); + cd = iconv_open(charset,"UCS-4-INTERNAL"); if (cd == (iconv_t)(-1)) { perror("iconv_open"); exit(1); @@ -89,8 +87,8 @@ } else if (inbytesleft == 0 && i >= 0xe0000 && i < 0xe0080) { /* Language tags may silently be dropped. */ } else { - fprintf(stderr,"0x%02X: inbytes = %ld, outbytes = %ld\n",i,(long)(sizeof(unsigned int)-inbytesleft),(long)(sizeof(buf)-outbytesleft)); - exit(1); +// fprintf(stderr,"0x%02X: inbytes = %ld, outbytes = %ld\n",i,(long)(sizeof(unsigned int)-inbytesleft),(long)(sizeof(buf)-outbytesleft)); + exit(1); } } } ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#2 (text+ko) ==== @@ -17,7 +17,7 @@ Fifth Floor, Boston, MA 02110-1301, USA. */ #include -#include +#include "iconv.h" #include #include "test.h" ==== //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#2 (text+ko) ==== @@ -61,9 +61,16 @@ typedef struct { int preffered_endian; unsigned int cur_max; -#define _ENDIAN_UNKNOWN 0 -#define _ENDIAN_BIG 1 -#define _ENDIAN_LITTLE 2 +#define _ENDIAN_UNKNOWN 0 +#define _ENDIAN_BIG 1 +#define _ENDIAN_LITTLE 2 +#if BYTE_ORDER == BIG_ENDIAN +#define _ENDIAN_INTERNAL _ENDIAN_BIG +#define _ENDIAN_SWAPPED _ENDIAN_LITTLE +#else +#define _ENDIAN_INTERNAL _ENDIAN_LITTLE +#define _ENDIAN_SWAPPED _ENDIAN_BIG +#endif u_int32_t mode; #define _MODE_UTF32 0x00000001U #define _MODE_FORCE_ENDIAN 0x00000002U @@ -361,6 +368,14 @@ case 'l': MATCH(little, ei->preffered_endian = _ENDIAN_LITTLE); break; + case 'i': + case 'I': + MATCH(internal, ei->preffered_endian = _ENDIAN_INTERNAL); + break; + case 's': + case 'S': + MATCH(swapped, ei->preffered_endian = _ENDIAN_SWAPPED); + break; case 'F': case 'f': MATCH(force, ei->mode |= _MODE_FORCE_ENDIAN); ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#2 (text+ko) ==== @@ -1,48 +1,48 @@ # $NetBSD: Makefile,v 1.13 2007/03/13 16:34:37 tnozaki Exp $ -NOMAN= +FILESDIR= ${CSMAPPERDIR} -.include +SUBDIR= APPLE \ + AST \ + BIG5 \ + CNS \ + CP \ + EBCDIC \ + GB \ + GEORGIAN \ + ISO646 \ + ISO-8859 \ + JIS \ + KAZAKH \ + KOI \ + KS \ + MISC \ + TCVN -.SUFFIXES: .src .646 .mps - -BINDIR?= /usr/share/i18n/csmapper -SRCS_mapper.dir+= mapper.dir.src -SRCS_charset.pivot+= charset.pivot.src - -SUBDIR= APPLE AST BIG5 CNS CP EBCDIC GB GEORGIAN ISO646 ISO-8859 \ - JIS KAZAKH KOI KS MISC TCVN +mapper.dir: ${SUBDIR} + touch $@ .for i in ${SUBDIR} -.if exists(${.CURDIR}/$i/Makefile.inc) -.include "${.CURDIR}/$i/Makefile.inc" -.endif + cat ${i}/mapper.dir.${i} >> $@ .endfor - -# ---------------------------------------------------------------------- +mapper.dir.db: mapper.dir + ${MKCSMAPPER} -m -o $@ $> -mapper.dir: ${SRCS_mapper.dir} - ${_MKTARGET_CREATE} - cat $> > $@ -mapper.dir.db: mapper.dir - ${_MKTARGET_CREATE} - ${TOOL_MKCSMAPPER} -m -o $@ $> FILES+= mapper.dir mapper.dir.db CLEANFILES+= mapper.dir mapper.dir.db -charset.pivot: ${SRCS_charset.pivot} - ${_MKTARGET_CREATE} - cat $> > $@ +charset.pivot: ${SUBDIR} + touch $@ +.for i in ${SUBDIR} + cat ${i}/charset.pivot.${i} >> $@ +.endfor charset.pivot.pvdb: charset.pivot - ${_MKTARGET_CREATE} - ${TOOL_MKCSMAPPER} -p -o $@ $> + ${MKCSMAPPER} -p -o $@ $> + FILES+= charset.pivot charset.pivot.pvdb CLEANFILES+= charset.pivot charset.pivot.pvdb -.src.mps: - ${_MKTARGET_CREATE} - ${TOOL_MKCSMAPPER} -o $@ $> - all: ${FILES} realall: ${FILES} +.include "./Makefile.inc" .include ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#2 (text+ko) ==== @@ -1,7 +1,6 @@ # $NetBSD: Makefile,v 1.14 2007/04/01 18:52:30 tnozaki Exp $ -FILESDIR?= /usr/share/i18n/esdb -MKESDB?= ../../util/mkesdb/mkesdb +FILESDIR= ${ESDBDIR} SUBDIR= APPLE \ AST \ @@ -26,32 +25,26 @@ esdb.alias \ esdb.alias.db -CLEANFILES+= esdb.dir \ - esdb.dir.db \ - esdb.alias \ - esdb.alias.db +CLEANFILES= ${FILES} -.SUFFIXES: .src .esdb - -.src.esdb: - ${_MKTARGET_CREATE} - ${MKESDB} -o $@ $> - -esdb.dir: ${SRC_esdb.dir} - ${_MKTARGET_CREATE} - cat $> > $@ +esdb.dir: ${SUBDIR} + touch $@ +.for i in ${SUBDIR} + cat ${i}/esdb.dir.${i} >> $@ +.endfor esdb.dir.db: esdb.dir - ${_MKTARGET_CREATE} ${MKESDB} -m -o $@ $> -esdb.alias: ${SRC_esdb.alias} - ${_MKTARGET_CREATE} - cat $> > $@ +esdb.alias: ${SUBDIR} + touch $@ +.for i in ${SUBDIR} + cat ${i}/esdb.alias.${i} >> $@ +.endfor esdb.alias.db: esdb.alias - ${_MKTARGET_CREATE} ${MKESDB} -m -o $@ $> all: ${FILES} realall: ${FILES} +.include "./Makefile.inc" .include ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#2 (text+ko) ==== @@ -1,54 +1,82 @@ # $NetBSD: Makefile.part,v 1.6 2008/10/25 22:35:36 apb Exp $ -.for code in ${CODE} # XXX: immediately expand ${CODE} +PARTFILE?= ${CODE}.part +ALIASFILE?= ${CODE}.alias +.if !defined(NO_SEP) +SEP?= - +.endif +.if exists(${PARTFILE}) +PART!= sed '/^\#/d;/^ *$$/d' ${PARTFILE} +.endif +.if !defined(NO_EPREFIX) +CODESETS?= ${PART:C/^/${CODE}${SEP}/} +EPREFIX?= ${CODE}${SEP} +.else +CODESETS?= ${PART} +EPREFIX?= +.endif +ESUBDIR?= ${CODE} +ESDB?= ${CODESETS:C/$/.esdb/:S/:/@/} + +FILES+= ${ESDB} +FILESDIR= ${ESDBDIR}/${ESUBDIR} + +.SUFFIXES: .src .esdb -PARTFILE_${code}?= ${.CURDIR}/${code}/${code}.part -ALIASFILE_${code}?= ${.CURDIR}/${code}/${code}.alias -SEP_${code}?= - -SUBDIR_${code}?= ${code} -${code}_PART!= sed '/^\#/d;/^ *$$/d' ${PARTFILE_${code}} -CODESETS_${code}?= ${${code}_PART:C/^/${code}${SEP_${code}}/} -ESDB_${code}?= ${CODESETS_${code}:C/$/.esdb/:S/:/@/} +.src.esdb: + ${MKESDB} -o $@ $> -FILES+= ${ESDB_${code}} -CLEANFILES+= ${ESDB_${code}} -.for i in ${ESDB_${code}} -FILESDIR_$i?= ${BINDIR}/${SUBDIR_${code}} -.endfor +CLEANFILES+= ${ESDB} +CLEANFILES+= esdb.dir.${ESUBDIR} +CLEANFILES+= esdb.alias.${ESUBDIR} # ---------------------------------------------------------------------- # esdb.dir # -esdb.dir.${code}: ${PARTFILE_${code}} - ${_MKTARGET_CREATE} - echo "# ${code}" > $@ -.for i in ${${code}_PART} - printf "%-32s%s\n" "${code}${SEP_${code}}$i" \ - "${SUBDIR_${code}}/${code}${SEP_${code}}${i:S/:/@/}.esdb" >> $@ +esdb.dir.${ESUBDIR}: ${PARTFILE} + echo "# ${CODE}" > $@ +.for i in ${PART} + printf "%-32s%s\n" "${EPREFIX}$i" \ + "${ESUBDIR}/${EPREFIX}${i:S/:/@/}.esdb" >> $@ .endfor echo >> $@ -SRC_esdb.dir+= esdb.dir.${code} -CLEANFILES+= esdb.dir.${code} # ---------------------------------------------------------------------- # esdb.alias # -.for i in ${${code}_PART:S/:/@/} -${code}_$i_aliases!= echo \ +.for i in ${PART:S/:/@/} +${CODE}_$i_aliases!= echo \ `sed \ '/^\#/d;/^ *$$/d;/^${i:S/@/:/}[ ]/!d;s/^[^ ]*[ ]*//' \ - ${ALIASFILE_${code}}` + ${ALIASFILE}` .endfor -esdb.alias.${code}: ${PARTFILE_${code}} ${ALIASFILE_${code}} - ${_MKTARGET_CREATE} - echo "# ${code}" > $@ -.for i in ${${code}_PART:S/:/@/} -.for j in ${${code}_$i_aliases} - printf "%-32s%s\n" "$j" "${code}${SEP_${code}}${i:S/@/:/}" >> $@ +esdb.alias.${ESUBDIR}: ${PARTFILE} ${ALIASFILE} + echo "# ${CODE}" > $@ +.for i in ${PART:S/:/@/} +.for j in ${${CODE}_$i_aliases} + printf "%-32s%s\n" "$j" "${EPREFIX}${i:S/@/:/}" >> $@ .endfor .endfor echo >> $@ -SRC_esdb.alias+=esdb.alias.${code} -CLEANFILES+= esdb.alias.${code} + +all: realall +realall: esdb.dir.${ESUBDIR} esdb.alias.${ESUBDIR} codesets tmpclean +codesets: ${ESDB} + +.if !defined(NO_PREPROC) +.for i in ${PART} +.if !exists(${EPREFIX}${i:S/:/@/}.src) +TMPFILES+= ${EPREFIX}${i:S/:/@/}.src +${EPREFIX}${i:S/:/@/}.src: ${CODE}.src + sed ${SED_EXP:S@%%PART%%@${i}@} ${CODE}.src > ${EPREFIX}${i:S/:/@/}.src +.endif +.endfor +.endif + +tmpclean: +.for i in ${TMPFILES} + -/bin/rm ${i} >/dev/null 2>&1 +.endfor -.endfor # code +.include "./Makefile.inc" +.include ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#2 (text+ko) ==== @@ -4,7 +4,11 @@ 8 utf-8 utf8 16 utf-16 unicode 16LE utf-16le ucs-2le unicodelittle -16BE utf-16be ucs-2 ucs-2be unicodebig +16BE utf-16be iso-10646-ucs-2 ucs-2 ucs-2be unicodebig csunicode unicode-1-1 csunicode11 +16-INTERNAL ucs-2-internal +16-SWAPPED ucs-2-swapped 32 utf-32 32LE utf-32le ucs-4le -32BE utf-32be ucs-4 ucs-4-internal ucs-4be +32BE utf-32be ucs-4 ucs-4be +32-INTERNAL ucs-4-internal +32-SWAPPED ucs-4-swapped ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#2 (text+ko) ==== @@ -5,6 +5,10 @@ 16 16BE 16LE +16-INTERNAL +16-SWAPPED 32 32BE 32LE +32-INTERNAL +32-SWAPPED ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#2 (text+ko) ==== @@ -1,8 +1,10 @@ # $NetBSD: Makefile,v 1.1 2003/06/27 08:40:59 tshiozak Exp $ -BINDIR?= /usr/share/i18n/iconv +FILESDIR= /usr/share/i18n/iconv +FILES+= iconv.dir -FILES+= iconv.dir -FILESDIR= ${BINDIR} +.if !target(beforeinstall) + mkdir -p ${FILESDIR} +.endif .include From owner-p4-projects@FreeBSD.ORG Sun Jun 21 22:19:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E64031065670; Sun, 21 Jun 2009 22:19:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A27581065672 for ; Sun, 21 Jun 2009 22:19:06 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8EA208FC15 for ; Sun, 21 Jun 2009 22:19:06 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LMJ6uK085666 for ; Sun, 21 Jun 2009 22:19:06 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LMIuEU085648 for perforce@freebsd.org; Sun, 21 Jun 2009 22:18:56 GMT (envelope-from antab@FreeBSD.org) Date: Sun, 21 Jun 2009 22:18:56 GMT Message-Id: <200906212218.n5LMIuEU085648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 164835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jun 2009 22:19:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=164835 Change 164835 by antab@antab_farm on 2009/06/21 22:18:49 IFC @ 164784 Affected files ... .. //depot/projects/avr32/src/Makefile.inc1#6 integrate .. //depot/projects/avr32/src/ObsoleteFiles.inc#8 integrate .. //depot/projects/avr32/src/UPDATING#10 integrate .. //depot/projects/avr32/src/bin/df/df.1#2 integrate .. //depot/projects/avr32/src/bin/df/df.c#2 integrate .. //depot/projects/avr32/src/bin/sh/alias.c#3 integrate .. //depot/projects/avr32/src/bin/sh/eval.c#3 integrate .. //depot/projects/avr32/src/bin/sh/eval.h#2 integrate .. //depot/projects/avr32/src/bin/sh/exec.c#2 integrate .. //depot/projects/avr32/src/bin/sh/histedit.c#2 integrate .. //depot/projects/avr32/src/bin/sh/input.c#2 integrate .. //depot/projects/avr32/src/bin/sh/input.h#2 integrate .. //depot/projects/avr32/src/bin/sh/main.c#2 integrate .. //depot/projects/avr32/src/bin/sh/memalloc.c#2 integrate .. //depot/projects/avr32/src/bin/sh/memalloc.h#2 integrate .. //depot/projects/avr32/src/bin/sh/miscbltin.c#3 integrate .. //depot/projects/avr32/src/bin/sh/mkinit.c#2 integrate .. //depot/projects/avr32/src/bin/sh/mksyntax.c#2 integrate .. //depot/projects/avr32/src/bin/sh/output.c#2 integrate .. //depot/projects/avr32/src/bin/sh/parser.c#3 integrate .. //depot/projects/avr32/src/bin/sh/redir.c#2 integrate .. //depot/projects/avr32/src/bin/sh/sh.1#2 integrate .. //depot/projects/avr32/src/bin/sh/trap.c#2 integrate .. //depot/projects/avr32/src/bin/sh/trap.h#2 integrate .. //depot/projects/avr32/src/bin/sh/var.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/CHANGES#3 integrate .. //depot/projects/avr32/src/contrib/bind9/COPYRIGHT#2 integrate .. //depot/projects/avr32/src/contrib/bind9/FAQ#2 integrate .. //depot/projects/avr32/src/contrib/bind9/FAQ.xml#2 integrate .. //depot/projects/avr32/src/contrib/bind9/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/NSEC3-NOTES#1 branch .. //depot/projects/avr32/src/contrib/bind9/README#2 integrate .. //depot/projects/avr32/src/contrib/bind9/README.idnkit#2 integrate .. //depot/projects/avr32/src/contrib/bind9/README.pkcs11#1 branch .. //depot/projects/avr32/src/contrib/bind9/acconfig.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/check-tool.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/check-tool.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkconf.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkconf.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkconf.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkzone.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkzone.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkzone.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkzone.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/dig.1#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/dig.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/dig.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/dig.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/dighost.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/host.1#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/host.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/host.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/host.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/include/dig/dig.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/nslookup.1#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/nslookup.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/nslookup.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dig/nslookup.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keygen.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keygen.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-keygen.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssectool.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssectool.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/bind9.xsl#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/named/bind9.xsl.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/named/builtin.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/config.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/control.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/controlconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/convertxsl.pl#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/builtin.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/client.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/config.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/control.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/globals.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/interfacemgr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/listenlist.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/log.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/logconf.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/lwaddr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/lwdclient.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/lwresd.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/lwsearch.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/main.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/notify.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/ns_smf_globals.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/query.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/server.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/sortlist.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/statschannel.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/tkeyconf.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/tsigconf.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/types.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/update.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/xfrout.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/include/named/zoneconf.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/interfacemgr.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/listenlist.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/log.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/logconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwaddr.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwdclient.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwderror.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwdgabn.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwdgnba.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwdgrbn.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwdnoop.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwresd.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwresd.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwresd.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwresd.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/lwsearch.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/main.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.conf.5#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.conf.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.conf.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/named.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/notify.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/query.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/sortlist.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/statschannel.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/named/tkeyconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/tsigconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/unix/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/unix/include/named/os.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/unix/os.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/update.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/xfrout.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/named/zoneconf.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/nsupdate/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/nsupdate/nsupdate.1#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/nsupdate/nsupdate.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/nsupdate/nsupdate.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/nsupdate/nsupdate.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/include/rndc/os.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc-confgen.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc-confgen.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc-confgen.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc-confgen.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.8#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.conf#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.conf.5#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.conf.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.conf.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.docbook#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/rndc.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/unix/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/unix/os.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/util.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/rndc/util.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/config.guess#2 integrate .. //depot/projects/avr32/src/contrib/bind9/config.h.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/configure.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#1 branch .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#1 branch .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.nsupdate.html#1 branch .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/draft/update#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/misc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/misc/format-options.pl#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/misc/ipv6#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/misc/migration#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/misc/options#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/misc/sort-options.pl#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/index#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1032.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1033.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1034.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1035.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1101.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1122.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1123.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1183.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1348.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1535.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1536.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1537.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1591.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1611.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1612.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1706.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1712.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1750.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1876.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1886.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1982.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1995.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc1996.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2052.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2104.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2119.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2133.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2136.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2137.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2163.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2168.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2181.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2230.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2308.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2317.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2373.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2374.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2375.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2418.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2535.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2536.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2537.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2538.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2539.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2540.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2541.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2553.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2671.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2672.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2673.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2782.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2825.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2826.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2845.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2874.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2915.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2929.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2930.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc2931.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3007.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3008.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3071.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3090.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3110.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3123.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3152.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3197.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3225.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3226.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3258.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3363.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3364.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3425.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3445.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3467.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3490.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3491.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3492.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3493.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3513.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3596.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3597.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3645.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3655.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3658.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3757.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3833.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3845.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc3901.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4025.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4033.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4034.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4035.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4074.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4159.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4193.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4255.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4343.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4367.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4398.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4408.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4431.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4470.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4634.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4641.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4648.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc4701.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc5155.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/doc/rfc/rfc952.txt#2 delete .. //depot/projects/avr32/src/contrib/bind9/isc-config.sh.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/README#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/aclocal.m4#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/api#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/daemon.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/ftruncate.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/gettimeofday.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/mktemp.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/putenv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/readv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/setenv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/setitimer.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strcasecmp.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strdup.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strerror.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strpbrk.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strsep.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/strtoul.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/utimes.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/bsd/writev.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/config.h.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/configure.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/dst_api.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/dst_internal.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/hmac_link.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/md5.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/md5_dgst.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/md5_locl.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/dst/support.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/arpa/inet.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/arpa/nameser.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/arpa/nameser_compat.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/fd_setsize.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/hesiod.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/irp.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/irs.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/assertions.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/ctl.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/dst.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/eventlib.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/heap.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/irpmarshall.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/list.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/logging.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/memcluster.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/misc.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/platform.h.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/isc/tree.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/netdb.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/netgroup.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/res_update.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/resolv.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/include/resolv_mt.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_addr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_cidr_ntop.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_cidr_pton.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_data.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_lnaof.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_makeaddr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_net_ntop.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_net_pton.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_neta.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_netof.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_network.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_ntoa.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_ntop.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/inet_pton.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/inet/nsap_addr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_gr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_ho.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_nw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_pr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_pw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/dns_sv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gai_strerror.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_gr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_ho.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_ng.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_nw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_pr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_pw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gen_sv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getaddrinfo.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getgrent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getgrent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gethostent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/gethostent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getnameinfo.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getnetent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getnetent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getnetgrent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getnetgrent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getprotoent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getprotoent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getpwent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getpwent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getservent.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/getservent_r.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/hesiod.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/hesiod_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_gr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_ho.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_ng.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_nw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_pr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_pw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irp_sv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irpmarshall.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irs_data.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irs_data.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/irs_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_gr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_ho.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_ng.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_nw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_pr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_pw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/lcl_sv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_gr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_ho.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_ng.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_nw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_pr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_pw.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nis_sv.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/nul_ng.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/pathnames.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/irs/util.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/assertions.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/assertions.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/base64.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/bitncmp.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/bitncmp.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ctl_clnt.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ctl_p.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ctl_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ctl_srvr.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ev_connects.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ev_files.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ev_streams.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ev_timers.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/ev_waits.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/eventlib.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/eventlib.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/eventlib_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/heap.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/heap.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/hex.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/logging.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/logging.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/logging_p.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/memcluster.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/memcluster.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/movefile.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/tree.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/isc/tree.mdoc#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/make/includes.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/make/mkdep.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/make/rules.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/mkinstalldirs#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_date.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_name.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_netint.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_parse.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_print.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_samedomain.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_sign.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_ttl.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/nameser/ns_verify.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port/freebsd/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port/freebsd/include/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port/freebsd/include/sys/bitypes.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port_after.h.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/port_before.h.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/Makefile.in#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/herror.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/mtctxres.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_comp.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_data.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_debug.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_debug.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_findzonecut.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_init.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_mkquery.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_mkupdate.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_mkupdate.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_private.h#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_query.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_send.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_sendsigned.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind/resolv/res_update.c#2 delete .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/api#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/check.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/getaddresses.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/include/bind9/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/include/bind9/check.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/include/bind9/getaddresses.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/include/bind9/version.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/version.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/acache.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/acl.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/adb.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/api#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/byaddr.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/cache.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/callbacks.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/compress.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/db.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dbiterator.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dbtable.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/diff.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dlz.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dnssec.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/ds.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_api.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_internal.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_lib.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_openssl.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_parse.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_parse.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dst_result.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/forward.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/gen-unix.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/gen.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/gssapi_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/gssapictx.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/hmac_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/acache.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/acl.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/adb.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/bit.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/byaddr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/cache.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/callbacks.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/cert.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/compress.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/db.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dbiterator.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dbtable.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/diff.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dlz.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dnssec.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/ds.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/events.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/fixedname.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/forward.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/iptable.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/journal.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/keyflags.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/keytable.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/keyvalues.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/lib.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/log.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/lookup.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/master.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/masterdump.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/message.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/name.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/ncache.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/nsec.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/nsec3.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/opcode.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/order.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/peer.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/portlist.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rbt.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rcode.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdata.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdataclass.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdatalist.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdataset.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdatasetiter.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdataslab.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rdatatype.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/request.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/resolver.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/result.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/rootns.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/sdb.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/sdlz.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/secalg.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/secproto.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/soa.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/ssu.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/stats.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/tcpmsg.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/time.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/timer.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/tkey.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/tsig.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/ttl.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/types.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/validator.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/version.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/view.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/xfrin.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/zone.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/zonekey.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/zt.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dst/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dst/dst.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dst/gssapi.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dst/lib.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dst/result.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/iptable.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/journal.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/key.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/keytable.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/lib.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/log.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/lookup.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/master.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/masterdump.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/message.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/name.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/ncache.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/nsec.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/nsec3.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/openssl_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/openssldh_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/openssldsa_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/opensslrsa_link.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/order.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/peer.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/portlist.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rbt.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rbtdb.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rbtdb.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rbtdb64.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rbtdb64.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rcode.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/ch_3/a_1.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/ch_3/a_1.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/cert_37.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/cert_37.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/cname_5.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/cname_5.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dname_39.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dname_39.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ds_43.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ds_43.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/gpos_27.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/gpos_27.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/isdn_20.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/isdn_20.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/key_25.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/key_25.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/loc_29.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/loc_29.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mb_7.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mb_7.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/md_3.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/md_3.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mf_4.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mf_4.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mg_8.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mg_8.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/minfo_14.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/minfo_14.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mr_9.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mr_9.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mx_15.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/mx_15.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ns_2.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ns_2.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec_47.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nsec_47.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/null_10.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/null_10.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nxt_30.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/nxt_30.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/opt_41.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/opt_41.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/proforma.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/proforma.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ptr_12.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/ptr_12.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rp_17.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rp_17.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rt_21.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/rt_21.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/sig_24.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/sig_24.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/soa_6.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/soa_6.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/spf_99.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/spf_99.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/tkey_249.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/tkey_249.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/txt_16.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/txt_16.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/unspec_103.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/unspec_103.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/x25_19.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/generic/x25_19.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/hs_4/a_1.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/hs_4/a_1.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/a6_38.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/a6_38.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/a_1.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/a_1.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/apl_42.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/apl_42.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/kx_36.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/kx_36.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/px_26.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/px_26.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/srv_33.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/srv_33.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/wks_11.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/in_1/wks_11.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/rdatastructpre.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdata/rdatastructsuf.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdatalist.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdatalist_p.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdataset.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdatasetiter.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rdataslab.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/request.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/resolver.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/result.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/rootns.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/sdb.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/sdlz.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/soa.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/spnego.asn1#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/spnego.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/spnego.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/spnego_asn1.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/spnego_asn1.pl#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/dns/ssu.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/stats.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/tcpmsg.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/time.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/timer.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/tkey.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/tsig.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/ttl.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/validator.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/version.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/view.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/xfrin.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/zone.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/zonekey.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/zt.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/alpha/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/alpha/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/alpha/include/isc/atomic.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/api#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/assertions.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/base32.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/base64.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/bitstring.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/buffer.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/bufferlist.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/commandline.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/entropy.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/error.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/event.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/fsaccess.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/hash.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/heap.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/hex.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/hmacmd5.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/hmacsha.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/httpd.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/ia64/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/ia64/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/app.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/assertions.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/base32.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/base64.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/bitstring.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/boolean.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/buffer.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/bufferlist.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/commandline.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/entropy.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/error.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/event.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/eventclass.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/file.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/formatcheck.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/fsaccess.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/hash.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/heap.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/hex.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/hmacmd5.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/hmacsha.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/httpd.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/interfaceiter.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/ipv6.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/iterated_hash.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/lang.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/lex.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/lfsr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/lib.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/list.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/log.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/magic.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/md5.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/mem.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/msgcat.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/msgs.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/mutexblock.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/netaddr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/netscope.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/ondestroy.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/os.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/parseint.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/platform.h.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/portset.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/print.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/quota.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/radix.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/random.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/ratelimiter.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/refcount.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/region.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/resource.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/result.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/resultclass.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/rwlock.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/serial.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/sha1.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/sha2.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/sockaddr.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/socket.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/stats.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/stdio.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/stdlib.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/string.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/symtab.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/task.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/taskpool.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/timer.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/types.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/util.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/version.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/include/isc/xml.h#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/inet_aton.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/inet_ntop.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/inet_pton.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/iterated_hash.c#1 branch .. //depot/projects/avr32/src/contrib/bind9/lib/isc/lex.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/lfsr.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/lib.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/log.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/md5.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mem.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mips/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mips/include/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mips/include/isc/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mips/include/isc/atomic.h#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/mutexblock.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/netaddr.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/netscope.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/nls/Makefile.in#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/nls/msgcat.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/noatomic/Makefile.in#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 22 04:19:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 43DC01065675; Mon, 22 Jun 2009 04:19:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFA1F1065672 for ; Mon, 22 Jun 2009 04:19:42 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DC0FC8FC0A for ; Mon, 22 Jun 2009 04:19:42 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5M4JgJu028401 for ; Mon, 22 Jun 2009 04:19:42 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5M4Jg4N028399 for perforce@freebsd.org; Mon, 22 Jun 2009 04:19:42 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 22 Jun 2009 04:19:42 GMT Message-Id: <200906220419.n5M4Jg4N028399@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 04:19:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=164836 Change 164836 by dforsyth@squirrel on 2009/06/22 04:18:50 Added a few fields to pkg_plist. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#23 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#22 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#15 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#12 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#16 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#23 (text+ko) ==== @@ -237,6 +237,44 @@ return (pkg_plist_mtree_file(&p->plist)); } +/* Other properties. */ + +int +pkg_extract_in_place(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (PKG_PARSE_NOT_OK); + + return (pkg_plist_extract_in_place(&p->plist)); +} + +int +pkg_preserve(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (PKG_PARSE_NOT_OK); + + return (pkg_plist_preserve(&p->plist)); +} + +int +pkg_complete(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (PKG_PARSE_NOT_OK); + + return (pkg_plist_complete(&p->plist)); +} + /* These need to be renamed. */ void ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#22 (text+ko) ==== @@ -67,6 +67,8 @@ const char *pkg_file_group(struct pkg_file *pf); +const char *pkg_file_mode(struct pkg_file *pf); + int pkg_file_set_path(struct pkg_file *pf, const char *path); int pkg_file_set_md5(struct pkg_file *pf, const char *md5); @@ -75,6 +77,8 @@ int pkg_file_set_group(struct pkg_file *pf, const char *group); +int pkg_file_set_mode(struct pkg_file *pf, const char *mode); + /* pkg_dep */ struct pkg_dep; @@ -115,6 +119,12 @@ char *pkg_mtree_file(struct pkg *p); +int pkg_extract_in_place(struct pkg *p); + +int pkg_preserve(struct pkg *p); + +int pkg_complete(struct pkg *p); + int pkg_set_ident(struct pkg *p, const char *ident); int pkg_set_name(struct pkg *p, const char *name); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#5 (text+ko) ==== @@ -4,6 +4,9 @@ #include "pkg_file.h" #include "pkg.h" +/* TODO: Evolve these functions to check for the actual existance of + * users, groups, mode validity. Add md5 comparison functions, etc... */ + struct pkg_file * pkg_file_new() { @@ -32,6 +35,15 @@ return (pf->md5); } +const char * +pkg_file_mode(struct pkg_file *pf) +{ + if (pf == NULL) + return (NULL); + + return (pf->mode); +} + /* If NULL is returned from pkg_file_owner or pkg_file_group, assume the * default owner and group. */ @@ -92,3 +104,13 @@ pf->group = group; return (OK); } + +int +pkg_file_set_mode(struct pkg_file *pf, const char *mode) +{ + if (pf == NULL) + return (NOT_OK); + + pf->mode = mode; + return (OK); +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#4 (text+ko) ==== @@ -10,6 +10,7 @@ const char *md5; const char *owner; const char *group; + const char *mode; TAILQ_ENTRY(pkg_file) next; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#15 (text+ko) ==== @@ -16,10 +16,13 @@ #include "pkgdb.h" #include "pkg.h" +/* TODO: Create plist setter functions for building packages. */ + struct parse_state { enum plist_elem last_elem; char *owner; char *group; + char *mode; }; void @@ -31,6 +34,7 @@ st->last_elem = PLIST_UNKNOWN; st->owner = NULL; st->group = NULL; + st->mode = NULL; } struct pkg_plist * @@ -71,6 +75,10 @@ /* TODO: Write this. */ + pl->extract_in_place = 0; + pl->preserve = 0; + pl->complete = 0; + pl->parsed = 0; } @@ -101,6 +109,8 @@ if (pl == NULL) return (NOT_OK); + + pkg_plist_reset(pl); /* Not sure if this is how I still want to do this, but for now, hold * a copy of the text. */ @@ -109,8 +119,10 @@ return (MEMORY_ERR); pl->text = textp; - - /* XXX: Use fgets(), dummy. */ + + /* TODO: Use fgets(), and have the different lists have their own copy + * of information so that packages can be freely manipulated without + * worrying about ruining other instances of a package. */ pkg_plist_pkg_file_list_init(pl); pkg_plist_pkg_dep_list_init(pl); set_parse_state_default(&st); @@ -128,7 +140,7 @@ /* Consider a dirty flag for these lists? */ #if 0 - if (s != 0) { + if (s != PARSE_OK) { /* bad parse. */ /* free a bunch of stuff. */ return (NOT_OK); @@ -183,13 +195,24 @@ ent = pl_entry_new(PLIST_EXEC, argument, NULL); else if (strcmp(command, PLIST_CMD_UNEXEC) == 0) ent = pl_entry_new(PLIST_UNEXEC, argument, NULL); - else if (strcmp(command, PLIST_CMD_MODE) == 0) - ent = pl_entry_new(PLIST_MODE, argument, NULL); - else if (strcmp(command, PLIST_CMD_OPTION) == 0) - ent = pl_entry_new(PLIST_OPTION, argument, NULL); #endif - else if (strcmp(command, PLIST_CMD_OWNER) == 0) { - if (line_len == strlen(PLIST_CMD_OWNER) + 1) + else if (strcmp(command, PLIST_CMD_OPTION) == 0) { + if (strcmp(argument, PLIST_OPTION_EXTRACT_IN_PLACE) == 0) { + pl->extract_in_place = 1; + } else if (strcmp(argument, PLIST_OPTION_PRESERVE) == 0) { + pl->preserve = 1; + } else if (strcmp(argument, PLIST_OPTION_COMPLETE) == 0) { + pl->complete = 1; + } else + return (PARSE_FAIL); /* Strict. */ + st->last_elem = PLIST_OPTION; + } else if (strcmp(command, PLIST_CMD_MODE) == 0) { + if (line_len == strlen(PLIST_CMD_MODE) + 1) + st->mode = NULL; + else + st->mode = argument; + } else if (strcmp(command, PLIST_CMD_OWNER) == 0) { + if (line_len == strlen(PLIST_CMD_OWNER) + 1) /* Empty owner line, reset to NULL. */ st->owner = NULL; else @@ -208,8 +231,6 @@ /* Lots more stuff needs to go in here... what a terrible file * format... */ - /* mmm... should probably pull this out into a different - * function. */ if (line_len == strlen(PLIST_CMD_COMMENT) + 1) { /* Empty comment. */ } @@ -230,6 +251,8 @@ } else if (strcmp(argument, PLIST_COMMENT_ORIGIN) == 0) { pl->origin = sep + 1; } else if (strcmp(argument, PLIST_COMMENT_DEPORIGIN) == 0) { + /* NOTE: I'm going to have to adjust the parse so it can + * deal with package versioning in dependencies. */ if (st->last_elem != PLIST_PKGDEP) return (PARSE_FAIL); /* add the the dependency list. */ @@ -294,6 +317,7 @@ pkg_file_set_md5(pf, NULL); pkg_file_set_owner(pf, st->owner); pkg_file_set_group(pf, st->group); + pkg_file_set_mode(pf, st->mode); pkg_plist_pkg_file_list_append(pl, pf); st->last_elem = PLIST_FILE; } @@ -301,6 +325,8 @@ return (s); } +/* pkg_file list manipulation and access. */ + char * pkg_plist_name(struct pkg_plist *pl) { @@ -337,7 +363,32 @@ return (pl->mtree_file); } -/* pkg_file list manipulation and access. */ +int +pkg_plist_extract_in_place(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (pl->extract_in_place); +} + +int +pkg_plist_preserve(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (pl->preserve); +} + +int +pkg_plist_complete(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (pl->complete); +} /* I should really just write a set of generic routine to handle this * whole mess. */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#12 (text+ko) ==== @@ -56,6 +56,13 @@ #define PLIST_COMMENT_DEPORIGIN "DEPORIGIN" #define PLIST_COMMENT_MD5 "MD5" +/* Options */ + +#define PLIST_OPTION_EXTRACT_IN_PLACE "extract-in-place" +#define PLIST_OPTION_PRESERVE "preserve" +/* For dependency inclusive packages. */ +#define PLIST_OPTION_COMPLETE "complete" + struct parse_state; struct pkg_plist { @@ -66,7 +73,10 @@ char *origin; char *display; char *mtree_file; - + short extract_in_place; + short preserve; + short complete; + char *text; /* The entire plist */ struct pkg_file *pf_curr; @@ -103,6 +113,10 @@ char *pkg_plist_origin(struct pkg_plist *pl); char *pkg_plist_mtree_file(struct pkg_plist *pl); +int pkg_plist_extract_in_place(struct pkg_plist *pl); +int pkg_plist_preserve(struct pkg_plist *pl); +int pkg_plist_complete(struct pkg_plist *pl); + void pkg_plist_pkg_file_list_init(struct pkg_plist *pl); struct pkg_file *pkg_plist_pkg_file_list_first(struct pkg_plist *pl); struct pkg_file *pkg_plist_pkg_file_list_last(struct pkg_plist *pl); @@ -124,4 +138,5 @@ void pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl); struct pkg_dep *pkg_plist_pkg_dep_list_next(struct pkg_plist *pl); struct pkg_dep *pkg_plist_pkg_dep_list_first(struct pkg_plist *pl); + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#16 (text+ko) ==== @@ -14,13 +14,11 @@ /* TODO: Write common error handling functions for pkg_tools. */ -#if 0 -static char opts[] = "a"; +static char opts[] = "abcdDe:EfgGhiIjkKl:LmoO:pPqQrRst:vVW:xX"; static struct option lopts[] = { - {"all", no_argument, NULL, 'a'}, - {NULL, 0, NULL, 0}, // <-- something that pkg_add in 7.2 forgot... + { "all", no_argument, NULL, 'a'}, + {NULL, 0, NULL, 0}, }; -#endif /* Mock pkg_info for testing, */ @@ -73,15 +71,17 @@ void parse_opts(int argc, char **argv) { - /* pointlessly set this. */ - opt_all = 1; - char **a; + int a; - if (argc == 1) + if (argc == 1) { + opt_all = 1; + opt_show_comment = 1; return; - - a = argv; /* give argv something to do. */ - opt_show_all_info = 1; + } + while ((a = getopt_long(argc, argv, opts, lopts, NULL)) != -1) { + /* ... */ + opt_show_all_info = 1; + } } void @@ -130,6 +130,7 @@ const char *md5; const char *owner; const char *group; + const char *mode; /* Just print the basic PKGNAME COMMENT scheme right now. Other * information isn't collected by the library yet. */ @@ -155,6 +156,12 @@ (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); printf("\tmtree file: %s\n", (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); + printf("\textract in place: %s\n", + (pkg_extract_in_place(p) ? "YES" : "NO")); + printf("\tpreserve: %s\n", + (pkg_preserve(p) ? "YES" : "NO")); + printf("\tcomplete: %s\n", + (pkg_complete(p) ? "YES" : "NO")); printf("\tfiles:\n"); pkg_ent_list_init(pkg_file, p); while ((pf = pkg_ent_list_next(pkg_file, p)) != NULL) { @@ -162,6 +169,7 @@ md5 = pkg_file_md5(pf); owner = pkg_file_owner(pf); group = pkg_file_group(pf); + mode = pkg_file_mode(pf); printf("\t\t%s\n", (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); printf("\t\t\tMD5: %s\n", @@ -170,6 +178,8 @@ (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); printf("\t\t\tGROUP: %s\n", (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); + printf("\t\t\tMODE: %s\n", + (mode != NULL ? mode : BAD_OR_UNKNOWN_VALUE)); } printf("\tdepends:\n"); From owner-p4-projects@FreeBSD.ORG Mon Jun 22 09:48:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E9551065678; Mon, 22 Jun 2009 09:48:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A4B21065673 for ; Mon, 22 Jun 2009 09:48:49 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0785E8FC0A for ; Mon, 22 Jun 2009 09:48:49 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5M9mmLa078719 for ; Mon, 22 Jun 2009 09:48:48 GMT (envelope-from marinosi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5M9mmvg078717 for perforce@freebsd.org; Mon, 22 Jun 2009 09:48:48 GMT (envelope-from marinosi@FreeBSD.org) Date: Mon, 22 Jun 2009 09:48:48 GMT Message-Id: <200906220948.n5M9mmvg078717@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marinosi@FreeBSD.org using -f From: Ilias Marinos To: Perforce Change Reviews Cc: Subject: PERFORCE change 164840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 09:48:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164840 Change 164840 by marinosi@marinosi_redrum on 2009/06/22 09:48:39 Special device node management added along with slice management (creation/initialization/removal etc). Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/conf/files#2 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#6 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#2 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#4 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/conf/files#2 (text+ko) ==== @@ -2537,6 +2537,7 @@ security/audit/audit_syscalls.c standard security/audit/audit_trigger.c optional audit security/audit/audit_worker.c optional audit +security/audit/audit_slice.c optional audit security/mac/mac_atalk.c optional mac netatalk security/mac/mac_audit.c optional mac audit security/mac/mac_cred.c optional mac ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#6 (text) ==== @@ -89,6 +89,9 @@ */ struct audit_slice *audit_base_slice = NULL; +/* Audit slice ptr -helper */ +struct audit_slice *as_ptr = NULL; + /* Audit slices queue */ struct audit_slice_queue audit_slice_q; @@ -631,18 +634,22 @@ audit_slice_create(char *name) { struct audit_slice *as = NULL; - int ret; + int err; - ret = 0; + err = 0; as = malloc(sizeof(*as), M_AUDITSLICE, M_WAITOK | M_ZERO); if ( as == NULL ) - ret = 1; /* Failed to allocate slice */ + err = 1; /* Failed to allocate slice */ + as_ptr = as; TAILQ_INSERT_TAIL(&audit_slice_q, as, as_q); /* Initialize the base slice */ audit_slice_init(as, name); + /* Create the special device node */ + audit_slice_cdev_init(as); + /* Start audit worker thread. */ audit_worker_init(as); } @@ -675,6 +682,8 @@ as->audit_nae_mask.am_success = 0; as->audit_nae_mask.am_failure = 0; + as->as_dev = NULL; + TAILQ_INIT(&(as->audit_q)); as->audit_q_len = 0; as->audit_pre_q_len = 0; @@ -706,6 +715,7 @@ { if (as != NULL) { TAILQ_REMOVE(&audit_slice_q, as, as_q); + destroy_dev(as->as_dev); free(as, M_AUDITSLICE); } } ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#2 (text+ko) ==== @@ -47,9 +47,11 @@ #include -#include +#include + + + -#define AUDIT_SLICE_DEV_MINOR 0 #define AUDIT_SLICE_DEV_NAME "something" @@ -78,14 +80,11 @@ .d_name = "AUDIT_SLICE_DEV_NAME", /* to be changed */ }; -/* For use with make_dev(9)/destroy_dev(9). - */ -static struct cdev *audit_slice_dev; - /* * Special device methods. */ + /* * Audit slice's device open method. Explicit privilege check isn't used as * this allows file permissions on the special device to be used to grant @@ -93,10 +92,19 @@ */ static int audit_slice_dev_open(struct cdev *dev, int oflags, int devtype, - struct thread *td, struct audit_slice *as) + struct thread *td) { + struct audit_slice *as; int error; + /* + * XXX: Using as_ptr to pass the audit_slice that "owns" the device. + * Refine the implementation and check for better ways to achieve + * that. + */ + as = as_ptr; + dev->si_drv1 = as; + /* Only one process may open the device at a time. */ mtx_lock(&(as->as_dev_mtx)); if (!as->as_dev_isopen) { @@ -114,9 +122,11 @@ */ static int audit_slice_dev_close(struct cdev *dev, int fflag, int devtype, - struct thread *td, struct audit_slice *as) + struct thread *td) +{ + struct audit_slice *as; -{ + as = dev->si_drv1; mtx_lock(&(as->as_dev_mtx)); as->as_dev_isopen = 1; /* Do something here */ @@ -145,7 +155,6 @@ { /* Actual work here */ - int c, error = 0; void *audit_slice_dev_buf; @@ -157,7 +166,7 @@ error = uiomove(audit_slice_dev_buf, c, uio); if (error) break; - (*random_systat.write)(random_buf, c); + //(*random_systat.write)(random_buf, c); } free(audit_slice_dev_buf, M_TEMP); @@ -168,32 +177,36 @@ /* * Ioctl method */ -audit_slice_dev_ioctl(struct cdev *dev, int events, struct thread *td) +static int +audit_slice_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, + struct thread *td) { - /* Do we need ioctl ? */ + return (0); } /* - * poll method.(if needed) + * Poll method.(if needed) */ static int audit_slice_dev_poll(struct cdev *dev, int events, struct thread *td) { - + return (0); } /* Init the character device */ -static void +void audit_slice_cdev_init(struct audit_slice *as) { /* Create the special device file. */ - audit_dev = make_dev(&audit_cdevsw, 0, as->uid, as->gid, as->perms, - as->as_dev_name); + as->as_dev = make_dev(&audit_slice_cdevsw, as->unit, as->uid, as->gid, + as->perms, "%s", as->as_dev_name); } -/* Need to find a way to call the following with a new struct as arg every - * time */ -SYSINIT(audit_slice_cdev_init, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, - audit_slice_cdev_init, NULL); +/* + * Need to find a way to call the following with a new struct as arg every + * time + */ +//SYSINIT(audit_slice_cdev_init, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, +// audit_slice_cdev_init, NULL); ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#4 (text+ko) ==== @@ -35,6 +35,7 @@ #define AUDIT_SLICE_NAME_LEN 20 #define AUDIT_DEV_NAME_LEN 20 + struct kaudit_record; /* @@ -146,13 +147,16 @@ * Applications need their slice device to submit their audit records. * Device specific variables here. */ + struct cdev *as_dev; char as_dev_name[AUDIT_DEV_NAME_LEN]; - int as_dev_isopen; - struct mtx as_dev_mtx; + int unit; uid_t uid; gid_t gid; int perms; + struct mtx as_dev_mtx; + int as_dev_isopen; + /* * Keep the several audit slices in a list */ @@ -165,6 +169,9 @@ /* Static allocation of the base slice */ extern struct audit_slice *audit_base_slice; +/* Audit slice ptr - helper */ +extern struct audit_slice *as_ptr; + /* Audit slices queue */ extern struct audit_slice_queue audit_slice_q; @@ -178,3 +185,4 @@ void audit_slice_init(struct audit_slice *as, char *name); void audit_slice_create(char *name); void audit_slice_destroy(struct audit_slice *as); +void audit_slice_cdev_init(struct audit_slice *as); From owner-p4-projects@FreeBSD.ORG Mon Jun 22 09:54:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28C2B1065677; Mon, 22 Jun 2009 09:54:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAC711065675 for ; Mon, 22 Jun 2009 09:54:55 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C7D158FC17 for ; Mon, 22 Jun 2009 09:54:55 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5M9stbg079131 for ; Mon, 22 Jun 2009 09:54:55 GMT (envelope-from tsel@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5M9stcs079129 for perforce@freebsd.org; Mon, 22 Jun 2009 09:54:55 GMT (envelope-from tsel@FreeBSD.org) Date: Mon, 22 Jun 2009 09:54:55 GMT Message-Id: <200906220954.n5M9stcs079129@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tsel@FreeBSD.org using -f From: Tatsiana Elavaya To: Perforce Change Reviews Cc: Subject: PERFORCE change 164841 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 09:54:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=164841 Change 164841 by tsel@tsel_mz on 2009/06/22 09:54:28 Work in progress on switching to per rule optimization instruction Introduce mergesort for linked lists algorithm Sort instructions before adding to rule, use listsort to sort groups Fix buffer release bug (noted by Fabio Checconi) Do not store alias as first action command, it's supposed to be log action Affected files ... .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#7 edit .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/listsort.h#1 add .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#4 edit Differences ... ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#7 (text+ko) ==== @@ -53,6 +53,8 @@ #include #include +#include "listsort.h" + struct cmdline_opts co; /* global options */ int resvd_set_number = RESVD_SET; @@ -2034,8 +2036,11 @@ #undef NEXT } +LIST_HEAD(insn_match_rule_head, insn_match); +LIST_HEAD(insn_match_group_head, insn_match_group); + struct insn_match_rule { - LIST_HEAD(_match_rule, insn_match) rule_head; + struct insn_match_rule_head rule_head; struct ip_fw *rule; }; @@ -2055,11 +2060,15 @@ int label; }; -LIST_HEAD(insn_match_group_head, insn_match_group); +static LIST_MERGESORT_GENERATE(insn_match_group_sort, insn_match_group_head, insn_match_group, group_entries); + +static LIST_MERGESORT_GENERATE(insn_match_rule_cmd_sort, insn_match_rule_head, insn_match, rule_entries); int insn_eq(ipfw_insn *a, ipfw_insn *b) { + if ((a->len | b->len) & (F_NOT | F_OR)) + return 0; if (F_LEN(a) != F_LEN(b) || a->arg1 != b->arg1 || a->opcode != b->opcode) return 0; switch (a->opcode) { @@ -2130,7 +2139,7 @@ int insn_match_insert(struct insn_match_group_head *group_head, ipfw_insn *cmd, - struct insn_match_rule *rule, int *group_count) + struct insn_match_rule *rule) { struct insn_match_group *g; struct insn_match *m, *new_m; @@ -2154,7 +2163,6 @@ new_m->group = g; LIST_INSERT_HEAD(&g->match_head, new_m, match_entries); LIST_INSERT_HEAD(group_head, g, group_entries); - (*group_count)++; return 0; } @@ -2168,13 +2176,10 @@ free(m); } -int -insn_match_group_cmp(const void *_a, const void *_b) +static int +insn_match_group_cmp(struct insn_match_group *_a, struct insn_match_group *_b) { - struct insn_match_group *a[2] = { - *((struct insn_match_group **) _a), - *((struct insn_match_group **) _b), - }; + struct insn_match_group *a[2] = { _a, _b }; int i; if (a[0] == NULL) @@ -2206,6 +2211,42 @@ } +static int +insn_match_rule_cmd_cmp(struct insn_match *a, struct insn_match *b) +{ + return b->group->rank - a->group->rank; +} + +static int +optimization_filter_groups(struct insn_match_group_head *head) +{ + struct insn_match_group *g, *g_tmp; + int labels_max, group_count; + + group_count = sizeof(labels_max); + if (sysctlbyname("net.inet.ip.fw.optimization_buf_max", + &labels_max, &group_count, NULL, 0) == -1) { + errx(EX_DATAERR, "optimization not supported"); + } + labels_max *= 8; + + group_count = 0; + LIST_FOREACH_SAFE(g, head, group_entries, g_tmp) { + if (group_count >= labels_max || !g->rank) { + while (!LIST_EMPTY(&g->match_head)) { + insn_match_remove(LIST_FIRST(&g->match_head)); + } + LIST_REMOVE(g, group_entries); + continue; + } + g->label = group_count++; + printf("sorted: %d; opcode %d; match_count %d; rank %d\n", + g->label, LIST_FIRST(&g->match_head)->cmd->opcode, + g->match_count, g->rank); + } + return group_count; +} + static void optimization_setup(int enable, int labels) { @@ -2221,33 +2262,33 @@ NULL, 0, &enable, sizeof(enable)) == -1) { errx(EX_DATAERR, "optimization not supported"); } - } void ipfw_optimize(int argc, char **argv) { - struct insn_match_group_head groups[O_LAST_OPCODE]; - struct insn_match_group **groups_sort; + struct insn_match_group_head groups_opcode[O_LAST_OPCODE]; + struct insn_match_group_head groups; struct insn_match_rule *match_rules; struct ip_fw **rules; struct ip_fw *orule; - int c, i, group_count, rules_count, labels_max; + int i, group_count, rules_count; if (co.test_only) { fprintf(stderr, "Testing only, optimization disabled\n"); return; } + LIST_INIT(&groups); for (i = 0; i < O_LAST_OPCODE; i++) { - LIST_INIT(&groups[i]); + LIST_INIT(&groups_opcode[i]); } rules = get_rules_cached(&rules_count); match_rules = safe_calloc(rules_count, sizeof(struct insn_match_rule)); - for (i = 0, group_count = 0; i < rules_count; i++) { + for (i = 0; i < rules_count; i++) { ipfw_insn *cmd; int l; @@ -2267,52 +2308,98 @@ rules[i]->act_ofs -= F_LEN(cmd); memcpy(cmd, cmd + F_LEN(cmd), l * 4); } else { - insn_match_insert(&groups[cmd->opcode], cmd, &match_rules[i], &group_count); + insn_match_insert(&groups_opcode[cmd->opcode], cmd, &match_rules[i]); cmd += F_LEN(cmd); } } } - groups_sort = (struct insn_match_group**) safe_calloc(group_count, sizeof(void*)); - for (i = 0, c = 0; i < O_LAST_OPCODE; i++) { - struct insn_match_group *g; + for (i = 0; i < O_LAST_OPCODE; i++) { + while(!LIST_EMPTY(&groups_opcode[i])) { + struct insn_match_group *g = LIST_FIRST(&groups_opcode[i]); - LIST_FOREACH(g, &groups[i], group_entries) { - groups_sort[c++] = g; + LIST_REMOVE(g, group_entries); + LIST_INSERT_HEAD(&groups, g, group_entries); } } - i = sizeof(labels_max); - if (sysctlbyname("net.inet.ip.fw.optimization_buf_max", - &labels_max, &i, NULL, 0) == -1) { - errx(EX_DATAERR, "optimization not supported"); - } - labels_max *= 8; + insn_match_group_sort(&groups, insn_match_group_cmp); + + group_count = optimization_filter_groups(&groups); + + optimization_setup(0, 0); + + orule = (struct ip_fw*)safe_calloc(1, sizeof(struct ip_fw) + 255*4); + for (i = 0; rules[i]; i++) { + ipfw_insn *cmd, *rcmd; + struct insn_match *m; + ipfw_insn_u32 *optimize_cmd; + int l; + + if (LIST_EMPTY(&match_rules[i].rule_head)) + continue; + + printf("rule %d; before sort: ", rules[i]->rulenum); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); + } + printf("\n"); + insn_match_rule_cmd_sort(&match_rules[i].rule_head, insn_match_rule_cmd_cmp); + printf("rule %d; after sort: ", rules[i]->rulenum); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); + } + printf("\n"); + + memcpy(orule, rules[i], sizeof(struct ip_fw) - 4); + cmd = orule->cmd; + rcmd = rules[i]->cmd; + l = rules[i]->cmd_len; - qsort(groups_sort, group_count, sizeof(void*), insn_match_group_cmp); - for (i = 0; i < group_count && i < labels_max && groups_sort[i]->rank; i++) { - struct insn_match *m = LIST_FIRST(&groups_sort[i]->match_head); - groups_sort[i]->label = i; - printf("sorted: %d; opcode %d; match_count %d; rank %d\n", - groups_sort[i]->label, - m->cmd->opcode, groups_sort[i]->match_count, groups_sort[i]->rank); - } - c = i; - for (; i < group_count; i++) { - while (!LIST_EMPTY(&groups_sort[i]->match_head)) { - insn_match_remove(LIST_FIRST(&groups_sort[i]->match_head)); + while ((rcmd->opcode == O_PROB || rcmd->opcode == O_PROBE_STATE) && l > 0) { + memcpy(cmd, rcmd, F_LEN(rcmd) * 4); + cmd += F_LEN(rcmd); + l -= F_LEN(rcmd); } - } - group_count = c; + + // FIXME + optimize_cmd = (ipfw_insn_u32 *) cmd; + optimize_cmd->o.len = F_INSN_SIZE(ipfw_insn_u32); + optimize_cmd->o.opcode = O_OPTIMIZE; + optimize_cmd->o.arg1 = 0; + optimize_cmd->d[0] = 0; + cmd += optimize_cmd->o.len; + orule->cmd_len += optimize_cmd->o.len; + orule->act_ofs += optimize_cmd->o.len; - optimization_setup(0, 0); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + memcpy(cmd, m->cmd, F_LEN(m->cmd) * 4); + cmd += F_LEN(m->cmd); + l -= F_LEN(m->cmd); + } - orule = (struct ip_fw*)safe_calloc(1, sizeof(struct ip_fw) + 255*4); - for (i = 0; rules[i]; i++) { - struct insn_match *m, *m_tmp; + while (l > 0) { + int skip = 0; - memcpy(orule, rules[i], RULESIZE(rules[i])); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + if (rcmd == m->cmd) { + skip = 1; + break; + } + } + if (!skip) { + memcpy(cmd, rcmd, F_LEN(rcmd) * 4); + cmd += F_LEN(rcmd); + l -= F_LEN(rcmd); + } + rcmd += F_LEN(rcmd); + } + printf(" insn original: "); + show_ipfw(rules[i], 0, 0); + printf("insn reordered: "); + show_ipfw(orule, 0, 0); + /* LIST_FOREACH_SAFE(m, &match_rules[i].rule_head, rule_entries, m_tmp) { ipfw_insn_u32 optimize_cmd; int cmd_offset = ((int32_t*) m->cmd) - ((int32_t*) rules[i]->cmd); @@ -2334,19 +2421,17 @@ orule->act_ofs += F_LEN(&optimize_cmd.o); // printf("rule %d; cmd %d; offset %d\n", orule->rulenum, m->cmd->opcode, cmd_offset); } - if (!LIST_EMPTY(&match_rules[i].rule_head)) { - int x; + */ - x = orule->rulenum & 0xffff; - if (do_cmd(IP_FW_DEL, &x, sizeof(x))) - errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_DEL)", orule->rulenum); + l = orule->rulenum & 0xffff; + if (do_cmd(IP_FW_DEL, &l, sizeof(l))) + errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_DEL)", orule->rulenum); - x = RULESIZE(orule); - if (do_cmd(IP_FW_ADD, orule, (uintptr_t)&x)) - errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_ADD)", orule->rulenum); - if (co.verbose) - show_ipfw(orule, 0, 0); - } + l = RULESIZE(orule); + if (do_cmd(IP_FW_ADD, orule, (uintptr_t)&l)) + errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_ADD)", orule->rulenum); + if (co.verbose) + show_ipfw(orule, 0, 0); } optimization_setup(1, group_count); @@ -2359,10 +2444,10 @@ if (!inet_aton(host, ipaddr)) { if ((he = gethostbyname(host)) == NULL) - return -1; + return(-1); *ipaddr = *(struct in_addr *)he->h_addr_list[0]; } - return 0; + return(0); } /* @@ -3020,8 +3105,9 @@ /* * various flags used to record that we entered some fields. */ + ipfw_insn_alias alias_cmd; ipfw_insn *have_state = NULL; /* check-state or keep-state */ - ipfw_insn *have_log = NULL, *have_altq = NULL, *have_tag = NULL; + ipfw_insn *have_log = NULL, *have_altq = NULL, *have_tag = NULL, *have_alias = NULL; size_t len; int i; @@ -3053,7 +3139,6 @@ /* [alias ALIAS] */ if (ac > 1 && _substrcmp(*av, "alias") == 0) { int alias_rule; - ipfw_insn_alias *alias_cmd = (ipfw_insn_alias *) action; NEED1("missing alias name"); for (i = 0; isdigit(av[1][i]) || av[1][i] == '+' || av[1][i] == '-'; i++) { ; } @@ -3062,11 +3147,11 @@ alias_rule = alias_lookup_rulenum(av[1]); if (alias_rule > 0) errx(EX_DATAERR, "rule %d already has alias %s", alias_rule, av[1]); - alias_cmd->o.opcode = O_ALIAS; - alias_cmd->o.len = F_INSN_SIZE(ipfw_insn_alias); - strlcpy(alias_cmd->alias, av[1], IPFW_ALIAS_NAME_SIZE); + alias_cmd.o.opcode = O_ALIAS; + alias_cmd.o.len = F_INSN_SIZE(ipfw_insn_alias); + strlcpy(alias_cmd.alias, av[1], IPFW_ALIAS_NAME_SIZE); av += 2; ac -= 2; - action = next_cmd(action); + have_alias = (ipfw_insn *) &alias_cmd; } /* [set N] -- set number (0..RESVD_SET), optional */ @@ -4024,6 +4109,11 @@ bcopy(have_tag, dst, i * sizeof(uint32_t)); dst += i; } + if (have_alias) { + i = F_LEN(have_alias); + bcopy(have_alias, dst, i * sizeof(uint32_t)); + dst += i; + } /* * copy all other actions */ ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#4 (text+ko) ==== @@ -2216,7 +2216,7 @@ mask = 1 << (*ind - 1); do { use = atomic_load_acq_32(&V_optimization_buf_use); - } while (atomic_cmpset_32(&V_optimization_buf_use, use, use | mask) == 0); + } while (atomic_cmpset_32(&V_optimization_buf_use, use, use & ~mask) == 0); *ind = 0; } From owner-p4-projects@FreeBSD.ORG Mon Jun 22 11:28:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53C9F1065672; Mon, 22 Jun 2009 11:28:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13568106566C for ; Mon, 22 Jun 2009 11:28:39 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 009B78FC0C for ; Mon, 22 Jun 2009 11:28:39 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MBSciG088238 for ; Mon, 22 Jun 2009 11:28:38 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MBScIZ088236 for perforce@freebsd.org; Mon, 22 Jun 2009 11:28:38 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 11:28:38 GMT Message-Id: <200906221128.n5MBScIZ088236@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164847 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 11:28:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=164847 Change 164847 by zec@zec_amdx4 on 2009/06/22 11:27:51 V_irtualize flowtable sysctl knobs and counters. Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#6 edit .. //depot/projects/vimage-commit2/src/sys/net/vnet.h#25 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.c#6 (text+ko) ==== @@ -205,48 +205,55 @@ * - support explicit connection state (currently only ad-hoc for DSR) * - V_ flowtable sysctls and nmbflows */ +#ifdef VIMAGE_GLOBALS +int flowtable_enable; +static int flowtable_hits; +static int flowtable_lookups; +static int flowtable_misses; +static int flowtable_frees; +static int flowtable_free_checks; +static int flowtable_max_depth; +static int flowtable_collisions; +static int flowtable_syn_expire; +static int flowtable_udp_expire; +static int flowtable_fin_wait_expire; +static int flowtable_tcp_expire; +static int flowtable_nmbflows; +#endif SYSCTL_NODE(_net_inet, OID_AUTO, flowtable, CTLFLAG_RD, NULL, "flowtable"); -int flowtable_enable = 1; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, enable, CTLFLAG_RW, - &flowtable_enable, 0, "enable flowtable caching."); -static int flowtable_hits = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, hits, CTLFLAG_RD, - &flowtable_hits, 0, "# flowtable hits."); -static int flowtable_lookups = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, lookups, CTLFLAG_RD, - &flowtable_lookups, 0, "# flowtable lookups."); -static int flowtable_misses = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, misses, CTLFLAG_RD, - &flowtable_misses, 0, "#flowtable misses."); -static int flowtable_frees = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, frees, CTLFLAG_RD, - &flowtable_frees, 0, "#flows freed."); -static int flowtable_free_checks = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, free_checks, CTLFLAG_RD, - &flowtable_free_checks, 0, "#flows free checks."); -static int flowtable_max_depth = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, max_depth, CTLFLAG_RD, - &flowtable_max_depth, 0, "max collision list length."); -static int flowtable_collisions = 0; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, collisions, CTLFLAG_RD, - &flowtable_collisions, 0, "#flowtable collisions."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, enable, CTLFLAG_RW, + flowtable_enable, 0, "enable flowtable caching."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, hits, CTLFLAG_RD, + flowtable_hits, 0, "# flowtable hits."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, lookups, + CTLFLAG_RD, flowtable_lookups, 0, "# flowtable lookups."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, misses, CTLFLAG_RD, + flowtable_misses, 0, "#flowtable misses."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, frees, CTLFLAG_RD, + flowtable_frees, 0, "#flows freed."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, free_checks, + CTLFLAG_RD, flowtable_free_checks, 0, "#flows free checks."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, max_depth, + CTLFLAG_RD, flowtable_max_depth, 0, "max collision list length."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, collisions, + CTLFLAG_RD, flowtable_collisions, 0, "#flowtable collisions."); /* * XXX This does not end up updating timeouts at runtime * and only reflects the value for the last table added :-/ */ -static int flowtable_syn_expire = SYN_IDLE; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, syn_expire, CTLFLAG_RW, - &flowtable_syn_expire, 0, "seconds after which to remove syn allocated flow."); -static int flowtable_udp_expire = UDP_IDLE; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, udp_expire, CTLFLAG_RW, - &flowtable_udp_expire, 0, "seconds after which to remove flow allocated to UDP."); -static int flowtable_fin_wait_expire = FIN_WAIT_IDLE; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, fin_wait_expire, CTLFLAG_RW, - &flowtable_fin_wait_expire, 0, "seconds after which to remove a flow in FIN_WAIT."); -static int flowtable_tcp_expire = TCP_IDLE; -SYSCTL_INT(_net_inet_flowtable, OID_AUTO, tcp_expire, CTLFLAG_RW, - &flowtable_tcp_expire, 0, "seconds after which to remove flow allocated to a TCP connection."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, syn_expire, + CTLFLAG_RW, flowtable_syn_expire, 0, + "seconds after which to remove syn allocated flow."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, udp_expire, + CTLFLAG_RW, flowtable_udp_expire, 0, + "seconds after which to remove flow allocated to UDP."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, fin_wait_expire, + CTLFLAG_RW, flowtable_fin_wait_expire, 0, + "seconds after which to remove a flow in FIN_WAIT."); +SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, tcp_expire, + CTLFLAG_RW, flowtable_tcp_expire, 0, + "seconds after which to remove flow allocated to a TCP connection."); /* @@ -256,28 +263,28 @@ * there is no reason why this could not be changed at runtime) * and thus (currently) needs to be set with a tunable. */ -static int nmbflows = 4096; - static int sysctl_nmbflows(SYSCTL_HANDLER_ARGS) { INIT_VNET_NET(curvnet); int error, newnmbflows; - newnmbflows = nmbflows; + newnmbflows = V_flowtable_nmbflows; error = sysctl_handle_int(oidp, &newnmbflows, 0, req); if (error == 0 && req->newptr) { - if (newnmbflows > nmbflows) { - nmbflows = newnmbflows; - uma_zone_set_max(V_flow_ipv4_zone, nmbflows); - uma_zone_set_max(V_flow_ipv6_zone, nmbflows); + if (newnmbflows > V_flowtable_nmbflows) { + V_flowtable_nmbflows = newnmbflows; + uma_zone_set_max(V_flow_ipv4_zone, + V_flowtable_nmbflows); + uma_zone_set_max(V_flow_ipv6_zone, + V_flowtable_nmbflows); } else error = EINVAL; } return (error); } SYSCTL_PROC(_net_inet_flowtable, OID_AUTO, nmbflows, CTLTYPE_INT|CTLFLAG_RW, - &nmbflows, 0, sysctl_nmbflows, "IU", "Maximum number of flows allowed"); + 0, 0, sysctl_nmbflows, "IU", "Maximum number of flows allowed"); #ifndef RADIX_MPATH static void @@ -341,7 +348,7 @@ struct udphdr *uh; struct sctphdr *sh; - if (flowtable_enable == 0) + if (V_flowtable_enable == 0) return (0); key[1] = key[0] = 0; @@ -522,7 +529,7 @@ } depth = 0; - flowtable_collisions++; + V_flowtable_collisions++; /* * find end of list and make sure that we were not * preempted by another thread handling this flow @@ -548,8 +555,8 @@ fle = fle->f_next; } - if (depth > flowtable_max_depth) - flowtable_max_depth = depth; + if (depth > V_flowtable_max_depth) + V_flowtable_max_depth = depth; fletail->f_next = newfle; fle = newfle; skip: @@ -588,6 +595,7 @@ int flowtable_lookup(struct flowtable *ft, struct mbuf *m, struct route *ro) { + INIT_VNET_NET(curvnet); uint32_t key[9], hash; struct flentry *fle; uint16_t flags; @@ -622,7 +630,7 @@ if (hash == 0 || (key[0] == 0 && (ft->ft_flags & FL_HASH_PORTS))) return (ENOENT); - flowtable_lookups++; + V_flowtable_lookups++; FL_ENTRY_LOCK(ft, hash); if ((fle = FL_ENTRY(ft, hash)) == NULL) { FL_ENTRY_UNLOCK(ft, hash); @@ -637,7 +645,7 @@ && (proto == fle->f_proto) && (rt->rt_flags & RTF_UP) && (rt->rt_ifp != NULL)) { - flowtable_hits++; + V_flowtable_hits++; fle->f_uptime = time_uptime; fle->f_flags |= flags; ro->ro_rt = rt; @@ -651,7 +659,7 @@ FL_ENTRY_UNLOCK(ft, hash); uncached: - flowtable_misses++; + V_flowtable_misses++; /* * This bit of code ends up locking the * same route 3 times (just like ip_output + ether_output) @@ -762,10 +770,10 @@ * replacement after 5s of non-use */ if (flags & FL_HASH_PORTS) { - ft->ft_udp_idle = flowtable_udp_expire; - ft->ft_syn_idle = flowtable_syn_expire; - ft->ft_fin_wait_idle = flowtable_fin_wait_expire; - ft->ft_tcp_idle = flowtable_fin_wait_expire; + ft->ft_udp_idle = V_flowtable_udp_expire; + ft->ft_syn_idle = V_flowtable_syn_expire; + ft->ft_fin_wait_idle = V_flowtable_fin_wait_expire; + ft->ft_tcp_idle = V_flowtable_fin_wait_expire; } else { ft->ft_udp_idle = ft->ft_fin_wait_idle = ft->ft_syn_idle = ft->ft_tcp_idle = 30; @@ -803,12 +811,26 @@ { INIT_VNET_NET(curvnet); - V_flow_ipv4_zone = uma_zcreate("ip4flow", sizeof(struct flentry_v4), NULL, - NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); - V_flow_ipv6_zone = uma_zcreate("ip6flow", sizeof(struct flentry_v6), NULL, - NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); - uma_zone_set_max(V_flow_ipv4_zone, nmbflows); - uma_zone_set_max(V_flow_ipv6_zone, nmbflows); + V_flowtable_enable = 1; + V_flowtable_hits = 0; + V_flowtable_lookups = 0; + V_flowtable_misses = 0; + V_flowtable_frees = 0; + V_flowtable_free_checks = 0; + V_flowtable_max_depth = 0; + V_flowtable_collisions = 0; + V_flowtable_syn_expire = SYN_IDLE; + V_flowtable_udp_expire = UDP_IDLE; + V_flowtable_fin_wait_expire = FIN_WAIT_IDLE; + V_flowtable_tcp_expire = TCP_IDLE; + V_flowtable_nmbflows = 4096; + + V_flow_ipv4_zone = uma_zcreate("ip4flow", sizeof(struct flentry_v4), + NULL, NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); + V_flow_ipv6_zone = uma_zcreate("ip6flow", sizeof(struct flentry_v6), + NULL, NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); + uma_zone_set_max(V_flow_ipv4_zone, V_flowtable_nmbflows); + uma_zone_set_max(V_flow_ipv6_zone, V_flowtable_nmbflows); return (0); } @@ -849,6 +871,7 @@ static void flowtable_free_stale(struct flowtable *ft) { + INIT_VNET_NET(curvnet); int curbit = 0, count; struct flentry *fle, **flehead, *fleprev; struct flentry *flefreehead, *flefreetail, *fletmp; @@ -875,7 +898,7 @@ flehead = flowtable_entry(ft, curbit); fle = fleprev = *flehead; - flowtable_free_checks++; + V_flowtable_free_checks++; #ifdef DIAGNOSTIC if (fle == NULL && curbit > 0) { log(LOG_ALERT, @@ -926,7 +949,7 @@ while ((fle = flefreehead) != NULL) { flefreehead = fle->f_next; count++; - flowtable_frees++; + V_flowtable_frees++; fle_free(fle); } if (bootverbose && count) ==== //depot/projects/vimage-commit2/src/sys/net/vnet.h#25 (text+ko) ==== @@ -53,17 +53,31 @@ struct if_clone * _lo_cloner; struct ifc_simple_data *_lo_cloner_data; - struct flowtable * _flow_list_head; - uint32_t _flow_hashjitter; - uma_zone_t _flow_ipv4_zone; - uma_zone_t _flow_ipv6_zone; - LIST_HEAD(, rawcb) _rawcb_list; LIST_HEAD(, if_clone) _if_cloners; int _if_cloners_count; int _ether_ipfw; + + struct flowtable * _flow_list_head; + uint32_t _flow_hashjitter; + uma_zone_t _flow_ipv4_zone; + uma_zone_t _flow_ipv6_zone; + + int _flowtable_enable; + int _flowtable_hits; + int _flowtable_lookups; + int _flowtable_misses; + int _flowtable_frees; + int _flowtable_free_checks; + int _flowtable_max_depth; + int _flowtable_collisions; + int _flowtable_syn_expire; + int _flowtable_udp_expire; + int _flowtable_fin_wait_expire; + int _flowtable_tcp_expire; + int _flowtable_nmbflows; }; /* Size guard. See sys/vimage.h. */ @@ -88,6 +102,19 @@ #define V_flow_ipv4_zone VNET_NET(flow_ipv4_zone) #define V_flow_ipv6_zone VNET_NET(flow_ipv6_zone) #define V_flow_list_head VNET_NET(flow_list_head) +#define V_flowtable_collisions VNET_NET(flowtable_collisions) +#define V_flowtable_enable VNET_NET(flowtable_enable) +#define V_flowtable_fin_wait_expire VNET_NET(flowtable_fin_wait_expire) +#define V_flowtable_free_checks VNET_NET(flowtable_free_checks) +#define V_flowtable_frees VNET_NET(flowtable_frees) +#define V_flowtable_hits VNET_NET(flowtable_hits) +#define V_flowtable_lookups VNET_NET(flowtable_lookups) +#define V_flowtable_max_depth VNET_NET(flowtable_max_depth) +#define V_flowtable_misses VNET_NET(flowtable_misses) +#define V_flowtable_nmbflows VNET_NET(flowtable_nmbflows) +#define V_flowtable_syn_expire VNET_NET(flowtable_syn_expire) +#define V_flowtable_tcp_expire VNET_NET(flowtable_tcp_expire) +#define V_flowtable_udp_expire VNET_NET(flowtable_udp_expire) #define V_if_index VNET_NET(if_index) #define V_if_indexlim VNET_NET(if_indexlim) #define V_if_cloners VNET_NET(if_cloners) From owner-p4-projects@FreeBSD.ORG Mon Jun 22 11:31:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3D031065672; Mon, 22 Jun 2009 11:31:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83E0E106566C for ; Mon, 22 Jun 2009 11:31:42 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 69FD38FC18 for ; Mon, 22 Jun 2009 11:31:42 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MBVgV6088477 for ; Mon, 22 Jun 2009 11:31:42 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MBVgd1088475 for perforce@freebsd.org; Mon, 22 Jun 2009 11:31:42 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 11:31:42 GMT Message-Id: <200906221131.n5MBVgd1088475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164848 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 11:31:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164848 Change 164848 by zec@zec_amdx4 on 2009/06/22 11:30:51 Update comment - s/done stuff/todo stuff/ Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#7 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.c#7 (text+ko) ==== @@ -203,7 +203,7 @@ * of flows with flag to indicate that a flow was imported so should * not be considered for auto-cleaning * - support explicit connection state (currently only ad-hoc for DSR) - * - V_ flowtable sysctls and nmbflows + * - idetach() cleanup for options VIMAGE builds. */ #ifdef VIMAGE_GLOBALS int flowtable_enable; From owner-p4-projects@FreeBSD.ORG Mon Jun 22 13:04:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 390561065672; Mon, 22 Jun 2009 13:04:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED822106566C for ; Mon, 22 Jun 2009 13:04:23 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2E1E8FC15 for ; Mon, 22 Jun 2009 13:04:23 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MD4NHX007659 for ; Mon, 22 Jun 2009 13:04:23 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MD4N7H007657 for perforce@freebsd.org; Mon, 22 Jun 2009 13:04:23 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 13:04:23 GMT Message-Id: <200906221304.n5MD4N7H007657@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164850 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 13:04:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164850 Change 164850 by zec@zec_amdx4 on 2009/06/22 13:03:35 Catch up with flowtable globals in sys/netinet. Pointed out by: bz Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#6 edit .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#44 edit .. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#32 edit .. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#34 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.h#6 (text+ko) ==== @@ -38,7 +38,9 @@ #define FL_PCPU (1<<1) /* pcpu cache */ struct flowtable; +#ifdef VIMAGE_GLOBALS extern struct flowtable *ip_ft; +#endif struct flowtable *flowtable_alloc(int nentry, int flags); ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#44 (text+ko) ==== @@ -207,13 +207,13 @@ ipstealth, 0, "IP stealth mode, no TTL decrementation on forwarding"); #endif #ifdef FLOWTABLE -static int ip_output_flowtable_size = 2048; -TUNABLE_INT("net.inet.ip.output_flowtable_size", &ip_output_flowtable_size); +#ifdef VIMAGE_GLOBALS +static int ip_output_flowtable_size; +struct flowtable *ip_ft; +#endif SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_ip, OID_AUTO, output_flowtable_size, CTLFLAG_RDTUN, ip_output_flowtable_size, 2048, "number of entries in the per-cpu output flow caches"); - -struct flowtable *ip_ft; #endif #ifdef VIMAGE_GLOBALS @@ -335,6 +335,13 @@ NULL, UMA_ALIGN_PTR, 0); maxnipq_update(); +#ifdef FLOWTABLE + TUNABLE_INT_FETCH("net.inet.ip.output_flowtable_size", + &V_ip_output_flowtable_size); + V_ip_output_flowtable_size = 2048; + V_ip_ft = flowtable_alloc(V_ip_output_flowtable_size, FL_PCPU); +#endif + /* Skip initialization of globals for non-default instances. */ if (!IS_DEFAULT_VNET(curvnet)) return; @@ -377,9 +384,6 @@ /* Initialize various other remaining things. */ IPQ_LOCK_INIT(); netisr_register(&ip_nh); -#ifdef FLOWTABLE - ip_ft = flowtable_alloc(ip_output_flowtable_size, FL_PCPU); -#endif } void ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#32 (text+ko) ==== @@ -162,7 +162,7 @@ * longer than that long for the stability of ro_rt. The * flow ID assignment must have happened before this point. */ - if (flowtable_lookup(ip_ft, m, ro) == 0) + if (flowtable_lookup(V_ip_ft, m, ro) == 0) nortfree = 1; #endif } ==== //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#34 (text+ko) ==== @@ -212,6 +212,8 @@ int _icmpbmcastecho; int _fw_one_pass; + + struct flowtable * _ip_ft; }; /* Size guard. See sys/vimage.h. */ @@ -272,9 +274,11 @@ #define V_ip_checkinterface VNET_INET(ip_checkinterface) #define V_ip_defttl VNET_INET(ip_defttl) #define V_ip_do_randomid VNET_INET(ip_do_randomid) +#define V_ip_ft VNET_INET(ip_ft) #define V_ip_id VNET_INET(ip_id) #define V_ip_keepfaith VNET_INET(ip_keepfaith) #define V_ip_mrouter VNET_INET(ip_mrouter) +#define V_ip_output_flowtable_size VNET_INET(ip_output_flowtable_size) #define V_ip_rsvp_on VNET_INET(ip_rsvp_on) #define V_ip_rsvpd VNET_INET(ip_rsvpd) #define V_ip_sendsourcequench VNET_INET(ip_sendsourcequench) From owner-p4-projects@FreeBSD.ORG Mon Jun 22 14:01:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 423571065673; Mon, 22 Jun 2009 14:01:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 023431065672 for ; Mon, 22 Jun 2009 14:01:26 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E50658FC1C for ; Mon, 22 Jun 2009 14:01:25 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ME1Pfc012817 for ; Mon, 22 Jun 2009 14:01:25 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ME1Piv012815 for perforce@freebsd.org; Mon, 22 Jun 2009 14:01:25 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 14:01:25 GMT Message-Id: <200906221401.n5ME1Piv012815@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164851 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 14:01:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164851 Change 164851 by zec@zec_amdx4 on 2009/06/22 14:00:44 Properly virtualize a sysctl handler macro. Split too long a line in two. Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#8 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.c#8 (text+ko) ==== @@ -283,8 +283,9 @@ } return (error); } -SYSCTL_PROC(_net_inet_flowtable, OID_AUTO, nmbflows, CTLTYPE_INT|CTLFLAG_RW, - 0, 0, sysctl_nmbflows, "IU", "Maximum number of flows allowed"); +SYSCTL_V_PROC(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, nmbflows, + CTLTYPE_INT|CTLFLAG_RW, flowtable_nmbflows, 0, sysctl_nmbflows, "IU", + "Maximum number of flows allowed"); #ifndef RADIX_MPATH static void @@ -865,7 +866,8 @@ lle = __DEVOLATILE(struct llentry *, fle->f_lle); RTFREE(rt); LLE_FREE(lle); - uma_zfree((fle->f_flags & FL_IPV6) ? V_flow_ipv6_zone : V_flow_ipv4_zone, fle); + uma_zfree((fle->f_flags & FL_IPV6) ? + V_flow_ipv6_zone : V_flow_ipv4_zone, fle); } static void From owner-p4-projects@FreeBSD.ORG Mon Jun 22 15:07:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3485E1065675; Mon, 22 Jun 2009 15:07:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD08F106566C for ; Mon, 22 Jun 2009 15:07:38 +0000 (UTC) (envelope-from fabio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B08338FC1A for ; Mon, 22 Jun 2009 15:07:38 +0000 (UTC) (envelope-from fabio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MF7c19019826 for ; Mon, 22 Jun 2009 15:07:38 GMT (envelope-from fabio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MF7cip019822 for perforce@freebsd.org; Mon, 22 Jun 2009 15:07:38 GMT (envelope-from fabio@FreeBSD.org) Date: Mon, 22 Jun 2009 15:07:38 GMT Message-Id: <200906221507.n5MF7cip019822@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fabio@FreeBSD.org using -f From: Fabio Checconi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 15:07:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=164857 Change 164857 by fabio@fabio_granpasso on 2009/06/22 15:06:47 Add a disk emulation geom class, not yet really useful nor feature-complete, to be used for testing with varying disk parameters. Modeled/designed after geom_gate. Affected files ... .. //depot/projects/soc2009/fabio_gsched/Makefile#2 edit .. //depot/projects/soc2009/fabio_gsched/geom_diskem/Makefile#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/gdiskem.8#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/gdiskem.c#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/sys/geom/diskem/g_diskem.c#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/sys/geom/diskem/g_diskem.h#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/sys/modules/geom/geom_diskem/Makefile#1 add .. //depot/projects/soc2009/fabio_gsched/geom_diskem/sys/modules/geom/geom_diskem/Makefile.inc#1 add Differences ... ==== //depot/projects/soc2009/fabio_gsched/Makefile#2 (text+ko) ==== @@ -29,18 +29,22 @@ all: cd geom_sched && make depend all + cd geom_diskem && make depend all cd geom_sched/sys/modules/geom/geom_sched && make $(ENV) depend all + cd geom_diskem/sys/modules/geom/geom_diskem && make $(ENV) depend all clean: cd geom_sched && make clean + cd geom_diskem && make clean cd geom_sched/sys/modules/geom/geom_sched && make clean - find geom_sched -name .depend -exec rm \{\} \; - find geom_sched -name machine -exec rm \{\} \; - find geom_sched -name @ -exec rm \{\} \; + cd geom_diskem/sys/modules/geom/geom_diskem && make clean + find geom_sched geom_diskem -name .depend -exec rm \{\} \; + find geom_sched geom_diskem -name machine -exec rm \{\} \; + find geom_sched geom_diskem -name @ -exec rm \{\} \; tarball: all cp -p `find geom_sched -name \*.ko` . - cp -p geom_sched/geom_sched.so . + cp -p geom_sched/geom_sched.so geom_diskem/gdiskem . make clean (tar cvzf /tmp/geom_sched.tgz --exclude .svn \ --exclude gsched_ssd --exclude gs_ssd.c \ @@ -51,5 +55,6 @@ -cp -p `find geom_sched -name \*.ko` /boot/modules -kldxref /boot/modules -cp -p geom_sched/geom_sched.so /lib/geom + -cp -p geom_diskem/gdiskem /usr/sbin .include From owner-p4-projects@FreeBSD.ORG Mon Jun 22 18:44:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD362106567B; Mon, 22 Jun 2009 18:44:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D8691065675 for ; Mon, 22 Jun 2009 18:44:46 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7BEB98FC0A for ; Mon, 22 Jun 2009 18:44:46 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MIikOO049519 for ; Mon, 22 Jun 2009 18:44:46 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MIikmp049517 for perforce@freebsd.org; Mon, 22 Jun 2009 18:44:46 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 22 Jun 2009 18:44:46 GMT Message-Id: <200906221844.n5MIikmp049517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164883 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 18:44:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=164883 Change 164883 by syl@syl_pablo on 2009/06/22 18:44:09 Implement bulk tests. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#3 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#3 (text+ko) ==== @@ -5,10 +5,38 @@ #define PID_TEST 0x8300 #define VID_TEST 0x05ac +#define STR_SIZE 29 libusb_context *ctx; int main(int ac, char *av[]) { + libusb_device *dev; + libusb_device_handle *devh; + volatile int transferred; + uint8_t data[STR_SIZE] = { + 'I', ' ', 'S', 'e', 'e', ' ', 'd', 'e', 'a', 'd', + ' ', 'p', 'o', 'n', 'e', 'y', ' ', 'i', 'n', ' ', + 'm', 'y', ' ', 'd', 'e', 'a', 'm', 's', '\0'}; + + printf("This programe will output a debug trace on a serial cdc" + "bulk endpoint\n"); + if (libusb_init(&ctx) != 0) { + fprintf(stderr, "libusb_init_failed\n"); + return (EXIT_FAILURE); + } + + transferred = 0; + if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { + libusb_detach_kernel_driver(devh, 1); + dev = libusb_get_device(devh) + libusb_bulk_transfer(devh, /*endpoint*/, &data, STR_SIZE, + &transferred, 10000); + while (transferred != 1); + printf("transfer done.\n"); + } else { + fprintf(stderr, "\nNo device match or lack of permissions.\n"); + } + return (EXIT_SUCCESS); } From owner-p4-projects@FreeBSD.ORG Mon Jun 22 19:09:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A56521065677; Mon, 22 Jun 2009 19:09:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6490A106564A for ; Mon, 22 Jun 2009 19:09:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 522E28FC1A for ; Mon, 22 Jun 2009 19:09:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MJ9DsR052272 for ; Mon, 22 Jun 2009 19:09:13 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MJ9DnW052270 for perforce@freebsd.org; Mon, 22 Jun 2009 19:09:13 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 22 Jun 2009 19:09:13 GMT Message-Id: <200906221909.n5MJ9DnW052270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 19:09:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=164885 Change 164885 by syl@syl_atuin on 2009/06/22 19:08:13 - Add endpoint number in test2. - Change for a working request in test1 (GET_COMM_FEATURE) - Fix Segfault in libusb_proxy and libusb_free_transfer. - Some style changes. - Fix synchronous callback segfault. - Get closer libusb-1.0.2 implementation. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#5 edit .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#4 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#43 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#16 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#5 (text+ko) ==== @@ -12,12 +12,12 @@ { libusb_device *dev; libusb_device_handle *devh; + int ret; uint8_t data[2] = {0,0}; printf("This program will try to issue a GET_STATUS" " request on the PID_TEST VID_TEST device control endpoint\n"); - if (libusb_init(&ctx) != 0) { fprintf(stderr, "libusb_init_failed\n"); return (EXIT_FAILURE); @@ -26,8 +26,13 @@ if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { libusb_detach_kernel_driver(devh, 1); dev = libusb_get_device(devh); - libusb_control_transfer(devh, 0x80, 0x01, 0x00, 0x00, data, 2, 100000); - printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); + ret = libusb_control_transfer(devh, 0xa1, 0x03, 0x00, 0x00, data, 2, 10); + printf("end tr\n"); + if (ret == LIBUSB_TRANSFER_COMPLETED) { + printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); + } else { + printf("transfer failed with 0x%.8x error code\n", ret); + } } else { fprintf(stderr, "\nNo device match or lack of permissions.\n"); } ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#4 (text+ko) ==== @@ -3,8 +3,8 @@ #include #include -#define PID_TEST 0x8300 -#define VID_TEST 0x05ac +#define PID_TEST 0x2303 +#define VID_TEST 0x067b #define STR_SIZE 29 libusb_context *ctx; @@ -13,7 +13,7 @@ { libusb_device *dev; libusb_device_handle *devh; - volatile int transferred; + unsigned int transferred; uint8_t data[STR_SIZE] = { 'I', ' ', 'S', 'e', 'e', ' ', 'd', 'e', 'a', 'd', ' ', 'p', 'o', 'n', 'e', 'y', ' ', 'i', 'n', ' ', @@ -29,10 +29,9 @@ transferred = 0; if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { libusb_detach_kernel_driver(devh, 1); - dev = libusb_get_device(devh) - libusb_bulk_transfer(devh, /*endpoint*/, &data, STR_SIZE, + dev = libusb_get_device(devh); + libusb_bulk_transfer(devh, 0x83, data, STR_SIZE, &transferred, 10000); - while (transferred != 1); printf("transfer done.\n"); } else { fprintf(stderr, "\nNo device match or lack of permissions.\n"); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#43 (text+ko) ==== @@ -807,11 +807,6 @@ bxfer = (struct usb_transfer *) ((uint8_t *)xfer - sizeof(struct usb_transfer)); - if (xfer->buffer) - free(xfer->buffer); - if (xfer->user_data) - free(xfer->user_data); - free(bxfer); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); return; @@ -821,24 +816,24 @@ libusb10_proxy(struct libusb20_transfer *xfer) { struct usb_transfer *usb_backend; + struct libusb20_device *pdev; libusb_transfer *usb_xfer; libusb_context *ctx; uint8_t status; uint32_t iso_packets; int i; - usb_backend = (struct usb_transfer *) ((uint8_t *)xfer - - sizeof(struct usb_transfer)); - - pthread_mutex_lock(&libusb20_lock); - status = libusb20_tr_get_status(xfer); usb_xfer = libusb20_tr_get_priv_sc0(xfer); + usb_backend = (struct usb_transfer *) ((uint8_t *)usb_xfer - + sizeof(struct usb_transfer)); + pdev = usb_xfer->dev_handle->dev->os_priv; ctx = usb_xfer->dev_handle->dev->ctx; GET_CONTEXT(ctx); switch (status) { case LIBUSB20_TRANSFER_COMPLETED: + printf("completed\n"); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); usb_xfer->callback(usb_xfer); @@ -848,6 +843,7 @@ pthread_mutex_unlock(&ctx->flying_transfers_lock); break ; case LIBUSB20_TRANSFER_START: + printf("start\n"); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); usb_xfer->actual_length = 0; switch (usb_xfer->type) { @@ -884,12 +880,14 @@ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); break ; default: + printf("default 0x%x\n", status); usb_xfer->actual_length = 0; usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; pthread_mutex_lock(&ctx->flying_transfers_lock); LIST_DEL(&usb_backend->list); pthread_mutex_unlock(&ctx->flying_transfers_lock); + usb_xfer->callback(usb_xfer); break ; } @@ -923,11 +921,7 @@ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); usb_xfer->status = LIBUSB_TRANSFER_ERROR; break ; - default: - printf("other status : %i\n", status); } - - pthread_mutex_unlock(&libusb20_lock); } static int @@ -996,7 +990,7 @@ case LIBUSB20_SPEED_FULL: ret = 4096; break ; - case LIBUSB20_SPEED_HIGH: + default: ret = 16384; break ; } @@ -1092,7 +1086,6 @@ buffsize = libusb_get_buffsize(pdev, xfer); maxframe = libusb_get_maxframe(pdev, xfer); - printf("buffsize : 0x%.8x maxframe : 0x%.8x\n", buffsize, maxframe); ret = libusb20_tr_open(usb20_xfer[0], buffsize, maxframe, xfer->endpoint); @@ -1139,7 +1132,6 @@ pthread_mutex_lock(&libusb20_lock); libusb20_tr_stop(xfer->os_priv); - libusb20_tr_close(xfer->os_priv); pthread_mutex_unlock(&libusb20_lock); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer leave"); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#16 (text+ko) ==== @@ -121,6 +121,9 @@ int timeout; int i; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events enter"); + nfds = 0; i = -1; @@ -150,10 +153,10 @@ ret = poll(fds, nfds, timeout); if (ret == 0) { free(fds); - return(handle_timeouts(ctx)); + return (handle_timeouts(ctx)); } else if (ret == -1 && errno == EINTR) { free(fds); - return LIBUSB_ERROR_INTERRUPTED; + return (LIBUSB_ERROR_INTERRUPTED); } else if (ret < 0) { free(fds); return (LIBUSB_ERROR_IO); @@ -171,8 +174,8 @@ pthread_mutex_lock(&ctx->open_devs_lock); for (i = 0 ; i < nfds && ret > 0 ; i++) { + tfds = &fds[i]; - if (!tfds->revents) continue; @@ -188,21 +191,26 @@ continue ; } + pthread_mutex_lock(&libusb20_lock); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); + if (ret == 0 || ret == LIBUSB20_ERROR_NO_DEVICE) continue; else if (ret < 0) goto out; } + + ret = 0; out: pthread_mutex_unlock(&ctx->open_devs_lock); handled: free(fds); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events leave"); return ret; } @@ -538,6 +546,7 @@ int *complet; ctx = NULL; + GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "CALLBACK ENTER"); complet = transfer->user_data; @@ -556,7 +565,7 @@ int complet; int ret; - ctx = NULL; + ctx = devh->dev->ctx; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_control_transfer enter"); @@ -598,16 +607,18 @@ return (ret); } - while (!complet) - if ((ret = libusb_handle_events(devh->dev->ctx)) < 0) { + while (complet == 0) + if ((ret = libusb_handle_events(ctx)) < 0) { libusb_cancel_transfer(xfer); + while (complet == 0) + if (libusb_handle_events(ctx) < 0) { + break; + } libusb_free_transfer(xfer); - while (!complet) - if (libusb_handle_events(devh->dev->ctx)) - break; return (ret); } + if ((bmRequestType & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN) memcpy(data, buff + sizeof(libusb_control_setup), wLength); @@ -668,7 +679,7 @@ libusb_cancel_transfer(xfer); libusb_free_transfer(xfer); while (complet == 0) { - if (libusb_handle_events(ctx)) + if (libusb_handle_events(ctx) < 0) break ; } return (ret); From owner-p4-projects@FreeBSD.ORG Mon Jun 22 19:23:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 633951065673; Mon, 22 Jun 2009 19:23:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 236B3106566C for ; Mon, 22 Jun 2009 19:23:29 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 11DCD8FC0A for ; Mon, 22 Jun 2009 19:23:29 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MJNSul053361 for ; Mon, 22 Jun 2009 19:23:28 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MJNSrS053359 for perforce@freebsd.org; Mon, 22 Jun 2009 19:23:28 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 22 Jun 2009 19:23:28 GMT Message-Id: <200906221923.n5MJNSrS053359@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164887 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 19:23:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164887 Change 164887 by syl@syl_atuin on 2009/06/22 19:23:19 Update this code to work with BULK tansfer on uplcom. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#5 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { libusb_detach_kernel_driver(devh, 1); dev = libusb_get_device(devh); - libusb_bulk_transfer(devh, 0x83, data, STR_SIZE, + libusb_bulk_transfer(devh, 0x2, data, STR_SIZE, &transferred, 10000); printf("transfer done.\n"); } else { From owner-p4-projects@FreeBSD.ORG Mon Jun 22 19:44:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 333FC1065675; Mon, 22 Jun 2009 19:44:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE520106566C for ; Mon, 22 Jun 2009 19:44:54 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BB32B8FC15 for ; Mon, 22 Jun 2009 19:44:54 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MJis7A054932 for ; Mon, 22 Jun 2009 19:44:54 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MJist2054930 for perforce@freebsd.org; Mon, 22 Jun 2009 19:44:54 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 19:44:54 GMT Message-Id: <200906221944.n5MJist2054930@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164889 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 19:44:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=164889 Change 164889 by zec@zec_amdx4 on 2009/06/22 19:44:52 IFC @ 164888 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam_periph.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam_periph.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/sys/vnode.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.powerpc#15 integrate .. //depot/projects/vimage-commit2/src/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ic/ns16550.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#27 integrate .. //depot/projects/vimage-commit2/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nullfs/null_vnops.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/pmap.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_alq.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_sig.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_mbuf.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_cache.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_default.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_vnops.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vnode_if.src#11 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/iconv.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/bridgestp.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/net/fddi.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/firewire.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if.c#78 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_arc.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_arcsubr.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_fddisubr.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_fwsubr.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_iso88025subr.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_var.h#33 integrate .. //depot/projects/vimage-commit2/src/sys/net/iso88025.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/net/route.c#44 integrate .. //depot/projects/vimage-commit2/src/sys/net/route.h#11 integrate .. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/net/vnet.h#26 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/aarp.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_control.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_var.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_input.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_output.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in.c#30 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#43 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_mroute.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_mroute.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/raw_ip.c#33 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_mroute.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_nbr.c#25 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#27 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/README#2 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_input.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_outputfl.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_pcb.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/MPC85XX#7 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/fcntl.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sys/iconv.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ktr.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/lock.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/sys/lock_profile.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/mutex.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#46 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sched.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sx.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#75 integrate .. //depot/projects/vimage-commit2/src/sys/sys/vnode.h#15 integrate .. //depot/projects/vimage-commit2/src/sys/vm/device_pager.c#4 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#8 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.150 2009/03/22 18:56:26 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.151 2009/06/22 04:21:02 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -175,9 +175,7 @@ #define PML4pml4e ((pd_entry_t *)(addr_PML4pml4e)) extern u_int64_t KPML4phys; /* physical address of kernel level 4 */ -#endif -#ifdef _KERNEL /* * virtual address to page table entry and * to physical address. @@ -294,14 +292,6 @@ #ifdef _KERNEL -#define NPPROVMTRR 8 -#define PPRO_VMTRRphysBase0 0x200 -#define PPRO_VMTRRphysMask0 0x201 -struct ppro_vmtrr { - u_int64_t base, mask; -}; -extern struct ppro_vmtrr PPro_vmtrr[NPPROVMTRR]; - extern caddr_t CADDR1; extern pt_entry_t *CMAP1; extern vm_paddr_t phys_avail[]; ==== //depot/projects/vimage-commit2/src/sys/arm/arm/elf_trampoline.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.24 2009/02/02 20:09:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.25 2009/06/21 21:38:12 cognet Exp $"); #include #include #include @@ -550,7 +550,7 @@ for (addr = physstart; addr < physend; addr += L1_S_SIZE) { pd[addr >> L1_S_SHIFT] = L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)| L1_S_DOM(PMAP_DOMAIN_KERNEL) | addr; - if (write_back) + if (write_back && 0) pd[addr >> L1_S_SHIFT] |= L1_S_B; } /* XXX: See below */ @@ -610,12 +610,6 @@ (unsigned int)&func_end + 800 , 0); if (altdst > dst) dst = altdst; - cpu_idcache_wbinv_all(); - cpu_l2cache_wbinv_all(); - __asm __volatile("mrc p15, 0, %0, c1, c0, 0\n" - "bic %0, %0, #1\n" /* MMU_ENABLE */ - "mcr p15, 0, %0, c1, c0, 0\n" - : "=r" (pt_addr)); } else #endif dst = 4 + load_kernel((unsigned int)&kernel_start, ==== //depot/projects/vimage-commit2/src/sys/boot/powerpc/uboot/version#2 (text+ko) ==== @@ -1,8 +1,9 @@ -$FreeBSD: src/sys/boot/powerpc/uboot/version,v 1.1 2008/02/16 22:40:55 marcel Exp $ +$FreeBSD: src/sys/boot/powerpc/uboot/version,v 1.2 2009/06/22 15:57:12 raj Exp $ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. +1.0: Added storage support. 0.6: Integrated with the new U-Boot API 0.5: Full network functionality. 0.2: Initial U-Boot/PowerPC version derived from the existing ==== //depot/projects/vimage-commit2/src/sys/cam/cam_periph.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.78 2009/05/12 15:14:37 trasz Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.79 2009/06/22 14:43:48 scottl Exp $"); #include #include @@ -797,7 +797,7 @@ } int -cam_periph_ioctl(struct cam_periph *periph, int cmd, caddr_t addr, +cam_periph_ioctl(struct cam_periph *periph, u_long cmd, caddr_t addr, int (*error_routine)(union ccb *ccb, cam_flags camflags, u_int32_t sense_flags)) ==== //depot/projects/vimage-commit2/src/sys/cam/cam_periph.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_periph.h,v 1.19 2008/12/19 14:31:40 trasz Exp $ + * $FreeBSD: src/sys/cam/cam_periph.h,v 1.20 2009/06/22 14:43:48 scottl Exp $ */ #ifndef _CAM_CAM_PERIPH_H @@ -158,7 +158,7 @@ u_int32_t sense_flags), cam_flags camflags, u_int32_t sense_flags, struct devstat *ds); -int cam_periph_ioctl(struct cam_periph *periph, int cmd, +int cam_periph_ioctl(struct cam_periph *periph, u_long cmd, caddr_t addr, int (*error_routine)(union ccb *ccb, cam_flags camflags, ==== //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c,v 1.9 2008/11/25 21:14:00 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c,v 1.11 2009/06/22 10:08:48 kib Exp $"); #include #include @@ -83,9 +83,9 @@ } FILEDESC_XUNLOCK(fd); - flags = FREAD; + flags = FREAD | O_NOFOLLOW; NDINIT(&nd, LOOKUP, MPSAFE, UIO_SYSSPACE, file, td); - error = vn_open_cred(&nd, &flags, O_NOFOLLOW, curthread->td_ucred, NULL); + error = vn_open_cred(&nd, &flags, 0, 0, curthread->td_ucred, NULL); NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) return (NULL); ==== //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/sys/vnode.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/vnode.h,v 1.11 2009/05/07 23:02:15 kmacy Exp $ + * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/vnode.h,v 1.12 2009/06/21 13:41:32 kib Exp $ */ #ifndef _OPENSOLARIS_SYS_VNODE_H_ @@ -182,7 +182,7 @@ vref(startvp); NDINIT_ATVP(&nd, operation, MPSAFE, UIO_SYSSPACE, pnamep, startvp, td); filemode |= O_NOFOLLOW; - error = vn_open_cred(&nd, &filemode, createmode, td->td_ucred, NULL); + error = vn_open_cred(&nd, &filemode, createmode, 0, td->td_ucred, NULL); NDFREE(&nd, NDF_ONLY_PNBUF); if (error == 0) { /* We just unlock so we hold a reference. */ ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#13 (text+ko) ==== @@ -4519,7 +4519,7 @@ flags = FREAD; NDINIT_ATVP(&nd, LOOKUP, NOFOLLOW | MPSAFE, UIO_SYSSPACE, attrname, xvp, td); - error = vn_open_cred(&nd, &flags, 0, ap->a_cred, NULL); + error = vn_open_cred(&nd, &flags, 0, 0, ap->a_cred, NULL); vp = nd.ni_vp; NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) { @@ -4640,7 +4640,7 @@ flags = FFLAGS(O_WRONLY | O_CREAT); NDINIT_ATVP(&nd, LOOKUP, NOFOLLOW | MPSAFE, UIO_SYSSPACE, attrname, xvp, td); - error = vn_open_cred(&nd, &flags, 0600, ap->a_cred, NULL); + error = vn_open_cred(&nd, &flags, 0600, 0, ap->a_cred, NULL); vp = nd.ni_vp; NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) { ==== //depot/projects/vimage-commit2/src/sys/conf/files.powerpc#15 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.103 2009/06/06 09:37:55 raj Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.106 2009/06/22 15:53:41 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -109,6 +109,9 @@ powerpc/fpu/fpu_sqrt.c optional fpu_emu powerpc/fpu/fpu_subr.c optional fpu_emu powerpc/mpc85xx/atpic.c optional mpc85xx isa +powerpc/mpc85xx/ds1553_bus_lbc.c optional ds1553 +powerpc/mpc85xx/ds1553_core.c optional ds1553 +powerpc/mpc85xx/i2c.c optional iicbus mpc85xx powerpc/mpc85xx/isa.c optional mpc85xx isa powerpc/mpc85xx/lbc.c optional mpc85xx powerpc/mpc85xx/mpc85xx.c optional mpc85xx ==== //depot/projects/vimage-commit2/src/sys/dev/acpica/Osd/OsdSynch.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSynch.c,v 1.36 2009/06/08 20:50:38 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSynch.c,v 1.37 2009/06/22 17:46:55 jkim Exp $"); #include #include @@ -417,9 +417,11 @@ ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - if (am == NULL) + if (am == NULL) { ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "cannot release null mutex\n")); + return_VOID; + } mtx_lock(&am->am_lock); ==== //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c,v 1.3 2009/06/01 21:17:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c,v 1.4 2009/06/22 10:59:34 rwatson Exp $"); #include #include @@ -1337,12 +1337,13 @@ is_loopback_dst(struct iw_cm_id *cm_id) { uint16_t port = cm_id->remote_addr.sin_port; - struct ifaddr *ifa; + int ifa_present; cm_id->remote_addr.sin_port = 0; - ifa = ifa_ifwithaddr((struct sockaddr *)&cm_id->remote_addr); + ifa_present = ifa_ifwithaddr_check( + (struct sockaddr *)&cm_id->remote_addr); cm_id->remote_addr.sin_port = port; - return (ifa != NULL); + return (ifa_present); } int ==== //depot/projects/vimage-commit2/src/sys/dev/ic/ns16550.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)ns16550.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/dev/ic/ns16550.h,v 1.18 2008/08/29 12:25:58 nyan Exp $ + * $FreeBSD: src/sys/dev/ic/ns16550.h,v 1.19 2009/06/21 19:17:22 sam Exp $ */ /* @@ -46,6 +46,8 @@ #define IER_ERLS 0x4 #define IER_EMSC 0x8 +#define IER_BITS "\20\1ERXRDY\2ETXRDY\3ERLS\4EMSC" + #define com_iir 2 /* interrupt identification register (R) */ #define REG_IIR com_iir #define IIR_IMASK 0xf @@ -57,6 +59,8 @@ #define IIR_MLSC 0x0 #define IIR_FIFO_MASK 0xc0 /* set if FIFOs are enabled */ +#define IIR_BITS "\20\1NOPEND\2TXRDY\3RXRDY" + #define com_lcr 3 /* line control register (R/W) */ #define com_cfcr com_lcr /* character format control register (R/W) */ #define REG_LCR com_lcr @@ -97,6 +101,8 @@ #define MCR_RTS 0x02 #define MCR_DTR 0x01 +#define MCR_BITS "\20\1DTR\2RTS\3DRS\4IE\5LOOPBACK\10PRESCALE" + #define com_lsr 5 /* line status register (R/W) */ #define REG_LSR com_lsr #define LSR_RCV_FIFO 0x80 @@ -111,6 +117,8 @@ #define LSR_RXRDY 0x01 #define LSR_RCV_MASK 0x1f +#define LSR_BITS "\20\1RXRDY\2OE\3PE\4FE\5BI\6THRE\7TEMT\10RCV_FIFO" + #define com_msr 6 /* modem status register (R/W) */ #define REG_MSR com_msr #define MSR_DCD 0x80 @@ -122,6 +130,8 @@ #define MSR_DDSR 0x02 #define MSR_DCTS 0x01 +#define MSR_BITS "\20\1DCTS\2DDSR\3TERI\4DDCD\5CTS\6DSR\7RI\10DCD" + /* 8250 multiplexed registers #[0-1]. Access enabled by LCR[7]. */ #define com_dll 0 /* divisor latch low (R/W) */ #define com_dlbl com_dll @@ -154,6 +164,8 @@ #define FCR_RX_HIGH 0xc0 #define FIFO_RX_HIGH FCR_RX_HIGH +#define FCR_BITS "\20\1ENABLE\2RCV_RST\3XMT_RST\4DMA" + /* 16650 registers #2,[4-7]. Access enabled by LCR_EFR_ENABLE. */ #define com_efr 2 /* enhanced features register (R/W) */ ==== //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#8 (text+ko) ==== @@ -1,5 +1,5 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/storage/umass.c,v 1.17 2009/06/15 01:02:43 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/storage/umass.c,v 1.19 2009/06/21 13:13:13 remko Exp $"); /*- * Copyright (c) 1999 MAEKAWA Masahide , @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/usb/storage/umass.c,v 1.17 2009/06/15 01:02:43 thompsa Exp $ + * $FreeBSD: src/sys/dev/usb/storage/umass.c,v 1.19 2009/06/21 13:13:13 remko Exp $ * $NetBSD: umass.c,v 1.28 2000/04/02 23:46:53 augustss Exp $ */ @@ -629,6 +629,10 @@ UMASS_PROTO_DEFAULT, IGNORE_RESIDUE | NO_SYNCHRONIZE_CACHE }, + {USB_VENDOR_MYSON, USB_PRODUCT_MYSON_HEDEN_8813, RID_WILDCARD, + UMASS_PROTO_DEFAULT, + NO_SYNCHRONIZE_CACHE + }, {USB_VENDOR_MYSON, USB_PRODUCT_MYSON_STARREADER, RID_WILDCARD, UMASS_PROTO_DEFAULT, NO_SYNCHRONIZE_CACHE ==== //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#27 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/usb/usbdevs,v 1.416 2009/06/13 11:18:47 sanpei Exp $ +$FreeBSD: src/sys/dev/usb/usbdevs,v 1.417 2009/06/21 11:21:16 remko Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- @@ -1819,6 +1819,7 @@ product MSYSTEMS DISKONKEY2 0x0011 DiskOnKey /* Myson products */ +product MYSON HEDEN_8813 0x8813 USB-IDE product MYSON HEDEN 0x8818 USB-IDE product MYSON STARREADER 0x9920 USB flash card adapter ==== //depot/projects/vimage-commit2/src/sys/fs/ntfs/ntfs.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/ntfs/ntfs.h,v 1.20 2005/09/11 15:57:07 rodrigc Exp $ + * $FreeBSD: src/sys/fs/ntfs/ntfs.h,v 1.21 2009/06/21 08:36:30 rdivacky Exp $ */ /*#define NTFS_DEBUG 1*/ @@ -296,11 +296,11 @@ #if NTFS_DEBUG > 1 #define ddprintf(a) printf a #else -#define ddprintf(a) +#define ddprintf(a) (void)0 #endif #else -#define dprintf(a) -#define ddprintf(a) +#define dprintf(a) (void)0 +#define ddprintf(a) (void)0 #endif extern struct vop_vector ntfs_vnodeops; ==== //depot/projects/vimage-commit2/src/sys/fs/nullfs/null_vnops.c#9 (text+ko) ==== @@ -36,7 +36,7 @@ * ...and... * @(#)null_vnodeops.c 1.20 92/07/07 UCLA Ficus project * - * $FreeBSD: src/sys/fs/nullfs/null_vnops.c,v 1.110 2009/05/31 14:58:43 kib Exp $ + * $FreeBSD: src/sys/fs/nullfs/null_vnops.c,v 1.111 2009/06/21 19:21:01 kib Exp $ */ /* @@ -747,6 +747,7 @@ struct vnode *vp = ap->a_vp; struct vnode **dvp = ap->a_vpp; struct vnode *lvp, *ldvp; + struct ucred *cred = ap->a_cred; int error, locked; if (vp->v_type == VDIR) @@ -757,7 +758,7 @@ vhold(lvp); VOP_UNLOCK(vp, 0); /* vp is held by vn_vptocnp_locked that called us */ ldvp = lvp; - error = vn_vptocnp(&ldvp, ap->a_buf, ap->a_buflen); + error = vn_vptocnp(&ldvp, cred, ap->a_buf, ap->a_buflen); vdrop(lvp); if (error != 0) { vn_lock(vp, locked | LK_RETRY); ==== //depot/projects/vimage-commit2/src/sys/i386/include/pmap.h#7 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/include/pmap.h,v 1.137 2009/06/13 13:56:06 ed Exp $ + * $FreeBSD: src/sys/i386/include/pmap.h,v 1.138 2009/06/22 04:21:02 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -185,9 +185,7 @@ extern pdpt_entry_t *IdlePDPT; #endif extern pd_entry_t *IdlePTD; /* physical address of "Idle" state directory */ -#endif -#ifdef _KERNEL /* * virtual address to page table entry and * to physical address. @@ -450,14 +448,6 @@ #ifdef _KERNEL -#define NPPROVMTRR 8 -#define PPRO_VMTRRphysBase0 0x200 -#define PPRO_VMTRRphysMask0 0x201 -struct ppro_vmtrr { - u_int64_t base, mask; -}; -extern struct ppro_vmtrr PPro_vmtrr[NPPROVMTRR]; - extern caddr_t CADDR1; extern pt_entry_t *CMAP1; extern vm_paddr_t phys_avail[]; ==== //depot/projects/vimage-commit2/src/sys/kern/kern_alq.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_alq.c,v 1.26 2009/06/05 14:55:22 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_alq.c,v 1.27 2009/06/21 13:41:32 kib Exp $"); #include #include @@ -351,7 +351,7 @@ NDINIT(&nd, LOOKUP, NOFOLLOW | MPSAFE, UIO_SYSSPACE, file, td); flags = FWRITE | O_NOFOLLOW | O_CREAT; - error = vn_open_cred(&nd, &flags, cmode, cred, NULL); + error = vn_open_cred(&nd, &flags, cmode, 0, cred, NULL); if (error) return (error); ==== //depot/projects/vimage-commit2/src/sys/kern/kern_sig.c#9 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.368 2009/04/10 10:52:19 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.369 2009/06/21 13:41:32 kib Exp $"); #include "opt_compat.h" #include "opt_kdtrace.h" @@ -2940,7 +2940,8 @@ restart: NDINIT(&nd, LOOKUP, NOFOLLOW | MPSAFE, UIO_SYSSPACE, name, td); flags = O_CREAT | FWRITE | O_NOFOLLOW; - error = vn_open(&nd, &flags, S_IRUSR | S_IWUSR, NULL); + error = vn_open_cred(&nd, &flags, S_IRUSR | S_IWUSR, VN_OPEN_NOAUDIT, + NULL, NULL); if (error) { #ifdef AUDIT audit_proc_coredump(td, name, error); ==== //depot/projects/vimage-commit2/src/sys/kern/uipc_mbuf.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.183 2009/06/05 14:55:22 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.184 2009/06/22 19:35:39 andre Exp $"); #include "opt_param.h" #include "opt_mbuf_stress_test.h" @@ -320,11 +320,13 @@ m->m_flags &= ~M_PKTHDR; bzero(&m->m_pkthdr, sizeof(struct pkthdr)); } - if (m->m_type == MT_HEADER) - m->m_type = MT_DATA; - if (m != m0 && m->m_nextpkt != NULL) + if (m != m0 && m->m_nextpkt != NULL) { + KASSERT(m->m_nextpkt == NULL, + ("%s: m_nextpkt not NULL", __func__)); + m_freem(m->m_nextpkt); m->m_nextpkt = NULL; - m->m_flags = m->m_flags & (M_EXT|M_EOR|M_RDONLY|M_FREELIST); + } + m->m_flags = m->m_flags & (M_EXT|M_RDONLY|M_FREELIST|M_NOFREE); } } ==== //depot/projects/vimage-commit2/src/sys/kern/vfs_cache.c#21 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.157 2009/06/05 16:44:42 marcus Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.158 2009/06/21 19:21:01 kib Exp $"); #include "opt_kdtrace.h" #include "opt_ktrace.h" @@ -206,7 +206,8 @@ static void cache_zap(struct namecache *ncp); -static int vn_vptocnp_locked(struct vnode **vp, char *buf, u_int *buflen); +static int vn_vptocnp_locked(struct vnode **vp, struct ucred *cred, char *buf, + u_int *buflen); static int vn_fullpath1(struct thread *td, struct vnode *vp, struct vnode *rdir, char *buf, char **retbuf, u_int buflen); @@ -1037,12 +1038,12 @@ } int -vn_vptocnp(struct vnode **vp, char *buf, u_int *buflen) +vn_vptocnp(struct vnode **vp, struct ucred *cred, char *buf, u_int *buflen) { int error; CACHE_RLOCK(); - error = vn_vptocnp_locked(vp, buf, buflen); + error = vn_vptocnp_locked(vp, cred, buf, buflen); if (error == 0) { /* * vn_vptocnp_locked() dropped hold acquired by @@ -1057,7 +1058,8 @@ } static int -vn_vptocnp_locked(struct vnode **vp, char *buf, u_int *buflen) +vn_vptocnp_locked(struct vnode **vp, struct ucred *cred, char *buf, + u_int *buflen) { struct vnode *dvp; struct namecache *ncp; @@ -1089,7 +1091,7 @@ CACHE_RUNLOCK(); vfslocked = VFS_LOCK_GIANT((*vp)->v_mount); vn_lock(*vp, LK_SHARED | LK_RETRY); - error = VOP_VPTOCNP(*vp, &dvp, buf, buflen); + error = VOP_VPTOCNP(*vp, &dvp, cred, buf, buflen); VOP_UNLOCK(*vp, 0); vdrop(*vp); VFS_UNLOCK_GIANT(vfslocked); @@ -1137,7 +1139,7 @@ numfullpathcalls++; CACHE_RLOCK(); if (vp->v_type != VDIR) { - error = vn_vptocnp_locked(&vp, buf, &buflen); + error = vn_vptocnp_locked(&vp, td->td_ucred, buf, &buflen); if (error) return (error); if (buflen == 0) { @@ -1167,7 +1169,7 @@ error, vp, NULL, 0, 0); break; } - error = vn_vptocnp_locked(&vp, buf, &buflen); + error = vn_vptocnp_locked(&vp, td->td_ucred, buf, &buflen); if (error) break; if (buflen == 0) { ==== //depot/projects/vimage-commit2/src/sys/kern/vfs_default.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.152 2009/06/05 14:23:24 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_default.c,v 1.154 2009/06/21 19:21:01 kib Exp $"); #include #include @@ -693,6 +693,7 @@ { struct vnode *vp = ap->a_vp; struct vnode **dvp = ap->a_vpp; + struct ucred *cred = ap->a_cred; char *buf = ap->a_buf; int *buflen = ap->a_buflen; char *dirbuf, *cpos; @@ -713,7 +714,7 @@ if (vp->v_type != VDIR) return (ENOENT); - error = VOP_GETATTR(vp, &va, td->td_ucred); + error = VOP_GETATTR(vp, &va, cred); if (error) return (error); @@ -723,7 +724,7 @@ NDINIT_ATVP(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, "..", vp, td); flags = FREAD; - error = vn_open(&nd, &flags, 0, NULL); + error = vn_open_cred(&nd, &flags, 0, VN_OPEN_NOAUDIT, cred, NULL); if (error) { vn_lock(vp, locked | LK_RETRY); return (error); @@ -738,7 +739,7 @@ *dvp = (*dvp)->v_mount->mnt_vnodecovered; VREF(mvp); VOP_UNLOCK(mvp, 0); - vn_close(mvp, FREAD, td->td_ucred, td); + vn_close(mvp, FREAD, cred, td); VREF(*dvp); vn_lock(*dvp, LK_EXCLUSIVE | LK_RETRY); covered = 1; @@ -803,7 +804,7 @@ vrele(mvp); } else { VOP_UNLOCK(mvp, 0); - vn_close(mvp, FREAD, td->td_ucred, td); + vn_close(mvp, FREAD, cred, td); } vn_lock(vp, locked | LK_RETRY); return (error); ==== //depot/projects/vimage-commit2/src/sys/kern/vfs_vnops.c#19 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.284 2009/06/08 21:23:54 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.285 2009/06/21 13:41:32 kib Exp $"); #include #include @@ -91,7 +91,7 @@ { struct thread *td = ndp->ni_cnd.cn_thread; - return (vn_open_cred(ndp, flagp, cmode, td->td_ucred, fp)); + return (vn_open_cred(ndp, flagp, cmode, 0, td->td_ucred, fp)); } /* @@ -102,11 +102,8 @@ * due to the NDINIT being done elsewhere. */ int -vn_open_cred(ndp, flagp, cmode, cred, fp) - struct nameidata *ndp; - int *flagp, cmode; - struct ucred *cred; - struct file *fp; +vn_open_cred(struct nameidata *ndp, int *flagp, int cmode, u_int vn_open_flags, + struct ucred *cred, struct file *fp) { struct vnode *vp; struct mount *mp; @@ -124,9 +121,11 @@ if (fmode & O_CREAT) { ndp->ni_cnd.cn_nameiop = CREATE; ndp->ni_cnd.cn_flags = ISOPEN | LOCKPARENT | LOCKLEAF | - MPSAFE | AUDITVNODE1; + MPSAFE; if ((fmode & O_EXCL) == 0 && (fmode & O_NOFOLLOW) == 0) ndp->ni_cnd.cn_flags |= FOLLOW; + if (!(vn_open_flags & VN_OPEN_NOAUDIT)) + ndp->ni_cnd.cn_flags |= AUDITVNODE1; bwillwrite(); if ((error = namei(ndp)) != 0) return (error); @@ -181,9 +180,11 @@ ndp->ni_cnd.cn_nameiop = LOOKUP; ndp->ni_cnd.cn_flags = ISOPEN | ((fmode & O_NOFOLLOW) ? NOFOLLOW : FOLLOW) | - LOCKLEAF | MPSAFE | AUDITVNODE1; + LOCKLEAF | MPSAFE; if (!(fmode & FWRITE)) ndp->ni_cnd.cn_flags |= LOCKSHARED; + if (!(vn_open_flags & VN_OPEN_NOAUDIT)) + ndp->ni_cnd.cn_flags |= AUDITVNODE1; if ((error = namei(ndp)) != 0) return (error); if (!mpsafe) ==== //depot/projects/vimage-commit2/src/sys/kern/vnode_if.src#11 (text+ko) ==== @@ -27,7 +27,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.src 8.12 (Berkeley) 5/14/95 -# $FreeBSD: src/sys/kern/vnode_if.src,v 1.101 2009/06/11 17:06:45 ps Exp $ +# $FreeBSD: src/sys/kern/vnode_if.src,v 1.102 2009/06/21 19:21:01 kib Exp $ # # @@ -607,6 +607,7 @@ vop_vptocnp { IN struct vnode *vp; OUT struct vnode **vpp; + IN struct ucred *cred; INOUT char *buf; INOUT int *buflen; }; ==== //depot/projects/vimage-commit2/src/sys/libkern/iconv.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/iconv.c,v 1.13 2008/12/05 21:19:24 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/iconv.c,v 1.14 2009/06/22 17:09:46 delphij Exp $"); #include #include @@ -307,6 +307,18 @@ return ICONV_CONVERTER_CONV(handle, inbuf, inbytesleft, outbuf, outbytesleft, 1, casetype); } +int +towlower(int c, void *handle) +{ + return ICONV_CONVERTER_TOLOWER(handle, c); +} + +int +towupper(int c, void *handle) +{ + return ICONV_CONVERTER_TOUPPER(handle, c); +} + /* * Give a list of loaded converters. Each name terminated with 0. * An empty string terminates the list. @@ -442,6 +454,12 @@ } int +iconv_converter_tolowerstub(int c, void *handle) +{ + return (c); +} + +int iconv_converter_handler(module_t mod, int type, void *data) { struct iconv_converter_class *dcp = data; ==== //depot/projects/vimage-commit2/src/sys/libkern/iconv_converter_if.m#2 (text+ko) ==== @@ -29,7 +29,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sys/libkern/iconv_converter_if.m,v 1.3 2005/01/07 00:24:32 imp Exp $ +# $FreeBSD: src/sys/libkern/iconv_converter_if.m,v 1.4 2009/06/22 17:09:46 delphij Exp $ # #include @@ -68,3 +68,13 @@ STATICMETHOD const char * name { struct iconv_converter_class *dcp; }; + +METHOD int tolower { + void *handle; + int c; +} DEFAULT iconv_converter_tolowerstub; + +METHOD int toupper { + void *handle; + int c; +} DEFAULT iconv_converter_tolowerstub; ==== //depot/projects/vimage-commit2/src/sys/libkern/iconv_xlat16.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003, Ryuichiro Imura + * Copyright (c) 2003, 2005 Ryuichiro Imura * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/iconv_xlat16.c,v 1.3 2005/05/24 15:38:08 imura Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/iconv_xlat16.c,v 1.4 2009/06/22 17:09:46 delphij Exp $"); #include #include @@ -43,12 +43,17 @@ MODULE_DEPEND(iconv_xlat16, libiconv, 2, 2, 2); #endif +#define C2I1(c) ((c) & 0x8000 ? ((c) & 0xff) | 0x100 : (c) & 0xff) +#define C2I2(c) ((c) & 0x8000 ? ((c) >> 8) & 0x7f : ((c) >> 8) & 0xff) + /* * XLAT16 converter instance */ struct iconv_xlat16 { KOBJ_FIELDS; uint32_t * d_table[0x200]; + void * f_ctp; + void * t_ctp; struct iconv_cspair * d_csp; }; @@ -72,6 +77,16 @@ } idxp++; } + + if (strcmp(csp->cp_to, KICONV_WCTYPE_NAME) != 0) { + if (iconv_open(KICONV_WCTYPE_NAME, csp->cp_from, &dp->f_ctp) != 0) + dp->f_ctp = NULL; + if (iconv_open(KICONV_WCTYPE_NAME, csp->cp_to, &dp->t_ctp) != 0) + dp->t_ctp = NULL; + } else { + dp->f_ctp = dp->t_ctp = dp; + } + dp->d_csp = csp; csp->cp_refcount++; *dpp = (void*)dp; @@ -83,6 +98,10 @@ { struct iconv_xlat16 *dp = data; + if (dp->f_ctp && dp->f_ctp != data) + iconv_close(dp->f_ctp); + if (dp->t_ctp && dp->t_ctp != data) + iconv_close(dp->t_ctp); dp->d_csp->cp_refcount--; kobj_delete((struct kobj*)data, M_ICONV); return (0); @@ -100,7 +119,7 @@ size_t in, on, ir, or, inlen; uint32_t code; u_char u, l; - uint16_t c1, c2; + uint16_t c1, c2, ctmp; if (inbuf == NULL || *inbuf == NULL || outbuf == NULL || *outbuf == NULL) return (0); @@ -112,21 +131,32 @@ while(ir > 0 && or > 0) { inlen = 0; - code = '\0'; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:09:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 396D71065679; Mon, 22 Jun 2009 20:09:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED744106564A for ; Mon, 22 Jun 2009 20:09:21 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DBB4B8FC26 for ; Mon, 22 Jun 2009 20:09:21 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MK9L5r057706 for ; Mon, 22 Jun 2009 20:09:21 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MK9LJp057704 for perforce@freebsd.org; Mon, 22 Jun 2009 20:09:21 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 22 Jun 2009 20:09:21 GMT Message-Id: <200906222009.n5MK9LJp057704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:09:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=164894 Change 164894 by truncs@aditya on 2009/06/22 20:09:04 New functions. ext2_hashalloc will be used for inode allocation policy, ext2_dirpref will be used for allocating if its a directory and ext2_alloccg will be used for allocating a block if it's available. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#7 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#7 (text+ko) ==== @@ -51,7 +51,11 @@ #include static void ext2_fserr(struct m_ext2fs *, u_int, char *); - +static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); +static ino_t ext2_dirpref(struct m_ext2fs *); +static ino_t ext2_hashalloc(struct inode *, int, long, int, + daddr_t (*)(struct inode *, int, daddr_t, + int)); /* * Linux calls this functions at the following locations: * (1) the inode is freed @@ -370,11 +374,11 @@ fs = pip->i_e2fs; if (fs->e2fs->e2fs_ficount == 0) goto noinodes; - + /* call the Linux routine - it returns the inode number only */ ino = ext2_new_inode(pip, mode); - if (ino == 0) + if (ino == 0) goto noinodes; error = VFS_VGET(pvp->v_mount, ino, LK_EXCLUSIVE, vpp); if (error) { From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:13:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E514106567D; Mon, 22 Jun 2009 20:13:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE1D5106567B for ; Mon, 22 Jun 2009 20:13:29 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC16E8FC1E for ; Mon, 22 Jun 2009 20:13:29 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKDTZS058059 for ; Mon, 22 Jun 2009 20:13:29 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MKDTlu058057 for perforce@freebsd.org; Mon, 22 Jun 2009 20:13:29 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 22 Jun 2009 20:13:29 GMT Message-Id: <200906222013.n5MKDTlu058057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164896 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:13:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=164896 Change 164896 by syl@syl_atuin on 2009/06/22 20:12:52 - Fix a bug in usb_generic for isochronous control transfer (find by Hans Petter Selasky). - Update test2 code. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#6 edit .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#6 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.c#6 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#6 (text+ko) ==== @@ -28,11 +28,8 @@ dev = libusb_get_device(devh); ret = libusb_control_transfer(devh, 0xa1, 0x03, 0x00, 0x00, data, 2, 10); printf("end tr\n"); - if (ret == LIBUSB_TRANSFER_COMPLETED) { - printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); - } else { - printf("transfer failed with 0x%.8x error code\n", ret); - } + printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); + printf("transfer failed with 0x%.8x error code\n", ret); } else { fprintf(stderr, "\nNo device match or lack of permissions.\n"); } ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#6 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.c#6 (text+ko) ==== @@ -1070,7 +1070,7 @@ if (error) { return (error); } - if (length >= sizeof(*req)) { + if (length != sizeof(*req)) { xfer->error = USB_ERR_INVAL; goto complete; } From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:22:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 267201065678; Mon, 22 Jun 2009 20:22:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAB1D1065676 for ; Mon, 22 Jun 2009 20:22:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C8F238FC1B for ; Mon, 22 Jun 2009 20:22:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKMdZo058874 for ; Mon, 22 Jun 2009 20:22:39 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MKMdvB058872 for perforce@freebsd.org; Mon, 22 Jun 2009 20:22:39 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 22 Jun 2009 20:22:39 GMT Message-Id: <200906222022.n5MKMdvB058872@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164898 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:22:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=164898 Change 164898 by syl@syl_atuin on 2009/06/22 20:21:38 Remove junk debug trace. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#7 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#44 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#7 (text+ko) ==== @@ -29,7 +29,6 @@ ret = libusb_control_transfer(devh, 0xa1, 0x03, 0x00, 0x00, data, 2, 10); printf("end tr\n"); printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); - printf("transfer failed with 0x%.8x error code\n", ret); } else { fprintf(stderr, "\nNo device match or lack of permissions.\n"); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#44 (text+ko) ==== @@ -833,7 +833,6 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - printf("completed\n"); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); usb_xfer->callback(usb_xfer); @@ -843,7 +842,6 @@ pthread_mutex_unlock(&ctx->flying_transfers_lock); break ; case LIBUSB20_TRANSFER_START: - printf("start\n"); dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); usb_xfer->actual_length = 0; switch (usb_xfer->type) { @@ -880,7 +878,8 @@ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); break ; default: - printf("default 0x%x\n", status); + if (ctx->debug == LIBUSB_DEBUG_TRANSFER) + printf("LIBUSB TRANSFER DEFAULT 0x%x\n", status); usb_xfer->actual_length = 0; usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:28:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F4AA1065673; Mon, 22 Jun 2009 20:28:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2DC4106566C for ; Mon, 22 Jun 2009 20:28:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 96C558FC17 for ; Mon, 22 Jun 2009 20:28:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKSkj0059400 for ; Mon, 22 Jun 2009 20:28:46 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MKSk7Z059398 for perforce@freebsd.org; Mon, 22 Jun 2009 20:28:46 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 22 Jun 2009 20:28:46 GMT Message-Id: <200906222028.n5MKSk7Z059398@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164900 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:28:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=164900 Change 164900 by truncs@aditya on 2009/06/22 20:28:46 ext2_nodealloccg is used for allocating a inode. ext2_dirpref searches for a cylinder group that has more free inodes than the average number of free inodes per cylinder group. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#8 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#8 (text+ko) ==== @@ -50,12 +50,13 @@ #include #include -static void ext2_fserr(struct m_ext2fs *, u_int, char *); static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); static ino_t ext2_dirpref(struct m_ext2fs *); +static void ext2_fserr(struct m_ext2fs *, u_int, char *); static ino_t ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); +static daddr_t ext2fs_nodealloccg(struct inode *, int, daddr_t. int); /* * Linux calls this functions at the following locations: * (1) the inode is freed @@ -536,3 +537,29 @@ log(LOG_ERR, "uid %d on %s: %s\n", uid, fs->e2fs_fsmnt, cp); } + +/* + * Find a cylinder to place a directory. + * + * The policy implemented by this algorithm is to select from + * among those cylinder groups with above the average number of + * free inodes, the one with the smallest number of directories. + */ +static ino_t +ext2fs_dirpref(struct m_ext2fs *fs) +{ + int maxspace, avgifree; + ino_t cg, mincg; + avgifree = fs->e2fs.e2fs_ficount / fs->e2fs_ncg; + maxspace = 0; + mincg = -1; + for (cg = 0; cg < fs->e2fs_ncg; cg++) + if ( fs->e2fs_gd[cg].ext2bgd_nifree >= avgifree) { + if (mincg == -1 || fs->e2fs_gd[cg].ext2bgd_nbfree > maxspace) { + mincg = cg; + maxspace = fs->e2fs_gd[cg].ext2bgd_nbfree; + } + } + return mincg; +} + From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:32:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1F3B1065693; Mon, 22 Jun 2009 20:32:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 540F51065679 for ; Mon, 22 Jun 2009 20:32:51 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 416038FC08 for ; Mon, 22 Jun 2009 20:32:51 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKWpIv059763 for ; Mon, 22 Jun 2009 20:32:51 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MKWpsg059761 for perforce@freebsd.org; Mon, 22 Jun 2009 20:32:51 GMT (envelope-from zec@fer.hr) Date: Mon, 22 Jun 2009 20:32:51 GMT Message-Id: <200906222032.n5MKWpsg059761@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164901 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:32:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=164901 Change 164901 by zec@zec_amdx4 on 2009/06/22 20:32:38 Store flowtable state in struct vnet_inet, not vnet_net. Suggested by: bz Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#9 edit .. //depot/projects/vimage-commit2/src/sys/net/vnet.h#27 edit .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#45 edit .. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#35 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#76 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.c#9 (text+ko) ==== @@ -54,7 +54,6 @@ #include #include #include -#include #include #include @@ -65,6 +64,7 @@ #include #include #include +#include #include @@ -180,7 +180,7 @@ static const vnet_modinfo_t flowtable_modinfo = { .vmi_id = VNET_MOD_FLOWTABLE, .vmi_name = "flowtable", - .vmi_dependson = VNET_MOD_NET, + .vmi_dependson = VNET_MOD_INET, .vmi_iattach = flowtable_iattach, #ifdef VIMAGE .vmi_idetach = flowtable_idetach @@ -221,37 +221,37 @@ static int flowtable_nmbflows; #endif SYSCTL_NODE(_net_inet, OID_AUTO, flowtable, CTLFLAG_RD, NULL, "flowtable"); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, enable, CTLFLAG_RW, - flowtable_enable, 0, "enable flowtable caching."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, hits, CTLFLAG_RD, - flowtable_hits, 0, "# flowtable hits."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, lookups, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, enable, + CTLFLAG_RW, flowtable_enable, 0, "enable flowtable caching."); +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, hits, + CTLFLAG_RD, flowtable_hits, 0, "# flowtable hits."); +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, lookups, CTLFLAG_RD, flowtable_lookups, 0, "# flowtable lookups."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, misses, CTLFLAG_RD, - flowtable_misses, 0, "#flowtable misses."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, frees, CTLFLAG_RD, - flowtable_frees, 0, "#flows freed."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, free_checks, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, misses, + CTLFLAG_RD, flowtable_misses, 0, "#flowtable misses."); +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, frees, + CTLFLAG_RD, flowtable_frees, 0, "#flows freed."); +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, free_checks, CTLFLAG_RD, flowtable_free_checks, 0, "#flows free checks."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, max_depth, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, max_depth, CTLFLAG_RD, flowtable_max_depth, 0, "max collision list length."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, collisions, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, collisions, CTLFLAG_RD, flowtable_collisions, 0, "#flowtable collisions."); /* * XXX This does not end up updating timeouts at runtime * and only reflects the value for the last table added :-/ */ -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, syn_expire, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, syn_expire, CTLFLAG_RW, flowtable_syn_expire, 0, "seconds after which to remove syn allocated flow."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, udp_expire, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, udp_expire, CTLFLAG_RW, flowtable_udp_expire, 0, "seconds after which to remove flow allocated to UDP."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, fin_wait_expire, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, fin_wait_expire, CTLFLAG_RW, flowtable_fin_wait_expire, 0, "seconds after which to remove a flow in FIN_WAIT."); -SYSCTL_V_INT(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, tcp_expire, +SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, tcp_expire, CTLFLAG_RW, flowtable_tcp_expire, 0, "seconds after which to remove flow allocated to a TCP connection."); @@ -266,7 +266,7 @@ static int sysctl_nmbflows(SYSCTL_HANDLER_ARGS) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); int error, newnmbflows; newnmbflows = V_flowtable_nmbflows; @@ -283,7 +283,7 @@ } return (error); } -SYSCTL_V_PROC(V_NET, vnet_net, _net_inet_flowtable, OID_AUTO, nmbflows, +SYSCTL_V_PROC(V_NET, vnet_inet, _net_inet_flowtable, OID_AUTO, nmbflows, CTLTYPE_INT|CTLFLAG_RW, flowtable_nmbflows, 0, sysctl_nmbflows, "IU", "Maximum number of flows allowed"); @@ -338,7 +338,7 @@ ipv4_flow_lookup_hash_internal(struct mbuf *m, struct route *ro, uint32_t *key, uint16_t *flags, uint8_t *protop) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); uint16_t sport = 0, dport = 0; struct ip *ip = NULL; uint8_t proto = 0; @@ -505,7 +505,7 @@ flowtable_insert(struct flowtable *ft, uint32_t hash, uint32_t *key, uint8_t proto, struct route *ro, uint16_t flags) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct flentry *fle, *fletail, *newfle, **flep; int depth; uma_zone_t flezone; @@ -596,7 +596,7 @@ int flowtable_lookup(struct flowtable *ft, struct mbuf *m, struct route *ro) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); uint32_t key[9], hash; struct flentry *fle; uint16_t flags; @@ -718,7 +718,7 @@ struct flowtable * flowtable_alloc(int nentry, int flags) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct flowtable *ft, *fttail; int i; @@ -810,7 +810,7 @@ static int flowtable_iattach(const void *unused __unused) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); V_flowtable_enable = 1; V_flowtable_hits = 0; @@ -839,7 +839,7 @@ static int flowtable_idetach(const void *unused __unused) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); uma_zdestroy(V_flow_ipv4_zone); uma_zdestroy(V_flow_ipv6_zone); @@ -858,7 +858,7 @@ static void fle_free(struct flentry *fle) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct rtentry *rt; struct llentry *lle; @@ -873,7 +873,7 @@ static void flowtable_free_stale(struct flowtable *ft) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); int curbit = 0, count; struct flentry *fle, **flehead, *fleprev; struct flentry *flefreehead, *flefreetail, *fletmp; @@ -961,7 +961,7 @@ static void flowtable_clean_vnet(void) { - INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct flowtable *ft; int i; ==== //depot/projects/vimage-commit2/src/sys/net/vnet.h#27 (text+ko) ==== @@ -54,25 +54,6 @@ int _if_cloners_count; int _ether_ipfw; - - struct flowtable * _flow_list_head; - uint32_t _flow_hashjitter; - uma_zone_t _flow_ipv4_zone; - uma_zone_t _flow_ipv6_zone; - - int _flowtable_enable; - int _flowtable_hits; - int _flowtable_lookups; - int _flowtable_misses; - int _flowtable_frees; - int _flowtable_free_checks; - int _flowtable_max_depth; - int _flowtable_collisions; - int _flowtable_syn_expire; - int _flowtable_udp_expire; - int _flowtable_fin_wait_expire; - int _flowtable_tcp_expire; - int _flowtable_nmbflows; }; /* Size guard. See sys/vimage.h. */ @@ -93,23 +74,6 @@ #define VNET_NET(sym) VSYM(vnet_net, sym) #define V_ether_ipfw VNET_NET(ether_ipfw) -#define V_flow_hashjitter VNET_NET(flow_hashjitter) -#define V_flow_ipv4_zone VNET_NET(flow_ipv4_zone) -#define V_flow_ipv6_zone VNET_NET(flow_ipv6_zone) -#define V_flow_list_head VNET_NET(flow_list_head) -#define V_flowtable_collisions VNET_NET(flowtable_collisions) -#define V_flowtable_enable VNET_NET(flowtable_enable) -#define V_flowtable_fin_wait_expire VNET_NET(flowtable_fin_wait_expire) -#define V_flowtable_free_checks VNET_NET(flowtable_free_checks) -#define V_flowtable_frees VNET_NET(flowtable_frees) -#define V_flowtable_hits VNET_NET(flowtable_hits) -#define V_flowtable_lookups VNET_NET(flowtable_lookups) -#define V_flowtable_max_depth VNET_NET(flowtable_max_depth) -#define V_flowtable_misses VNET_NET(flowtable_misses) -#define V_flowtable_nmbflows VNET_NET(flowtable_nmbflows) -#define V_flowtable_syn_expire VNET_NET(flowtable_syn_expire) -#define V_flowtable_tcp_expire VNET_NET(flowtable_tcp_expire) -#define V_flowtable_udp_expire VNET_NET(flowtable_udp_expire) #define V_if_index VNET_NET(if_index) #define V_if_indexlim VNET_NET(if_indexlim) #define V_if_cloners VNET_NET(if_cloners) ==== //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#45 (text+ko) ==== @@ -336,9 +336,9 @@ maxnipq_update(); #ifdef FLOWTABLE + V_ip_output_flowtable_size = 2048; TUNABLE_INT_FETCH("net.inet.ip.output_flowtable_size", &V_ip_output_flowtable_size); - V_ip_output_flowtable_size = 2048; V_ip_ft = flowtable_alloc(V_ip_output_flowtable_size, FL_PCPU); #endif ==== //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#35 (text+ko) ==== @@ -214,6 +214,23 @@ int _fw_one_pass; struct flowtable * _ip_ft; + struct flowtable * _flow_list_head; + uint32_t _flow_hashjitter; + uma_zone_t _flow_ipv4_zone; + uma_zone_t _flow_ipv6_zone; + int _flowtable_enable; + int _flowtable_hits; + int _flowtable_lookups; + int _flowtable_misses; + int _flowtable_frees; + int _flowtable_free_checks; + int _flowtable_max_depth; + int _flowtable_collisions; + int _flowtable_syn_expire; + int _flowtable_udp_expire; + int _flowtable_fin_wait_expire; + int _flowtable_tcp_expire; + int _flowtable_nmbflows; }; /* Size guard. See sys/vimage.h. */ @@ -242,6 +259,23 @@ #define V_drop_redirect VNET_INET(drop_redirect) #define V_drop_synfin VNET_INET(drop_synfin) #define V_fw_one_pass VNET_INET(fw_one_pass) +#define V_flow_hashjitter VNET_INET(flow_hashjitter) +#define V_flow_ipv4_zone VNET_INET(flow_ipv4_zone) +#define V_flow_ipv6_zone VNET_INET(flow_ipv6_zone) +#define V_flow_list_head VNET_INET(flow_list_head) +#define V_flowtable_collisions VNET_INET(flowtable_collisions) +#define V_flowtable_enable VNET_INET(flowtable_enable) +#define V_flowtable_fin_wait_expire VNET_INET(flowtable_fin_wait_expire) +#define V_flowtable_free_checks VNET_INET(flowtable_free_checks) +#define V_flowtable_frees VNET_INET(flowtable_frees) +#define V_flowtable_hits VNET_INET(flowtable_hits) +#define V_flowtable_lookups VNET_INET(flowtable_lookups) +#define V_flowtable_max_depth VNET_INET(flowtable_max_depth) +#define V_flowtable_misses VNET_INET(flowtable_misses) +#define V_flowtable_nmbflows VNET_INET(flowtable_nmbflows) +#define V_flowtable_syn_expire VNET_INET(flowtable_syn_expire) +#define V_flowtable_tcp_expire VNET_INET(flowtable_tcp_expire) +#define V_flowtable_udp_expire VNET_INET(flowtable_udp_expire) #define V_icmp_may_rst VNET_INET(icmp_may_rst) #define V_icmp_quotelen VNET_INET(icmp_quotelen) #define V_icmp_rfi VNET_INET(icmp_rfi) ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#76 (text+ko) ==== @@ -125,7 +125,6 @@ #define VNET_MOD_RTABLE 14 /* Stateless modules. */ -#define VNET_MOD_FLOWTABLE 18 #define VNET_MOD_IF_CLONE 19 #define VNET_MOD_NG_ETHER 20 #define VNET_MOD_NG_IFACE 21 @@ -136,7 +135,7 @@ #define VNET_MOD_IPCOMP 26 #define VNET_MOD_GIF 27 #define VNET_MOD_ARP 28 - /* 29 */ +#define VNET_MOD_FLOWTABLE 29 #define VNET_MOD_LOIF 30 #define VNET_MOD_DOMAIN 31 #define VNET_MOD_DYNAMIC_START 32 From owner-p4-projects@FreeBSD.ORG Mon Jun 22 20:44:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 51E6E1065673; Mon, 22 Jun 2009 20:44:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10277106564A for ; Mon, 22 Jun 2009 20:44:04 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D89388FC13 for ; Mon, 22 Jun 2009 20:44:03 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKi3QS060861 for ; Mon, 22 Jun 2009 20:44:03 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MKi3JK060859 for perforce@freebsd.org; Mon, 22 Jun 2009 20:44:03 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 22 Jun 2009 20:44:03 GMT Message-Id: <200906222044.n5MKi3JK060859@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164904 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jun 2009 20:44:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=164904 Change 164904 by truncs@aditya on 2009/06/22 20:43:24 ext2_hashalloc can allocate inode in 3 ways 1) preferred cylinder group 2) quadratic rehashing on a cylinder group 3) Brute force search Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#9 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#9 (text+ko) ==== @@ -563,3 +563,54 @@ return mincg; } +/* + * Implement the cylinder overflow algorithm. + * + * The policy implemented by this algorithm is: + * 1) allocate the block in its requested cylinder group. + * 2) quadradically rehash on the cylinder group number. + * 3) brute force search for a free block. + */ +static ino_t +ext2fs_hashalloc(struct inode *ip, int cg, long pref, int size, + daddr_t (*allocator)(struct inode *, int, daddr_t, int)) +{ + struct m_ext2fs *fs; + ino_t result; + int i, icg = cg; + + fs = ip->i_e2fs; + /* + * 1: preferred cylinder group + */ + result = (*allocator)(ip, cg, pref, size); + if (result) + return (result); + /* + * 2: quadratic rehash + */ + for (i = 1; i < fs->e2fs_ncg; i *= 2) { + cg += i; + if (cg >= fs->e2fs_ncg) + cg -= fs->e2fs_ncg; + result = (*allocator)(ip, cg, 0, size); + if (result) + return (result); + } + /* + * 3: brute force search + * Note that we start at i == 2, since 0 was checked initially, + * and 1 is always checked in the quadratic rehash. + */ + cg = (icg + 2) % fs->e2fs_ncg; + for (i = 2; i < fs->e2fs_ncg; i++) { + result = (*allocator)(ip, cg, 0, size); + if (result) + return (result); + cg++; + if (cg == fs->e2fs_ncg) + cg = 0; + } + return (0); +} + From owner-p4-projects@FreeBSD.ORG Tue Jun 23 05:19:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F35461065692; Tue, 23 Jun 2009 05:19:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9CD01065687 for ; Tue, 23 Jun 2009 05:19:48 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 907718FC1B for ; Tue, 23 Jun 2009 05:19:48 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N5Jm9d041175 for ; Tue, 23 Jun 2009 05:19:48 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N5JmHC041173 for perforce@freebsd.org; Tue, 23 Jun 2009 05:19:48 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 23 Jun 2009 05:19:48 GMT Message-Id: <200906230519.n5N5JmHC041173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164927 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 05:19:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164927 Change 164927 by dforsyth@squirrel on 2009/06/23 05:18:48 Little changes. Added conflict type, but it's none of its list building functions. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#24 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#23 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#1 add .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#1 add .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#16 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#13 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#5 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#8 (text+ko) ==== @@ -2,7 +2,7 @@ INCS= pkg.h WARNS= 6 SRCS= pkgdb.c pkgdb_hierdb.c pkgdb_hierdb_pkgdb_sub.c pkg.c pkg_util.c \ - pkg_file.c pkg_dep.c pkg_plist.c + pkg_file.c pkg_dep.c pkg_cfl.c pkg_plist.c NO_MAN= yes .include ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#24 (text+ko) ==== @@ -7,6 +7,7 @@ #include "pkg_util.h" #include "pkg_dep.h" #include "pkg_file.h" +#include "pkg_cfl.h" #include "pkg_plist.h" #include "pkgdb_hierdb_pkgdb_sub.h" #include "pkgdb_hierdb.h" ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#23 (text+ko) ==== @@ -167,17 +167,6 @@ void pkg_delete(struct pkg *p); -/* Check style. */ - -#define pkg_ent_list_init(t, p) \ - pkg_##t##_list_init(p) - -#define pkg_ent_list_next(t, p) \ - pkg_##t##_list_next(p) - -#define pkg_ent_list_add(t, p) \ - pkg_##t##_list_add(t, p) - /* pkgdb */ struct pkgdb; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#4 (text+ko) ==== @@ -8,6 +8,8 @@ struct pkg_dep { const char *name; const char *origin; + + int version; TAILQ_ENTRY(pkg_dep) next; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#16 (text+ko) ==== @@ -272,7 +272,15 @@ pkg_dep_set_name(pd, argument); pkg_plist_pkg_dep_list_append(pl, pd); st->last_elem = PLIST_PKGDEP; + } +#if 0 + else if (strcmp(comment, PLIST_CMD_CONFLICTS) == 0) { + pc = pkg_cfl_new(); + pc = pkg_cfl_set_name(pc, argument); + pkg_plist_pkg_cfl_list_append(pl, pd); + st->last_elem = PLIST_CONFLICTS; } +#endif #if 0 else if (strcmp(command, PLIST_CMD_NOINST) == 0) { if ((sep = strchr(argument, ' ')) != NULL) @@ -398,7 +406,7 @@ pkg_plist_pkg_file_list_reset(struct pkg_plist *pl) { /* If you init again, it clears the list. So don't. */ - pl->pf_curr = NULL; + pl->pkg_file_curr = NULL; } struct pkg_file * @@ -409,13 +417,13 @@ if (pl == NULL) return (NULL); - if (pl->pf_curr == NULL) + if (pl->pkg_file_curr == NULL) pf = pkg_plist_pkg_file_list_first(pl); else - pf = TAILQ_NEXT(pl->pf_curr, next); + pf = TAILQ_NEXT(pl->pkg_file_curr, next); if (pf != NULL) - pl->pf_curr = pf; + pl->pkg_file_curr = pf; return (pf); } @@ -426,7 +434,7 @@ if (pl == NULL) return; - TAILQ_INIT(&pl->pf_head); + TAILQ_INIT(&pl->pkg_file_head); } struct pkg_file * @@ -435,7 +443,7 @@ if (pl == NULL) return (NULL); - return (TAILQ_FIRST(&pl->pf_head)); + return (TAILQ_FIRST(&pl->pkg_file_head)); } struct pkg_file * @@ -444,7 +452,7 @@ if (pl == NULL) return (NULL); - return (TAILQ_LAST(&pl->pf_head, pf_head)); + return (TAILQ_LAST(&pl->pkg_file_head, pkg_file_head)); } void @@ -453,7 +461,7 @@ if (pl == NULL || pf == NULL) return; - TAILQ_INSERT_TAIL(&pl->pf_head, pf, next); + TAILQ_INSERT_TAIL(&pl->pkg_file_head, pf, next); } /* pkg_dep list manipulation and access. */ @@ -465,7 +473,7 @@ if (pl == NULL) return; - pl->pd_curr = NULL; + pl->pkg_dep_curr = NULL; } void @@ -474,7 +482,7 @@ if (pl == NULL) return; - TAILQ_INIT(&pl->pd_head); + TAILQ_INIT(&pl->pkg_dep_head); } struct pkg_dep * @@ -483,7 +491,7 @@ if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - return (TAILQ_LAST(&pl->pd_head, pd_head)); + return (TAILQ_LAST(&pl->pkg_dep_head, pkg_dep_head)); } void @@ -492,7 +500,7 @@ if (pl == NULL || pd == NULL) return; - TAILQ_INSERT_TAIL(&pl->pd_head, pd, next); + TAILQ_INSERT_TAIL(&pl->pkg_dep_head, pd, next); } struct pkg_dep * @@ -503,13 +511,13 @@ if (pl == NULL) return (NULL); - if (pl->pd_curr == NULL) + if (pl->pkg_dep_curr == NULL) pd = pkg_plist_pkg_dep_list_first(pl); else - pd = TAILQ_NEXT(pl->pd_curr, next); + pd = TAILQ_NEXT(pl->pkg_dep_curr, next); if (pd != NULL) - pl->pd_curr = pd; + pl->pkg_dep_curr = pd; return (pd); } @@ -520,5 +528,5 @@ if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - return (TAILQ_FIRST(&pl->pd_head)); + return (TAILQ_FIRST(&pl->pkg_dep_head)); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#13 (text+ko) ==== @@ -79,15 +79,18 @@ char *text; /* The entire plist */ - struct pkg_file *pf_curr; - struct pkg_dep *pd_curr; - + struct pkg_file *pkg_file_curr; + struct pkg_dep *pkg_dep_curr; + struct pkg_cfl *pkg_cfl_curr; + /* Use these lists here so that appending to our list doesnt need a * bunch of realloc procedures. This will be convenient for clients * that want to build plists on the fly, modify plists, etc. */ - TAILQ_HEAD(pf_head, pkg_file) pf_head; /* pkg_file list. */ - TAILQ_HEAD(pd_head, pkg_dep) pd_head; /* pkg_dep list. */ + TAILQ_HEAD(pkg_file_head, pkg_file) pkg_file_head; /* pkg_file list. */ + TAILQ_HEAD(pkg_dep_head, pkg_dep) pkg_dep_head; /* pkg_dep list. */ + TAILQ_HEAD(pkg_cfl_head, pkg_cfl) pkg_cfl_head; /* pkg_cfl list. */ + short parsed; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#7 (text+ko) ==== @@ -43,16 +43,13 @@ char *new_path; l = strlen(prefix); - if (prefix[l - 1] == '/') { - new_path = malloc(l + strlen(suffix) + 1); - strcpy(new_path, prefix); - strcat(new_path, suffix); - } else { - new_path = malloc(l + strlen(suffix) + 2); - strcpy(new_path, prefix); - strcat(new_path, "/"); - strcat(new_path, suffix); - } + while (prefix + l > prefix && prefix[l - 1] == '/') + --l; + + new_path = malloc(l + strlen(suffix) + 2); + memcpy(new_path, prefix, l); + strcpy(new_path + l, "/"); + strcat(new_path, suffix); return (new_path); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#8 (text+ko) ==== ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#17 (text+ko) ==== @@ -163,8 +163,8 @@ printf("\tcomplete: %s\n", (pkg_complete(p) ? "YES" : "NO")); printf("\tfiles:\n"); - pkg_ent_list_init(pkg_file, p); - while ((pf = pkg_ent_list_next(pkg_file, p)) != NULL) { + pkg_pkg_file_list_init(p); + while ((pf = pkg_pkg_file_list_next(p)) != NULL) { path = pkg_file_path(pf); md5 = pkg_file_md5(pf); owner = pkg_file_owner(pf); @@ -183,8 +183,8 @@ } printf("\tdepends:\n"); - pkg_ent_list_init(pkg_dep, p); - while ((pd = pkg_ent_list_next(pkg_dep, p)) != NULL) { + pkg_pkg_dep_list_init(p); + while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { name = pkg_dep_name(pd); origin = pkg_dep_origin(pd); printf("\t\t%s : %s\n", name, origin); ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#5 (text+ko) ==== @@ -2,6 +2,9 @@ #define __PKG_INFO_H__ #define PKG_DBDIR_DEFAULT "/var/db/pkg" /* Move this. */ +/* A goal should be to eliminate this directory, and instead store options + * seamlessly in plists. */ +#define PORTS_DBDIR_DEFAULT "/var/db/ports" #define BAD_OR_UNKNOWN_VALUE "???" void perform_on_db(struct pkgdb *db); From owner-p4-projects@FreeBSD.ORG Tue Jun 23 05:42:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2EB31065675; Tue, 23 Jun 2009 05:42:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79CBF106564A for ; Tue, 23 Jun 2009 05:42:13 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 674578FC19 for ; Tue, 23 Jun 2009 05:42:13 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N5gD5V042901 for ; Tue, 23 Jun 2009 05:42:13 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N5gDId042899 for perforce@freebsd.org; Tue, 23 Jun 2009 05:42:13 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 23 Jun 2009 05:42:13 GMT Message-Id: <200906230542.n5N5gDId042899@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164928 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 05:42:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164928 Change 164928 by dforsyth@squirrel on 2009/06/23 05:41:58 Conflict list is built. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#14 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#2 (text+ko) ==== @@ -10,13 +10,6 @@ /* Conflicts. */ -/* Yes, I'm that lazy. */ -struct pkg_cfl { - char *name; - - TAILQ_ENTRY(pkg_cfl) next; -}; - struct pkg_cfl * pkg_cfl_new() { ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#2 (text+ko) ==== @@ -1,7 +1,15 @@ #ifndef __PKG_CFL_H__ #define __PKG_CFL_H__ -struct pkg_cfl; +/* Yes, I'm that lazy. */ +struct pkg_cfl { + char *name; + int version; + + TAILQ_ENTRY(pkg_cfl) next; +}; + +struct pkg_cfl *pkg_cfl_new(void); int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#17 (text+ko) ==== @@ -10,6 +10,7 @@ #include #include "pkg_util.h" +#include "pkg_cfl.h" #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_plist.h" @@ -117,6 +118,8 @@ textp = strdup(text); if (textp == NULL) return (MEMORY_ERR); + /* Once parsed this is actually a leak because we lose track of the + * commands. */ pl->text = textp; @@ -125,6 +128,7 @@ * worrying about ruining other instances of a package. */ pkg_plist_pkg_file_list_init(pl); pkg_plist_pkg_dep_list_init(pl); + pkg_plist_pkg_cfl_list_init(pl); set_parse_state_default(&st); for (p = textp; *p != '\0'; p++) { if (*p == '\n') { @@ -169,6 +173,7 @@ char *sep; struct pkg_file *pf; struct pkg_dep *pd; + struct pkg_cfl *pc; if (line == NULL) return (-1); @@ -268,19 +273,18 @@ } st->last_elem = PLIST_COMMENT; } else if (strcmp(command, PLIST_CMD_PKGDEP) == 0) { + /* I should really be checking the name setting return values + * for errors. */ pd = pkg_dep_new(); pkg_dep_set_name(pd, argument); pkg_plist_pkg_dep_list_append(pl, pd); st->last_elem = PLIST_PKGDEP; - } -#if 0 - else if (strcmp(comment, PLIST_CMD_CONFLICTS) == 0) { + } else if (strcmp(command, PLIST_CMD_CONFLICTS) == 0) { pc = pkg_cfl_new(); - pc = pkg_cfl_set_name(pc, argument); - pkg_plist_pkg_cfl_list_append(pl, pd); + pkg_cfl_set_name(pc, argument); + pkg_plist_pkg_cfl_list_append(pl, pc); st->last_elem = PLIST_CONFLICTS; } -#endif #if 0 else if (strcmp(command, PLIST_CMD_NOINST) == 0) { if ((sep = strchr(argument, ' ')) != NULL) @@ -530,3 +534,21 @@ return (TAILQ_FIRST(&pl->pkg_dep_head)); } + +void +pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl) +{ + if (pl == NULL) + return; + + TAILQ_INIT(&pl->pkg_cfl_head); +} + +void +pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, struct pkg_cfl *pc) +{ + if (pl == NULL || pc == NULL) + return; + + TAILQ_INSERT_TAIL(&pl->pkg_cfl_head, pc, next); +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#14 (text+ko) ==== @@ -21,7 +21,7 @@ PLIST_MTREE, PLIST_DISPLAY, PLIST_PKGDEP, - PLIST_CONLICTS, + PLIST_CONFLICTS, PLIST_FILE, PLIST_UNKNOWN }; @@ -142,4 +142,10 @@ struct pkg_dep *pkg_plist_pkg_dep_list_next(struct pkg_plist *pl); struct pkg_dep *pkg_plist_pkg_dep_list_first(struct pkg_plist *pl); +/* pkg_cfl */ + +void pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl); + +void pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, + struct pkg_cfl *pc); #endif From owner-p4-projects@FreeBSD.ORG Tue Jun 23 05:51:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB2901065674; Tue, 23 Jun 2009 05:51:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A7AA1065672 for ; Tue, 23 Jun 2009 05:51:23 +0000 (UTC) (envelope-from nikron@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 875328FC0C for ; Tue, 23 Jun 2009 05:51:23 +0000 (UTC) (envelope-from nikron@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N5pN46043632 for ; Tue, 23 Jun 2009 05:51:23 GMT (envelope-from nikron@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N5pNPU043630 for perforce@freebsd.org; Tue, 23 Jun 2009 05:51:23 GMT (envelope-from nikron@FreeBSD.org) Date: Tue, 23 Jun 2009 05:51:23 GMT Message-Id: <200906230551.n5N5pNPU043630@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to nikron@FreeBSD.org using -f From: Nikhil Bysani To: Perforce Change Reviews Cc: Subject: PERFORCE change 164929 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 05:51:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=164929 Change 164929 by nikron@nmfreebsd on 2009/06/23 05:50:43 Updates from upstream, changes to configure.ac to ignore gudev and changes in libnm-util to allow compiling. Affected files ... .. //depot/projects/soc2009/nm-port/NetworkManager/configure.ac#5 edit .. //depot/projects/soc2009/nm-port/NetworkManager/libnm-glib/Makefile.am#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/marshallers/nm-marshal.list#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/policy/Makefile.am#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/dhcp-manager/nm-dhcp-manager.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem-gsm.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem-gsm.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/nm-device-ethernet.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/nm-device-ethernet.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/supplicant-manager/nm-supplicant-config.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/supplicant-manager/nm-supplicant-interface.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/vpn-manager/nm-vpn-connection.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/src/vpn-manager/nm-vpn-service.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-rh/plugin.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-suse/Makefile.am#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-suse/parser.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/keyfile/Makefile.am#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/keyfile/plugin.c#4 edit Differences ... ==== //depot/projects/soc2009/nm-port/NetworkManager/configure.ac#5 (text+ko) ==== @@ -199,6 +199,12 @@ AC_SUBST(GMODULE_CFLAGS) AC_SUBST(GMODULE_LIBS) +if ! (test x"$with_distro" = "xfreebsd"); then + PKG_CHECK_MODULES(GUDEV, gudev-1.0) + AC_SUBST(GUDEV_CFLAGS) + AC_SUBST(GUDEV_LIBS) +fi + PKG_CHECK_EXISTS(gio-2.0,[have_gio=yes],[have_gio=no]) if test x"$have_gio" = "xno"; then AC_DEFINE([NO_GIO],[1],[Define if you don't have GIO]) @@ -458,6 +464,7 @@ src/dnsmasq-manager/Makefile src/modem-manager/Makefile src/bluez-manager/Makefile +src/system-settings/Makefile src/backends/Makefile libnm-util/libnm-util.pc libnm-util/Makefile @@ -470,7 +477,6 @@ callouts/Makefile tools/Makefile system-settings/Makefile -system-settings/src/Makefile system-settings/plugins/Makefile system-settings/plugins/ifupdown/Makefile system-settings/plugins/ifcfg-rh/Makefile ==== //depot/projects/soc2009/nm-port/NetworkManager/libnm-glib/Makefile.am#4 (text+ko) ==== @@ -22,19 +22,19 @@ lib_LTLIBRARIES = libnm_glib.la libnm_glib_vpn.la -libnm_glib_la_CFLAGS = \ - $(GLIB_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(GCONF_CFLAGS) \ - $(GNOME_KEYRING_CFLAGS) +libnm_glib_la_CFLAGS = \ + $(GLIB_CFLAGS) \ + $(DBUS_CFLAGS) \ + $(GCONF_CFLAGS) \ + $(GUDEV_CFLAGS) libnmincludedir = $(includedir)/libnm-glib libnminclude_HEADERS = \ - libnm_glib.h \ - nm-object.h \ - nm-client.h \ - nm-device.h \ + libnm_glib.h \ + nm-object.h \ + nm-client.h \ + nm-device.h \ nm-device-ethernet.h \ nm-device-wifi.h \ nm-access-point.h \ @@ -54,23 +54,23 @@ nm-dhcp4-config.h libnm_glib_la_SOURCES = \ - libnm_glib.c \ - nm-object.c \ + libnm_glib.c \ + nm-object.c \ nm-object-private.h \ - nm-client.c \ - nm-dbus-utils.c \ - nm-dbus-utils.h \ - nm-device.c \ - nm-device-private.h \ + nm-client.c \ + nm-dbus-utils.c \ + nm-dbus-utils.h \ + nm-device.c \ + nm-device-private.h \ nm-device-ethernet.c \ nm-device-wifi.c \ - nm-access-point.c \ - nm-ip4-config.c \ - nm-settings.c \ - nm-gsm-device.c \ - nm-cdma-device.c \ + nm-access-point.c \ + nm-ip4-config.c \ + nm-settings.c \ + nm-gsm-device.c \ + nm-cdma-device.c \ nm-serial-device.c \ - nm-vpn-connection.c \ + nm-vpn-connection.c \ nm-types.c \ nm-types-private.h \ nm-object-cache.c \ @@ -82,12 +82,12 @@ nm-dhcp4-config.c libnm_glib_la_LIBADD = \ - $(top_builddir)/libnm-util/libnm-util.la \ - $(top_builddir)/marshallers/libmarshallers.la \ - $(GLIB_LIBS) \ - $(DBUS_LIBS) \ - $(GCONF_LIBS) \ - $(GNOME_KEYRING_LIBS) + $(top_builddir)/libnm-util/libnm-util.la \ + $(top_builddir)/marshallers/libmarshallers.la \ + $(GLIB_LIBS) \ + $(DBUS_LIBS) \ + $(GCONF_LIBS) \ + $(GUDEV_LIBS) libnm_glib_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm_glib.ver \ -version-info "1:0:1" ==== //depot/projects/soc2009/nm-port/NetworkManager/marshallers/nm-marshal.list#4 (text+ko) ==== @@ -11,7 +11,7 @@ VOID:STRING,STRING VOID:STRING,UCHAR VOID:STRING,OBJECT -VOID:STRING,STRING,POINTER,POINTER +VOID:POINTER,POINTER VOID:STRING,STRING,STRING,UINT VOID:OBJECT,UINT,UINT VOID:STRING,INT @@ -20,3 +20,5 @@ VOID:POINTER,STRING POINTER:POINTER VOID:STRING,BOXED +BOOLEAN:POINTER,STRING,BOOLEAN,UINT,STRING,STRING + ==== //depot/projects/soc2009/nm-port/NetworkManager/policy/Makefile.am#4 (text+ko) ==== @@ -22,3 +22,4 @@ clean-local : rm -f *~ +EXTRA_DIST = $(dist_polkit_policy_in_files) ==== //depot/projects/soc2009/nm-port/NetworkManager/src/dhcp-manager/nm-dhcp-manager.c#4 (text+ko) ==== @@ -508,7 +508,7 @@ { NMDHCPDevice *device = (NMDHCPDevice *) user_data; - nm_info ("Device '%s' DHCP transaction took too long (>%ds), stopping it.", + nm_info ("(%s): DHCP transaction took too long (>%ds), stopping it.", device->iface, NM_DHCP_TIMEOUT); nm_dhcp_manager_cancel_transaction (device->manager, device->iface); @@ -698,7 +698,7 @@ nm_dhcp_client_stop (device, device->pid); - nm_info ("%s: canceled DHCP transaction, dhcp client pid %d", + nm_info ("(%s): canceled DHCP transaction, dhcp client pid %d", device->iface, device->pid); ==== //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem-gsm.c#4 (text+ko) ==== @@ -15,15 +15,19 @@ // FIXME: use MM headers when MM exports this stuff typedef enum { - MM_MODEM_GSM_NETWORK_MODE_ANY = 0, - MM_MODEM_GSM_NETWORK_MODE_GPRS = 1, - MM_MODEM_GSM_NETWORK_MODE_EDGE = 2, - MM_MODEM_GSM_NETWORK_MODE_3G = 3, - MM_MODEM_GSM_NETWORK_MODE_HSDPA = 4, - MM_MODEM_GSM_NETWORK_MODE_PREFER_2G = 5, - MM_MODEM_GSM_NETWORK_MODE_PREFER_3G = 6, + MM_MODEM_GSM_NETWORK_MODE_ANY = 0, + MM_MODEM_GSM_NETWORK_MODE_GPRS = 1, + MM_MODEM_GSM_NETWORK_MODE_EDGE = 2, + MM_MODEM_GSM_NETWORK_MODE_UMTS = 3, + MM_MODEM_GSM_NETWORK_MODE_HSDPA = 4, + MM_MODEM_GSM_NETWORK_MODE_2G_PREFERRED = 5, + MM_MODEM_GSM_NETWORK_MODE_3G_PREFERRED = 6, + MM_MODEM_GSM_NETWORK_MODE_2G_ONLY = 7, + MM_MODEM_GSM_NETWORK_MODE_3G_ONLY = 8, + MM_MODEM_GSM_NETWORK_MODE_HSUPA = 9, + MM_MODEM_GSM_NETWORK_MODE_HSPA = 10, - MM_MODEM_GSM_NETWORK_MODE_LAST = MM_MODEM_GSM_NETWORK_MODE_PREFER_3G + MM_MODEM_GSM_NETWORK_MODE_LAST = MM_MODEM_GSM_NETWORK_MODE_HSPA } MMModemGsmNetworkMode; @@ -31,13 +35,58 @@ G_DEFINE_TYPE (NMModemGsm, nm_modem_gsm, NM_TYPE_MODEM) + +typedef enum { + NM_GSM_ERROR_CONNECTION_NOT_GSM = 0, + NM_GSM_ERROR_CONNECTION_INVALID, + NM_GSM_ERROR_CONNECTION_INCOMPATIBLE, +} NMGsmError; + +#define NM_GSM_ERROR (nm_gsm_error_quark ()) +#define NM_TYPE_GSM_ERROR (nm_gsm_error_get_type ()) + +static GQuark +nm_gsm_error_quark (void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string ("nm-gsm-error"); + return quark; +} + +/* This should really be standard. */ +#define ENUM_ENTRY(NAME, DESC) { NAME, "" #NAME "", DESC } + +static GType +nm_gsm_error_get_type (void) +{ + static GType etype = 0; + + if (etype == 0) { + static const GEnumValue values[] = { + /* Connection was not a GSM connection. */ + ENUM_ENTRY (NM_GSM_ERROR_CONNECTION_NOT_GSM, "ConnectionNotGsm"), + /* Connection was not a valid GSM connection. */ + ENUM_ENTRY (NM_GSM_ERROR_CONNECTION_INVALID, "ConnectionInvalid"), + /* Connection does not apply to this device. */ + ENUM_ENTRY (NM_GSM_ERROR_CONNECTION_INCOMPATIBLE, "ConnectionIncompatible"), + { 0, 0, 0 } + }; + etype = g_enum_register_static ("NMGsmError", values); + } + return etype; +} + + NMDevice * nm_modem_gsm_new (const char *path, - const char *data_device, - const char *driver, - guint32 ip_method) + const char *device, + const char *data_device, + const char *driver, + guint32 ip_method) { g_return_val_if_fail (path != NULL, NULL); + g_return_val_if_fail (device != NULL, NULL); g_return_val_if_fail (data_device != NULL, NULL); g_return_val_if_fail (driver != NULL, NULL); @@ -45,9 +94,9 @@ NM_DEVICE_INTERFACE_UDI, path, NM_DEVICE_INTERFACE_IFACE, data_device, NM_DEVICE_INTERFACE_DRIVER, driver, - NM_DEVICE_INTERFACE_MANAGED, TRUE, NM_MODEM_PATH, path, NM_MODEM_IP_METHOD, ip_method, + NM_MODEM_DEVICE, device, NULL); } @@ -129,12 +178,12 @@ if (required_secret) { nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE); - nm_act_request_request_connection_secrets (nm_device_get_act_request (device), - NM_SETTING_GSM_SETTING_NAME, - retry_secret, - SECRETS_CALLER_GSM, - required_secret, - NULL); + nm_act_request_get_secrets (nm_device_get_act_request (device), + NM_SETTING_GSM_SETTING_NAME, + retry_secret, + SECRETS_CALLER_GSM, + required_secret, + NULL); } else nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, translate_mm_error (error)); @@ -184,10 +233,10 @@ value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_EDGE); break; case NM_GSM_NETWORK_PREFER_UMTS_HSPA: - value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_PREFER_3G); + value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_3G_PREFERRED); break; case NM_GSM_NETWORK_PREFER_GPRS_EDGE: - value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_PREFER_2G); + value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_2G_PREFERRED); break; default: value_hash_add_uint (properties, "network_mode", MM_MODEM_GSM_NETWORK_MODE_ANY); @@ -237,12 +286,12 @@ nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE); tries = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (connection), GSM_SECRETS_TRIES)); - nm_act_request_request_connection_secrets (req, - setting_name, - tries ? TRUE : FALSE, - SECRETS_CALLER_GSM, - hint1, - hint2); + nm_act_request_get_secrets (req, + setting_name, + tries ? TRUE : FALSE, + SECRETS_CALLER_GSM, + hint1, + hint2); g_object_set_data (G_OBJECT (connection), GSM_SECRETS_TRIES, GUINT_TO_POINTER (++tries)); if (hints) @@ -337,6 +386,35 @@ nm_device_activate_schedule_stage1_device_prepare (dev); } +static gboolean +real_check_connection_compatible (NMDevice *device, + NMConnection *connection, + GError **error) +{ + NMSettingConnection *s_con; + NMSettingGsm *s_gsm; + + s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); + g_assert (s_con); + + if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_GSM_SETTING_NAME)) { + g_set_error (error, + NM_GSM_ERROR, NM_GSM_ERROR_CONNECTION_NOT_GSM, + "The connection was not a GSM connection."); + return FALSE; + } + + s_gsm = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM)); + if (!s_gsm) { + g_set_error (error, + NM_GSM_ERROR, NM_GSM_ERROR_CONNECTION_INVALID, + "The connection was not a valid GSM connection."); + return FALSE; + } + + return TRUE; +} + static const char * real_get_ppp_name (NMModem *device, NMConnection *connection) { @@ -366,8 +444,12 @@ device_class->get_best_auto_connection = real_get_best_auto_connection; device_class->connection_secrets_updated = real_connection_secrets_updated; device_class->act_stage1_prepare = real_act_stage1_prepare; + device_class->check_connection_compatible = real_check_connection_compatible; + modem_class->get_ppp_name = real_get_ppp_name; dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_gsm_object_info); + + dbus_g_error_domain_register (NM_GSM_ERROR, NULL, NM_TYPE_GSM_ERROR); } ==== //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem-gsm.h#4 (text+ko) ==== @@ -28,9 +28,10 @@ GType nm_modem_gsm_get_type (void); NMDevice *nm_modem_gsm_new (const char *path, - const char *data_device, - const char *driver, - guint32 ip_method); + const char *device, + const char *data_device, + const char *driver, + guint32 ip_method); G_END_DECLS ==== //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem.c#4 (text+ko) ==== @@ -21,6 +21,7 @@ enum { PROP_0, + PROP_DEVICE, PROP_PATH, PROP_IP_METHOD, @@ -34,6 +35,7 @@ NMPPPManager *ppp_manager; NMIP4Config *pending_ip4_config; guint32 ip_method; + char *device; guint state_to_disconnected_id; @@ -503,6 +505,11 @@ priv = NM_MODEM_GET_PRIVATE (object); + if (!priv->device) { + g_warning ("Modem device not provided"); + goto err; + } + if (!priv->path) { g_warning ("DBus path not provided"); goto err; @@ -530,6 +537,9 @@ case PROP_PATH: g_value_set_string (value, priv->path); break; + case PROP_DEVICE: + g_value_set_string (value, priv->device); + break; case PROP_IP_METHOD: g_value_set_uint (value, priv->ip_method); break; @@ -551,6 +561,10 @@ /* Construct only */ priv->path = g_value_dup_string (value); break; + case PROP_DEVICE: + /* Construct only */ + priv->device = g_value_dup_string (value); + break; case PROP_IP_METHOD: priv->ip_method = g_value_get_uint (value); break; @@ -575,6 +589,9 @@ g_object_unref (priv->dbus_mgr); + g_free (priv->path); + g_free (priv->device); + G_OBJECT_CLASS (nm_modem_parent_class)->finalize (object); } @@ -610,6 +627,14 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property + (object_class, PROP_DEVICE, + g_param_spec_string (NM_MODEM_DEVICE, + "Device", + "Master modem parent device", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, PROP_IP_METHOD, g_param_spec_uint (NM_MODEM_IP_METHOD, "IP method", ==== //depot/projects/soc2009/nm-port/NetworkManager/src/modem-manager/nm-modem.h#4 (text+ko) ==== @@ -17,6 +17,7 @@ #define NM_MODEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_MODEM, NMModemClass)) #define NM_MODEM_PATH "path" +#define NM_MODEM_DEVICE "device" #define NM_MODEM_IP_METHOD "ip-method" typedef struct { ==== //depot/projects/soc2009/nm-port/NetworkManager/src/nm-device-ethernet.c#4 (text+ko) ==== @@ -104,6 +104,7 @@ struct ether_addr hw_addr; gboolean carrier; + guint32 ifindex; guint state_to_disconnected_id; char * carrier_file_path; @@ -131,6 +132,7 @@ PROP_HW_ADDRESS, PROP_SPEED, PROP_CARRIER, + PROP_IFINDEX, LAST_PROP }; @@ -386,7 +388,7 @@ nm_device_ethernet_new (const char *udi, const char *iface, const char *driver, - gboolean managed) + guint32 ifindex) { g_return_val_if_fail (udi != NULL, NULL); g_return_val_if_fail (iface != NULL, NULL); @@ -396,7 +398,7 @@ NM_DEVICE_INTERFACE_UDI, udi, NM_DEVICE_INTERFACE_IFACE, iface, NM_DEVICE_INTERFACE_DRIVER, driver, - NM_DEVICE_INTERFACE_MANAGED, managed, + NM_DEVICE_ETHERNET_IFINDEX, ifindex, NULL); } @@ -427,6 +429,14 @@ return NM_DEVICE_ETHERNET_GET_PRIVATE (self)->carrier; } +guint32 +nm_device_ethernet_get_ifindex (NMDeviceEthernet *self) +{ + g_return_val_if_fail (self != NULL, FALSE); + + return NM_DEVICE_ETHERNET_GET_PRIVATE (self)->ifindex; +} + /* Returns speed in Mb/s */ static guint32 nm_device_ethernet_get_speed (NMDeviceEthernet *self) @@ -801,8 +811,12 @@ supplicant_interface_release (self); nm_device_state_changed (dev, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT); - nm_act_request_request_connection_secrets (req, setting_name, TRUE, - SECRETS_CALLER_ETHERNET, NULL, NULL); + nm_act_request_get_secrets (req, + setting_name, + TRUE, + SECRETS_CALLER_ETHERNET, + NULL, + NULL); return FALSE; @@ -1078,8 +1092,12 @@ * only ask for new secrets after the first failure. */ get_new = new_secrets ? TRUE : (tries ? TRUE : FALSE); - nm_act_request_request_connection_secrets (req, setting_name, get_new, - SECRETS_CALLER_ETHERNET, NULL, NULL); + nm_act_request_get_secrets (req, + setting_name, + get_new, + SECRETS_CALLER_ETHERNET, + NULL, + NULL); g_object_set_data (G_OBJECT (connection), WIRED_SECRETS_TRIES, GUINT_TO_POINTER (++tries)); } else @@ -1445,6 +1463,21 @@ return TRUE; } +static gboolean +spec_match_list (NMDevice *device, const GSList *specs) +{ + struct ether_addr ether; + char *hwaddr; + gboolean matched; + + nm_device_ethernet_get_address (NM_DEVICE_ETHERNET (device), ðer); + hwaddr = nm_ether_ntop (ðer); + matched = nm_match_spec_hwaddr (specs, hwaddr); + g_free (hwaddr); + + return matched; +} + static void nm_device_ethernet_dispose (GObject *object) { @@ -1512,13 +1545,32 @@ case PROP_CARRIER: g_value_set_boolean (value, nm_device_ethernet_get_carrier (device)); break; + case PROP_IFINDEX: + g_value_set_uint (value, nm_device_ethernet_get_ifindex (device)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } +static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (object); + switch (prop_id) { + case PROP_IFINDEX: + /* construct-only */ + priv->ifindex = g_value_get_uint (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void nm_device_ethernet_class_init (NMDeviceEthernetClass *klass) { @@ -1531,6 +1583,7 @@ object_class->constructor = constructor; object_class->dispose = nm_device_ethernet_dispose; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = nm_device_ethernet_finalize; parent_class->get_generic_capabilities = real_get_generic_capabilities; @@ -1550,6 +1603,7 @@ parent_class->act_stage2_config = real_act_stage2_config; parent_class->act_stage4_get_ip4_config = real_act_stage4_get_ip4_config; parent_class->deactivate_quickly = real_deactivate_quickly; + parent_class->spec_match_list = spec_match_list; /* properties */ g_object_class_install_property @@ -1576,6 +1630,14 @@ FALSE, G_PARAM_READABLE)); + g_object_class_install_property + (object_class, PROP_IFINDEX, + g_param_spec_uint (NM_DEVICE_ETHERNET_IFINDEX, + "Ifindex", + "Interface index", + 0, G_MAXUINT32, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /* Signals */ signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, ==== //depot/projects/soc2009/nm-port/NetworkManager/src/nm-device-ethernet.h#4 (text+ko) ==== @@ -39,6 +39,7 @@ #define NM_DEVICE_ETHERNET_HW_ADDRESS "hw-address" #define NM_DEVICE_ETHERNET_SPEED "speed" #define NM_DEVICE_ETHERNET_CARRIER "carrier" +#define NM_DEVICE_ETHERNET_IFINDEX "ifindex" typedef struct { NMDevice parent; @@ -56,15 +57,17 @@ NMDeviceEthernet *nm_device_ethernet_new (const char *udi, - const char *iface, - const char *driver, - gboolean managed); + const char *iface, + const char *driver, + guint32 ifindex); void nm_device_ethernet_get_address (NMDeviceEthernet *dev, struct ether_addr *addr); gboolean nm_device_ethernet_get_carrier (NMDeviceEthernet *dev); +guint32 nm_device_ethernet_get_ifindex (NMDeviceEthernet *dev); + G_END_DECLS #endif /* NM_DEVICE_ETHERNET_H */ ==== //depot/projects/soc2009/nm-port/NetworkManager/src/supplicant-manager/nm-supplicant-config.c#4 (text+ko) ==== @@ -609,7 +609,7 @@ nm_warning ("Error adding 'psk' to supplicant config."); return FALSE; } - } else if (psk_len >= 8 && psk_len < 63) { + } else if (psk_len >= 8 && psk_len <= 63) { /* Use TYPE_STRING here so that it gets pushed to the * supplicant as a string, and therefore gets quoted, * and therefore the supplicant will interpret it as a ==== //depot/projects/soc2009/nm-port/NetworkManager/src/supplicant-manager/nm-supplicant-interface.c#4 (text+ko) ==== @@ -282,10 +282,13 @@ } static void -try_remove_iface (DBusGConnection * g_connection, - const char * path) +try_remove_iface (DBusGConnection *g_connection, + const char *path) { - DBusGProxy * proxy; + DBusGProxy *proxy; + + g_return_if_fail (g_connection != NULL); + g_return_if_fail (path != NULL); proxy = dbus_g_proxy_new_for_name (g_connection, WPAS_DBUS_SERVICE, @@ -316,8 +319,10 @@ /* Ask wpa_supplicant to remove this interface */ sm_state = nm_supplicant_manager_get_state (priv->smgr); if (sm_state == NM_SUPPLICANT_MANAGER_STATE_IDLE) { - try_remove_iface (nm_dbus_manager_get_connection (priv->dbus_mgr), - priv->object_path); + if (priv->object_path) { + try_remove_iface (nm_dbus_manager_get_connection (priv->dbus_mgr), + priv->object_path); + } } if (priv->iface_proxy) ==== //depot/projects/soc2009/nm-port/NetworkManager/src/vpn-manager/nm-vpn-connection.h#4 (text+ko) ==== @@ -27,6 +27,7 @@ #include "NetworkManagerVPN.h" #include "nm-device.h" #include "nm-activation-request.h" +#include "nm-secrets-provider-interface.h" #define NM_TYPE_VPN_CONNECTION (nm_vpn_connection_get_type ()) #define NM_VPN_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_CONNECTION, NMVPNConnection)) @@ -72,6 +73,6 @@ NMIP4Config * nm_vpn_connection_get_ip4_config (NMVPNConnection *connection); const char * nm_vpn_connection_get_ip_iface (NMVPNConnection *connection); NMDevice * nm_vpn_connection_get_parent_device (NMVPNConnection *connection); -guint32 nm_vpn_connection_get_ip4_internal_gateway (NMVPNConnection *connection); +guint32 nm_vpn_connection_get_ip4_internal_gateway (NMVPNConnection *connection); #endif /* NM_VPN_CONNECTION_H */ ==== //depot/projects/soc2009/nm-port/NetworkManager/src/vpn-manager/nm-vpn-service.c#4 (text+ko) ==== @@ -323,6 +323,7 @@ priv = NM_VPN_SERVICE_GET_PRIVATE (service); +g_message ("%s: new VPNConnection for %s", __func__, nm_connection_get_path (connection)); vpn = nm_vpn_connection_new (connection, act_request, device); g_signal_connect (vpn, "vpn-state-changed", G_CALLBACK (connection_vpn_state_changed), ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h#4 (text+ko) ==== @@ -25,7 +25,6 @@ #include #include -#include "nm-system-config-hal-manager.h" #define NM_TYPE_IFCFG_CONNECTION (nm_ifcfg_connection_get_type ()) #define NM_IFCFG_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_IFCFG_CONNECTION, NMIfcfgConnection)) @@ -49,16 +48,12 @@ GType nm_ifcfg_connection_get_type (void); NMIfcfgConnection *nm_ifcfg_connection_new (const char *filename, - DBusGConnection *g_connection, - NMSystemConfigHalManager *hal_mgr, GError **error, gboolean *ignore_error); const char *nm_ifcfg_connection_get_filename (NMIfcfgConnection *self); -const char *nm_ifcfg_connection_get_udi (NMIfcfgConnection *self); - -gboolean nm_ifcfg_connection_get_unmanaged (NMIfcfgConnection *self); +const char *nm_ifcfg_connection_get_unmanaged_spec (NMIfcfgConnection *self); gboolean nm_ifcfg_connection_update (NMIfcfgConnection *self, GHashTable *new_settings, ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/plugins/ifcfg-rh/plugin.c#4 (text+ko) ==== @@ -72,9 +72,6 @@ typedef struct { - DBusGConnection *g_connection; - NMSystemConfigHalManager *hal_mgr; - GHashTable *connections; gulong ih_event_id; @@ -87,40 +84,6 @@ static void -check_unmanaged (gpointer key, gpointer data, gpointer user_data) -{ - GSList **list = (GSList **) user_data; - NMIfcfgConnection *connection = NM_IFCFG_CONNECTION (data); - const char *udi; - GSList *iter; - - if (!nm_ifcfg_connection_get_unmanaged (connection)) - return; - - udi = nm_ifcfg_connection_get_udi (connection); - if (!udi) - return; - - /* Just return if the UDI is already in the list */ - for (iter = *list; iter; iter = g_slist_next (iter)) { - if (!strcmp ((char *) iter->data, udi)) - return; - } - - *list = g_slist_prepend (*list, g_strdup (udi)); -} - -static GSList * -get_unmanaged_devices (NMSystemConfigInterface *config) -{ - SCPluginIfcfgPrivate *priv = SC_PLUGIN_IFCFG_GET_PRIVATE (config); - GSList *list = NULL; - - g_hash_table_foreach (priv->connections, check_unmanaged, &list); - return list; -} - -static void connection_unmanaged_changed (NMIfcfgConnection *connection, GParamSpec *pspec, gpointer user_data) @@ -152,7 +115,7 @@ PLUGIN_PRINT (IFCFG_PLUGIN_NAME, "parsing %s ... ", filename); - connection = nm_ifcfg_connection_new (filename, priv->g_connection, priv->hal_mgr, &error, &ignore_error); + connection = nm_ifcfg_connection_new (filename, &error, &ignore_error); if (connection) { NMConnection *wrapped; NMSettingConnection *s_con; @@ -171,7 +134,7 @@ g_object_ref (connection)); PLUGIN_PRINT (IFCFG_PLUGIN_NAME, " read connection '%s'", cid); - if (nm_ifcfg_connection_get_unmanaged (connection)) { + if (nm_ifcfg_connection_get_unmanaged_spec (connection)) { PLUGIN_PRINT (IFCFG_PLUGIN_NAME, "Ignoring connection '%s' and its " "device because NM_CONTROLLED was false.", cid); g_signal_emit_by_name (plugin, "unmanaged-devices-changed"); @@ -271,11 +234,11 @@ gboolean *do_remove, gboolean *do_new) { - SCPluginIfcfgPrivate *priv = SC_PLUGIN_IFCFG_GET_PRIVATE (plugin); NMIfcfgConnection *tmp; GError *error = NULL; GHashTable *settings; - gboolean new_unmanaged, old_unmanaged, ignore_error = FALSE; + gboolean ignore_error = FALSE; + const char *new_unmanaged = NULL, *old_unmanaged = NULL; g_return_if_fail (plugin != NULL); g_return_if_fail (path != NULL); @@ -285,10 +248,7 @@ PLUGIN_PRINT (IFCFG_PLUGIN_NAME, "updating %s", path); - tmp = (NMIfcfgConnection *) nm_ifcfg_connection_new (path, priv->g_connection, - priv->hal_mgr, - &error, - &ignore_error); + tmp = (NMIfcfgConnection *) nm_ifcfg_connection_new (path, &error, &ignore_error); if (!tmp) { /* errors reading connection; remove it */ if (!ignore_error) { @@ -304,8 +264,8 @@ /* Successfully read connection changes */ - old_unmanaged = nm_ifcfg_connection_get_unmanaged (NM_IFCFG_CONNECTION (connection)); - new_unmanaged = nm_ifcfg_connection_get_unmanaged (NM_IFCFG_CONNECTION (tmp)); + old_unmanaged = nm_ifcfg_connection_get_unmanaged_spec (NM_IFCFG_CONNECTION (connection)); + new_unmanaged = nm_ifcfg_connection_get_unmanaged_spec (NM_IFCFG_CONNECTION (tmp)); if (new_unmanaged) { if (!old_unmanaged) { @@ -318,7 +278,7 @@ new_wrapped = nm_exported_connection_get_connection (NM_EXPORTED_CONNECTION (tmp)); old_wrapped = nm_exported_connection_get_connection (NM_EXPORTED_CONNECTION (connection)); - if (old_unmanaged) { /* no longer unmanaged */ + if (old_unmanaged) { /* now managed */ NMSettingConnection *s_con; const char *cid; @@ -364,11 +324,11 @@ g_return_if_fail (path != NULL); if (do_remove) { - gboolean unmanaged; + const char *unmanaged; g_return_if_fail (connection != NULL); - unmanaged = nm_ifcfg_connection_get_unmanaged (connection); + unmanaged = nm_ifcfg_connection_get_unmanaged_spec (connection); g_hash_table_remove (priv->connections, path); nm_exported_connection_signal_removed (NM_EXPORTED_CONNECTION (connection)); @@ -380,7 +340,7 @@ if (do_new) { connection = read_one_connection (plugin, path); if (connection) { - if (!nm_ifcfg_connection_get_unmanaged (NM_IFCFG_CONNECTION (connection))) + if (!nm_ifcfg_connection_get_unmanaged_spec (NM_IFCFG_CONNECTION (connection))) g_signal_emit_by_name (plugin, "connection-added", connection); } } @@ -454,7 +414,7 @@ NMIfcfgConnection *exported = NM_IFCFG_CONNECTION (value); GSList **list = (GSList **) user_data; - if (!nm_ifcfg_connection_get_unmanaged (exported)) + if (!nm_ifcfg_connection_get_unmanaged_spec (exported)) *list = g_slist_prepend (*list, value); } @@ -475,6 +435,43 @@ return list; } +static void +check_unmanaged (gpointer key, gpointer data, gpointer user_data) +{ + GSList **list = (GSList **) user_data; + NMIfcfgConnection *connection = NM_IFCFG_CONNECTION (data); + const char *unmanaged_spec; + GSList *iter; + + unmanaged_spec = nm_ifcfg_connection_get_unmanaged_spec (connection); + if (!unmanaged_spec) + return; + + /* Just return if the unmanaged spec is already in the list */ + for (iter = *list; iter; iter = g_slist_next (iter)) { + if (!strcmp ((char *) iter->data, unmanaged_spec)) + return; + } + + *list = g_slist_prepend (*list, g_strdup (unmanaged_spec)); +} + +static GSList * +get_unmanaged_specs (NMSystemConfigInterface *config) +{ + SCPluginIfcfg *plugin = SC_PLUGIN_IFCFG (config); + SCPluginIfcfgPrivate *priv = SC_PLUGIN_IFCFG_GET_PRIVATE (config); + GSList *list = NULL; + + if (!priv->connections) { + setup_ifcfg_monitoring (plugin); + read_connections (plugin); + } + + g_hash_table_foreach (priv->connections, check_unmanaged, &list); + return list; +} >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 06:14:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B35BA1065674; Tue, 23 Jun 2009 06:14:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71FE51065672 for ; Tue, 23 Jun 2009 06:14:51 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5FD198FC19 for ; Tue, 23 Jun 2009 06:14:51 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N6Eowv046421 for ; Tue, 23 Jun 2009 06:14:50 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N6En5c046419 for perforce@freebsd.org; Tue, 23 Jun 2009 06:14:49 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 23 Jun 2009 06:14:49 GMT Message-Id: <200906230614.n5N6En5c046419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164931 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 06:14:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=164931 Change 164931 by dforsyth@squirrel on 2009/06/23 06:14:03 Mock pkg_info spits out conflicts. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#25 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#24 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#15 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#18 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#25 (text+ko) ==== @@ -315,6 +315,24 @@ } void +pkg_pkg_cfl_list_init(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_pkg_cfl_list_reset(&p->plist)); +} + +struct pkg_cfl * +pkg_pkg_cfl_list_next(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_pkg_cfl_list_next(&p->plist)); +} + +void pkg_reset(struct pkg *p) { if (p == NULL) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#24 (text+ko) ==== @@ -93,6 +93,16 @@ const char *pkg_dep_origin(struct pkg_dep *pd); +/* pkg_cfl */ + +struct pkg_cfl; + +struct pkg_cfl *pkg_cfl_new(void); + +int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); + +const char *pkg_cfl_name(struct pkg_cfl *pc); + /* pkg */ /* Add mtree stuff later. */ @@ -165,6 +175,10 @@ struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p); +void pkg_pkg_cfl_list_init(struct pkg *p); + +struct pkg_cfl *pkg_pkg_cfl_list_next(struct pkg *p); + void pkg_delete(struct pkg *p); /* pkgdb */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#3 (text+ko) ==== @@ -30,3 +30,12 @@ return ((pc->name == NULL) ? MEMORY_ERR | NOT_OK : OK); } + +const char * +pkg_cfl_name(struct pkg_cfl *pc) +{ + if (pc == NULL) + arg_rage_quit(__func__, "Not a valid conflict.", RAGE_AT_LIBPKG); + + return pc->name; +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#3 (text+ko) ==== @@ -9,8 +9,12 @@ TAILQ_ENTRY(pkg_cfl) next; }; +#if 0 struct pkg_cfl *pkg_cfl_new(void); int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); +const char *pkg_cfl_name(struct pkg_cfl *pc); +#endif + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#18 (text+ko) ==== @@ -283,6 +283,7 @@ pc = pkg_cfl_new(); pkg_cfl_set_name(pc, argument); pkg_plist_pkg_cfl_list_append(pl, pc); + printf("appended %s\n", argument); st->last_elem = PLIST_CONFLICTS; } #if 0 @@ -552,3 +553,41 @@ TAILQ_INSERT_TAIL(&pl->pkg_cfl_head, pc, next); } + +struct pkg_cfl * +pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (TAILQ_FIRST(&pl->pkg_cfl_head)); +} + +void +pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + pl->pkg_cfl_curr = NULL; +} + +struct pkg_cfl * +pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl) +{ + struct pkg_cfl *pc; + + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + if (pl->pkg_cfl_curr == NULL) + pc = pkg_plist_pkg_cfl_list_first(pl); + else + pc = TAILQ_NEXT(pl->pkg_cfl_curr, next); + + if (pc != NULL) + pl->pkg_cfl_curr = pc; + + return (pc); +} + ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#15 (text+ko) ==== @@ -148,4 +148,9 @@ void pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, struct pkg_cfl *pc); + +void pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl); +struct pkg_cfl *pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl); +struct pkg_cfl *pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl); + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#18 (text+ko) ==== @@ -120,6 +120,7 @@ { struct pkg_file *pf; struct pkg_dep *pd; + struct pkg_cfl *pc; const char *ident; const char *comment; const char *name; @@ -189,6 +190,13 @@ origin = pkg_dep_origin(pd); printf("\t\t%s : %s\n", name, origin); } + + printf("\tconflicts:\n"); + pkg_pkg_cfl_list_init(p); + while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) { + name = pkg_cfl_name(pc); + printf("\t\t%s\n", name); + } } } From owner-p4-projects@FreeBSD.ORG Tue Jun 23 06:19:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 993E41065670; Tue, 23 Jun 2009 06:19:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5868A1065673 for ; Tue, 23 Jun 2009 06:19:57 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2CDC98FC2C for ; Tue, 23 Jun 2009 06:19:57 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N6JvOA046807 for ; Tue, 23 Jun 2009 06:19:57 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N6Jvh5046805 for perforce@freebsd.org; Tue, 23 Jun 2009 06:19:57 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 23 Jun 2009 06:19:57 GMT Message-Id: <200906230619.n5N6Jvh5046805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164933 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 06:19:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=164933 Change 164933 by dforsyth@squirrel on 2009/06/23 06:19:54 Remove stray print. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#19 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#19 (text+ko) ==== @@ -283,7 +283,6 @@ pc = pkg_cfl_new(); pkg_cfl_set_name(pc, argument); pkg_plist_pkg_cfl_list_append(pl, pc); - printf("appended %s\n", argument); st->last_elem = PLIST_CONFLICTS; } #if 0 From owner-p4-projects@FreeBSD.ORG Tue Jun 23 06:23:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1720B1065676; Tue, 23 Jun 2009 06:23:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB59D1065670 for ; Tue, 23 Jun 2009 06:23:00 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AED298FC0A for ; Tue, 23 Jun 2009 06:23:00 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N6N0lD047085 for ; Tue, 23 Jun 2009 06:23:00 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N6N0Ug047083 for perforce@freebsd.org; Tue, 23 Jun 2009 06:23:00 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 06:23:00 GMT Message-Id: <200906230623.n5N6N0Ug047083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 06:23:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=164934 Change 164934 by mav@mav_mavbook on 2009/06/23 06:22:23 Remove extra debugging. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#34 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#34 (text+ko) ==== @@ -359,7 +359,6 @@ int unit; is = ATA_INL(ctlr->r_mem, AHCI_IS); -//device_printf(ctlr->dev, "%s is %08x inum %d\n", __func__, is, irq->r_irq_rid); if (irq->mode == AHCI_IRQ_MODE_ALL) unit = 0; else /* AHCI_IRQ_MODE_AFTER */ @@ -381,13 +380,10 @@ { struct ahci_controller_irq *irq = data; struct ahci_controller *ctlr = irq->ctlr; -// u_int32_t is; void *arg; int unit; unit = irq->r_irq_rid - 1; -// is = ATA_INL(ctlr->r_mem, AHCI_IS); -//device_printf(ctlr->dev, "%s is %08x one %d\n", __func__, is, irq->r_irq_rid); if ((arg = ctlr->interrupt[unit].argument)) ctlr->interrupt[unit].function(arg); } @@ -851,7 +847,6 @@ /* Read command statuses. */ cstatus = ATA_INL(ch->r_mem, AHCI_P_CI); sstatus = ATA_INL(ch->r_mem, AHCI_P_SACT); -//device_printf(dev, "%s is %08x cs %08x ss %08x rslots %08x\n", __func__, istatus, cstatus, sstatus, ch->rslots); /* Process PHY events */ if (istatus & (AHCI_P_IX_PRC | AHCI_P_IX_PC)) ahci_phy_check_events(dev); @@ -971,7 +966,6 @@ ch->lastslot = tag; /* Occupy chosen slot. */ slot = &ch->slot[tag]; -//device_printf(slot->dev, "%s slot %d\n", __func__, slot->slot); slot->ccb = ccb; /* Update channel stats. */ ch->numrslots++; @@ -1013,7 +1007,6 @@ struct ahci_dma_prd *prd; int i; -//device_printf(slot->dev, "%s slot %d\n", __func__, slot->slot); if (error) { device_printf(slot->dev, "DMA load error\n"); if (!ch->readlog) @@ -1050,7 +1043,6 @@ int port = ccb->ccb_h.target_id & 0x0f; int fis_size; -//device_printf(dev, "%s slot %d\n", __func__, slot->slot); /* Get a piece of the workspace for this request */ ctp = (struct ahci_cmd_tab *) (ch->dma.work + AHCI_CT_OFFSET + (AHCI_CT_SIZE * slot->slot)); @@ -1097,21 +1089,6 @@ slot->state = AHCI_SLOT_RUNNING; ch->rslots |= (1 << slot->slot); ATA_OUTL(ch->r_mem, AHCI_P_CI, (1 << slot->slot)); -/* -printf("ci %08x is %08x tfd %08x serr %08x sign %08x\n", - ATA_INL(ch->r_mem, AHCI_P_CI), - ATA_INL(ch->r_mem, AHCI_P_IS), - ATA_INL(ch->r_mem, AHCI_P_TFD), - ATA_INL(ch->r_mem, AHCI_P_SERR), - ATA_INL(ch->r_mem, AHCI_P_SIG)); -DELAY(100000); -printf("ci %08x is %08x tfd %08x serr %08x sign %08x\n", - ATA_INL(ch->r_mem, AHCI_P_CI), - ATA_INL(ch->r_mem, AHCI_P_IS), - ATA_INL(ch->r_mem, AHCI_P_TFD), - ATA_INL(ch->r_mem, AHCI_P_SERR), - ATA_INL(ch->r_mem, AHCI_P_SIG)); -*/ /* Device reset commands doesn't interrupt. Poll them. */ if (ccb->ccb_h.func_code == XPT_ATA_IO && (ccb->ataio.cmd.command == ATA_DEVICE_RESET || @@ -1159,8 +1136,7 @@ struct ahci_channel *ch = device_get_softc(dev); int i; -device_printf(dev, "Timeout on slot %d\n", slot->slot); - + device_printf(dev, "Timeout on slot %d\n", slot->slot); /* Kick controller into sane state. */ ahci_stop(ch->dev); ahci_start(ch->dev); @@ -1192,7 +1168,6 @@ struct ahci_channel *ch = device_get_softc(dev); union ccb *ccb = slot->ccb; -//device_printf(dev, "%s slot %d\n", __func__, slot->slot); /* Cancel command execution timeout */ callout_stop(&slot->timeout); bus_dmamap_sync(ch->dma.work_tag, ch->dma.work_map, @@ -1297,7 +1272,6 @@ /* Unfreeze frozen command. */ if (ch->frozen && ch->numrslots == 0) { union ccb *fccb = ch->frozen; -//device_printf(dev, "Unfreeze\n"); ch->frozen = NULL; ahci_begin_transaction(dev, fccb); xpt_release_simq(ch->sim, TRUE); @@ -1312,7 +1286,6 @@ struct ccb_ataio *ataio; int i; -//device_printf(dev, "%s\n", __func__); ch->readlog = 1; /* Find some holden command. */ for (i = 0; i < ch->numslots; i++) { @@ -1355,7 +1328,6 @@ struct ata_res *res; int i; -//device_printf(dev, "%s\n", __func__); ch->readlog = 0; data = ccb->ataio.data_ptr; @@ -1365,7 +1337,6 @@ if (!ch->hold[i]) continue; if ((data[0] & 0x1F) == i) { -device_printf(dev, "READ LOG EXT: TAG %d MATCH\n", i); res = &ch->hold[i]->ataio.res; res->status = data[2]; res->error = data[3]; @@ -1696,7 +1667,6 @@ ch = (struct ahci_channel *)cam_sim_softc(sim); dev = ch->dev; -//device_printf(ch->dev, "ccb func 0x%x %d:%d\n", ccb->ccb_h.func_code, ccb->ccb_h.target_id, ccb->ccb_h.target_lun); switch (ccb->ccb_h.func_code) { /* Common cases first */ case XPT_ATA_IO: /* Execute the requested I/O operation */ @@ -1708,7 +1678,6 @@ } /* Check for command collision. */ if (ahci_check_collision(dev, ccb)) { -//device_printf(dev, "Freeze\n"); /* Freeze command. */ ch->frozen = ccb; /* We have only one frozen slot, so freeze simq also. */ From owner-p4-projects@FreeBSD.ORG Tue Jun 23 06:39:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E7E210656EE; Tue, 23 Jun 2009 06:39:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C02B810656C4 for ; Tue, 23 Jun 2009 06:39:18 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ADA7B8FC08 for ; Tue, 23 Jun 2009 06:39:18 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N6dI6o048279 for ; Tue, 23 Jun 2009 06:39:18 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N6dIES048277 for perforce@freebsd.org; Tue, 23 Jun 2009 06:39:18 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 06:39:18 GMT Message-Id: <200906230639.n5N6dIES048277@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 06:39:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164936 Change 164936 by mav@mav_mavbook on 2009/06/23 06:38:56 Lower PCI ATA drivers priorities, to allow them been overriden. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#5 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#3 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#3 (text+ko) ==== @@ -93,7 +93,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_acard_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#3 (text+ko) ==== @@ -94,7 +94,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_ali_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#2 (text+ko) ==== @@ -75,7 +75,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_marvell_edma_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } ATA_DECLARE_DRIVER(ata_adaptec); ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#5 (text+ko) ==== ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#2 (text+ko) ==== @@ -83,7 +83,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_amd_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#3 (text+ko) ==== @@ -136,7 +136,7 @@ ctlr->chipinit = ata_ati_ahci_chipinit; break; } - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#2 (text+ko) ==== @@ -69,7 +69,7 @@ ctlr->chipinit = ata_cenatek_chipinit; device_set_desc(dev, "Cenatek Rocket Drive controller"); - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#2 (text+ko) ==== @@ -76,7 +76,7 @@ pci_get_subclass(dev) == PCIS_STORAGE_IDE) { device_set_desc(dev, "Cypress 82C693 ATA controller"); ctlr->chipinit = ata_cypress_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } return ENXIO; } ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ if (pci_get_devid(dev) == ATA_CYRIX_5530) { device_set_desc(dev, "Cyrix 5530 ATA33 controller"); ctlr->chipinit = ata_cyrix_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } return ENXIO; } ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#2 (text+ko) ==== @@ -104,7 +104,7 @@ device_set_desc_copy(dev, buffer); ctlr->chip = idx; ctlr->chipinit = ata_highpoint_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#4 (text+ko) ==== @@ -146,7 +146,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_intel_chipinit; - return 0; + return (BUS_PROBE_DEFAULT) } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#2 (text+ko) ==== @@ -78,7 +78,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_ite_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#3 (text+ko) ==== @@ -94,7 +94,7 @@ device_set_desc_copy(dev, buffer); ctlr->chip = idx; ctlr->chipinit = ata_jmicron_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#3 (text+ko) ==== @@ -125,7 +125,7 @@ ctlr->chipinit = ata_marvell_pata_chipinit; break; } - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#2 (text+ko) ==== @@ -69,7 +69,7 @@ device_set_desc(dev, "RZ 100? ATA controller !WARNING! data loss/corruption risk"); ctlr->chipinit = ata_micron_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } else return ENXIO; ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#2 (text+ko) ==== @@ -68,7 +68,7 @@ if (pci_get_devid(dev) == ATA_SC1100) { device_set_desc(dev, "National Geode SC1100 ATA33 controller"); ctlr->chipinit = ata_national_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } return ENXIO; } ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#2 (text+ko) ==== @@ -68,7 +68,7 @@ if (pci_get_devid(dev) == ATA_NETCELL_SR) { device_set_desc(dev, "Netcell SyncRAID SR3000/5000 RAID Controller"); ctlr->chipinit = ata_netcell_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } return ENXIO; } ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#4 (text+ko) ==== @@ -138,7 +138,7 @@ ctlr->chipinit = ata_ahci_chipinit; else ctlr->chipinit = ata_nvidia_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#4 (text+ko) ==== @@ -210,7 +210,7 @@ device_set_desc_copy(dev, buffer); ctlr->chip = idx; ctlr->chipinit = ata_promise_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#3 (text+ko) ==== @@ -98,7 +98,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_serverworks_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } #ifdef __powerpc__ ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#4 (text+ko) ==== @@ -115,7 +115,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_sii_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#3 (text+ko) ==== @@ -155,7 +155,7 @@ device_set_desc_copy(dev, buffer); ctlr->chip = idx; ctlr->chipinit = ata_sis_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#3 (text+ko) ==== @@ -120,7 +120,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_via_chipinit; - return 0; + return (BUS_PROBE_DEFAULT); } static int From owner-p4-projects@FreeBSD.ORG Tue Jun 23 06:51:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D59C1065675; Tue, 23 Jun 2009 06:51:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D5A61065673 for ; Tue, 23 Jun 2009 06:51:32 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 21B108FC13 for ; Tue, 23 Jun 2009 06:51:32 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N6pWLg049195 for ; Tue, 23 Jun 2009 06:51:32 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N6pVQD049193 for perforce@freebsd.org; Tue, 23 Jun 2009 06:51:31 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 06:51:31 GMT Message-Id: <200906230651.n5N6pVQD049193@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164937 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 06:51:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164937 Change 164937 by mav@mav_mavbook on 2009/06/23 06:51:24 Allow ahci driver to be linked statically. Affected files ... .. //depot/projects/scottl-camlock/src/sys/conf/files#33 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/conf/files#33 (text+ko) ==== @@ -461,6 +461,7 @@ dev/aha/aha_isa.c optional aha isa dev/aha/aha_mca.c optional aha mca dev/ahb/ahb.c optional ahb eisa +dev/ahci/ahci.c optional ahci pci dev/aic/aic.c optional aic dev/aic/aic_pccard.c optional aic pccard dev/aic7xxx/ahc_eisa.c optional ahc eisa From owner-p4-projects@FreeBSD.ORG Tue Jun 23 07:01:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB2E21065670; Tue, 23 Jun 2009 07:01:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7ACA8106564A for ; Tue, 23 Jun 2009 07:01:43 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 695068FC16 for ; Tue, 23 Jun 2009 07:01:43 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N71hb3049945 for ; Tue, 23 Jun 2009 07:01:43 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N71hRl049943 for perforce@freebsd.org; Tue, 23 Jun 2009 07:01:43 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 07:01:43 GMT Message-Id: <200906230701.n5N71hRl049943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164939 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 07:01:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=164939 Change 164939 by mav@mav_mavbook on 2009/06/23 07:01:13 Enable single vector MSI by default. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#35 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#35 (text+ko) ==== @@ -297,16 +297,17 @@ ahci_setup_interrupt(device_t dev) { struct ahci_controller *ctlr = device_get_softc(dev); - int i, msi = 0; + int i, msi = 1; /* Process hints. */ - if (resource_int_value(device_get_name(dev), - device_get_unit(dev), "msi", &i) == 0) { - if (i == 1) - msi = min(1, pci_msi_count(dev)); - else if (i > 1) - msi = pci_msi_count(dev); - } + resource_int_value(device_get_name(dev), + device_get_unit(dev), "msi", &msi); + if (msi < 0) + msi = 0; + else if (msi == 1) + msi = min(1, pci_msi_count(dev)); + else if (msi > 1) + msi = pci_msi_count(dev); /* Allocate MSI if needed/present. */ if (msi && pci_alloc_msi(dev, &msi) == 0) { ctlr->numirqs = msi; From owner-p4-projects@FreeBSD.ORG Tue Jun 23 07:49:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B39B1065676; Tue, 23 Jun 2009 07:49:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37B4F106566C; Tue, 23 Jun 2009 07:49:16 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id CB2E88FC1F; Tue, 23 Jun 2009 07:49:15 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id CB8061CC63; Tue, 23 Jun 2009 09:49:14 +0200 (CEST) Date: Tue, 23 Jun 2009 09:49:14 +0200 From: Ed Schouten To: Nikhil Bysani Message-ID: <20090623074914.GI48776@hoeg.nl> References: <200906230551.n5N5pNPU043630@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zvbl/8tVKAFcMeVq" Content-Disposition: inline In-Reply-To: <200906230551.n5N5pNPU043630@repoman.freebsd.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 164929 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 07:49:17 -0000 --zvbl/8tVKAFcMeVq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Nikhil, * Nikhil Bysani wrote: > Updates from upstream, changes to configure.ac to ignore gudev and > changes in libnm-util to allow compiling. Could you perform a check-in of the unmodified sources as well, along with some small instructions how to generate a diff against the unmodified sources? Thanks! --=20 Ed Schouten WWW: http://80386.nl/ --zvbl/8tVKAFcMeVq Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpAiPoACgkQ52SDGA2eCwU2OQCeMQTPVqRvPHS0LwvHugqvaciZ pEAAn0h5N1L+2aS7/ZPm7gB90XaojHGe =zRsf -----END PGP SIGNATURE----- --zvbl/8tVKAFcMeVq-- From owner-p4-projects@FreeBSD.ORG Tue Jun 23 07:58:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3382F1065676; Tue, 23 Jun 2009 07:58:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4E2F1065674 for ; Tue, 23 Jun 2009 07:58:45 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D24568FC1D for ; Tue, 23 Jun 2009 07:58:45 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N7wjuN055129 for ; Tue, 23 Jun 2009 07:58:45 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N7wjVJ055127 for perforce@freebsd.org; Tue, 23 Jun 2009 07:58:45 GMT (envelope-from gabor@freebsd.org) Date: Tue, 23 Jun 2009 07:58:45 GMT Message-Id: <200906230758.n5N7wjVJ055127@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 164941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 07:58:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=164941 Change 164941 by gabor@gabor_server on 2009/06/23 07:58:31 - Some Makefile nits - Merge bc.1 changes from OpenBSD - Add $FreeBSD$ tags - Make really WARNS=6 clean Submitted by: delphij Affected files ... .. //depot/projects/soc2008/gabor_textproc/bc/Makefile#2 edit .. //depot/projects/soc2008/gabor_textproc/bc/USD.doc/Makefile#2 edit .. //depot/projects/soc2008/gabor_textproc/bc/bc.1#3 edit .. //depot/projects/soc2008/gabor_textproc/bc/bc.library#2 edit .. //depot/projects/soc2008/gabor_textproc/bc/bc.y#3 edit .. //depot/projects/soc2008/gabor_textproc/bc/extern.h#2 edit .. //depot/projects/soc2008/gabor_textproc/bc/pathnames.h#2 edit .. //depot/projects/soc2008/gabor_textproc/bc/scan.l#2 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/bc/Makefile#2 (text+ko) ==== @@ -2,17 +2,12 @@ PROG= bc SRCS= bc.y scan.l -CPPFLAGS+= -I. -I${.CURDIR} -CFLAGS+= -Wall -Wno-unused -YFLAGS+= +CFLAGS+= -I. -I${.CURDIR} +WARNS?= 6 +SUBDIR+= USD.doc beforeinstall: install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/bc.library \ ${DESTDIR}/usr/share/misc -# These get installed verbatim -.if make(install) -SUBDIR+= USD.doc -.endif - .include ==== //depot/projects/soc2008/gabor_textproc/bc/USD.doc/Makefile#2 (text+ko) ==== @@ -1,8 +1,10 @@ # $OpenBSD: Makefile,v 1.3 2004/02/01 15:18:01 jmc Exp $ +DOC= bc DIR= usd/06.bc SRCS= bc MACROS= -ms +BINDIR= /usr/share/doc/papers paper.txt: ${SRCS} ${ROFF} -Tascii ${SRCS} > ${.TARGET} ==== //depot/projects/soc2008/gabor_textproc/bc/bc.1#3 (text+ko) ==== @@ -1,4 +1,5 @@ -.\" $OpenBSD: bc.1,v 1.22 2007/05/31 19:20:07 jmc Exp $ +.\" $FreeBSD$ +.\" $OpenBSD: bc.1,v 1.23 2009/02/08 17:15:09 jmc Exp $ .\" .\" Copyright (C) Caldera International Inc. 2001-2002. .\" All rights reserved. @@ -34,7 +35,7 @@ .\" .\" @(#)bc.1 6.8 (Berkeley) 8/8/91 .\" -.Dd $Mdocdate: May 31 2009 $ +.Dd May 31 2007 .Dt BC 1 .Sh NAME .Nm bc @@ -362,7 +363,7 @@ The .Nm utility is compliant with the -.St -p1003.1-2004 +.St -p1003.1-2008 specification. .Pp The flags ==== //depot/projects/soc2008/gabor_textproc/bc/bc.library#2 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* $OpenBSD: bc.library,v 1.3 2007/02/03 21:15:06 otto Exp $ */ /* ==== //depot/projects/soc2008/gabor_textproc/bc/bc.y#3 (text+ko) ==== @@ -30,9 +30,8 @@ * easy regression testing. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: bc.y,v 1.32 2006/05/18 05:49:53 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -57,6 +56,9 @@ #define CONST_STRING ((ssize_t) -2) #define ALLOC_STRING ((ssize_t) -3) +extern char *yytext; +extern FILE *yyin; + struct tree { ssize_t index; union { @@ -70,8 +72,8 @@ int fileindex; int sargc; -char **sargv; -char *filename; +const char **sargv; +const char *filename; char *cmdexpr; static void grow(void); @@ -110,6 +112,8 @@ static u_short var_count; static pid_t dc; +static void sigchld(int); + extern char *__progname; #define BREAKSTACK_SZ (sizeof(breakstack)/sizeof(breakstack[0])) @@ -831,11 +835,11 @@ } static void -emit_macro(int node, ssize_t code) +emit_macro(int nodeidx, ssize_t code) { putchar('['); emit(code); - printf("]s%s\n", instructions[node].u.cstr); + printf("]s%s\n", instructions[nodeidx].u.cstr); nesting--; } @@ -953,7 +957,7 @@ } void -yyerror(char *s) +yyerror(const char *s) { char *str, *p; int n; @@ -996,7 +1000,7 @@ static void init(void) { - int i; + unsigned int i; for (i = 0; i < UCHAR_MAX; i++) { str_table[i][0] = i; @@ -1077,17 +1081,20 @@ pid_t pid; int status; - for (;;) { - pid = waitpid(dc, &status, WCONTINUED); - if (pid == -1) { - if (errno == EINTR) - continue; - _exit(0); + switch (signo) { + default: + for (;;) { + pid = waitpid(dc, &status, WCONTINUED); + if (pid == -1) { + if (errno == EINTR) + continue; + _exit(0); + } + if (WIFEXITED(status) || WIFSIGNALED(status)) + _exit(0); + else + break; } - if (WIFEXITED(status) || WIFSIGNALED(status)) - _exit(0); - else - break; } } ==== //depot/projects/soc2008/gabor_textproc/bc/extern.h#2 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* $OpenBSD: extern.h,v 1.6 2006/03/18 20:44:43 otto Exp $ */ /* @@ -24,16 +25,14 @@ }; int yylex(void); -void yyerror(char *); +void yyerror(const char *); void fatal(const char *); void abort_line(int); -extern int lineno; -extern char *yytext; -extern FILE *yyin; -extern int fileindex; -extern int sargc; -extern char **sargv; -extern char *filename; -extern char *cmdexpr; -bool interactive; +extern int lineno; +extern int fileindex; +extern int sargc; +extern const char **sargv; +extern const char *filename; +extern char *cmdexpr; +bool interactive; ==== //depot/projects/soc2008/gabor_textproc/bc/pathnames.h#2 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* $OpenBSD: pathnames.h,v 1.1 2003/09/25 19:32:44 otto Exp $ */ /* ==== //depot/projects/soc2008/gabor_textproc/bc/scan.l#2 (text+ko) ==== @@ -17,9 +17,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: scan.l,v 1.22 2008/12/15 19:46:29 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -33,7 +32,6 @@ #include "pathnames.h" int lineno; -bool interactive; static char *strbuf = NULL; static size_t strbuf_sz = 1; @@ -233,10 +231,13 @@ static const char str[] = "[\n]P\n"; int save_errno; - save_errno = errno; - YY_FLUSH_BUFFER; /* XXX signal race? */ - write(STDOUT_FILENO, str, sizeof(str) - 1); - errno = save_errno; + switch (sig) { + default: + save_errno = errno; + YY_FLUSH_BUFFER; /* XXX signal race? */ + write(STDOUT_FILENO, str, sizeof(str) - 1); + errno = save_errno; + } } int From owner-p4-projects@FreeBSD.ORG Tue Jun 23 07:59:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67BE71065680; Tue, 23 Jun 2009 07:59:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27BAF1065686 for ; Tue, 23 Jun 2009 07:59:47 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 157E88FC15 for ; Tue, 23 Jun 2009 07:59:47 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N7xk0H055194 for ; Tue, 23 Jun 2009 07:59:46 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N7xk6s055192 for perforce@freebsd.org; Tue, 23 Jun 2009 07:59:46 GMT (envelope-from gabor@freebsd.org) Date: Tue, 23 Jun 2009 07:59:46 GMT Message-Id: <200906230759.n5N7xk6s055192@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 164942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 07:59:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=164942 Change 164942 by gabor@gabor_server on 2009/06/23 07:59:36 - Makefile nits - Add $FreeBSD$ tags Affected files ... .. //depot/projects/soc2008/gabor_textproc/dc/Makefile#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/USD.doc/Makefile#2 edit .. //depot/projects/soc2008/gabor_textproc/dc/bcode.c#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/bcode.h#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/dc.c#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/extern.h#2 edit .. //depot/projects/soc2008/gabor_textproc/dc/inout.c#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/mem.c#2 edit .. //depot/projects/soc2008/gabor_textproc/dc/stack.c#3 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/dc/Makefile#3 (text+ko) ==== @@ -5,6 +5,8 @@ LDADD= -lcrypto DPADD= ${LIBCRYPTO} +SUBDIR+= USD.doc + WARNS?= 6 .include ==== //depot/projects/soc2008/gabor_textproc/dc/USD.doc/Makefile#2 (text+ko) ==== @@ -1,8 +1,10 @@ # $OpenBSD: Makefile,v 1.2 2004/02/01 15:18:01 jmc Exp $ +DOC= dc DIR= usd/05.dc SRCS= dc MACROS= -ms +BINDIR= /usr/share/doc/papers paper.ps: ${SRCS} ${EQN} ${SRCS} | ${ROFF} > ${.TARGET} ==== //depot/projects/soc2008/gabor_textproc/dc/bcode.c#3 (text+ko) ==== @@ -16,9 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: bcode.c,v 1.38 2008/11/24 08:48:48 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include ==== //depot/projects/soc2008/gabor_textproc/dc/bcode.h#3 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* $OpenBSD: bcode.h,v 1.5 2006/01/16 08:09:25 otto Exp $ */ /* @@ -19,7 +20,6 @@ #include #include - struct number { BIGNUM *number; u_int scale; ==== //depot/projects/soc2008/gabor_textproc/dc/dc.c#3 (text+ko) ==== @@ -17,9 +17,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: dc.c,v 1.10 2007/07/29 17:12:18 sobrado Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include @@ -34,7 +33,7 @@ #include "extern.h" -#define VERSION "1.3" +#define DC_VER "1.3-FreeBSD" static void usage(void); @@ -110,7 +109,7 @@ extended_regs = true; break; case 'V': - printf("%s (BSD dc) %s\n", __progname, VERSION); + fprintf(stderr, "%s (BSD bc) %s\n", __progname, DC_VER); exit(0); break; case '-': ==== //depot/projects/soc2008/gabor_textproc/dc/extern.h#2 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* $OpenBSD: extern.h,v 1.3 2006/01/16 08:09:25 otto Exp $ */ /* ==== //depot/projects/soc2008/gabor_textproc/dc/inout.c#3 (text+ko) ==== @@ -16,9 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: inout.c,v 1.14 2006/01/15 19:11:59 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include ==== //depot/projects/soc2008/gabor_textproc/dc/mem.c#2 (text+ko) ==== @@ -16,9 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: mem.c,v 1.4 2004/07/11 06:41:48 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include ==== //depot/projects/soc2008/gabor_textproc/dc/stack.c#3 (text+ko) ==== @@ -16,9 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef lint -static const char rcsid[] = "$OpenBSD: stack.c,v 1.10 2008/04/28 06:35:09 otto Exp $"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Jun 23 08:01:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B81301065672; Tue, 23 Jun 2009 08:01:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76CDA106564A for ; Tue, 23 Jun 2009 08:01:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 64F648FC0A for ; Tue, 23 Jun 2009 08:01:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N81nUS055383 for ; Tue, 23 Jun 2009 08:01:49 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N81nJe055381 for perforce@freebsd.org; Tue, 23 Jun 2009 08:01:49 GMT (envelope-from gabor@freebsd.org) Date: Tue, 23 Jun 2009 08:01:49 GMT Message-Id: <200906230801.n5N81nJe055381@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 164943 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 08:01:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164943 Change 164943 by gabor@gabor_server on 2009/06/23 08:01:14 - More $FreeBSD$ tags Affected files ... .. //depot/projects/soc2008/gabor_textproc/bc/USD.doc/bc#2 edit .. //depot/projects/soc2008/gabor_textproc/dc/USD.doc/dc#2 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/bc/USD.doc/bc#2 (text+ko) ==== @@ -1,3 +1,4 @@ +.\" $FreeBSD$ .\" $OpenBSD: bc,v 1.9 2004/07/09 10:23:05 jmc Exp $ .\" .\" Copyright (C) Caldera International Inc. 2001-2002. ==== //depot/projects/soc2008/gabor_textproc/dc/USD.doc/dc#2 (text+ko) ==== @@ -1,3 +1,4 @@ +.\" $FreeBSD$ .\" $OpenBSD: dc,v 1.2 2003/09/22 19:08:27 otto Exp $ .\" .\" Copyright (C) Caldera International Inc. 2001-2002. From owner-p4-projects@FreeBSD.ORG Tue Jun 23 08:15:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6CC4510656A5; Tue, 23 Jun 2009 08:15:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FF4E1065688 for ; Tue, 23 Jun 2009 08:15:04 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F19B58FC14 for ; Tue, 23 Jun 2009 08:15:03 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N8F3XE057331 for ; Tue, 23 Jun 2009 08:15:03 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N8F3Ke057329 for perforce@freebsd.org; Tue, 23 Jun 2009 08:15:03 GMT (envelope-from gabor@freebsd.org) Date: Tue, 23 Jun 2009 08:15:03 GMT Message-Id: <200906230815.n5N8F3Ke057329@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 164944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 08:15:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=164944 Change 164944 by gabor@gabor_server on 2009/06/23 08:14:03 - style(9) Affected files ... .. //depot/projects/soc2008/gabor_textproc/bc/bc.y#4 edit .. //depot/projects/soc2008/gabor_textproc/bc/extern.h#3 edit .. //depot/projects/soc2008/gabor_textproc/bc/scan.l#3 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/bc/bc.y#4 (text+ko) ==== @@ -67,54 +67,54 @@ } u; }; -int yyparse(void); -int yywrap(void); +int yyparse(void); +int yywrap(void); -int fileindex; -int sargc; +int fileindex; +int sargc; const char **sargv; const char *filename; char *cmdexpr; -static void grow(void); -static ssize_t cs(const char *); -static ssize_t as(const char *); -static ssize_t node(ssize_t, ...); -static void emit(ssize_t); -static void emit_macro(int, ssize_t); -static void free_tree(void); -static ssize_t numnode(int); -static ssize_t lookup(char *, size_t, char); -static ssize_t letter_node(char *); -static ssize_t array_node(char *); -static ssize_t function_node(char *); +static void grow(void); +static ssize_t cs(const char *); +static ssize_t as(const char *); +static ssize_t node(ssize_t, ...); +static void emit(ssize_t); +static void emit_macro(int, ssize_t); +static void free_tree(void); +static ssize_t numnode(int); +static ssize_t lookup(char *, size_t, char); +static ssize_t letter_node(char *); +static ssize_t array_node(char *); +static ssize_t function_node(char *); -static void add_par(ssize_t); -static void add_local(ssize_t); -static void warning(const char *); -static void init(void); -static void usage(void); +static void add_par(ssize_t); +static void add_local(ssize_t); +static void warning(const char *); +static void init(void); +static void usage(void); static char *escape(const char *); -static ssize_t instr_sz = 0; +static ssize_t instr_sz = 0; static struct tree *instructions = NULL; -static ssize_t current = 0; -static int macro_char = '0'; -static int reset_macro_char = '0'; -static int nesting = 0; -static int breakstack[16]; -static int breaksp = 0; -static ssize_t prologue; -static ssize_t epilogue; -static bool st_has_continue; -static char str_table[UCHAR_MAX][2]; -static bool do_fork = true; -static u_short var_count; -static pid_t dc; +static ssize_t current = 0; +static int macro_char = '0'; +static int reset_macro_char = '0'; +static int nesting = 0; +static int breakstack[16]; +static int breaksp = 0; +static ssize_t prologue; +static ssize_t epilogue; +static bool st_has_continue; +static char str_table[UCHAR_MAX][2]; +static bool do_fork = true; +static u_short var_count; +static pid_t dc; -static void sigchld(int); +static void sigchld(int); -extern char *__progname; +extern char *__progname; #define BREAKSTACK_SZ (sizeof(breakstack)/sizeof(breakstack[0])) @@ -144,8 +144,8 @@ %start program %union { - ssize_t node; - struct lvalue lvalue; + ssize_t node; + struct lvalue lvalue; const char *str; char *astr; } @@ -300,7 +300,7 @@ } | QUIT { - sigset_t mask; + sigset_t mask; putchar('q'); fflush(stdout); @@ -322,7 +322,7 @@ opt_relational_expression SEMICOLON opt_expression RPAR opt_statement pop_nesting { - ssize_t n; + ssize_t n; if (st_has_continue) n = node($10, cs("M"), $8, cs("s."), @@ -352,7 +352,7 @@ | WHILE LPAR alloc_macro relational_expression RPAR opt_statement pop_nesting { - ssize_t n; + ssize_t n; if (st_has_continue) n = node($6, cs("M"), $4, $3, END_NODE); @@ -768,7 +768,7 @@ grow(void) { struct tree *p; - size_t newsize; + size_t newsize; if (current == instr_sz) { newsize = instr_sz * 2 + 1; @@ -788,7 +788,7 @@ grow(); instructions[current].index = CONST_STRING; instructions[current].u.cstr = str; - return current++; + return (current++); } static ssize_t @@ -799,14 +799,14 @@ instructions[current].u.astr = strdup(str); if (instructions[current].u.astr == NULL) err(1, NULL); - return current++; + return (current++); } static ssize_t node(ssize_t arg, ...) { - va_list ap; - ssize_t ret; + va_list ap; + ssize_t ret; va_start(ap, arg); @@ -821,7 +821,7 @@ } while (arg != END_NODE); va_end(ap); - return ret; + return (ret); } static void @@ -846,7 +846,7 @@ static void free_tree(void) { - ssize_t i; + ssize_t i; for (i = 0; i < current; i++) if (instructions[i].index == ALLOC_STRING) @@ -857,7 +857,7 @@ static ssize_t numnode(int num) { - const char *p; + const char *p; if (num < 10) p = str_table['0' + num]; @@ -865,16 +865,16 @@ p = str_table['A' - 10 + num]; else errx(1, "internal error: break num > 15"); - return node(cs(" "), cs(p), END_NODE); + return (node(cs(" "), cs(p), END_NODE)); } static ssize_t lookup(char * str, size_t len, char type) { - ENTRY entry, *found; - u_short num; - u_char *p; + ENTRY entry, *found; + u_short num; + u_char *p; /* The scanner allocated an extra byte already */ if (str[len-1] != type) { @@ -903,43 +903,43 @@ if (found == NULL) err(1, NULL); } - return cs(found->data); + return (cs(found->data)); } static ssize_t letter_node(char *str) { - size_t len; + size_t len; len = strlen(str); if (len == 1 && str[0] != '_') - return cs(str_table[(int)str[0]]); + return (cs(str_table[(int)str[0]])); else - return lookup(str, len, 'L'); + return (lookup(str, len, 'L')); } static ssize_t array_node(char *str) { - size_t len; + size_t len; len = strlen(str); if (len == 1 && str[0] != '_') - return cs(str_table[(int)str[0] - 'a' + ARRAY_CHAR]); + return (cs(str_table[(int)str[0] - 'a' + ARRAY_CHAR])); else - return lookup(str, len, 'A'); + return (lookup(str, len, 'A')); } static ssize_t function_node(char *str) { - size_t len; + size_t len; len = strlen(str); if (len == 1 && str[0] != '_') - return cs(str_table[(int)str[0] - 'a' + FUNC_CHAR]); + return (cs(str_table[(int)str[0] - 'a' + FUNC_CHAR])); else - return lookup(str, len, 'F'); + return (lookup(str, len, 'F')); } static void @@ -960,7 +960,7 @@ yyerror(const char *s) { char *str, *p; - int n; + int n; if (yyin != NULL && feof(yyin)) n = asprintf(&str, "%s: %s:%d: %s: unexpected EOF", @@ -1000,7 +1000,7 @@ static void init(void) { - unsigned int i; + unsigned int i; for (i = 0; i < UCHAR_MAX; i++) { str_table[i][0] = i; @@ -1022,7 +1022,7 @@ static char * escape(const char *str) { - char *ret, *p; + char *ret, *p; ret = malloc(strlen(str) + 1); if (ret == NULL) @@ -1071,15 +1071,15 @@ *p++ = *str++; } *p = '\0'; - return ret; + return (ret); } /* ARGSUSED */ void sigchld(int signo) { - pid_t pid; - int status; + pid_t pid; + int status; switch (signo) { default: @@ -1101,8 +1101,8 @@ int main(int argc, char *argv[]) { - int i, ch; - int p[2]; + int i, ch; + int p[2]; char *q; init(); @@ -1175,5 +1175,5 @@ } } yywrap(); - return yyparse(); + return (yyparse()); } ==== //depot/projects/soc2008/gabor_textproc/bc/extern.h#3 (text+ko) ==== @@ -20,19 +20,19 @@ #include struct lvalue { - ssize_t load; - ssize_t store; + ssize_t load; + ssize_t store; }; -int yylex(void); -void yyerror(const char *); -void fatal(const char *); -void abort_line(int); +int yylex(void); +void yyerror(const char *); +void fatal(const char *); +void abort_line(int); -extern int lineno; -extern int fileindex; -extern int sargc; +extern int lineno; +extern int fileindex; +extern int sargc; extern const char **sargv; extern const char *filename; extern char *cmdexpr; -bool interactive; +bool interactive; ==== //depot/projects/soc2008/gabor_textproc/bc/scan.l#3 (text+ko) ==== @@ -31,14 +31,14 @@ #include "bc.h" #include "pathnames.h" -int lineno; +int lineno; static char *strbuf = NULL; -static size_t strbuf_sz = 1; -static bool dot_seen; +static size_t strbuf_sz = 1; +static bool dot_seen; -static void init_strbuf(void); -static void add_str(const char *); +static void init_strbuf(void); +static void add_str(const char *); %} @@ -91,7 +91,7 @@ BEGIN(INITIAL); yylval.str = strbuf; unput('.'); - return NUMBER; + return (NUMBER); } else { dot_seen = true; add_str("."); @@ -102,73 +102,73 @@ BEGIN(INITIAL); unput(yytext[0]); if (strcmp(strbuf, ".") == 0) - return DOT; + return (DOT); else { yylval.str = strbuf; - return NUMBER; + return (NUMBER); } } } -"auto" return AUTO; -"break" return BREAK; -"continue" return CONTINUE; -"define" return DEFINE; -"else" return ELSE; -"ibase" return IBASE; -"if" return IF; -"last" return DOT; -"for" return FOR; -"length" return LENGTH; -"obase" return OBASE; -"print" return PRINT; -"quit" return QUIT; -"return" return RETURN; -"scale" return SCALE; -"sqrt" return SQRT; -"while" return WHILE; +"auto" return (AUTO); +"break" return (BREAK); +"continue" return (CONTINUE); +"define" return (DEFINE); +"else" return (ELSE); +"ibase" return (IBASE); +"if" return (IF); +"last" return (DOT); +"for" return (FOR); +"length" return (LENGTH); +"obase" return (OBASE); +"print" return (PRINT); +"quit" return (QUIT); +"return" return (RETURN); +"scale" return (SCALE); +"sqrt" return (SQRT); +"while" return (WHILE); -"^" return EXPONENT; -"*" return MULTIPLY; -"/" return DIVIDE; -"%" return REMAINDER; +"^" return (EXPONENT); +"*" return (MULTIPLY); +"/" return (DIVIDE); +"%" return (REMAINDER); -"!" return BOOL_NOT; -"&&" return BOOL_AND; -"||" return BOOL_OR; +"!" return (BOOL_NOT); +"&&" return (BOOL_AND); +"||" return (BOOL_OR); -"+" return PLUS; -"-" return MINUS; +"+" return (PLUS); +"-" return (MINUS); -"++" return INCR; -"--" return DECR; +"++" return (INCR); +"--" return (DECR); -"=" yylval.str = ""; return ASSIGN_OP; -"+=" yylval.str = "+"; return ASSIGN_OP; -"-=" yylval.str = "-"; return ASSIGN_OP; -"*=" yylval.str = "*"; return ASSIGN_OP; -"/=" yylval.str = "/"; return ASSIGN_OP; -"%=" yylval.str = "%"; return ASSIGN_OP; -"^=" yylval.str = "^"; return ASSIGN_OP; +"=" yylval.str = ""; return (ASSIGN_OP); +"+=" yylval.str = "+"; return (ASSIGN_OP); +"-=" yylval.str = "-"; return (ASSIGN_OP); +"*=" yylval.str = "*"; return (ASSIGN_OP); +"/=" yylval.str = "/"; return (ASSIGN_OP); +"%=" yylval.str = "%"; return (ASSIGN_OP); +"^=" yylval.str = "^"; return (ASSIGN_OP); -"==" return EQUALS; -"<=" return LESS_EQ; -">=" return GREATER_EQ; -"!=" return UNEQUALS; -"<" return LESS; -">" return GREATER; +"==" return (EQUALS); +"<=" return (LESS_EQ); +">=" return (GREATER_EQ); +"!=" return (UNEQUALS); +"<" return (LESS); +">" return (GREATER); -"," return COMMA; -";" return SEMICOLON; +"," return (COMMA); +";" return (SEMICOLON); -"(" return LPAR; -")" return RPAR; +"(" return (LPAR); +")" return (RPAR); -"[" return LBRACKET; -"]" return RBRACKET; +"[" return (LBRACKET); +"]" return (RBRACKET); -"{" return LBRACE; -"}" return RBRACE; +"{" return (LBRACE); +"}" return (RBRACE); {ALPHA}{ALPHANUM}* { /* alloc an extra byte for the type marker */ @@ -177,15 +177,15 @@ err(1, NULL); strlcpy(p, yytext, yyleng + 1); yylval.astr = p; - return LETTER; + return (LETTER); } \\\n lineno++; -\n lineno++; return NEWLINE; +\n lineno++; return (NEWLINE); #[^\n]* ; [ \t] ; -<> return QUIT; +<> return (QUIT); . yyerror("illegal character"); %% @@ -204,13 +204,13 @@ static void add_str(const char *str) { - size_t arglen; + size_t arglen; arglen = strlen(str); if (strlen(strbuf) + arglen + 1 > strbuf_sz) { - size_t newsize; - char *p; + size_t newsize; + char *p; newsize = strbuf_sz + arglen + 1; p = realloc(strbuf, newsize); @@ -228,8 +228,8 @@ void abort_line(int sig) { - static const char str[] = "[\n]P\n"; - int save_errno; + static const char str[] = "[\n]P\n"; + int save_errno; switch (sig) { default: @@ -243,8 +243,8 @@ int yywrap(void) { - static int state; - static YY_BUFFER_STATE buf; + static int state; + static YY_BUFFER_STATE buf; if (fileindex == 0 && sargc > 0 && strcmp(sargv[0], _PATH_LIBB) == 0) { filename = sargv[fileindex++]; From owner-p4-projects@FreeBSD.ORG Tue Jun 23 08:33:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53FF01065679; Tue, 23 Jun 2009 08:33:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 135751065677 for ; Tue, 23 Jun 2009 08:33:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 007728FC32 for ; Tue, 23 Jun 2009 08:33:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5N8XNEo058663 for ; Tue, 23 Jun 2009 08:33:23 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5N8XNFr058661 for perforce@freebsd.org; Tue, 23 Jun 2009 08:33:23 GMT (envelope-from gabor@freebsd.org) Date: Tue, 23 Jun 2009 08:33:23 GMT Message-Id: <200906230833.n5N8XNFr058661@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 164945 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 08:33:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164945 Change 164945 by gabor@gabor_server on 2009/06/23 08:33:12 - style(9) Affected files ... .. //depot/projects/soc2008/gabor_textproc/dc/bcode.c#4 edit .. //depot/projects/soc2008/gabor_textproc/dc/bcode.h#4 edit .. //depot/projects/soc2008/gabor_textproc/dc/dc.c#4 edit .. //depot/projects/soc2008/gabor_textproc/dc/extern.h#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/inout.c#4 edit .. //depot/projects/soc2008/gabor_textproc/dc/mem.c#3 edit .. //depot/projects/soc2008/gabor_textproc/dc/stack.c#4 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/dc/bcode.c#4 (text+ko) ==== @@ -31,8 +31,6 @@ BIGNUM zero; -/* #define DEBUGGING */ - #define __inline #define MAX_ARRAY_INDEX 2048 @@ -56,8 +54,8 @@ size_t readstack_sz; }; -static struct bmachine bmachine; -static void sighandler(int); +static struct bmachine bmachine; +static void sighandler(int); static __inline int readch(void); static __inline void unreadch(void); @@ -238,7 +236,7 @@ void init_bmachine(bool extended_registers) { - unsigned int i; + unsigned int i; bmachine.extended_regs = extended_registers; bmachine.reg_array_size = bmachine.extended_regs ? @@ -282,7 +280,7 @@ static __inline int readch(void) { - struct source *src = &bmachine.readstack[bmachine.readsp]; + struct source *src = &bmachine.readstack[bmachine.readsp]; return (src->vtable->readchar(src)); } @@ -290,7 +288,7 @@ static __inline void unreadch(void) { - struct source *src = &bmachine.readstack[bmachine.readsp]; + struct source *src = &bmachine.readstack[bmachine.readsp]; src->vtable->unreadchar(src); } @@ -298,7 +296,7 @@ static __inline char * readline(void) { - struct source *src = &bmachine.readstack[bmachine.readsp]; + struct source *src = &bmachine.readstack[bmachine.readsp]; return (src->vtable->readline(src)); } @@ -306,7 +304,7 @@ static __inline void src_free(void) { - struct source *src = &bmachine.readstack[bmachine.readsp]; + struct source *src = &bmachine.readstack[bmachine.readsp]; src->vtable->free(src); } @@ -315,7 +313,8 @@ void pn(const char *str, const struct number *n) { - char *p = BN_bn2dec(n->number); + char *p = BN_bn2dec(n->number); + if (p == NULL) err(1, "BN_bn2dec failed"); fputs(str, stderr); @@ -326,7 +325,8 @@ void pbn(const char *str, const BIGNUM *n) { - char *p = BN_bn2dec(n); + char *p = BN_bn2dec(n); + if (p == NULL) err(1, "BN_bn2dec failed"); fputs(str, stderr); @@ -351,7 +351,7 @@ void scale_number(BIGNUM *n, int s) { - unsigned int abs_scale; + unsigned int abs_scale; if (s == 0) return; @@ -364,8 +364,8 @@ else BN_div_word(n, factors[abs_scale]); } else { - BIGNUM *a, *p; - BN_CTX *ctx; + BIGNUM *a, *p; + BN_CTX *ctx; a = BN_new(); bn_checkp(a); @@ -390,7 +390,7 @@ void split_number(const struct number *n, BIGNUM *i, BIGNUM *f) { - u_long rem; + u_long rem; bn_checkp(BN_copy(i, n->number)); @@ -401,8 +401,8 @@ if (f != NULL) bn_check(BN_set_word(f, rem)); } else { - BIGNUM *a, *p; - BN_CTX *ctx; + BIGNUM *a, *p; + BN_CTX *ctx; a = BN_new(); bn_checkp(a); @@ -510,7 +510,8 @@ static __inline void print_tos(void) { - struct value *value = tos(); + struct value *value = tos(); + if (value != NULL) { print_value(stdout, value, "", bmachine.obase); putchar('\n'); @@ -522,7 +523,7 @@ static void pop_print(void) { - struct value *value = pop(); + struct value *value = pop(); if (value != NULL) { switch (value->type) { @@ -545,7 +546,7 @@ static void pop_printn(void) { - struct value *value = pop(); + struct value *value = pop(); if (value != NULL) { print_value(stdout, value, "", bmachine.obase); @@ -571,7 +572,7 @@ static void drop(void) { - struct value *v = pop(); + struct value *v = pop(); if (v != NULL) stack_free_value(v); } @@ -590,7 +591,7 @@ set_scale(void) { struct number *n; - u_long scale; + u_long scale; n = pop_number(); if (n != NULL) { @@ -621,7 +622,7 @@ set_obase(void) { struct number *n; - u_long base; + u_long base; n = pop_number(); if (n != NULL) { @@ -637,7 +638,7 @@ static void get_ibase(void) { - struct number *n; + struct number *n; n = new_number(); bn_check(BN_set_word(n->number, bmachine.ibase)); @@ -1215,8 +1216,8 @@ scale = bmachine.scale; } else { /* Posix bc says min(a.scale * b, max(a.scale, scale) */ - u_long b; - u_int m; + u_long b; + u_int m; b = BN_get_word(p->number); m = max(a->scale, bmachine.scale); @@ -1357,7 +1358,7 @@ static void equal_numbers(void) { - struct number *a, *b, *r; + struct number *a, *b, *r; a = pop_number(); if (a == NULL) { @@ -1377,7 +1378,7 @@ static void less_numbers(void) { - struct number *a, *b, *r; + struct number *a, *b, *r; a = pop_number(); if (a == NULL) { @@ -1397,7 +1398,7 @@ static void lesseq_numbers(void) { - struct number *a, *b, *r; + struct number *a, *b, *r; a = pop_number(); if (a == NULL) { ==== //depot/projects/soc2008/gabor_textproc/dc/bcode.h#4 (text+ko) ==== @@ -22,7 +22,7 @@ struct number { BIGNUM *number; - u_int scale; + u_int scale; }; enum stacktype { @@ -48,18 +48,18 @@ char *string; } u; struct array *array; - enum stacktype type; + enum stacktype type; }; struct array { struct value *data; - size_t size; + size_t size; }; struct stack { struct value *stack; - ssize_t sp; - ssize_t size; + ssize_t sp; + ssize_t size; }; struct source; @@ -74,25 +74,25 @@ struct source { struct vtable *vtable; union { - FILE *stream; + FILE *stream; struct { - u_char *buf; - size_t pos; + u_char *buf; + size_t pos; } string; } u; - int lastchar; + int lastchar; }; -void init_bmachine(bool); -void reset_bmachine(struct source *); -void scale_number(BIGNUM *, int); -void normalize(struct number *, u_int); -void eval(void); -void pn(const char *, const struct number *); -void pbn(const char *, const BIGNUM *); -void negate(struct number *); -void split_number(const struct number *, BIGNUM *, BIGNUM *); -void bmul_number(struct number *, struct number *, +void init_bmachine(bool); +void reset_bmachine(struct source *); +void scale_number(BIGNUM *, int); +void normalize(struct number *, u_int); +void eval(void); +void pn(const char *, const struct number *); +void pbn(const char *, const BIGNUM *); +void negate(struct number *); +void split_number(const struct number *, BIGNUM *, BIGNUM *); +void bmul_number(struct number *, struct number *, struct number *); -extern BIGNUM zero; +extern BIGNUM zero; ==== //depot/projects/soc2008/gabor_textproc/dc/dc.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ #define DC_VER "1.3-FreeBSD" -static void usage(void); +static void usage(void); extern char *__progname; @@ -80,10 +80,10 @@ int main(int argc, char *argv[]) { - int ch; - bool extended_regs = false; + int ch; + bool extended_regs = false; char *buf; - bool preproc_done = false; + bool preproc_done = false; if ((buf = strdup("")) == NULL) err(1, NULL); ==== //depot/projects/soc2008/gabor_textproc/dc/extern.h#3 (text+ko) ==== @@ -22,42 +22,42 @@ /* inout.c */ -void src_setstream(struct source *, FILE *); -void src_setstring(struct source *, char *); +void src_setstream(struct source *, FILE *); +void src_setstring(struct source *, char *); struct number *readnumber(struct source *, u_int); -void printnumber(FILE *, const struct number *, u_int); +void printnumber(FILE *, const struct number *, u_int); char *read_string(struct source *); -void print_value(FILE *, const struct value *, const char *, u_int); -void print_ascii(FILE *, const struct number *); +void print_value(FILE *, const struct value *, const char *, u_int); +void print_ascii(FILE *, const struct number *); /* mem.c */ struct number *new_number(void); -void free_number(struct number *); +void free_number(struct number *); struct number *dup_number(const struct number *); void *bmalloc(size_t); void *brealloc(void *, size_t); char *bstrdup(const char *p); -void bn_check(int); -void bn_checkp(const void *); +void bn_check(int); +void bn_checkp(const void *); /* stack.c */ -void stack_init(struct stack *); -void stack_free_value(struct value *); +void stack_init(struct stack *); +void stack_free_value(struct value *); struct value *stack_dup_value(const struct value *, struct value *); -void stack_swap(struct stack *); -size_t stack_size(const struct stack *); -void stack_dup(struct stack *); -void stack_pushnumber(struct stack *, struct number *); -void stack_pushstring(struct stack *stack, char *); -void stack_push(struct stack *, struct value *); -void stack_set_tos(struct stack *, struct value *); +void stack_swap(struct stack *); +size_t stack_size(const struct stack *); +void stack_dup(struct stack *); +void stack_pushnumber(struct stack *, struct number *); +void stack_pushstring(struct stack *stack, char *); +void stack_push(struct stack *, struct value *); +void stack_set_tos(struct stack *, struct value *); struct value *stack_tos(const struct stack *); struct value *stack_pop(struct stack *); struct number *stack_popnumber(struct stack *); -char * stack_popstring(struct stack *); -void stack_clear(struct stack *); -void stack_print(FILE *, const struct stack *, const char *, +char *stack_popstring(struct stack *); +void stack_clear(struct stack *); +void stack_print(FILE *, const struct stack *, const char *, u_int base); -void frame_assign(struct stack *, size_t, const struct value *); -struct value * frame_retrieve(const struct stack *, size_t); -/* void frame_free(struct stack *); */ +void frame_assign(struct stack *, size_t, const struct value *); +struct value *frame_retrieve(const struct stack *, size_t); +/* void frame_free(struct stack *); */ ==== //depot/projects/soc2008/gabor_textproc/dc/inout.c#4 (text+ko) ==== @@ -28,19 +28,19 @@ #define MAX_CHARS_PER_LINE 68 -static int lastchar; -static int charcount; +static int lastchar; +static int charcount; -static int src_getcharstream(struct source *); -static void src_ungetcharstream(struct source *); +static int src_getcharstream(struct source *); +static void src_ungetcharstream(struct source *); static char *src_getlinestream(struct source *); -static int src_getcharstring(struct source *); -static void src_ungetcharstring(struct source *); +static int src_getcharstring(struct source *); +static void src_ungetcharstring(struct source *); static char *src_getlinestring(struct source *); -static void src_freestring(struct source *); -static void flushwrap(FILE *); -static void putcharwrap(FILE *, int); -static void printwrap(FILE *, const char *); +static void src_freestring(struct source *); +static void flushwrap(FILE *); +static void putcharwrap(FILE *, int); +static void printwrap(FILE *, const char *); static char *get_digit(u_long, int, u_int); static struct vtable stream_vtable = { @@ -60,6 +60,7 @@ void src_setstream(struct source *src, FILE *stream) { + src->u.stream = stream; src->vtable = &stream_vtable; } @@ -67,6 +68,7 @@ void src_setstring(struct source *src, char *p) { + src->u.string.buf = (u_char *)p; src->u.string.pos = 0; src->vtable = &string_vtable; @@ -75,40 +77,44 @@ static int src_getcharstream(struct source *src) { - return src->lastchar = getc(src->u.stream); + + return (src->lastchar = getc(src->u.stream)); } static void src_ungetcharstream(struct source *src) { + ungetc(src->lastchar, src->u.stream); } static char * src_getlinestream(struct source *src) { - char buf[BUFSIZ]; + char buf[BUFSIZ]; if (fgets(buf, BUFSIZ, src->u.stream) == NULL) - return bstrdup(""); + return (bstrdup("")); return bstrdup(buf); } static int src_getcharstring(struct source *src) { + src->lastchar = src->u.string.buf[src->u.string.pos]; if (src->lastchar == '\0') - return EOF; + return (EOF); else { src->u.string.pos++; - return src->lastchar; + return (src->lastchar); } } static void src_ungetcharstring(struct source *src) { + if (src->u.string.pos > 0) { if (src->lastchar != '\0') --src->u.string.pos; @@ -118,8 +124,8 @@ static char * src_getlinestring(struct source *src) { - char buf[BUFSIZ]; - int ch, i; + char buf[BUFSIZ]; + int ch, i; i = 0; while (i < BUFSIZ-1) { @@ -131,18 +137,20 @@ break; } buf[i] = '\0'; - return bstrdup(buf); + return (bstrdup(buf)); } static void src_freestring(struct source *src) { + free(src->u.string.buf); } static void flushwrap(FILE *f) { + if (lastchar != -1) putc(lastchar, f); } @@ -150,6 +158,7 @@ static void putcharwrap(FILE *f, int ch) { + if (charcount >= MAX_CHARS_PER_LINE) { charcount = 0; fputs("\\\n", f); @@ -164,7 +173,7 @@ static void printwrap(FILE *f, const char *p) { - char buf[12]; + char buf[12]; char *q = buf; strlcpy(buf, p, sizeof(buf)); @@ -176,11 +185,11 @@ readnumber(struct source *src, u_int base) { struct number *n; - int ch; - bool sign = false; - bool dot = false; - BN_ULONG v; - u_int i; + int ch; + bool sign = false; + bool dot = false; + BN_ULONG v; + u_int i; n = new_number(); bn_check(BN_zero(n->number)); @@ -221,15 +230,15 @@ } if (sign) negate(n); - return n; + return (n); } char * read_string(struct source *src) { - int count, i, sz, new_sz, ch; - char *p; - bool escape; + int count, i, sz, new_sz, ch; + char *p; + bool escape; escape = false; count = 1; @@ -259,13 +268,13 @@ } } p[i] = '\0'; - return p; + return (p); } static char * get_digit(u_long num, int digits, u_int base) { - char *p; + char *p; if (base <= 16) { p = bmalloc(2); @@ -275,18 +284,18 @@ if (asprintf(&p, "%0*lu", digits, num) == -1) err(1, NULL); } - return p; + return (p); } void printnumber(FILE *f, const struct number *b, u_int base) { struct number *int_part, *fract_part; - int digits; - char buf[11]; - size_t sz; - unsigned int i; - struct stack stack; + int digits; + char buf[11]; + size_t sz; + unsigned int i; + struct stack stack; char *p; charcount = 0; @@ -325,7 +334,7 @@ stack_clear(&stack); if (b->scale > 0) { struct number *num_base; - BIGNUM mult, stop; + BIGNUM mult, stop; putcharwrap(f, '.'); num_base = new_number(); @@ -338,7 +347,7 @@ i = 0; while (BN_cmp(&mult, &stop) < 0) { - u_long rem; + u_long rem; if (i && base > 16) putcharwrap(f, ' '); @@ -368,6 +377,7 @@ void print_value(FILE *f, const struct value *value, const char *prefix, u_int base) { + fputs(prefix, f); switch (value->type) { case BCODE_NONE: @@ -386,8 +396,8 @@ void print_ascii(FILE *f, const struct number *n) { - BIGNUM *v; - int numbits, i, ch; + BIGNUM *v; + int numbits, i, ch; v = BN_dup(n->number); bn_checkp(v); ==== //depot/projects/soc2008/gabor_textproc/dc/mem.c#3 (text+ko) ==== @@ -30,19 +30,20 @@ struct number * new_number(void) { - struct number *n; + struct number *n; n = bmalloc(sizeof(*n)); n->scale = 0; n->number = BN_new(); if (n->number == NULL) err(1, NULL); - return n; + return (n); } void free_number(struct number *n) { + BN_free(n->number); free(n); } @@ -50,51 +51,52 @@ struct number * dup_number(const struct number *a) { - struct number *n; + struct number *n; n = bmalloc(sizeof(*n)); n->scale = a->scale; n->number = BN_dup(a->number); bn_checkp(n->number); - return n; + return (n); } void * bmalloc(size_t sz) { - void *p; + void *p; p = malloc(sz); if (p == NULL) err(1, NULL); - return p; + return (p); } void * brealloc(void *p, size_t sz) { - void *q; + void *q; q = realloc(p, sz); if (q == NULL) err(1, NULL); - return q; + return (q); } char * bstrdup(const char *p) { - char *q; + char *q; q = strdup(p); if (q == NULL) err(1, NULL); - return q; + return (q); } void bn_check(int x) \ { + if (x == 0) err(1, "big number failure %lx", ERR_get_error()); } @@ -102,6 +104,7 @@ void bn_checkp(const void *p) \ { + if (p == NULL) err(1, "allocation failure %lx", ERR_get_error()); } ==== //depot/projects/soc2008/gabor_textproc/dc/stack.c#4 (text+ko) ==== @@ -25,18 +25,19 @@ #include "extern.h" -static __inline bool stack_empty(const struct stack *); -static void stack_grow(struct stack *); +static __inline bool stack_empty(const struct stack *); +static void stack_grow(struct stack *); static struct array *array_new(void); -static __inline void array_free(struct array *); -static struct array * array_dup(const struct array *); -static __inline void array_grow(struct array *, size_t); -static __inline void array_assign(struct array *, size_t, const struct value *); +static __inline void array_free(struct array *); +static struct array *array_dup(const struct array *); +static __inline void array_grow(struct array *, size_t); +static __inline void array_assign(struct array *, size_t, const struct value *); static __inline struct value *array_retrieve(const struct array *, size_t); void stack_init(struct stack *stack) { + stack->size = 0; stack->sp = -1; stack->stack = NULL; @@ -45,7 +46,8 @@ static __inline bool stack_empty(const struct stack *stack) { - bool empty = stack->sp == -1; + bool empty = stack->sp == -1; + if (empty) warnx("stack empty"); return empty; @@ -55,6 +57,7 @@ void stack_free_value(struct value *v) { + switch (v->type) { case BCODE_NONE: break; @@ -75,6 +78,7 @@ struct value * stack_dup_value(const struct value *a, struct value *copy) { + copy->type = a->type; switch (a->type) { @@ -92,20 +96,21 @@ copy->array = a->array == NULL ? NULL : array_dup(a->array); - return copy; + return (copy); } size_t stack_size(const struct stack *stack) { - return stack->sp + 1; + + return (stack->sp + 1); } void stack_dup(struct stack *stack) { struct value *value; - struct value copy; + struct value copy; value = stack_tos(stack); if (value == NULL) { @@ -118,7 +123,7 @@ void stack_swap(struct stack *stack) { - struct value copy; + struct value copy; if (stack->sp < 1) { warnx("stack empty"); @@ -132,7 +137,7 @@ static void stack_grow(struct stack *stack) { - size_t new_size, i; + size_t new_size, i; if (++stack->sp == stack->size) { new_size = stack->size * 2 + 1; @@ -147,6 +152,7 @@ void stack_pushnumber(struct stack *stack, struct number *b) { + stack_grow(stack); stack->stack[stack->sp].type = BCODE_NUMBER; stack->stack[stack->sp].u.num = b; @@ -155,6 +161,7 @@ void stack_pushstring(struct stack *stack, char *string) { + stack_grow(stack); stack->stack[stack->sp].type = BCODE_STRING; stack->stack[stack->sp].u.string = string; @@ -163,6 +170,7 @@ void stack_push(struct stack *stack, struct value *v) { + switch (v->type) { case BCODE_NONE: stack_grow(stack); @@ -182,14 +190,16 @@ struct value * stack_tos(const struct stack *stack) { + if (stack->sp == -1) - return NULL; + return (NULL); return &stack->stack[stack->sp]; } void stack_set_tos(struct stack *stack, struct value *v) { + if (stack->sp == -1) stack_push(stack, v); else { @@ -203,23 +213,25 @@ struct value * stack_pop(struct stack *stack) { + if (stack_empty(stack)) - return NULL; + return (NULL); return &stack->stack[stack->sp--]; } struct number * stack_popnumber(struct stack *stack) { + if (stack_empty(stack)) - return NULL; + return (NULL); if (stack->stack[stack->sp].array != NULL) { array_free(stack->stack[stack->sp].array); stack->stack[stack->sp].array = NULL; } if (stack->stack[stack->sp].type != BCODE_NUMBER) { warnx("not a number"); /* XXX remove */ - return NULL; + return (NULL); } return stack->stack[stack->sp--].u.num; } @@ -227,15 +239,16 @@ char * stack_popstring(struct stack *stack) { + if (stack_empty(stack)) - return NULL; + return (NULL); if (stack->stack[stack->sp].array != NULL) { array_free(stack->stack[stack->sp].array); stack->stack[stack->sp].array = NULL; } if (stack->stack[stack->sp].type != BCODE_STRING) { warnx("not a string"); /* XXX remove */ - return NULL; + return (NULL); } return stack->stack[stack->sp--].u.string; } @@ -243,6 +256,7 @@ void stack_clear(struct stack *stack) { + while (stack->sp >= 0) { stack_free_value(&stack->stack[stack->sp--]); } @@ -253,7 +267,7 @@ void stack_print(FILE *f, const struct stack *stack, const char *prefix, u_int base) { - ssize_t i; + ssize_t i; for (i = stack->sp; i >= 0; i--) { print_value(f, &stack->stack[i], prefix, base); @@ -265,7 +279,7 @@ static struct array * array_new(void) { - struct array *a; + struct array *a; a = bmalloc(sizeof(*a)); a->data = NULL; @@ -276,7 +290,7 @@ static __inline void array_free(struct array *a) { - size_t i; + size_t i; if (a == NULL) return; @@ -290,21 +304,21 @@ array_dup(const struct array *a) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 10:51:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E2DF106567B; Tue, 23 Jun 2009 10:51:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF1E71065679 for ; Tue, 23 Jun 2009 10:51:55 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9C83D8FC1A for ; Tue, 23 Jun 2009 10:51:55 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NAptrm080924 for ; Tue, 23 Jun 2009 10:51:55 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NAptiB080922 for perforce@freebsd.org; Tue, 23 Jun 2009 10:51:55 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 10:51:55 GMT Message-Id: <200906231051.n5NAptiB080922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 10:51:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=164950 Change 164950 by mav@mav_mavbook on 2009/06/23 10:51:14 Add cam/ata headers to the build. Affected files ... .. //depot/projects/scottl-camlock/src/etc/mtree/BSD.include.dist#4 edit .. //depot/projects/scottl-camlock/src/include/Makefile#5 edit Differences ... ==== //depot/projects/scottl-camlock/src/etc/mtree/BSD.include.dist#4 (text+ko) ==== @@ -78,6 +78,8 @@ .. .. cam + ata + .. scsi .. .. ==== //depot/projects/scottl-camlock/src/include/Makefile#5 (text+ko) ==== @@ -38,7 +38,7 @@ nfs nfsclient nfsserver \ sys vm -LSUBDIRS= cam/scsi \ +LSUBDIRS= cam/ata cam/scsi \ dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \ dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \ dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \ From owner-p4-projects@FreeBSD.ORG Tue Jun 23 11:01:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B34A1065674; Tue, 23 Jun 2009 11:01:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A1BD1065670 for ; Tue, 23 Jun 2009 11:01:06 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 16C4A8FC20 for ; Tue, 23 Jun 2009 11:01:06 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NB161N081678 for ; Tue, 23 Jun 2009 11:01:06 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NB15Rn081676 for perforce@freebsd.org; Tue, 23 Jun 2009 11:01:05 GMT (envelope-from zec@fer.hr) Date: Tue, 23 Jun 2009 11:01:05 GMT Message-Id: <200906231101.n5NB15Rn081676@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164951 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 11:01:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=164951 Change 164951 by zec@zec_amdx4 on 2009/06/23 11:00:18 IFC @ 164949 Affected files ... .. //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/files.avila#3 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#16 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#16 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#16 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/kern_ndis.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_ndis.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#32 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#45 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.powerpc#16 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options#35 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-usb.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_pccard.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_pci.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_usb.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pci/pci.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/usb/uaudio.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci_atmelarm.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci_atmelarm.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/avr32dci.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_ixp4xx.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_mbus.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_pci.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg_atmelarm.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_atmelarm.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_pci.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci_pci.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/usb_controller.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci_atmelarm.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/uhid.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ukbd.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ums.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/udbp.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/ufm.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_aue.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_axe.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cdce.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cue.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_kue.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_rue.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_udav.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/usb_ethernet.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/u3g.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uark.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubsa.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubser.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uchcom.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ucycom.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ufoma.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uftdi.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ugensa.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uipaq.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ulpt.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umct.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umodem.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umoscom.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uplcom.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/usb_serial.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uslcom.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvisor.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvscom.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/urio.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/ustorage_fs.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_cdce.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_msc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_mtp.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_controller.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.h#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_defs.h#4 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.h#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_generic.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.h#8 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hub.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_ioctl.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.h#6 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_msctest.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.h#5 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_revision.h#6 delete .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbhid.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rum.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uath.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_ural.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/kern/init_sysent.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/makesyscalls.sh#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.master#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_mbuf.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_sockbuf.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#25 integrate .. //depot/projects/vimage-commit2/src/sys/libkern/iconv_converter_if.m#3 integrate .. //depot/projects/vimage-commit2/src/sys/modules/netgraph/Makefile#5 integrate .. //depot/projects/vimage-commit2/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#46 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#33 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_usrreq.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#36 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/GENERIC#12 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/NOTES#6 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/include/spr.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/cpuset.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#47 integrate .. //depot/projects/vimage-commit2/src/sys/sys/socketvar.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.mk#8 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#77 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.7 2009/04/21 22:48:12 stas Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.8 2009/06/22 22:46:37 sam Exp $ # # Device wiring for the Gateworks Avila 2384. @@ -9,10 +9,12 @@ hint.uart.0.addr=0xc8000000 hint.uart.0.irq=15 hint.uart.0.flags=0x10 +hint.uart.0.ier_rxbits=0x5d # NB: need UUE+RTOIE # USART0 is unit 1 hint.uart.1.at="ixp0" hint.uart.1.addr=0xc8001000 hint.uart.1.irq=13 +hint.uart.1.ier_rxbits=0x5d # NB: need UUE+RTOIE # NPE Hardware Queue Manager hint.ixpqmgr.0.at="ixp0" ==== //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.9 2009/06/22 23:22:38 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -9,8 +9,21 @@ hint.uart.0.addr=0xc8000000 hint.uart.0.irq=15 hint.uart.0.flags=0x10 +hint.uart.0.ier_rxbits=0x5d # NB: need UUE+RTOIE + +# NB: no UART1 on ixp435 -# NB: no UART1 on ixp436 +# optional GPS serial port +hint.uart.1.at="ixp0" +hint.uart.1.addr=0x53fc0000 +hint.uart.1.irq=20 +hint.uart.1.ier_rxbits=0x1 +hint.uart.1.rclk=1843200 +# optional RS485 serial port +hint.uart.2.at="ixp0" +hint.uart.2.addr=0x53f80000 +hint.uart.2.irq=21 +hint.uart.2.rclk=1843200 # NPE Hardware Queue Manager hint.ixpqmgr.0.at="ixp0" ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.7 2009/06/12 00:07:09 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.8 2009/06/22 20:38:55 sam Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. @@ -218,16 +218,7 @@ rman_set_bustag(&sc->sc_alt_ata, &sc->sc_expbus_tag); rman_set_bushandle(&sc->sc_alt_ata, sc->sc_alt_ioh); - GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPOER, - GPIO_CONF_READ_4(sa, IXP425_GPIO_GPOER) | (1<gpin)); - /* set interrupt type */ - GPIO_CONF_WRITE_4(sa, GPIO_TYPE_REG(config->gpin), - (GPIO_CONF_READ_4(sa, GPIO_TYPE_REG(config->gpin)) &~ - GPIO_TYPE(config->gpin, GPIO_TYPE_MASK)) | - GPIO_TYPE(config->gpin, GPIO_TYPE_EDG_RISING)); - - /* clear ISR */ - GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPISR, (1<gpin)); + ixp425_set_gpio(sa, config->gpin, GPIO_TYPE_EDG_RISING); /* configure CS1/3 window, leaving timing unchanged */ EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#7 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.18 2009/03/10 21:47:17 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.19 2009/06/22 20:41:02 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -183,14 +183,9 @@ { IXP425_IO_VBASE, IXP425_IO_HWBASE, IXP425_IO_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, - /* Expansion Bus */ { IXP425_EXP_VBASE, IXP425_EXP_HWBASE, IXP425_EXP_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, - /* CFI Flash on the Expansion Bus */ - { IXP425_EXP_BUS_CS0_VBASE, IXP425_EXP_BUS_CS0_HWBASE, - IXP425_EXP_BUS_CS0_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, - /* IXP425 PCI Configuration */ { IXP425_PCI_VBASE, IXP425_PCI_HWBASE, IXP425_PCI_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, @@ -207,6 +202,10 @@ { IXP425_QMGR_VBASE, IXP425_QMGR_HWBASE, IXP425_QMGR_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* CFI Flash on the Expansion Bus */ + { IXP425_EXP_BUS_CS0_VBASE, IXP425_EXP_BUS_CS0_HWBASE, + IXP425_EXP_BUS_CS0_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* USB1 Memory Space */ { IXP435_USB1_VBASE, IXP435_USB1_HWBASE, IXP435_USB1_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, @@ -214,6 +213,14 @@ { IXP435_USB2_VBASE, IXP435_USB2_HWBASE, IXP435_USB2_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* GPS Memory Space */ + { CAMBRIA_GPS_VBASE, CAMBRIA_GPS_HWBASE, CAMBRIA_GPS_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + + /* RS485 Memory Space */ + { CAMBRIA_RS485_VBASE, CAMBRIA_RS485_HWBASE, CAMBRIA_RS485_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + { 0 } }; @@ -456,8 +463,8 @@ phys_avail[i++] = PHYSADDR; phys_avail[i++] = PHYSADDR + PAGE_SIZE; /* *XXX: Gross hack to get our - * pages in the vm_page_array - . */ + * pages in the vm_page_array. + */ #endif phys_avail[i++] = round_page(virtual_avail - KERNBASE + PHYSADDR); phys_avail[i++] = trunc_page(PHYSADDR + memsize - 1); ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/files.avila#3 (text+ko) ==== @@ -1,7 +1,8 @@ -#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.5 2008/12/20 03:26:09 sam Exp $ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.6 2009/06/22 22:54:13 sam Exp $ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional avila_ata arm/xscale/ixp425/avila_led.c optional avila_led +arm/xscale/ixp425/cambria_exp_space.c standard +arm/xscale/ixp425/cambria_fled.c optional cambria_fled arm/xscale/ixp425/cambria_led.c optional cambria_led -arm/xscale/ixp425/cambria_fled.c optional cambria_fled arm/xscale/ixp425/ixdp425_pci.c optional pci ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#8 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.20 2009/06/17 02:51:16 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.29 2009/06/22 22:54:13 sam Exp $"); #include "opt_ddb.h" @@ -113,7 +113,7 @@ 0xff, 0xff /* INT#30 -> INT#31 */ }; -static __inline u_int32_t +static __inline uint32_t ixp425_irq2gpio_bit(int irq) { return (1U << int2gpio[irq]); @@ -139,8 +139,8 @@ uint32_t gpit2r = GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPIT2R); int i, j; - db_printf("GPOUTR %08x GPOER %08x GPINR %08x GPISR %08x\n", - gpoutr, gpoer, gpinr, + db_printf("GPOUTR %08x GPINR %08x GPOER %08x GPISR %08x\n", + gpoutr, gpinr, gpoer, GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPISR)); db_printf("GPIT1R %08x GPIT2R %08x GPCLKR %08x\n", gpit1r, gpit2r, GPIO_CONF_READ_4(ixp425_softc, IXP425_GPIO_GPCLKR)); @@ -160,10 +160,44 @@ #endif void +ixp425_set_gpio(struct ixp425_softc *sc, int pin, int type) +{ + uint32_t gpiotr = GPIO_CONF_READ_4(sc, GPIO_TYPE_REG(pin)); + + /* clear interrupt type */ + GPIO_CONF_WRITE_4(sc, GPIO_TYPE_REG(pin), + gpiotr &~ GPIO_TYPE(pin, GPIO_TYPE_MASK)); + /* clear any pending interrupt */ + GPIO_CONF_WRITE_4(sc, IXP425_GPIO_GPISR, (1<> last; + for (; mask != 0; mask >>= 1, last += 1) { + if (mask & 1) + return last; + } + last = 32; + } + if (cpu_is_ixp43x()) { + mask = ixp435_irq_read() >> (32-last); + for (; mask != 0; mask >>= 1, last++) { + if (mask & 1) + return last; + } + } + return -1; } void @@ -267,7 +311,19 @@ ixp435_set_intrmask(); ixp435_set_intrsteer(); } + arm_post_filter = ixp425_post_filter; + + if (bus_space_map(sc->sc_iot, IXP425_GPIO_HWBASE, IXP425_GPIO_SIZE, + 0, &sc->sc_gpio_ioh)) + panic("%s: unable to map GPIO registers", __func__); + if (bus_space_map(sc->sc_iot, IXP425_EXP_HWBASE, IXP425_EXP_SIZE, + 0, &sc->sc_exp_ioh)) + panic("%s: unable to map Expansion Bus registers", __func__); + /* XXX belongs in platform init */ + if (cpu_is_ixp43x()) + cambria_exp_bus_init(sc); + if (bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, 0xffffffff, 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_dmat)) @@ -294,13 +350,6 @@ /* attach wired devices via hints */ bus_enumerate_hinted_children(dev); - if (bus_space_map(sc->sc_iot, IXP425_GPIO_HWBASE, IXP425_GPIO_SIZE, - 0, &sc->sc_gpio_ioh)) - panic("%s: unable to map GPIO registers", __func__); - if (bus_space_map(sc->sc_iot, IXP425_EXP_HWBASE, IXP425_EXP_SIZE, - 0, &sc->sc_exp_ioh)) - panic("%s: unable to map Expansion Bus registers", __func__); - bus_generic_probe(dev); bus_generic_attach(dev); @@ -375,6 +424,7 @@ uint32_t size; uint32_t vbase; int isa4x; /* XXX needs special bus space tag */ + int isslow; /* XXX needs special bus space tag */ }; static const struct hwvtrans * @@ -406,16 +456,14 @@ { .hwbase = IXP435_USB2_HWBASE, .size = IXP435_USB2_SIZE, .vbase = IXP435_USB2_VBASE }, -#ifdef CAMBRIA_GPS_VBASE { .hwbase = CAMBRIA_GPS_HWBASE, .size = CAMBRIA_GPS_SIZE, - .vbase = CAMBRIA_GPS_VBASE }, -#endif -#ifdef CAMBRIA_RS485_VBASE + .vbase = CAMBRIA_GPS_VBASE, + .isslow = 1 }, { .hwbase = CAMBRIA_RS485_HWBASE, .size = CAMBRIA_RS485_SIZE, - .vbase = CAMBRIA_RS485_VBASE }, -#endif + .vbase = CAMBRIA_RS485_VBASE, + .isslow = 1 }, }; int i; @@ -481,7 +529,8 @@ device_printf(child, "%s: assign 0x%lx:0x%lx%s\n", __func__, start, end - start, - vtrans->isa4x ? " A4X" : ""); + vtrans->isa4x ? " A4X" : + vtrans->isslow ? " SLOW" : ""); } } else vtrans = gethwvtrans(start, end - start); @@ -537,6 +586,8 @@ } if (vtrans->isa4x) rman_set_bustag(r, &ixp425_a4x_bs_tag); + else if (vtrans->isslow) + rman_set_bustag(r, &cambria_exp_bs_tag); else rman_set_bustag(r, sc->sc_iot); rman_set_bushandle(r, vtrans->vbase); ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425reg.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.7 2009/03/10 21:49:22 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.8 2009/06/22 20:41:02 sam Exp $ * */ @@ -88,10 +88,10 @@ * SDRAM/DDR Memory Controller * F020 0000 --------------------------- IXP425_MCU_VBASE * - * EHCI USB 2 (IXP435) - * F001 D000 --------------------------- IXP435_USB2_VBASE - * EHCI USB 1 (IXP435) - * F001 C000 --------------------------- IXP435_USB1_VBASE + * F001 F000 RS485 (Cambria) CAMBRIA_RS485_VBASE + * F001 E000 GPS (Cambria) CAMBRIA_GPS_VBASE + * F001 D000 EHCI USB 2 (IXP435) IXP435_USB2_VBASE + * F001 C000 EHCI USB 1 (IXP435) IXP435_USB1_VBASE * Queue manager * F001 8000 --------------------------- IXP425_QMGR_VBASE * PCI Configuration and Status @@ -686,10 +686,22 @@ /* * IXP435/Gateworks Cambria */ +#define IXP435_USB1_HWBASE 0xCD000000UL /* USB host controller 1 */ +#define IXP435_USB1_VBASE 0xF001C000UL +#define IXP435_USB1_SIZE 0x1000 /* NB: only uses 0x300 */ + +#define IXP435_USB2_HWBASE 0xCE000000UL /* USB host controller 2 */ +#define IXP435_USB2_VBASE 0xF001D000UL +#define IXP435_USB2_SIZE 0x1000 /* NB: only uses 0x300 */ + #define CAMBRIA_GPS_HWBASE 0x53FC0000UL /* optional GPS Serial Port */ -#define CAMBRIA_GPS_SIZE 0x40000 +#define CAMBRIA_GPS_VBASE 0xF001E000UL +#define CAMBRIA_GPS_SIZE 0x1000 #define CAMBRIA_RS485_HWBASE 0x53F80000UL /* optional RS485 Serial Port */ -#define CAMBRIA_RS485_SIZE 0x40000 +#define CAMBRIA_RS485_VBASE 0xF001F000UL +#define CAMBRIA_RS485_SIZE 0x1000 + +/* NB: these are mapped on the fly, so no fixed virtual addresses */ #define CAMBRIA_OCTAL_LED_HWBASE 0x53F40000UL /* Octal Status LED Latch */ #define CAMBRIA_OCTAL_LED_SIZE 0x1000 #define CAMBRIA_CFSEL1_HWBASE 0x53E40000UL /* Compact Flash Socket Sel 0 */ @@ -697,12 +709,4 @@ #define CAMBRIA_CFSEL0_HWBASE 0x53E00000UL /* Compact Flash Socket Sel 1 */ #define CAMBRIA_CFSEL0_SIZE 0x40000 -#define IXP435_USB1_HWBASE 0xcd000000UL /* USB host controller 1 */ -#define IXP435_USB1_VBASE 0xf001C000UL -#define IXP435_USB1_SIZE 0x1000 /* NB: only uses 0x300 */ - -#define IXP435_USB2_HWBASE 0xce000000UL /* USB host controller 2 */ -#define IXP435_USB2_VBASE 0xf001D000UL -#define IXP435_USB2_SIZE 0x1000 /* NB: only uses 0x300 */ - #endif /* _IXP425REG_H_ */ ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425var.h#4 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.7 2009/06/17 02:51:16 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.9 2009/06/22 22:54:13 sam Exp $ * */ @@ -65,6 +65,8 @@ bus_dma_tag_t sc_dmat; }; +void ixp425_set_gpio(struct ixp425_softc *sc, int pin, int type); + struct ixppcib_softc { device_t sc_dev; @@ -95,6 +97,9 @@ extern struct bus_space ixp425_bs_tag; extern struct bus_space ixp425_a4x_bs_tag; +extern struct bus_space cambria_exp_bs_tag; +void cambria_exp_bus_init(struct ixp425_softc *); + void ixp425_io_bs_init(bus_space_tag_t, void *); void ixp425_mem_bs_init(bus_space_tag_t, void *); ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.3 2007/05/29 18:10:42 jhay Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.4 2009/06/22 22:46:37 sam Exp $"); #include #include @@ -68,29 +68,15 @@ uart_ixp425_probe(device_t dev) { struct uart_softc *sc; + int unit = device_get_unit(dev); + u_int rclk; sc = device_get_softc(dev); sc->sc_class = &uart_ns8250_class; - sc->sc_rrid = 0; - sc->sc_rtype = SYS_RES_MEMORY; - sc->sc_rres = bus_alloc_resource(dev, sc->sc_rtype, &sc->sc_rrid, - 0, ~0, uart_getrange(sc->sc_class), RF_ACTIVE); - if (sc->sc_rres == NULL) { - return (ENXIO); - } - sc->sc_bas.bsh = rman_get_bushandle(sc->sc_rres); - sc->sc_bas.bst = rman_get_bustag(sc->sc_rres); - /* - * XXX set UART Unit Enable (0x40) AND - * receiver timeout int enable (0x10). - * The first turns on the UART. The second is necessary to get - * interrupts when the FIFO has data but is not full. Note that - * uart_ns8250 carefully avoids touching these bits so we can - * just set them here and proceed. But this is fragile... - */ - bus_space_write_4(sc->sc_bas.bst, sc->sc_bas.bsh, IXP425_UART_IER, - IXP425_UART_IER_UUE | IXP425_UART_IER_RTOIE); - bus_release_resource(dev, sc->sc_rtype, sc->sc_rrid, sc->sc_rres); + if (resource_int_value("uart", unit, "rclk", &rclk)) + rclk = IXP425_UART_FREQ; + if (bootverbose) + device_printf(dev, "rclk %u\n", rclk); - return uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0); + return uart_bus_probe(dev, 0, rclk, 0, 0); } ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#16 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.103 2009/06/17 19:53:47 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.104 2009/06/22 20:24:03 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -683,15 +683,24 @@ #endif /* COMPAT_FREEBSD6 */ #define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4 +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat AUE_GETFSSTAT #define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG #define FREEBSD32_SYS_AUE_freebsd32_sendmsg AUE_SENDMSG #define FREEBSD32_SYS_AUE_freebsd32_recvfrom AUE_RECVFROM +#define FREEBSD32_SYS_AUE_ofreebsd32_sigaction AUE_SIGACTION +#define FREEBSD32_SYS_AUE_ofreebsd32_sigprocmask AUE_SIGPROCMASK +#define FREEBSD32_SYS_AUE_ofreebsd32_sigpending AUE_SIGPENDING #define FREEBSD32_SYS_AUE_freebsd32_sigaltstack AUE_SIGALTSTACK #define FREEBSD32_SYS_AUE_freebsd32_ioctl AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_execve AUE_EXECVE #define FREEBSD32_SYS_AUE_freebsd32_setitimer AUE_SETITIMER #define FREEBSD32_SYS_AUE_freebsd32_getitimer AUE_GETITIMER #define FREEBSD32_SYS_AUE_freebsd32_select AUE_SELECT +#define FREEBSD32_SYS_AUE_ofreebsd32_sigvec AUE_O_SIGVEC +#define FREEBSD32_SYS_AUE_ofreebsd32_sigblock AUE_O_SIGBLOCK +#define FREEBSD32_SYS_AUE_ofreebsd32_sigsetmask AUE_O_SIGSETMASK +#define FREEBSD32_SYS_AUE_ofreebsd32_sigsuspend AUE_SIGSUSPEND +#define FREEBSD32_SYS_AUE_ofreebsd32_sigstack AUE_O_SIGSTACK #define FREEBSD32_SYS_AUE_freebsd32_gettimeofday AUE_GETTIMEOFDAY #define FREEBSD32_SYS_AUE_freebsd32_getrusage AUE_GETRUSAGE #define FREEBSD32_SYS_AUE_freebsd32_readv AUE_READV @@ -699,14 +708,22 @@ #define FREEBSD32_SYS_AUE_freebsd32_settimeofday AUE_SETTIMEOFDAY #define FREEBSD32_SYS_AUE_freebsd32_utimes AUE_UTIMES #define FREEBSD32_SYS_AUE_freebsd32_adjtime AUE_ADJTIME +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_statfs AUE_STATFS +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_fstatfs AUE_FSTATFS #define FREEBSD32_SYS_AUE_freebsd32_sysarch AUE_SYSARCH #define FREEBSD32_SYS_AUE_freebsd32_semsys AUE_SEMSYS #define FREEBSD32_SYS_AUE_freebsd32_msgsys AUE_MSGSYS #define FREEBSD32_SYS_AUE_freebsd32_shmsys AUE_SHMSYS +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_pread AUE_PREAD +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_pwrite AUE_PWRITE #define FREEBSD32_SYS_AUE_freebsd32_stat AUE_STAT #define FREEBSD32_SYS_AUE_freebsd32_fstat AUE_FSTAT #define FREEBSD32_SYS_AUE_freebsd32_lstat AUE_LSTAT #define FREEBSD32_SYS_AUE_freebsd32_getdirentries AUE_GETDIRENTRIES +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_mmap AUE_MMAP +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_lseek AUE_LSEEK +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_truncate AUE_TRUNCATE +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_ftruncate AUE_FTRUNCATE #define FREEBSD32_SYS_AUE_freebsd32_sysctl AUE_SYSCTL #define FREEBSD32_SYS_AUE_freebsd32_futimes AUE_FUTIMES #define FREEBSD32_SYS_AUE_freebsd32_semctl AUE_SEMCTL @@ -724,6 +741,7 @@ #define FREEBSD32_SYS_AUE_freebsd32_lutimes AUE_LUTIMES #define FREEBSD32_SYS_AUE_freebsd32_preadv AUE_PREADV #define FREEBSD32_SYS_AUE_freebsd32_pwritev AUE_PWRITEV +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_fhstatfs AUE_FHSTATFS #define FREEBSD32_SYS_AUE_freebsd32_modstat AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_return AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_suspend AUE_NULL @@ -732,7 +750,10 @@ #define FREEBSD32_SYS_AUE_freebsd32_oaio_read AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_oaio_write AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_olio_listio AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sendfile AUE_SENDFILE #define FREEBSD32_SYS_AUE_freebsd32_jail AUE_JAIL +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigaction AUE_SIGACTION +#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigreturn AUE_SIGRETURN #define FREEBSD32_SYS_AUE_freebsd32_sigtimedwait AUE_SIGWAIT #define FREEBSD32_SYS_AUE_freebsd32_sigwaitinfo AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_waitcomplete AUE_NULL ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#16 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.102 2009/06/17 19:53:47 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.103 2009/06/22 20:24:03 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#16 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.93 2009/06/17 19:53:47 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.94 2009/06/22 20:24:03 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#17 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.104 2009/06/17 19:53:47 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.105 2009/06/22 20:24:03 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194645 2009-06-22 20:12:40Z jhb */ #include "opt_compat.h" ==== //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#16 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.118 2009/06/17 19:50:38 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.119 2009/06/22 20:12:40 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -27,7 +27,7 @@ ; STD always included ; COMPAT included on COMPAT #ifdef ; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) -; COMPAT6 included on COMPAT4 #ifdef (FreeBSD 6 compat) +; COMPAT6 included on COMPAT6 #ifdef (FreeBSD 6 compat) ; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h ; OBSOL obsolete, not included in system, only specifies name ; UNIMPL not implemented, placeholder only ==== //depot/projects/vimage-commit2/src/sys/compat/ndis/kern_ndis.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.104 2009/05/24 18:35:53 antoine Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.105 2009/06/23 02:19:59 thompsa Exp $"); #include #include @@ -66,7 +66,7 @@ #include #include -#include +#include #include #include ==== //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_ndis.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.119 2009/05/14 09:28:02 brueffer Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.120 2009/06/23 02:19:59 thompsa Exp $"); /* * This file implements a translation layer between the BSD networking @@ -96,7 +96,7 @@ #include #include #include -#include +#include #include #include ==== //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.16 2009/06/15 01:02:43 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.18 2009/06/23 06:00:31 thompsa Exp $"); #include #include @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include #include #include @@ -57,13 +59,10 @@ #include #include -#include +#include +#include #include -#include -#include #include -#include -#include #include #include @@ -616,7 +615,7 @@ return (status); } xfer = ne->ne_xfer[0]; - xfer->priv_fifo = ne; + usbd_xfer_set_priv(xfer, ne); return (status); } @@ -688,14 +687,14 @@ return (status); } xfer = ne->ne_xfer[0]; - xfer->priv_fifo = ne; + usbd_xfer_set_priv(xfer, ne); if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN) - xfer->timeout = NDISUSB_NO_TIMEOUT; + usbd_xfer_set_timeout(xfer, NDISUSB_NO_TIMEOUT); else { if (UE_GET_XFERTYPE(ep->bmAttributes) == UE_BULK) - xfer->timeout = NDISUSB_TX_TIMEOUT; + usbd_xfer_set_timeout(xfer, NDISUSB_TX_TIMEOUT); else - xfer->timeout = NDISUSB_INTR_TIMEOUT; + usbd_xfer_set_timeout(xfer, NDISUSB_INTR_TIMEOUT); } return (status); @@ -853,34 +852,38 @@ } static void -usbd_non_isoc_callback(struct usb_xfer *xfer) +usbd_non_isoc_callback(struct usb_xfer *xfer, usb_error_t error) { irp *ip; - struct ndis_softc *sc = xfer->priv_sc; - struct ndisusb_ep *ne = xfer->priv_fifo; + struct ndis_softc *sc = usbd_xfer_softc(xfer); + struct ndisusb_ep *ne = usbd_xfer_get_priv(xfer); struct ndisusb_xfer *nx; struct usbd_urb_bulk_or_intr_transfer *ubi; + struct usb_page_cache *pc; uint8_t irql; uint32_t len; union usbd_urb *urb; usb_endpoint_descriptor_t *ep; + int actlen, sumlen; + + usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL); switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: nx = usbd_aq_getfirst(sc, ne); + pc = usbd_xfer_get_frame(xfer, 0); if (nx == NULL) return; /* copy in data with regard to the URB */ if (ne->ne_dirin != 0) - usbd_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf, - xfer->frlengths[0]); - nx->nx_urbbuf += xfer->frlengths[0]; - nx->nx_urbactlen += xfer->frlengths[0]; - nx->nx_urblen -= xfer->frlengths[0]; + usbd_copy_out(pc, 0, nx->nx_urbbuf, actlen); + nx->nx_urbbuf += actlen; + nx->nx_urbactlen += actlen; + nx->nx_urblen -= actlen; /* check for short transfer */ - if (xfer->actlen < xfer->sumlen) + if (actlen < sumlen) nx->nx_urblen = 0; else { /* check remainder */ @@ -897,7 +900,7 @@ } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 11:10:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E50FE1065670; Tue, 23 Jun 2009 11:10:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A43EA10656C2 for ; Tue, 23 Jun 2009 11:10:18 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 90AF38FC1A for ; Tue, 23 Jun 2009 11:10:18 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NBAHpk083311 for ; Tue, 23 Jun 2009 11:10:17 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NBAGKB083309 for perforce@freebsd.org; Tue, 23 Jun 2009 11:10:16 GMT (envelope-from zec@fer.hr) Date: Tue, 23 Jun 2009 11:10:16 GMT Message-Id: <200906231110.n5NBAGKB083309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164952 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 11:10:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164952 Change 164952 by zec@zec_amdx4 on 2009/06/23 11:09:39 IFC @ 164949 Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#12 integrate .. //depot/projects/vimage/src/share/man/man4/altq.4#7 integrate .. //depot/projects/vimage/src/share/man/man4/cas.4#1 branch .. //depot/projects/vimage/src/share/man/man4/hme.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/miibus.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/pcm.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/pts.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/vlan.4#4 integrate .. //depot/projects/vimage/src/share/man/man9/lock.9#3 integrate .. //depot/projects/vimage/src/share/man/man9/netisr.9#2 integrate .. //depot/projects/vimage/src/share/man/man9/ucred.9#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/msi.c#9 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#30 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#33 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC.hints#5 integrate .. //depot/projects/vimage/src/sys/amd64/include/pmap.h#10 integrate .. //depot/projects/vimage/src/sys/arm/arm/elf_trampoline.c#9 integrate .. //depot/projects/vimage/src/sys/arm/arm/pmap.c#20 integrate .. //depot/projects/vimage/src/sys/arm/conf/AVILA.hints#6 integrate .. //depot/projects/vimage/src/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/vimage/src/sys/arm/include/pmap.h#10 integrate .. //depot/projects/vimage/src/sys/arm/mv/common.c#5 integrate .. //depot/projects/vimage/src/sys/arm/mv/discovery/db78xxx.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/kirkwood/db88f6xxx.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/mvreg.h#5 integrate .. //depot/projects/vimage/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/vimage/src/sys/arm/mv/orion/db88f5xxx.c#4 integrate .. //depot/projects/vimage/src/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_ata.c#5 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_machdep.c#15 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/if_npe.c#14 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425.c#12 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425_npe.c#6 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425reg.h#6 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/vimage/src/sys/boot/forth/loader.conf#22 integrate .. //depot/projects/vimage/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/vimage/src/sys/cam/cam.c#3 integrate .. //depot/projects/vimage/src/sys/cam/cam_periph.c#10 integrate .. //depot/projects/vimage/src/sys/cam/cam_periph.h#4 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/sys/vnode.h#7 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#12 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#22 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#22 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#22 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#23 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#23 integrate .. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#37 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_futex.c#13 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#23 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#34 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_uid16.c#5 integrate .. //depot/projects/vimage/src/sys/compat/ndis/kern_ndis.c#12 integrate .. //depot/projects/vimage/src/sys/compat/ndis/subr_ndis.c#15 integrate .. //depot/projects/vimage/src/sys/compat/ndis/subr_usbd.c#10 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#9 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#56 integrate .. //depot/projects/vimage/src/sys/conf/files#73 integrate .. //depot/projects/vimage/src/sys/conf/files.powerpc#25 integrate .. //depot/projects/vimage/src/sys/conf/options#54 integrate .. //depot/projects/vimage/src/sys/dev/acpica/Osd/OsdSynch.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-usb.c#13 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah_desc.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_rate/sample/sample.c#12 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#40 integrate .. //depot/projects/vimage/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/vimage/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/vimage/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#9 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#18 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#28 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_multiq.c#9 delete .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_osdep.h#15 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#25 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/sys/cxgb_support.c#7 delete .. //depot/projects/vimage/src/sys/dev/cxgb/sys/mvec.h#7 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/sys/uipc_mvec.c#7 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#5 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_bufs.c#9 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_context.c#5 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_dma.c#12 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_drv.h#7 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_irq.c#8 integrate .. //depot/projects/vimage/src/sys/dev/firewire/firewire.c#23 integrate .. //depot/projects/vimage/src/sys/dev/firewire/fwdev.c#7 integrate .. //depot/projects/vimage/src/sys/dev/fxp/if_fxp.c#17 integrate .. //depot/projects/vimage/src/sys/dev/fxp/if_fxpvar.h#5 integrate .. //depot/projects/vimage/src/sys/dev/ic/ns16550.h#3 integrate .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#29 integrate .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis_pccard.c#6 integrate .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis_usb.c#10 integrate .. //depot/projects/vimage/src/sys/dev/mii/miidevs#20 integrate .. //depot/projects/vimage/src/sys/dev/mii/nsgphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_disk.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_iicbus.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_standard.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ofw/openfirm.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ofw/openfirm.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ofw/openfirmio.c#3 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci.c#26 integrate .. //depot/projects/vimage/src/sys/dev/puc/pucdata.c#13 integrate .. //depot/projects/vimage/src/sys/dev/sec/sec.c#2 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#34 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/feeder_rate.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/usb/uaudio.c#16 integrate .. //depot/projects/vimage/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/vimage/src/sys/dev/syscons/daemon/daemon_saver.c#9 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken.c#6 integrate .. //depot/projects/vimage/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/vimage/src/sys/dev/tsec/if_tsec.h#4 integrate .. //depot/projects/vimage/src/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/at91dci.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/at91dci_atmelarm.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/atmegadci.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/atmegadci_atmelarm.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ehci.c#13 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ehci_ixp4xx.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ehci_mbus.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ehci_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/musb_otg.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/musb_otg_atmelarm.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ohci.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ohci_atmelarm.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ohci_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/uhci.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/uhci_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/usb_controller.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/uss820dci.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/uss820dci_atmelarm.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/input/uhid.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/input/ukbd.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/input/ums.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/misc/udbp.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/misc/ufm.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_aue.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_auereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_axe.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_axereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_cdce.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_cue.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_kue.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_rue.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_ruereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_udav.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_udavreg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/usb_ethernet.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/usb_ethernet.h#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/quirk/usb_quirk.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/u3g.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uark.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ubsa.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ubser.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uchcom.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ucycom.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ufoma.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uftdi.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ugensa.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uipaq.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/ulpt.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/umct.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/umodem.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/umoscom.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uplcom.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/usb_serial.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uslcom.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uvisor.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uvscom.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/umass.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/urio.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/ustorage_fs.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template_cdce.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template_msc.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template_mtp.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.h#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_bus.h#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_busdma.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_compat_linux.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_compat_linux.h#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_controller.h#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_core.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_core.h#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_debug.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_debug.h#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_defs.h#4 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_dev.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_dev.h#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_device.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_device.h#13 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_dynamic.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_dynamic.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_endian.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/vimage/src/sys/dev/usb/usb_generic.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_generic.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_handle_request.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_hid.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_hid.h#8 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_hub.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_hub.h#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_if.m#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_ioctl.h#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_lookup.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_lookup.h#6 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_mbuf.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_mbuf.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_msctest.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_msctest.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_parse.h#5 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_pci.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_process.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_process.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_request.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_request.h#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_revision.h#6 delete .. //depot/projects/vimage/src/sys/dev/usb/usb_transfer.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_transfer.h#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_util.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_util.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#51 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbhid.h#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rum.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_uath.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_ural.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#13 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/blkfront.c#8 integrate .. //depot/projects/vimage/src/sys/dev/xen/netfront/netfront.c#14 integrate .. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs_vnops.c#30 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfsport.h#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clbio.c#6 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clkrpc.c#3 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvfsops.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdport.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/vimage/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nullfs/null_vnops.c#14 integrate .. //depot/projects/vimage/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/vimage/src/sys/fs/portalfs/portal_vnops.c#9 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#20 integrate .. //depot/projects/vimage/src/sys/fs/unionfs/union_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/geom/label/g_label.c#4 integrate .. //depot/projects/vimage/src/sys/geom/label/g_label.h#3 integrate .. //depot/projects/vimage/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/vimage/src/sys/gnu/fs/ext2fs/ext2_lookup.c#5 integrate .. //depot/projects/vimage/src/sys/gnu/fs/ext2fs/ext2_vnops.c#10 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#36 integrate .. //depot/projects/vimage/src/sys/i386/i386/msi.c#9 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#28 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_misc.c#7 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/vimage/src/sys/i386/include/cpufunc.h#10 integrate .. //depot/projects/vimage/src/sys/i386/include/in_cksum.h#3 integrate .. //depot/projects/vimage/src/sys/i386/include/pmap.h#11 integrate .. //depot/projects/vimage/src/sys/i386/include/specialreg.h#15 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/vm_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/kern/init_sysent.c#13 integrate .. //depot/projects/vimage/src/sys/kern/kern_acct.c#12 integrate .. //depot/projects/vimage/src/sys/kern/kern_alq.c#10 integrate .. //depot/projects/vimage/src/sys/kern/kern_descrip.c#28 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#23 integrate .. //depot/projects/vimage/src/sys/kern/kern_exit.c#33 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#31 integrate .. //depot/projects/vimage/src/sys/kern/kern_lock.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_lockf.c#11 integrate .. //depot/projects/vimage/src/sys/kern/kern_mbuf.c#14 integrate .. //depot/projects/vimage/src/sys/kern/kern_mib.c#21 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#26 integrate .. //depot/projects/vimage/src/sys/kern/kern_prot.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_shutdown.c#14 integrate .. //depot/projects/vimage/src/sys/kern/kern_sig.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#26 integrate .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#98 integrate .. //depot/projects/vimage/src/sys/kern/makesyscalls.sh#6 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.c#12 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.master#13 integrate .. //depot/projects/vimage/src/sys/kern/systrace_args.c#11 integrate .. //depot/projects/vimage/src/sys/kern/sysv_msg.c#8 integrate .. //depot/projects/vimage/src/sys/kern/tty.c#39 integrate .. //depot/projects/vimage/src/sys/kern/uipc_mbuf.c#13 integrate .. //depot/projects/vimage/src/sys/kern/uipc_sockbuf.c#14 integrate .. //depot/projects/vimage/src/sys/kern/uipc_socket.c#39 integrate .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#28 integrate .. //depot/projects/vimage/src/sys/kern/vfs_cache.c#29 integrate .. //depot/projects/vimage/src/sys/kern/vfs_default.c#13 integrate .. //depot/projects/vimage/src/sys/kern/vfs_export.c#20 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#29 integrate .. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#27 integrate .. //depot/projects/vimage/src/sys/kern/vnode_if.src#16 integrate .. //depot/projects/vimage/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/vimage/src/sys/libkern/iconv.c#3 integrate .. //depot/projects/vimage/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/vimage/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/vimage/src/sys/mips/adm5120/if_admsw.c#4 integrate .. //depot/projects/vimage/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/vimage/src/sys/mips/conf/ADM5120#5 integrate .. //depot/projects/vimage/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/vimage/src/sys/mips/idt/idtpci.c#4 integrate .. //depot/projects/vimage/src/sys/mips/idt/if_kr.c#4 integrate .. //depot/projects/vimage/src/sys/mips/malta/gt_pci.c#6 integrate .. //depot/projects/vimage/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#51 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi/Makefile#7 integrate .. //depot/projects/vimage/src/sys/modules/cas/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/cxgb/cxgb/Makefile#8 integrate .. //depot/projects/vimage/src/sys/modules/if_ppp/Makefile#3 delete .. //depot/projects/vimage/src/sys/modules/if_sl/Makefile#2 delete .. //depot/projects/vimage/src/sys/modules/netgraph/Makefile#11 integrate .. //depot/projects/vimage/src/sys/modules/netgraph/pipe/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/sound/sound/Makefile#7 integrate .. //depot/projects/vimage/src/sys/modules/wlan/Makefile#9 integrate .. //depot/projects/vimage/src/sys/net/bpf.c#39 integrate .. //depot/projects/vimage/src/sys/net/bridgestp.c#21 integrate .. //depot/projects/vimage/src/sys/net/fddi.h#2 integrate .. //depot/projects/vimage/src/sys/net/firewire.h#2 integrate .. //depot/projects/vimage/src/sys/net/flowtable.c#5 integrate .. //depot/projects/vimage/src/sys/net/flowtable.h#4 integrate .. //depot/projects/vimage/src/sys/net/if.c#87 integrate .. //depot/projects/vimage/src/sys/net/if.h#13 integrate .. //depot/projects/vimage/src/sys/net/if_arc.h#3 integrate .. //depot/projects/vimage/src/sys/net/if_arcsubr.c#9 integrate .. //depot/projects/vimage/src/sys/net/if_enc.c#9 integrate .. //depot/projects/vimage/src/sys/net/if_fddisubr.c#12 integrate .. //depot/projects/vimage/src/sys/net/if_fwsubr.c#14 integrate .. //depot/projects/vimage/src/sys/net/if_gre.c#14 integrate .. //depot/projects/vimage/src/sys/net/if_iso88025subr.c#12 integrate .. //depot/projects/vimage/src/sys/net/if_tun.c#19 integrate .. //depot/projects/vimage/src/sys/net/if_var.h#41 integrate .. //depot/projects/vimage/src/sys/net/iso88025.h#3 integrate .. //depot/projects/vimage/src/sys/net/netisr.c#20 integrate .. //depot/projects/vimage/src/sys/net/netisr.h#10 integrate .. //depot/projects/vimage/src/sys/net/pfkeyv2.h#4 integrate .. //depot/projects/vimage/src/sys/net/route.c#54 integrate .. //depot/projects/vimage/src/sys/net/route.h#11 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#39 integrate .. //depot/projects/vimage/src/sys/net/vnet.h#28 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.h#14 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_wds.c#12 integrate .. //depot/projects/vimage/src/sys/netatalk/COPYRIGHT#3 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.c#6 integrate .. //depot/projects/vimage/src/sys/netatalk/at_control.c#4 integrate .. //depot/projects/vimage/src/sys/netatalk/at_var.h#3 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_input.c#6 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_output.c#5 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_pcb.c#4 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#8 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#7 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#30 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#37 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#61 integrate .. //depot/projects/vimage/src/sys/netinet/in_proto.c#22 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#61 integrate .. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#24 integrate .. //depot/projects/vimage/src/sys/netinet/ip_mroute.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#40 integrate .. //depot/projects/vimage/src/sys/netinet/ip_var.h#21 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#50 integrate .. //depot/projects/vimage/src/sys/netinet/sctp.h#17 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#34 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#35 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#41 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#56 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#31 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#87 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#28 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#36 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#37 integrate .. //depot/projects/vimage/src/sys/netinet/udp.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#58 integrate .. //depot/projects/vimage/src/sys/netinet/udp_var.h#15 integrate .. //depot/projects/vimage/src/sys/netinet/vinet.h#60 integrate .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#46 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#38 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#42 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#44 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#27 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.h#6 integrate .. //depot/projects/vimage/src/sys/netinet6/mld6.c#29 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#36 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#41 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#22 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#22 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#44 integrate .. //depot/projects/vimage/src/sys/netipsec/key.h#5 integrate .. //depot/projects/vimage/src/sys/netipsec/keydb.h#2 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_tcp.c#7 integrate .. //depot/projects/vimage/src/sys/netipx/README#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx.c#6 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_if.h#5 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_input.c#8 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_outputfl.c#5 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_pcb.c#5 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_usrreq.c#8 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_var.h#4 integrate .. //depot/projects/vimage/src/sys/netipx/spx.h#4 integrate .. //depot/projects/vimage/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_usrreq.c#7 integrate .. //depot/projects/vimage/src/sys/netipx/spx_var.h#4 integrate .. //depot/projects/vimage/src/sys/nfsclient/bootp_subr.c#22 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_bio.c#16 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#30 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#37 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_srvkrpc.c#7 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_srvsock.c#13 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_srvsubs.c#17 integrate .. //depot/projects/vimage/src/sys/nlm/nlm_advlock.c#11 integrate .. //depot/projects/vimage/src/sys/nlm/nlm_prot_impl.c#12 integrate .. //depot/projects/vimage/src/sys/powerpc/booke/pmap.c#13 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#24 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/MPC85XX#8 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/NOTES#14 integrate .. //depot/projects/vimage/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/vimage/src/sys/powerpc/include/spr.h#10 integrate .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/vimage/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/vimage/src/sys/powerpc/powerpc/cpu.c#12 integrate .. //depot/projects/vimage/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/vimage/src/sys/rpc/svc.c#5 integrate .. //depot/projects/vimage/src/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/vimage/src/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/vimage/src/sys/rpc/svc_generic.c#5 integrate .. //depot/projects/vimage/src/sys/rpc/svc_vc.c#7 integrate .. //depot/projects/vimage/src/sys/security/mac_biba/mac_biba.c#18 integrate .. //depot/projects/vimage/src/sys/security/mac_lomac/mac_lomac.c#17 integrate .. //depot/projects/vimage/src/sys/sparc64/conf/GENERIC#24 integrate .. //depot/projects/vimage/src/sys/sys/cpuset.h#4 integrate .. //depot/projects/vimage/src/sys/sys/fcntl.h#7 integrate .. //depot/projects/vimage/src/sys/sys/iconv.h#2 integrate .. //depot/projects/vimage/src/sys/sys/jail.h#15 integrate .. //depot/projects/vimage/src/sys/sys/kobj.h#6 integrate .. //depot/projects/vimage/src/sys/sys/ktr.h#4 integrate .. //depot/projects/vimage/src/sys/sys/lock.h#12 integrate .. //depot/projects/vimage/src/sys/sys/lock_profile.h#10 integrate .. //depot/projects/vimage/src/sys/sys/lockmgr.h#9 integrate .. //depot/projects/vimage/src/sys/sys/mbuf.h#20 integrate .. //depot/projects/vimage/src/sys/sys/mutex.h#12 integrate .. //depot/projects/vimage/src/sys/sys/param.h#57 integrate .. //depot/projects/vimage/src/sys/sys/priv.h#19 integrate .. //depot/projects/vimage/src/sys/sys/sched.h#13 integrate .. //depot/projects/vimage/src/sys/sys/socketvar.h#15 integrate .. //depot/projects/vimage/src/sys/sys/sockio.h#6 integrate .. //depot/projects/vimage/src/sys/sys/sx.h#11 integrate .. //depot/projects/vimage/src/sys/sys/syscall.h#12 integrate .. //depot/projects/vimage/src/sys/sys/syscall.mk#12 integrate .. //depot/projects/vimage/src/sys/sys/sysctl.h#38 integrate .. //depot/projects/vimage/src/sys/sys/syslimits.h#3 integrate .. //depot/projects/vimage/src/sys/sys/sysproto.h#12 integrate .. //depot/projects/vimage/src/sys/sys/ucred.h#12 integrate .. //depot/projects/vimage/src/sys/sys/user.h#12 integrate .. //depot/projects/vimage/src/sys/sys/vimage.h#100 integrate .. //depot/projects/vimage/src/sys/sys/vnode.h#24 integrate .. //depot/projects/vimage/src/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_dirhash.c#10 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_lookup.c#14 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_vnops.c#18 integrate .. //depot/projects/vimage/src/sys/vm/device_pager.c#6 integrate .. //depot/projects/vimage/src/sys/vm/phys_pager.c#7 integrate .. //depot/projects/vimage/src/sys/vm/uma_core.c#11 integrate .. //depot/projects/vimage/src/sys/vm/vm_contig.c#11 integrate .. //depot/projects/vimage/src/sys/vm/vm_extern.h#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.c#23 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.h#6 integrate .. //depot/projects/vimage/src/sys/vm/vm_page.c#23 integrate .. //depot/projects/vimage/src/sys/vm/vm_phys.c#6 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#12 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.453 2009/06/10 03:35:40 sam Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.454 2009/06/15 18:24:04 marius Exp $ MAN= aac.4 \ acpi.4 \ @@ -55,6 +55,7 @@ bwi.4 \ cardbus.4 \ carp.4 \ + cas.4 \ ccd.4 \ cd.4 \ cdce.4 \ @@ -473,6 +474,7 @@ MLINKS+=bge.4 if_bge.4 MLINKS+=bktr.4 brooktree.4 MLINKS+=bwi.4 if_bwi.4 +MLINKS+=cas.4 if_cas.4 MLINKS+=crypto.4 cryptodev.4 MLINKS+=cue.4 if_cue.4 MLINKS+=dc.4 if_dc.4 ==== //depot/projects/vimage/src/share/man/man4/altq.4#7 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/altq.4,v 1.40 2009/06/10 02:19:54 yongari Exp $ +.\" $FreeBSD: src/share/man/man4/altq.4,v 1.41 2009/06/15 18:24:04 marius Exp $ .\" -.Dd June 10, 2009 +.Dd June 14, 2009 .Dt ALTQ 4 .Os .Sh NAME @@ -125,6 +125,7 @@ .Xr bce 4 , .Xr bfe 4 , .Xr bge 4 , +.Xr cas 4 , .Xr dc 4 , .Xr de 4 , .Xr ed 4 , ==== //depot/projects/vimage/src/share/man/man4/hme.4#3 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/hme.4,v 1.10 2009/01/16 19:43:21 marius Exp $ +.\" $FreeBSD: src/share/man/man4/hme.4,v 1.11 2009/06/14 14:46:20 marius Exp $ .\" -.Dd January 16, 2009 +.Dd June 14, 2009 .Dt HME 4 .Os .Sh NAME @@ -60,7 +60,16 @@ .Sh DESCRIPTION The .Nm -driver supports Sun Microelectronics STP2002-STQ Fast Ethernet interfaces. +driver supports Sun Microelectronics STP2002-STQ +.Dq Happy Meal Ethernet +Fast Ethernet interfaces. +.Pp +All controllers supported by the +.Nm +driver have TCP checksum offload capability for both receive and transmit, +support for the reception and transmission of extended frames for +.Xr vlan 4 +and a 128-bit multicast hash filter. .Sh HARDWARE The .Nm @@ -123,6 +132,7 @@ .Xr intro 4 , .Xr miibus 4 , .Xr netintro 4 , +.Xr vlan 4 , .Xr eeprom 8 , .Xr ifconfig 8 .Rs ==== //depot/projects/vimage/src/share/man/man4/miibus.4#3 (text+ko) ==== @@ -6,9 +6,9 @@ .\" Originally this file looked much like the NetBSD mii(4) manual page, but .\" I doubt you would ever notice due to large differences. .\" -.\" $FreeBSD: src/share/man/man4/miibus.4,v 1.27 2009/06/10 02:19:54 yongari Exp $ +.\" $FreeBSD: src/share/man/man4/miibus.4,v 1.28 2009/06/15 18:24:04 marius Exp $ .\" -.Dd June 10, 2009 +.Dd June 14, 2009 .Dt MIIBUS 4 .Os .Sh NAME @@ -61,6 +61,8 @@ Broadcom BCM4401 Ethernet .It Xr bge 4 Broadcom BCM570xx Gigabit Ethernet +.It Xr cas 4 +Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn .It Xr dc 4 DEC/Intel 21143 and various workalikes .It Xr ed 4 @@ -137,6 +139,7 @@ .Xr bce 4 , .Xr bfe 4 , .Xr bge 4 , +.Xr cas 4 , .Xr dc 4 , .Xr ed 4 , .Xr et 4 , ==== //depot/projects/vimage/src/share/man/man4/pcm.4#3 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.53 2009/06/01 18:58:46 joel Exp $ +.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.54 2009/06/22 21:51:29 joel Exp $ .\" -.Dd June 1, 2009 +.Dd June 22, 2009 .Dt SOUND 4 .Os .Sh NAME @@ -178,6 +178,12 @@ .Pa /dev/dsp to .Pa /dev/dsp Ns Va ${hw.snd.default_unit} . +.It Va hw.snd.feeder_eq_exact_rate +Only certain rates are allowed for precise processing. +The default behavior is however to allow sloppy processing for all rates, +even the unsupported ones. +Enable to toggle this requirement and only allow processing for supported +rates. .It Va hw.snd.feeder_rate_max Maximum allowable sample rate. .It Va hw.snd.feeder_rate_min @@ -188,6 +194,40 @@ All requested sample rates will be rounded to the nearest threshold value. Possible values range between 0 (disabled) and 500. Default is 25. +.It Va hw.snd.feeder_polyphase_max +Adjust to set the maximum number of allowed polyphase entries during the +process of building resampling filters. +Only applicable when the SINC interpolator is used. +Default value is 183040. +Set to 0 to disable polyphase resampling. +.It Va hw.snd.feeder_quality +Sample rate converter quality. +Default value is 1, linear interpolation. +Available options include: +.Bl -tag -width 2n +.It 0 +Zero Order Hold, ZOH. +Very fast, but with poor quality. +.It 1 +Linear interpolation. +Fast, quality is subject to personal preference. +Technically the quality is poor however, due to the lack of anti-aliasing +filtering. +.It 2 +Bandlimited SINC interpolator. +Implements polyphase banking to boost the conversion speed, at the cost of +memory usage, with multiple high quality polynomial interpolators to improve +the conversion accuracy. +100% fixed point, 64bit accumulator with 32bit coefficients and high precision +sample buffering. +Quality values are 100dB stopband, 8 taps and 85% bandwidth. +.It 3 +Continuation of the bandlimited SINC interpolator, with 100dB stopband, 36 +taps and 90% bandwidth as quality values. +.It 4 +Continuation of the bandlimited SINC inteprolator, with 100dB stopband, 164 +taps and 97% bandwidth as quality values. +.El .It Va hw.snd.latency Configure the buffering latency. Only affects applications that do not explicitly request @@ -208,7 +248,7 @@ Global .Tn VCHAN setting that only affects devices with at least one playback or recording channel available. -The sound system will dynamically create up this many +The sound system will dynamically create up to this many .Tn VCHANs . Set to .Dq 0 @@ -221,6 +261,10 @@ available transparently to the application software. When disabled or not available, the application will only be able to select formats the device natively supports. +.It Va hw.snd.report_soft_matrix +Enable seamless channel matrixing even if the hardware does not support it. +Makes it possible to play multichannel streams even with a simple stereo +sound card. .It Va hw.snd.verbose Level of verbosity for the .Pa /dev/sndstat @@ -243,6 +287,38 @@ .It 4 Various messages intended for debugging. .El +.It Va hw.snd.vpc_0db +Default value for pcm volume. +Increase to give more room for attenuation control. +Decrease for more amplification, with the possible cost of sound clipping. +.It Va hw.snd.vpc_autoreset +When a channel is closed the channel volume will be reset to 0db. +This means that any changes to the volume will be lost. +Enabling this will preserve the volume, at the cost of possible confusion +when applications tries to re-open the same device. +.It Va hw.snd.vpc_mixer_bypass +The recommended way to use the vpc feature is to teach applications to use +the correct ioctl(): SNDCTL_DSP_GETPLAYVOL, SNDCTL_DSP_SETPLAYVOL, +SNDCTL_DSP_SETRECVOL, SNDCTL_DSP_SETRECVOL. +This is however not always possible. +Enable this to allow applications to use their own existing mixer logic +to control their own channel volume. +.It Va hw.snd.vpc_reset +Enable to restore all channel volumes back to the default value of 0db. +.It Va dev.pcm.%d.bitperfect +Enable or disable bitperfect mode. +When enabled, channels will skip all dsp processing, such as channel +matrixing, rate converting and equalizing. +The pure pcm stream will be fed directly to the hardware. +If +.Tn VCHANs +are enabled, the bitperfect mode will use the +.Tn VCHAN +format/rate as the definitive format/rate target. +The recommended way to use bitperfect mode is to disable +.Tn VCHANs +and enable this sysctl. +Default is disabled. .It Va dev.pcm.%d.[play|rec].vchans The current number of .Tn VCHANs @@ -260,6 +336,36 @@ mixing. All playback paths will be converted to this format before the mixing process begins. +.It Va dev.pcm.%d.[play|rec].vchanmode +.Tn VCHAN +format/rate selection. +Available options include: +.Bl -tag -width 2n +.It fixed / 0 +Channel mixing is done using fixed format/rate. +Advanced operations such as digital passthrough will not work. +Can be considered as a 'legacy' mode. +This is the default mode for hardware channels which lack support for digital +formats. +.It passthrough / 1 +Channel mixing is done using fixed format/rate, but advanced operations such +as digital passthrough also works. +All channels will produce sound as usual until a digital format playback is +requested. +When this happens all other channels will be muted and the latest incoming +digital format will be allowed to pass through undisturbed. +Multiple concurrent digital streams are supported, but the latest stream will +take precedence and mute all other streams. +.It adaptive / 2 +Works like the 'passthrough' mode, but is a bit smarter, especially for +multiple pcm channels with different format/rate. +When a new channel is about to start, the entire list of virtual channels will +be scanned and the channel with the best format/rate (usuallay the +highest/biggest) will be selected. +This ensures that mixing quality depends on the best channel. +The downside is that the hardware DMA mode needs to be restarted, which may +cause annoying pops or clicks. +.El .It Va dev.pcm.%d.[play|rec].vchanrate Sample rate speed for .Tn VCHAN @@ -401,6 +507,14 @@ .%T "The OSS API" .%O "http://www.opensound.com/pguide/oss.pdf" .Re +.Rs +.%T "Julius O'Smith's Digital Audio Resampling" +.%O "http://ccrma.stanford.edu/~jos/resample/" +.Re +.Rs +.%T "Polynomial Interpolators for High-Quality Resampling of Oversampled Audio, by Olli Niemitalo" +.%O "http://www.student.oulu.fi/~oniemita/dsp/deip.pdf" +.Re .Sh HISTORY The .Nm ==== //depot/projects/vimage/src/share/man/man4/pts.4#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pty.4 8.2 (Berkeley) 11/30/93 -.\" $FreeBSD: src/share/man/man4/pts.4,v 1.3 2009/04/25 10:05:55 ed Exp $ +.\" $FreeBSD: src/share/man/man4/pts.4,v 1.4 2009/06/20 16:30:32 ed Exp $ .\" .Dd August 20, 2008 .Dt PTS 4 @@ -148,11 +148,14 @@ .Pp .Bl -tag -width ".Pa /dev/pts/[num]" .It Pa /dev/ptmx -Control device, returns a file descriptor to a new master pseudo-terminal -when opened. This device should not be opened directly. It's only -available for binary compatibility. New devices should only be created -though -.Xr posix_openpt 2 . +Control device, returns a file descriptor to a new master +pseudo-terminal when opened. +This device should not be opened directly. +It's only available for binary compatibility. +New devices should only be allocated with +.Xr posix_openpt 2 +and +.Xr openpty 3 . .It Pa /dev/pts/[num] Pseudo-terminal slave devices. .El ==== //depot/projects/vimage/src/share/man/man4/vlan.4#4 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.52 2009/06/10 02:19:54 yongari Exp $ +.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.53 2009/06/15 18:24:04 marius Exp $ .\" -.Dd June 10, 2009 +.Dd June 14, 2009 .Dt VLAN 4 .Os .Sh NAME @@ -161,6 +161,7 @@ .Nm natively: .Xr bfe 4 , +.Xr cas 4 , .Xr dc 4 , .Xr fwe 4 , .Xr fxp 4 , ==== //depot/projects/vimage/src/share/man/man9/lock.9#3 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/lock.9,v 1.34 2009/02/05 15:09:04 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.35 2009/06/17 01:55:42 attilio Exp $ .\" -.Dd February 05, 2009 +.Dd June 16, 2009 .Dt LOCK 9 .Os .Sh NAME @@ -96,6 +96,9 @@ .It Fa flags The flags the lock is to be initialized with: .Bl -tag -width ".Dv LK_CANRECURSE" +.It Dv LK_ADAPTIVE +Enable adaptive spinning for this lock if the kernel is compiled with the +ADAPTIVE_LOCKMGRS option. .It Dv LK_CANRECURSE Allow recursive exclusive locks. .It Dv LK_NOPROFILE ==== //depot/projects/vimage/src/share/man/man9/netisr.9#2 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.1 2009/06/07 21:32:01 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.3 2009/06/14 17:15:18 bz Exp $ .\" -.Dd June 7, 2009 +.Dd June 14, 2009 .Dt NETISR 9 .Os .Sh NAME @@ -51,8 +51,7 @@ .Fn netisr_clearqdrops "const struct netisr_handler *nhp" .Ft void .Fn netisr_getqdrops "const struct netisr_handler *nhp" "u_int64_t *qdropsp" -.Ft -void +.Ft void .Fn netisr_getqlimit "const struct netisr_handler *nhp" "u_int *qlimitp" .Ft int .Fn netisr_setqlimit "const struct netisr_handler *nhp" "u_int qlimit" @@ -138,6 +137,13 @@ Protocol function to determine what CPU a packet should be processed on. Will be used only with .Dv NETISR_POLICY_CPU . +.It Vt netisr_drainedcpu_t Va nh_drainedcpu +Optional callback function that will be invoked when a per-CPU queue +was drained. +It will never fire for directly dispatched packets. +Unless fully understood, this special-purpose function should not be used. +.\" In case you intend to use this please send 50 chocolate bars to each +.\" of rwatson and bz and wait for an answer. .It Vt u_int Va nh_proto Protocol number used by both protocols to identify themselves to .Nm , ==== //depot/projects/vimage/src/share/man/man9/ucred.9#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ucred.9,v 1.10 2008/09/17 15:49:44 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/ucred.9,v 1.11 2009/06/19 19:16:35 brooks Exp $ .\" -.Dd March 3, 2002 +.Dd June 19, 2009 .Dt UCRED 9 .Os .Sh NAME @@ -54,8 +54,12 @@ .Ft void .Fn crcopy "struct ucred *dest" "struct ucred *src" .Ft "struct ucred *" +.Fn crcopysafe "struct proc *p" "struct ucred *cr" +.Ft "struct ucred *" .Fn crdup "struct ucred *cr" .Ft void +.Fn crsetgroups "struct ucred *cr" "int ngrp" "gid_t *groups" +.Ft void .Fn cru2x "struct ucred *cr" "struct xucred *xcr" .Ft void .Fn cred_update_thread "struct thread *td" @@ -98,6 +102,18 @@ .Xr uihold 9 . .Pp The +.Fn crcopysafe +function copies the current credential associated with the process +.Fa p +into the newly allocated credential +.Fa cr . +The process lock on +.Fa p +must be held and will be dropped and reacquired as needed to allocate +group storage space in +.Fa cr . +.Pp +The .Fn crdup function allocates memory for a new structure and copies the contents of @@ -107,6 +123,20 @@ .Fn crcopy . .Pp The +.Fn crsetgroups +function sets the +.Va cr_groups +and +.Va cr_ngroups +variables and allocates space as needed. +It also truncates the group list to the current maximum number of +groups. +No other mechanism should be used to modify the +.Va cr_groups +array except for updating the primary group via assignment to >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 11:19:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 42ECA1065672; Tue, 23 Jun 2009 11:19:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 028EA106564A for ; Tue, 23 Jun 2009 11:19:29 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CB7AC8FC17 for ; Tue, 23 Jun 2009 11:19:28 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NBJScQ083962 for ; Tue, 23 Jun 2009 11:19:28 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NBJSYi083960 for perforce@freebsd.org; Tue, 23 Jun 2009 11:19:28 GMT (envelope-from zec@fer.hr) Date: Tue, 23 Jun 2009 11:19:28 GMT Message-Id: <200906231119.n5NBJSYi083960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 11:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164954 Change 164954 by zec@zec_amdx4 on 2009/06/23 11:19:15 Fix misintegration. Affected files ... .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdi.h#4 add .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdi_util.h#3 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 23 11:26:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26B801065672; Tue, 23 Jun 2009 11:26:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAC1B106564A for ; Tue, 23 Jun 2009 11:26:36 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AF8C48FC12 for ; Tue, 23 Jun 2009 11:26:36 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NBQaSM084523 for ; Tue, 23 Jun 2009 11:26:36 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NBQajV084521 for perforce@freebsd.org; Tue, 23 Jun 2009 11:26:36 GMT (envelope-from zec@fer.hr) Date: Tue, 23 Jun 2009 11:26:36 GMT Message-Id: <200906231126.n5NBQajV084521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164955 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 11:26:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=164955 Change 164955 by zec@zec_amdx4 on 2009/06/23 11:25:38 Fix misintegration. Affected files ... .. //depot/projects/vimage/src/sys/dev/usb/usbdi.h#8 add .. //depot/projects/vimage/src/sys/dev/usb/usbdi_util.h#4 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 23 12:07:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52242106567D; Tue, 23 Jun 2009 12:07:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F410A106567F for ; Tue, 23 Jun 2009 12:07:21 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C82A18FC1B for ; Tue, 23 Jun 2009 12:07:21 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NC7LFm088632 for ; Tue, 23 Jun 2009 12:07:21 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NC7Lgq088630 for perforce@freebsd.org; Tue, 23 Jun 2009 12:07:21 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 12:07:21 GMT Message-Id: <200906231207.n5NC7Lgq088630@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164957 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 12:07:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164957 Change 164957 by mav@mav_mavbook on 2009/06/23 12:06:40 Fix lost semicolon. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#5 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#5 (text+ko) ==== @@ -146,7 +146,7 @@ ata_set_desc(dev); ctlr->chipinit = ata_intel_chipinit; - return (BUS_PROBE_DEFAULT) + return (BUS_PROBE_DEFAULT); } static int From owner-p4-projects@FreeBSD.ORG Tue Jun 23 13:46:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E245E106567A; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0F531065678 for ; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8CD688FC14 for ; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NDkFOb007523 for ; Tue, 23 Jun 2009 13:46:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NDkEDc007520 for perforce@freebsd.org; Tue, 23 Jun 2009 13:46:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 23 Jun 2009 13:46:14 GMT Message-Id: <200906231346.n5NDkEDc007520@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 164962 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 13:46:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164962 Change 164962 by hselasky@hselasky_laptop001 on 2009/06/23 13:45:57 IFC @ 164958 Affected files ... .. //depot/projects/usb/src/lib/libusb/Makefile#4 integrate .. //depot/projects/usb/src/lib/libusb/libusb.3#16 integrate .. //depot/projects/usb/src/lib/libusb/libusb10.c#4 branch .. //depot/projects/usb/src/lib/libusb/libusb10.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#3 branch .. //depot/projects/usb/src/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20.3#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.c#4 delete .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.h#4 delete .. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#6 integrate .. //depot/projects/usb/src/sys/amd64/include/pmap.h#10 integrate .. //depot/projects/usb/src/sys/arm/arm/elf_trampoline.c#11 integrate .. //depot/projects/usb/src/sys/arm/arm/pmap.c#16 integrate .. //depot/projects/usb/src/sys/arm/conf/AVILA.hints#6 integrate .. //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/usb/src/sys/arm/include/pmap.h#10 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_ata.c#6 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_machdep.c#14 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/usb/src/sys/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425.c#11 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425reg.h#7 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/usb/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/usb/src/sys/cam/cam_periph.c#10 integrate .. //depot/projects/usb/src/sys/cam/cam_periph.h#4 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/vnode.h#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#11 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#17 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_misc.c#22 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_uid16.c#6 integrate .. //depot/projects/usb/src/sys/compat/ndis/kern_ndis.c#14 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_ndis.c#17 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#16 integrate .. //depot/projects/usb/src/sys/conf/NOTES#41 integrate .. //depot/projects/usb/src/sys/conf/files#69 integrate .. //depot/projects/usb/src/sys/conf/files.powerpc#26 integrate .. //depot/projects/usb/src/sys/conf/options#34 integrate .. //depot/projects/usb/src/sys/dev/acpica/Osd/OsdSynch.c#5 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#46 integrate .. //depot/projects/usb/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#8 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_adapter.h#11 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#20 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_multiq.c#9 delete .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_osdep.h#10 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_sge.c#16 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/cxgb_support.c#4 delete .. //depot/projects/usb/src/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/uipc_mvec.c#7 integrate .. //depot/projects/usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_bufs.c#7 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_context.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_dma.c#12 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.h#8 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_irq.c#9 integrate .. //depot/projects/usb/src/sys/dev/firewire/fwdev.c#7 integrate .. //depot/projects/usb/src/sys/dev/fxp/if_fxp.c#13 integrate .. //depot/projects/usb/src/sys/dev/fxp/if_fxpvar.h#4 integrate .. //depot/projects/usb/src/sys/dev/ic/ns16550.h#3 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#28 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_pccard.c#7 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#21 integrate .. //depot/projects/usb/src/sys/dev/pci/pci.c#24 integrate .. //depot/projects/usb/src/sys/dev/puc/pucdata.c#13 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#49 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci_atmelarm.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#35 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci_atmelarm.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#30 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_mbus.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg_atmelarm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_atmelarm.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ums.c#18 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/ufm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uark.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubsa.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uchcom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ucycom.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ufoma.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ugensa.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uipaq.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umct.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umoscom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uplcom.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uslcom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvisor.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvscom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/urio.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb.h#43 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#44 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#20 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#15 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#27 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_defs.h#5 delete .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#30 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.h#15 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#41 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#28 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#38 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#22 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#26 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_ioctl.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.h#8 delete .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_msctest.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.h#6 delete .. //depot/projects/usb/src/sys/dev/usb/usb_process.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_process.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#7 delete .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#156 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#64 integrate .. //depot/projects/usb/src/sys/dev/usb/usbhid.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_upgt.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#19 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_vnops.c#23 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#7 integrate .. //depot/projects/usb/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/usb/src/sys/fs/nullfs/null_vnops.c#15 integrate .. //depot/projects/usb/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/usb/src/sys/fs/portalfs/portal_vnops.c#8 integrate .. //depot/projects/usb/src/sys/fs/unionfs/union_vnops.c#14 integrate .. //depot/projects/usb/src/sys/i386/ibcs2/ibcs2_misc.c#9 integrate .. //depot/projects/usb/src/sys/i386/include/pmap.h#11 integrate .. //depot/projects/usb/src/sys/ia64/ia64/vm_machdep.c#4 integrate .. //depot/projects/usb/src/sys/kern/init_sysent.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_alq.c#10 integrate .. //depot/projects/usb/src/sys/kern/kern_exec.c#17 integrate .. //depot/projects/usb/src/sys/kern/kern_mbuf.c#12 integrate .. //depot/projects/usb/src/sys/kern/kern_proc.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_prot.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_sig.c#14 integrate .. //depot/projects/usb/src/sys/kern/makesyscalls.sh#9 integrate .. //depot/projects/usb/src/sys/kern/syscalls.c#13 integrate .. //depot/projects/usb/src/sys/kern/syscalls.master#13 integrate .. //depot/projects/usb/src/sys/kern/sysv_msg.c#9 integrate .. //depot/projects/usb/src/sys/kern/tty.c#26 integrate .. //depot/projects/usb/src/sys/kern/uipc_mbuf.c#13 integrate .. //depot/projects/usb/src/sys/kern/uipc_sockbuf.c#12 integrate .. //depot/projects/usb/src/sys/kern/uipc_socket.c#22 integrate .. //depot/projects/usb/src/sys/kern/uipc_usrreq.c#18 integrate .. //depot/projects/usb/src/sys/kern/vfs_cache.c#25 integrate .. //depot/projects/usb/src/sys/kern/vfs_default.c#14 integrate .. //depot/projects/usb/src/sys/kern/vfs_export.c#10 integrate .. //depot/projects/usb/src/sys/kern/vfs_vnops.c#20 integrate .. //depot/projects/usb/src/sys/kern/vnode_if.src#16 integrate .. //depot/projects/usb/src/sys/libkern/iconv.c#3 integrate .. //depot/projects/usb/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/usb/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/usb/src/sys/modules/cxgb/cxgb/Makefile#7 integrate .. //depot/projects/usb/src/sys/modules/netgraph/Makefile#8 integrate .. //depot/projects/usb/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/usb/src/sys/net/bpf.c#21 integrate .. //depot/projects/usb/src/sys/net/bridgestp.c#14 integrate .. //depot/projects/usb/src/sys/net/fddi.h#2 integrate .. //depot/projects/usb/src/sys/net/firewire.h#2 integrate .. //depot/projects/usb/src/sys/net/flowtable.c#4 integrate .. //depot/projects/usb/src/sys/net/flowtable.h#4 integrate .. //depot/projects/usb/src/sys/net/if.c#30 integrate .. //depot/projects/usb/src/sys/net/if_arc.h#3 integrate .. //depot/projects/usb/src/sys/net/if_arcsubr.c#8 integrate .. //depot/projects/usb/src/sys/net/if_fddisubr.c#11 integrate .. //depot/projects/usb/src/sys/net/if_fwsubr.c#14 integrate .. //depot/projects/usb/src/sys/net/if_iso88025subr.c#12 integrate .. //depot/projects/usb/src/sys/net/if_var.h#21 integrate .. //depot/projects/usb/src/sys/net/iso88025.h#3 integrate .. //depot/projects/usb/src/sys/net/route.c#19 integrate .. //depot/projects/usb/src/sys/net/route.h#11 integrate .. //depot/projects/usb/src/sys/net/rtsock.c#26 integrate .. //depot/projects/usb/src/sys/net/vnet.h#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#11 integrate .. //depot/projects/usb/src/sys/netatalk/COPYRIGHT#4 integrate .. //depot/projects/usb/src/sys/netatalk/aarp.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/at_control.c#5 integrate .. //depot/projects/usb/src/sys/netatalk/at_var.h#3 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_input.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_output.c#5 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_pcb.c#5 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#34 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#29 integrate .. //depot/projects/usb/src/sys/netgraph/ng_ether.c#11 integrate .. //depot/projects/usb/src/sys/netinet/in.c#27 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.c#26 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#25 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.c#14 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.h#7 integrate .. //depot/projects/usb/src/sys/netinet/ip_output.c#22 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/usb/src/sys/netinet/raw_ip.c#24 integrate .. //depot/projects/usb/src/sys/netinet/tcp_usrreq.c#20 integrate .. //depot/projects/usb/src/sys/netinet/vinet.h#11 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#25 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#23 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.h#7 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_nbr.c#15 integrate .. //depot/projects/usb/src/sys/netinet6/raw_ip6.c#21 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#19 integrate .. //depot/projects/usb/src/sys/netipx/README#2 integrate .. //depot/projects/usb/src/sys/netipx/ipx.c#6 integrate .. //depot/projects/usb/src/sys/netipx/ipx_if.h#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/usb/src/sys/netipx/ipx_outputfl.c#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_pcb.c#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netipx/ipx_var.h#4 integrate .. //depot/projects/usb/src/sys/netipx/spx.h#4 integrate .. //depot/projects/usb/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/usb/src/sys/netipx/spx_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netipx/spx_var.h#4 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsock.c#12 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsubs.c#16 integrate .. //depot/projects/usb/src/sys/powerpc/conf/GENERIC#21 integrate .. //depot/projects/usb/src/sys/powerpc/conf/MPC85XX#8 integrate .. //depot/projects/usb/src/sys/powerpc/conf/NOTES#14 integrate .. //depot/projects/usb/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/usb/src/sys/powerpc/include/spr.h#12 integrate .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/usb/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/usb/src/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/usb/src/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/usb/src/sys/security/mac_biba/mac_biba.c#14 integrate .. //depot/projects/usb/src/sys/security/mac_lomac/mac_lomac.c#14 integrate .. //depot/projects/usb/src/sys/sys/cpuset.h#4 integrate .. //depot/projects/usb/src/sys/sys/fcntl.h#5 integrate .. //depot/projects/usb/src/sys/sys/iconv.h#2 integrate .. //depot/projects/usb/src/sys/sys/ktr.h#4 integrate .. //depot/projects/usb/src/sys/sys/lock.h#10 integrate .. //depot/projects/usb/src/sys/sys/lock_profile.h#7 integrate .. //depot/projects/usb/src/sys/sys/mbuf.h#15 integrate .. //depot/projects/usb/src/sys/sys/mutex.h#11 integrate .. //depot/projects/usb/src/sys/sys/param.h#37 integrate .. //depot/projects/usb/src/sys/sys/priv.h#18 integrate .. //depot/projects/usb/src/sys/sys/sched.h#7 integrate .. //depot/projects/usb/src/sys/sys/socketvar.h#11 integrate .. //depot/projects/usb/src/sys/sys/sx.h#11 integrate .. //depot/projects/usb/src/sys/sys/syscall.h#13 integrate .. //depot/projects/usb/src/sys/sys/syscall.mk#13 integrate .. //depot/projects/usb/src/sys/sys/syslimits.h#3 integrate .. //depot/projects/usb/src/sys/sys/sysproto.h#13 integrate .. //depot/projects/usb/src/sys/sys/ucred.h#7 integrate .. //depot/projects/usb/src/sys/sys/user.h#10 integrate .. //depot/projects/usb/src/sys/sys/vimage.h#16 integrate .. //depot/projects/usb/src/sys/sys/vnode.h#22 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#18 integrate .. //depot/projects/usb/src/sys/vm/device_pager.c#7 integrate .. //depot/projects/usb/src/sys/vm/vm_contig.c#12 integrate .. //depot/projects/usb/src/sys/vm/vm_extern.h#6 integrate .. //depot/projects/usb/src/sys/vm/vm_page.c#16 integrate .. //depot/projects/usb/src/sys/vm/vm_phys.c#4 integrate Differences ... ==== //depot/projects/usb/src/lib/libusb/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/lib/libusb/Makefile,v 1.5 2009/03/10 15:49:43 thompsa Exp $ +# $FreeBSD: src/lib/libusb/Makefile,v 1.6 2009/06/23 01:00:26 thompsa Exp $ # # Makefile for the FreeBSD specific LibUSB 2.0 # @@ -10,19 +10,23 @@ SRCS= libusb20.c SRCS+= libusb20_desc.c SRCS+= libusb20_ugen20.c -SRCS+= libusb20_compat01.c -SRCS+= libusb20_compat10.c INCS+= libusb20.h INCS+= libusb20_desc.h -MAN= libusb.3 +MAN= libusb.3 libusb20.3 MKLINT= no NOGCCERROR= -MLINKS+= libusb.3 usb.3 \ - libusb.3 libusb20.3 +MLINKS+= libusb.3 usb.3 # libusb 0.1 compat INCS+= usb.h +SRCS+= libusb20_compat01.c + +# libusb 1.0 compat +INCS+= libusb.h +SRCS+= libusb10.c +SRCS+= libusb10_desc.c +SRCS+= libusb10_io.c .include ==== //depot/projects/usb/src/lib/libusb/libusb.3#16 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2008 Hans Petter Selasky +.\" Copyright (c) 2009 Sylvestre Gallon .\" .\" All rights reserved. .\" @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.6 2009/06/12 16:07:06 thompsa Exp $ +.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.7 2009/06/23 01:00:26 thompsa Exp $ .\" -.Dd May 28, 2009 +.Dd June 22, 2009 .Dt LIBUSB 3 .Os .Sh NAME @@ -41,882 +41,424 @@ USB access library (libusb -lusb) . . +.Sh SYNOPSIS +. . -.Sh SYNOPSIS -.In libusb20.h -.Ft int -.Fn libusb20_tr_close "struct libusb20_transfer *xfer" -.Ft int -.Fn libusb20_tr_open "struct libusb20_transfer *xfer" "uint32_t max_buf_size" "uint32_t max_frame_count" "uint8_t ep_no" -.Ft struct libusb20_transfer* -.Fn libusb20_tr_get_pointer "struct libusb20_device *pdev" "uint16_t tr_index" -.Ft uint16_t -.Fn libusb20_tr_get_time_complete "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_actual_frames "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_actual_length "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_frames "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_packet_length "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_total_length "struct libusb20_transfer *xfer" -.Ft uint8_t -.Fn libusb20_tr_get_status "struct libusb20_transfer *xfer" -.Ft uint8_t -.Fn libusb20_tr_pending "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_callback_wrapper "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_clear_stall_sync "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_drain "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_set_buffer "struct libusb20_transfer *xfer" "void *buffer" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_callback "struct libusb20_transfer *xfer" "libusb20_tr_callback_t *cb" -.Ft void -.Fn libusb20_tr_set_flags "struct libusb20_transfer *xfer" "uint8_t flags" -.Ft uint32_t -.Fn libusb20_tr_get_length "struct libusb20_transfer *xfer" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_length "struct libusb20_transfer *xfer" "uint32_t length" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_priv_sc0 "struct libusb20_transfer *xfer" "void *sc0" -.Ft void -.Fn libusb20_tr_set_priv_sc1 "struct libusb20_transfer *xfer" "void *sc1" -.Ft void -.Fn libusb20_tr_set_timeout "struct libusb20_transfer *xfer" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_set_total_frames "struct libusb20_transfer *xfer" "uint32_t nframes" -.Ft void -.Fn libusb20_tr_setup_bulk "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_control "struct libusb20_transfer *xfer" "void *psetup" "void *pbuf" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_intr "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_isoc "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint61_t fr_index" -.Ft void -.Fn libusb20_tr_start "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_stop "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_submit "struct libusb20_transfer *xfer" -.Ft void * -.Fn libusb20_tr_get_priv_sc0 "struct libusb20_transfer *xfer" -.Ft void * -.Fn libusb20_tr_get_priv_sc1 "struct libusb20_transfer *xfer" -.Ft const char * -.Fn libusb20_dev_get_backend_name "struct libusb20_device *" -.Ft int -.Fn libusb20_dev_get_info "struct libusb20_device *pdev" "struct usb_device_info *pinfo" -.Ft int -.Fn libusb20_dev_get_iface_desc "struct libusb20_device *pdev" "uint8_t iface_index" "char *buf" "uint8_t len" -.Ft const char * -.Fn libusb20_dev_get_desc "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_close "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_detach_kernel_driver "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int -.Fn libusb20_dev_set_config_index "struct libusb20_device *pdev" "uint8_t configIndex" -.Ft int -.Fn libusb20_dev_get_debug "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_get_fd "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_kernel_driver_active "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int -.Fn libusb20_dev_open "struct libusb20_device *pdev" "uint16_t transfer_max" -.Ft int -.Fn libusb20_dev_process "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_request_sync "struct libusb20_device *pdev" "struct LIBUSB20_CONTROL_SETUP_DECODED *setup" "void *data" "uint16_t *pactlen" "uint32_t timeout" "uint8_t flags" -.Ft int -.Fn libusb20_dev_req_string_sync "struct libusb20_device *pdev" "uint8_t index" "uint16_t langid" "void *ptr" "uint16_t len" -.Ft int -.Fn libusb20_dev_req_string_simple_sync "struct libusb20_device *pdev" "uint8_t index" "void *ptr" "uint16_t len" -.Ft int -.Fn libusb20_dev_reset "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_set_power_mode "struct libusb20_device *pdev" "uint8_t power_mode" -.Ft uint8_t -.Fn libusb20_dev_get_power_mode "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_set_alt_index "struct libusb20_device *pdev" "uint8_t iface_index" "uint8_t alt_index" -.Ft struct LIBUSB20_DEVICE_DESC_DECODED * -.Fn libusb20_dev_get_device_desc "struct libusb20_device *pdev" -.Ft struct libusb20_config * -.Fn libusb20_dev_alloc_config "struct libusb20_device *pdev" "uint8_t config_index" -.Ft struct libusb20_device * -.Fn libusb20_dev_alloc "void" -.Ft uint8_t -.Fn libusb20_dev_get_address "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_bus_number "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_mode "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_speed "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_config_index "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_dev_free "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_dev_set_debug "struct libusb20_device *pdev" "int debug" -.Ft void -.Fn libusb20_dev_wait_process "struct libusb20_device *pdev" "int timeout" -.Ft int -.Fn libusb20_be_get_template "struct libusb20_backend *pbe" "int *ptemp" -.Ft int -.Fn libusb20_be_set_template "struct libusb20_backend *pbe" "int temp" -.Ft int -.Fn libusb20_be_get_dev_quirk "struct libusb20_backend *pber", "uint16_t index" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_get_quirk_name "struct libusb20_backend *pbe" "uint16_t index" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_add_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_remove_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_default "void" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_freebsd "void" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_linux "void" -.Ft struct libusb20_device * -.Fn libusb20_be_device_foreach "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_dequeue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_enqueue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_free "struct libusb20_backend *pbe" -.Ft uint8_t -.Fn libusb20_me_get_1 "const struct libusb20_me_struct *me" "uint16_t off" -.Ft uint16_t -.Fn libusb20_me_get_2 "const struct libusb20_me_struct *me" "uint16_t off" -.Ft uint16_t -.Fn libusb20_me_encode "void *pdata" "uint16_t len" "const void *pdecoded" -.Ft uint16_t -.Fn libusb20_me_decode "const void *pdata" "uint16_t len" "void *pdecoded" -.Ft "const uint8_t *" -.Fn libusb20_desc_foreach "const struct libusb20_me_struct *me" "const uint8_t *pdesc" +.In libusb.h . . .Sh DESCRIPTION -. The .Nm -library implements functions to be able to easily access and control -USB through the USB file system interface. +library contains interfaces for directly managing a usb device. +The current implementation supports v1.0 of the libusb API. . . -.Sh USB TRANSFER OPERATIONS +.Sh LIBRARY INITIALISATION / DEINITIALISATION . .Pp . -.Fn libusb20_tr_close -will release all kernel resources associated with an USB -.Fa xfer . -. -This function returns zero upon success. -. -Non-zero return values indicate a LIBUSB20_ERROR value. -. +.Ft int +.Fn libusb_init libusb_context **ctx +This function initialises libusb. Must be called at the beginning +of the program. This function returns 0 on success or LIBUSB_ERROR on +failure. +. .Pp . -.Fn libusb20_tr_open -will allocate kernel buffer resources according to -.Fa max_buf_size -and -.Fa max_frame_count -associated with an USB -.Fa pxfer -and bind the transfer to the specified -.Fa ep_no . -.Fa max_buf_size -is the minimum buffer size which the data transport layer has to support. -If -.Fa max_buf_size -is zero, the -.Nm -library will use wMaxPacketSize to compute the buffer size. -This can be useful for isochronous transfers. -The actual buffer size can be greater than -.Fa max_buf_size -and is returned by -.Fn libusb20_tr_get_max_total_length . +.Ft void +.Fn libusb_exit "libusb_context *ctx" +Deinitialise libusb. Must be called at the end of the application. . -This function returns zero upon success. -. -Non-zero return values indicate a LIBUSB20_ERROR value. -. .Pp . -.Fn libusb20_tr_get_pointer -will return a pointer to the allocated USB transfer according to the -.Fa pdev -and -.Fa tr_index -arguments. -. -This function returns NULL in case of failure. +.Ft void +.Fn libusb_set_debug "libusb_context *ctx" "int level" +Set debug to the +.Fa level +level. . .Pp . -.Fn libusb20_tr_get_time_complete -will return the completion time of an USB transfer in -millisecond units. This function is most useful for isochronous USB -transfers when doing echo cancelling. +.Ft ssize_t +.Fn libusb_get_device_list "libusb_context *ctx" "libusb_device ***list" +Fill into +.Fa list +the list of usb device available. All the device created by this +function must be unref and free when you are done with them. This +function returns the number of devices in list or a LIBUSB_ERROR code. . .Pp . -.Fn libusb20_tr_get_actual_frames -will return the actual number of USB frames after an USB -transfer completed. A value of zero means that no data was transferred. +.Ft void +.Fn libusb_free_device_list "libusb_device **list" "int unref_devices" +Free the list of devices discovered by libusb_get_device_list. If +.Fa unref_device +is set to 1 all devices are unref one time. . .Pp . -.Fn libusb20_tr_get_actual_length -will return the sum of the actual length for all -transferred USB frames for the given USB transfer. +.Ft uint8_t +.Fn libusb_get_bus_number "libusb_device *dev" +Returns the number of the bus contained by the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_max_frames -will return the maximum number of USB frames that were -allocated when an USB transfer was setup for the given USB transfer. +.Ft uint8_t +.Fn libusb_get_device_address "libusb_device *dev" +Return the device_address contained by the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_max_packet_length -will return the maximum packet length in bytes -associated with the given USB transfer. -. -The packet length can be used round up buffer sizes so that short USB -packets are avoided for proxy buffers. -. +.Ft int +.Fn libusb_get_max_packet_size "libusb_device *dev" "unsigned char endpoint" +Return the wMaxPacketSize value on success, LIBUSB_ERROR_NOT_FOUND if the +endpoint does not exist and LIBUSB_ERROR_OTHERS on other failure. . .Pp . -.Fn libusb20_tr_get_max_total_length -function will return the maximum value for the length sum of all -USB frames associated with an USB transfer. +.Ft libusb_device * +.Fn libusb_ref_device "libusb_device *dev" +Increment the reference counter of the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_status -will return the status of an USB transfer. -. -Status values are defined by a set of LIBUSB20_TRANSFER_XXX enums. +.Ft void +.Fn libusb_unref_device "libusb_device *dev" +Decrement the reference counter of the device +.Fa dev. . .Pp . -.Fn libusb20_tr_pending -will return non-zero if the given USB transfer is -pending for completion. -. -Else this function returns zero. +.Ft int +.Fn libusb_open "libusb_device *dev" "libusb_device_handle **devh" +Open a device and obtain a device_handle. Return 0 on success, +LIBUSB_ERROR_NO_MEM on memory allocation problem, LIBUSB_ERROR_ACCESS +on permission problem, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and a LIBUSB_ERROR code on error. . .Pp . -.Fn libusb20_tr_callback_wrapper -This is an internal function used to wrap asynchronous USB callbacks. +.Ft libusb_device_handle * +.Fn libusb_open_device_with_vid_pid "libusb_context *ctx" "uint16_t vid" "uint16_t pid" +Conveniance function to open a device with is +.Fa vid +and +.Fa pid. +Return NULL on error. . .Pp . -.Fn libusb20_tr_clear_stall_sync -This is an internal function used to synchronously clear the stall on -the given USB transfer. -. -Please see the USB specification for more information on stall -clearing. -. -If the given USB transfer is pending when this function is called, the -USB transfer will complete with an error after that this function has -been called. +.Ft void +.Fn libusb_close "libusb_device_handle *devh" +Close a device handle. . .Pp . -.Fn libusb20_tr_drain -will stop the given USB transfer and will not return -until the USB transfer has been stopped in hardware. +.Ft libusb_device * +.Fn libusb_get_device(libusb_device_handle *devh) +Get the device contained by devh. Return NULL on error. . .Pp . -.Fn libusb20_tr_set_buffer -is used to set the -.Fa buffer -pointer for the given USB transfer and -.Fa fr_index . -. -Typically the frame index is zero. +.Ft int +.Fn libusb_get_configuration "libusb_device_handle *devh" "int *config" +Return the bConfiguration value of the current configuration. return 0 +on success, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected +and a LIBUSB_ERROR code on error. . -. .Pp . -.Fn libusb20_tr_set_callback -is used to set the USB callback for asynchronous USB -transfers. -. -The callback type is defined by libusb20_tr_callback_t. +.Ft int +.Fn libusb_set_configuration "libusb_device_handle *devh" "int config" +Set the active configuration +.Fa config +for the device contained by +.Fa devh. +This function return 0 on success, LIBUSB_ERROR_NOT_FOUND if the requested +configuration does not exist, LIBUSB_ERROR_BUSY if the interfaces are currently +claimed, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_flags -is used to set various USB flags for the given USB transfer. -.Bl -tag -.It LIBUSB20_TRANSFER_SINGLE_SHORT_NOT_OK -Report a short frame as error. -.It LIBUSB20_TRANSFER_MULTI_SHORT_NOT_OK -Multiple short frames are not allowed. -.It LIBUSB20_TRANSFER_FORCE_SHORT -All transmitted frames are short terminated. -.It LIBUSB20_TRANSFER_DO_CLEAR_STALL -Will do a clear-stall before starting the transfer. -.El +.Ft int +.Fn libusb_claim_interface "libusb_device_handle *devh" "int interface_number" +Claim an interface in a given libusb_handle +.Fa devh. +This is a non-blocking function. It return 0 success, LIBUSB_ERROR_NOT_FOUND +if the requested interface does not exist, LIBUSB_ERROR_BUSY if a program or +driver has claimed the interface, LIBUSB_ERROR_NO_DEVICE if the device has +been disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_get_length -returns the length of the given USB frame by index. -After an USB transfer is complete the USB frame length will get updated to the actual transferred length. +.Ft int +.Fn libusb_release_interface "libusb_device_handle *devh" "int interface_number" +This function release an interface. All the claimed interface must be released +before closing a device. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if the +interafce was not claimed, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and LIBUSB_ERROR on failure. . .Pp . -.Fn libusb20_tr_set_length -sets the length of the given USB frame by index. +.Ft int +.Fn libusb_set_interface_alt_setting "libusb_device_handle *dev" "int interface_number" "int alternate_setting" +Activate an alternate setting for an interface. Returns 0 on success, +LIBUSB_ERROR_NOT_FOUND if the interface was not claimed or the requested +setting does not exist, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_priv_sc0 -sets private driver pointer number zero. +.Ft int +.Fn libusb_clear_halt "libusb_device_handle *devh" "unsigned char endpoint" +Clear an halt/stall for a endpoint. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND +if the endpoint does not exist, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_priv_sc1 -sets private driver pointer number one. +.Ft int +.Fn libusb_reset_device "libusb_device_handle *devh" +Perform an USB port reset for an usb device. Returns 0 on success, +LIBUSB_ERROR_NOT_FOUND if re-enumeration is required or if the device has +been disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_timeout -sets the timeout for the given USB transfer. -. -A timeout value of zero means no timeout. +.Ft int +.Fn libusb_kernel_driver_active "libusb_device_handle *devh" "int interface" +Determine if a driver is active on a interface. Returns 0 if no kernel driver +is active, returns 1 if a kernel driver is active, returns LIBUSB_ERROR_NO_DEVICE +if the device has been disconnected and return a LIBUSB_ERROR code on failure. . -The timeout is given in milliseconds. -. .Pp . -.Fn libusb20_tr_set_total_frames -sets the total number of frames that should be executed when the USB transfer is submitted. -. -The total number of USB frames must be less than the maximum number of USB frames associated with the given USB transfer. +.Ft int +.Fn libusb_detach_kernel_driver "libusb_device_handle *devh" "int interface" +Detach a kernel driver from an interface. This is needed to claim an interface +required by a kernel driver. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if +no kernel driver was active, LIBUSB_ERROR_INVALID_PARAM if the interface does not +exist, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_setup_bulk -is a helper function for setting up a single frame USB BULK transfer. +.Ft int +.Fn libusb_attach_kernel_driver "libusb_device_handle *devh" "int interface" +Re-attach an interface kernel driver previously detached. Returns 0 on success, +LIBUSB_ERROR_INVALID_PARAM if the interface does not exist, LIBUSB_ERROR_NO_DEVICE +if the device has been disconnect, LIBUSB_ERROR_BUSY if the driver cannot be +attached because the interface is claimed by a program or driver and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_setup_control -is a helper function for setting up a single or dual -frame USB CONTROL transfer depending on the control transfer length. +.Sh USB DESCRIPTORS . .Pp . -.Fn libusb20_tr_setup_intr -is a helper function for setting up a single frame USB INTERRUPT transfer. +.Ft int +.Fn libusb_get_device_descriptor "libusb_device *dev" "libusb_device_descriptor *desc" +Get the USB device descriptor for the device +.Fa dev. +This is a non-blocking function. Returns 0 on success and a LIBUSB_ERROR code on +failure. . .Pp -. -.Fn libusb20_tr_setup_isoc -is a helper function for setting up a multi frame USB ISOCHRONOUS transfer. +.Ft int +.Fn libsub_get_active_config_descriptor "libusb_device *dev" "libusb_device_descriptor **config" +Get the USB configuration descriptor for the active configuration. Returns 0 on +success, returns LIBUSB_ERROR_NOT_FOUND if the device is in unconfigured state +and return another LIBUSB_ERROR code on error. . .Pp -. -.Fn libusb20_tr_start -will get the USB transfer started, if not already -started. +.Ft int +.Fn libusb_get_config_descriptor "libusb_device *dev" "uint8_t config_index" "libusb_config_descriptor **config" +Get USB configuration descriptor based on its index +.Fa idx. +Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if the configuration does not exist +and returns another LIBUSB_ERROR code on error. . -This function will not get the transfer queued in hardware. -. -This function is non-blocking. -. .Pp -. -.Fn libusb20_tr_stop -will get the USB transfer stopped, if not already stopped. -. -This function is non-blocking, which means that the actual stop can -happen after the return of this function. +.Ft int +.Fn libusb_get_config_descriptor_by_value "libusb_device *dev" "uint8 bConfigurationValue" "libusb_config_descriptor **config" +Get a USB configuration descriptor with a specific bConfigurationValue. This is +a non-blocking function which does not send request through the device. Returns 0 +on success, LIBUSB_ERROR_NOT_FOUND if the configuration does not exist and another +LIBUSB_ERROR code on failure. . .Pp -. -.Fn libusb20_tr_submit -will get the USB transfer queued in hardware. +.Ft void +.Fn libusb_free_config_descriptor "libusb_config_descriptor *config`" +Free a configuration descriptor. . -. .Pp -. -.Fn libusb20_tr_get_priv_sc0 -returns private driver pointer number zero associated -with an USB transfer. -. +.Ft int +.Fn libusb_get_string_descriptor_ascii "libusb_device_handle *devh" "uint8_t desc_idx" "unsigned char *data" "int length" +Retrieve a string descriptor in C style ascii. Returns a number of byte on success +and a LIBUSB_ERROR code on failure. . .Pp . >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 13:57:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57AB6106568C; Tue, 23 Jun 2009 13:57:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13C5B1065688 for ; Tue, 23 Jun 2009 13:57:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DBE968FC18 for ; Tue, 23 Jun 2009 13:57:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NDvRgx008409 for ; Tue, 23 Jun 2009 13:57:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NDvRvK008407 for perforce@freebsd.org; Tue, 23 Jun 2009 13:57:27 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 23 Jun 2009 13:57:27 GMT Message-Id: <200906231357.n5NDvRvK008407@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 164963 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 13:57:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164963 Change 164963 by hselasky@hselasky_laptop001 on 2009/06/23 13:56:41 Branch some missing files. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#7 branch .. //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#5 branch Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 23 14:01:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C30031065673; Tue, 23 Jun 2009 14:01:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82A07106564A for ; Tue, 23 Jun 2009 14:01:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 70CD68FC15 for ; Tue, 23 Jun 2009 14:01:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NE1WAU008715 for ; Tue, 23 Jun 2009 14:01:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NE1WH2008713 for perforce@freebsd.org; Tue, 23 Jun 2009 14:01:32 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 23 Jun 2009 14:01:32 GMT Message-Id: <200906231401.n5NE1WH2008713@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 164964 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 14:01:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164964 Change 164964 by hselasky@hselasky_laptop001 on 2009/06/23 14:00:48 USB CORE: Add new flag: - USB_MULTI_SHORT_OK Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#157 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#157 (text+ko) ==== @@ -2974,6 +2974,9 @@ case USB_SHORT_XFER_OK: xfer->flags.short_xfer_ok = 1; break; + case USB_MULTI_SHORT_OK: + xfer->flags.short_frames_ok = 1; + break; } } @@ -2987,5 +2990,8 @@ case USB_SHORT_XFER_OK: xfer->flags.short_xfer_ok = 0; break; + case USB_MULTI_SHORT_OK: + xfer->flags.short_frames_ok = 0; + break; } } ==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#8 (text+ko) ==== @@ -78,6 +78,7 @@ #define USB_SHORT_XFER_OK 0x0004 /* allow short reads */ #define USB_DELAY_STATUS_STAGE 0x0010 /* insert delay before STATUS stage */ #define USB_USER_DATA_PTR 0x0020 /* internal flag */ +#define USB_MULTI_SHORT_OK 0x0040 /* allow multiple short frames */ #define USB_NO_TIMEOUT 0 #define USB_DEFAULT_TIMEOUT 5000 /* 5000 ms = 5 seconds */ From owner-p4-projects@FreeBSD.ORG Tue Jun 23 14:50:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B77F41065715; Tue, 23 Jun 2009 14:50:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70A94106570A for ; Tue, 23 Jun 2009 14:50:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5E71A8FC08 for ; Tue, 23 Jun 2009 14:50:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NEoQNa013545 for ; Tue, 23 Jun 2009 14:50:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NEoQ3P013543 for perforce@freebsd.org; Tue, 23 Jun 2009 14:50:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 23 Jun 2009 14:50:26 GMT Message-Id: <200906231450.n5NEoQ3P013543@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 164969 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 14:50:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164969 Change 164969 by hselasky@hselasky_laptop001 on 2009/06/23 14:50:18 USB CORE: New device side mode feature: - make sure the USB_HANDLE_REQUEST() device method can return information about short control read transfers. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#23 edit .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/usb_if.m#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#17 (text+ko) ==== @@ -764,7 +764,7 @@ static int cdce_handle_request(device_t dev, const void *req, void **pptr, uint16_t *plen, - uint16_t offset, uint8_t is_complete) + uint16_t offset, uint8_t *pstate) { return (ENXIO); /* use builtin handler */ } ==== //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#23 (text+ko) ==== @@ -475,10 +475,11 @@ static int ustorage_fs_handle_request(device_t dev, const void *preq, void **pptr, uint16_t *plen, - uint16_t offset, uint8_t is_complete) + uint16_t offset, uint8_t *pstate) { struct ustorage_fs_softc *sc = device_get_softc(dev); const struct usb_device_request *req = preq; + uint8_t is_complete = *pstate; if (!is_complete) { if ((req->bmRequestType == UT_WRITE_CLASS_INTERFACE) && ==== //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#15 (text+ko) ==== @@ -198,6 +198,7 @@ struct usb_device *udev = xfer->xroot->udev; int error; uint8_t iface_index; + uint8_t temp_state; if ((req.bmRequestType & 0x1F) == UT_INTERFACE) { iface_index = req.wIndex[0]; /* unicast */ @@ -222,6 +223,10 @@ /* end of interfaces non-existing interface */ goto tr_stalled; } + /* set initial state */ + + temp_state = state; + /* forward request to interface, if any */ if ((error != 0) && @@ -233,7 +238,7 @@ #endif error = USB_HANDLE_REQUEST(iface->subdev, &req, ppdata, plen, - off, state); + off, &temp_state); } iface_parent = usbd_get_iface(udev, iface->parent_iface_index); @@ -252,14 +257,18 @@ (iface_parent->subdev != iface->subdev) && device_is_attached(iface_parent->subdev)) { error = USB_HANDLE_REQUEST(iface_parent->subdev, - &req, ppdata, plen, off, - state); + &req, ppdata, plen, off, &temp_state); } if (error == 0) { /* negativly adjust pointer and length */ *ppdata = ((uint8_t *)(*ppdata)) - off; *plen += off; - goto tr_valid; + + if ((state == USB_HR_NOT_COMPLETE) && + (temp_state == USB_HR_COMPLETE_OK)) + goto tr_short; + else + goto tr_valid; } else if (error == ENOTTY) { goto tr_stalled; } @@ -337,6 +346,12 @@ USB_XFER_LOCK(xfer); return (0); +tr_short: + mtx_unlock(&Giant); + sx_unlock(udev->default_sx + 1); + USB_XFER_LOCK(xfer); + return (USB_ERR_SHORT_XFER); + tr_stalled: mtx_unlock(&Giant); sx_unlock(udev->default_sx + 1); @@ -444,6 +459,7 @@ uint16_t wValue; uint16_t wIndex; uint8_t state; + uint8_t is_complete = 1; usb_error_t err; union { uWord wStatus; @@ -596,7 +612,10 @@ USB_ADD_BYTES(&src_zcopy, 0), &max_len, req, off, state); if (err == 0) { + is_complete = 0; goto tr_valid; + } else if (err == USB_ERR_SHORT_XFER) { + goto tr_valid; } /* * Reset zero-copy pointer and max length @@ -735,7 +754,7 @@ if (rem > xfer->max_data_length) { rem = usbd_xfer_max_len(xfer); } - if (rem != max_len) { + if ((rem != max_len) && (is_complete != 0)) { /* * If we don't transfer the data we can transfer, then * the transfer is short ! ==== //depot/projects/usb/src/sys/dev/usb/usb_if.m#10 (text+ko) ==== @@ -36,6 +36,11 @@ # The device received a control request # +# The value pointed to by "pstate" can be updated to +# "USB_HR_COMPLETE_OK" to indicate that the control +# read transfer is complete, in case of short USB +# control transfers. +# # Return values: # 0: Success # ENOTTY: Transaction stalled @@ -47,5 +52,5 @@ void **pptr; /* data pointer */ uint16_t *plen; /* maximum transfer length */ uint16_t offset; /* data offset */ - uint8_t is_complete; /* set if transfer is complete, see USB_HR_XXX */ + uint8_t *pstate; /* set if transfer is complete, see USB_HR_XXX */ }; From owner-p4-projects@FreeBSD.ORG Tue Jun 23 16:17:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ECD9106567A; Tue, 23 Jun 2009 16:17:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DD561065670 for ; Tue, 23 Jun 2009 16:17:03 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDED78FC0C for ; Tue, 23 Jun 2009 16:17:02 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NGH229022722 for ; Tue, 23 Jun 2009 16:17:02 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NGH156022716 for perforce@freebsd.org; Tue, 23 Jun 2009 16:17:01 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 16:17:01 GMT Message-Id: <200906231617.n5NGH156022716@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 16:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=164977 Change 164977 by mav@mav_mavbook on 2009/06/23 16:16:14 IFC. Affected files ... .. //depot/projects/scottl-camlock/src/UPDATING#6 integrate .. //depot/projects/scottl-camlock/src/bin/sh/input.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/output.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/redir.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/ipfilter/tools/ipfcomp.c#3 integrate .. //depot/projects/scottl-camlock/src/crypto/openssh/config.h#3 integrate .. //depot/projects/scottl-camlock/src/crypto/openssh/ssh_namespace.h#3 integrate .. //depot/projects/scottl-camlock/src/gnu/lib/libgcov/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/include/rpc/svc_dg.h#2 integrate .. //depot/projects/scottl-camlock/src/lib/libarchive/archive_read.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/scottl-camlock/src/lib/libc/arm/string/strncmp.S#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/initgroups.3#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/abs.S#3 delete .. //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/div.S#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/labs.S#3 delete .. //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/ldiv.S#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/scottl-camlock/src/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/scottl-camlock/src/lib/libc/rpc/auth_unix.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/rpc/netname.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/rpc/netnamer.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/rpc/svc_dg.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/rpc/svc_generic.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/scottl-camlock/src/lib/libc/stdlib/Makefile.inc#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/getgroups.2#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/setgroups.2#3 integrate .. //depot/projects/scottl-camlock/src/lib/libdisk/change.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libkiconv/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libkvm/kvm_proc.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libpam/modules/pam_unix/pam_unix.8#2 integrate .. //depot/projects/scottl-camlock/src/lib/libusb/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/lib/libusb/libusb.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libusb/libusb.h#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb10.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb10.h#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb10_desc.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb20.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libusb/libusb20_compat10.c#2 delete .. //depot/projects/scottl-camlock/src/lib/libusb/libusb20_compat10.h#2 delete .. //depot/projects/scottl-camlock/src/lib/libusb/libusb20_ugen20.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/ncurses/ncurses/pathnames.h#2 integrate .. //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.c#4 integrate .. //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.h#5 integrate .. //depot/projects/scottl-camlock/src/release/picobsd/build/picobsd#3 integrate .. //depot/projects/scottl-camlock/src/release/picobsd/mfs_tree/etc/motd#2 integrate .. //depot/projects/scottl-camlock/src/sbin/fdisk/fdisk.c#4 integrate .. //depot/projects/scottl-camlock/src/sbin/sysctl/sysctl.c#3 integrate .. //depot/projects/scottl-camlock/src/secure/lib/libssh/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_hp.4#1 branch .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_wmi.4#1 branch .. //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#4 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/pts.4#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/lock.9#4 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/ucred.9#3 integrate .. //depot/projects/scottl-camlock/src/share/zoneinfo/asia#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/pmap.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/elf_trampoline.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/pmap.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/AVILA.hints#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/pmap.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_ata.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/files.avila#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/if_npe.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425_npe.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/compat/opensolaris/sys/vnode.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ioctl.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_misc.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_uid16.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ndis/kern_ndis.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ndis/subr_ndis.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ndis/subr_usbd.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/conf/NOTES#30 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#34 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.amd64#20 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.i386#20 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.powerpc#18 integrate .. //depot/projects/scottl-camlock/src/sys/conf/kmod.mk#18 integrate .. //depot/projects/scottl-camlock/src/sys/conf/options#26 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/acpica/Osd/OsdSynch.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-usb.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_main.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_multiq.c#6 delete .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/sys/cxgb_support.c#3 delete .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_bufs.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_context.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_dma.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_drv.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_irq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/fwdev.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fxp/if_fxp.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fxp/if_fxpvar.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ic/ns16550.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis_pccard.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis_pci.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis_usb.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/dev/puc/pucdata.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/scterm-teken.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/teken/teken.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci_atmelarm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci_atmelarm.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_ixp4xx.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_mbus.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_pci.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg_atmelarm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci_atmelarm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci_pci.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci_pci.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/usb_controller.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci_atmelarm.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/uhid.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ukbd.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ums.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/misc/udbp.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_aue.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_axe.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cdce.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cue.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_kue.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_rue.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_udav.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/usb_ethernet.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/u3g.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uark.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ubsa.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ubser.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uchcom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ucycom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ufoma.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uftdi.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ugensa.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uipaq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ulpt.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umct.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umodem.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umoscom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uplcom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/usb_serial.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uslcom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uvisor.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uvscom.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/urio.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/ustorage_fs.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_busdma.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_busdma.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_compat_linux.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_compat_linux.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_controller.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_core.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_defs.h#3 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dynamic.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dynamic.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_generic.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_handle_request.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hid.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hid.h#5 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_lookup.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_lookup.h#4 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mbuf.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mbuf.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_msctest.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_parse.h#5 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_request.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_request.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_revision.h#5 delete .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_util.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdevs#26 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbhid.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_rum.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_uath.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_ural.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_zyd.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs_vnops.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfs/nfs.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfs/nfsport.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clbio.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clkrpc.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clport.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsserver/nfs_nfsdport.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsserver/nfs_nfsdstate.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/ntfs/ntfs.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nullfs/null_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/fs/portalfs/portal.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/portalfs/portal_vnops.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/fs/unionfs/union_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/ext2fs/ext2_lookup.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/ext2fs/ext2_vnops.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/NOTES#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_misc.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/cpufunc.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/pmap.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/specialreg.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/vm_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_sysent.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_acct.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_alq.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exec.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_lock.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_lockf.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_mbuf.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_proc.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_prot.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sig.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sysctl.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/makesyscalls.sh#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/systrace_args.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_msg.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_mbuf.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_sockbuf.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_socket.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_usrreq.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_cache.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_default.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_export.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_vnops.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vnode_if.src#14 integrate .. //depot/projects/scottl-camlock/src/sys/libkern/iconv.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/libkern/iconv_converter_if.m#3 integrate .. //depot/projects/scottl-camlock/src/sys/libkern/iconv_xlat16.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/mips/adm5120/if_admsw.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/scottl-camlock/src/sys/mips/idt/idtpci.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/idt/if_kr.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/acpi/Makefile#9 integrate .. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi/Makefile#12 integrate .. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/cxgb/cxgb/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/netgraph/Makefile#11 integrate .. //depot/projects/scottl-camlock/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/wlan/Makefile#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/bpf.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/net/bridgestp.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/net/fddi.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/net/firewire.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/flowtable.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/flowtable.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#25 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_arc.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_arcsubr.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_enc.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_fddisubr.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_fwsubr.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_gre.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_iso88025subr.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_var.h#19 integrate .. //depot/projects/scottl-camlock/src/sys/net/iso88025.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/route.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/route.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/rtsock.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/net/vnet.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_wds.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/COPYRIGHT#5 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/aarp.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_control.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_var.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_input.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_output.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_pcb.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_ether.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_proto.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_input.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_mroute.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_mroute.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_output.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_var.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/raw_ip.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_indata.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_output.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_input.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_output.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_subr.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_timer.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_usrreq.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_var.h#23 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/vinet.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_ifattach.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_proto.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_rmx.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_mroute.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_mroute.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6_nbr.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/raw_ip6.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netipsec/key.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netipsec/xform_tcp.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/README#5 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_if.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_input.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_outputfl.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_pcb.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_usrreq.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_var.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/spx.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/spx_usrreq.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/spx_var.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_bio.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvkrpc.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsock.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsubs.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/GENERIC#20 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/MPC85XX#6 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/NOTES#10 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/include/spr.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/cpu.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/svc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/svc_vc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_biba/mac_biba.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_lomac/mac_lomac.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/sys/cpuset.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/fcntl.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/iconv.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ktr.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/lock.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/sys/lock_profile.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/lockmgr.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mbuf.h#20 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mutex.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#24 integrate .. //depot/projects/scottl-camlock/src/sys/sys/priv.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sched.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/socketvar.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sx.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.mk#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syslimits.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysproto.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ucred.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/user.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/vimage.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/vnode.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_dirhash.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_lookup.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_vnops.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/vm/device_pager.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/vm/uma_core.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_contig.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_page.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_phys.c#4 integrate .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/trap2.0#1 branch .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/errors/backquote-error1.0#1 branch .. //depot/projects/scottl-camlock/src/tools/regression/netipx/spxloopback/spxloopback.c#2 integrate .. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/FlashDevice.sub#3 integrate .. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/gateworks/G2358#2 integrate .. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/nanobsd.sh#3 integrate .. //depot/projects/scottl-camlock/src/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/catman/catman.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/gzip/gzip.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/gzip/unpack.c#1 branch .. //depot/projects/scottl-camlock/src/usr.bin/id/id.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ncal/ncal.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/bpf.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/netstat.1#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/newgrp/newgrp.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/quota/quota.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/chown/chown.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/chroot/chroot.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/getpmac/getpmac.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jail/jail.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jexec/jexec.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jls/jls.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/lpr/lpc/lpc.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/mount_portalfs/portald.h#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/mountd/mountd.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/nfscbd/nfscbd.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/add/perform.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/create/perform.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/info/perform.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/lib/lib.h#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/lib/pen.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/lib/url.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/wpa/ndis_events/ndis_events.c#2 integrate Differences ... ==== //depot/projects/scottl-camlock/src/UPDATING#6 (text+ko) ==== @@ -22,6 +22,35 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090622: + Layout of struct vnet has changed as routing related variables + were moved to their own Vimage module. Modules need to be + recompiled. Bump __FreeBSD_version to 800099. + +20090619: + NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 + and 1024 respectively. As long as no more than 16 groups per + process are used, no changes should be visible. When more + than 16 groups are used, old binaries may fail if they call + getgroups() or getgrouplist() with statically sized storage. + Recompiling will work around this, but applications should be + modified to use dynamically allocated storage for group arrays + as POSIX.1-2008 does not cap an implementation's number of + supported groups at NGROUPS_MAX+1 as previous versions did. + + NFS and portalfs mounts may also be affected as the list of + groups is truncated to 16. Users of NFS who use more than 16 + groups, should take care that negative group permissions are not + used on the exported file systems as they will not be reliable + unless a GSSAPI based authentication method is used. + +20090616: + The compiling option ADAPTIVE_LOCKMGRS has been introduced. + This option compiles in the support for adaptive spinning for lockmgrs + which want to enable it. The lockinit() function now accepts the + flag LK_ADAPTIVE in order to make the lock object subject to + adaptive spinning when both held in write and read mode. + 20090613: The layout of the structure returned by IEEE80211_IOC_STA_INFO has changed. User applications that use this ioctl need to be @@ -1595,4 +1624,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.618 2009/06/13 23:44:56 sam Exp $ +$FreeBSD: src/UPDATING,v 1.621 2009/06/22 17:48:16 bz Exp $ ==== //depot/projects/scottl-camlock/src/bin/sh/input.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.24 2009/06/13 21:17:45 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.25 2009/06/17 21:58:32 jilles Exp $"); #include /* defines BUFSIZ */ #include @@ -118,9 +118,9 @@ } RESET { + popallfiles(); if (exception != EXSHELLPROC) parselleft = parsenleft = 0; /* clear input buffer */ - popallfiles(); } SHELLPROC { ==== //depot/projects/scottl-camlock/src/bin/sh/output.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.20 2005/12/08 21:00:39 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.21 2009/06/19 22:09:55 jilles Exp $"); /* * Shell output routines. We use our own output routines because: @@ -133,32 +133,38 @@ outqstr(const char *p, struct output *file) { char ch; + int inquotes; if (p[0] == '\0') { outstr("''", file); return; } - if (p[strcspn(p, "|&;<>()$`\\\"'")] == '\0' && (!ifsset() || - p[strcspn(p, ifsval())] == '\0')) { + /* Caller will handle '=' if necessary */ + if (p[strcspn(p, "|&;<>()$`\\\"' \t\n*?[~#")] == '\0' || + strcmp(p, "[") == 0) { outstr(p, file); return; } - out1c('\''); + inquotes = 0; while ((ch = *p++) != '\0') { switch (ch) { case '\'': - /* - * Can't quote single quotes inside single quotes; - * close them, write escaped single quote, open again. - */ - outstr("'\\''", file); + /* Can't quote single quotes inside single quotes. */ + if (inquotes) + outc('\'', file); + inquotes = 0; + outstr("\\'", file); break; default: + if (!inquotes) + outc('\'', file); + inquotes = 1; outc(ch, file); } } - out1c('\''); + if (inquotes) + outc('\'', file); } STATIC char out_junk[16]; ==== //depot/projects/scottl-camlock/src/bin/sh/redir.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.26 2004/04/06 20:06:51 markm Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.27 2009/06/20 20:44:27 jilles Exp $"); #include #include @@ -188,13 +188,25 @@ error("cannot create %s: %s", fname, strerror(errno)); goto movefd; case NTO: - fname = redir->nfile.expfname; - if (Cflag && stat(fname, &sb) != -1 && S_ISREG(sb.st_mode)) - error("cannot create %s: %s", fname, - strerror(EEXIST)); - if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) - error("cannot create %s: %s", fname, strerror(errno)); - goto movefd; + if (Cflag) { + fname = redir->nfile.expfname; + if (stat(fname, &sb) == -1) { + if ((f = open(fname, O_WRONLY|O_CREAT|O_EXCL, 0666)) < 0) + error("cannot create %s: %s", fname, strerror(errno)); + } else if (!S_ISREG(sb.st_mode)) { + if ((f = open(fname, O_WRONLY, 0666)) < 0) + error("cannot create %s: %s", fname, strerror(errno)); + if (fstat(f, &sb) != -1 && S_ISREG(sb.st_mode)) { + close(f); + error("cannot create %s: %s", fname, + strerror(EEXIST)); + } + } else + error("cannot create %s: %s", fname, + strerror(EEXIST)); + goto movefd; + } + /* FALLTHROUGH */ case NCLOBBER: fname = redir->nfile.expfname; if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) ==== //depot/projects/scottl-camlock/src/contrib/ipfilter/tools/ipfcomp.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/tools/ipfcomp.c,v 1.5 2007/06/04 02:54:34 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/tools/ipfcomp.c,v 1.6 2009/06/16 13:31:01 rdivacky Exp $ */ /* * Copyright (C) 2001-2005 by Darren Reed. @@ -382,7 +382,7 @@ extern frentry_t *ipf_rules_out_%s[%d];\n", grp->fg_name, grp->fg_name, outcount); - for (g = groups; g != g; g = g->fg_next) + for (g = groups; g != grp; g = g->fg_next) if ((strncmp(g->fg_name, grp->fg_name, FR_GROUPLEN) == 0) && g->fg_flags == grp->fg_flags) ==== //depot/projects/scottl-camlock/src/crypto/openssh/config.h#3 (text+ko) ==== @@ -211,7 +211,7 @@ #define HAVE_CLOCK_T 1 /* Define to 1 if you have the `closefrom' function. */ -/* #undef HAVE_CLOSEFROM */ +#define HAVE_CLOSEFROM 1 /* Define if gai_strerror() returns const char * */ #define HAVE_CONST_GAI_STRERROR_PROTO 1 ==== //depot/projects/scottl-camlock/src/crypto/openssh/ssh_namespace.h#3 (text) ==== @@ -9,7 +9,7 @@ * * nm libssh.a | awk '$2 == "T" && $3 !~ /^ssh_/ { print "#define", $3, "ssh_" $3 }' * - * $FreeBSD: src/crypto/openssh/ssh_namespace.h,v 1.5 2009/05/22 18:46:28 des Exp $ + * $FreeBSD: src/crypto/openssh/ssh_namespace.h,v 1.6 2009/06/16 15:30:10 jhb Exp $ */ #define a2port ssh_a2port @@ -153,7 +153,6 @@ #define ciphers_valid ssh_ciphers_valid #define cleanhostname ssh_cleanhostname #define cleanup_exit ssh_cleanup_exit -#define closefrom ssh_closefrom #define colon ssh_colon #define compat_cipher_proposal ssh_compat_cipher_proposal #define compat_datafellows ssh_compat_datafellows ==== //depot/projects/scottl-camlock/src/gnu/lib/libgcov/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcov/Makefile,v 1.5 2007/05/19 04:25:55 kan Exp $ +# $FreeBSD: src/gnu/lib/libgcov/Makefile,v 1.6 2009/06/21 01:54:47 kan Exp $ NO_PROFILE= .include @@ -27,7 +27,15 @@ OBJS_P= ${SYMS:S/$/.po/} OBJS_S= ${SYMS:S/$/.So/} -COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h +#----------------------------------------------------------------------- +# +# Helpful shortcuts for compiler invocations. +# +CC_T = ${CC} -c ${CFLAGS} -fPIC +CC_P = ${CC} -c ${CFLAGS} -p -fPIC +CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED + +COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h CLEANFILES+= ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist ${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile @@ -36,16 +44,16 @@ ${OBJS} beforedepend: ${COMMONHDRS} ${OBJS_T}: libgcov.c - ${CC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} + ${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} .if !defined(NO_PIC) ${OBJS_S}: libgcov.c - ${CC} -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} + ${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} .endif .if ${MK_PROFILE} != "no" ${OBJS_P}: libgcov.c - ${CC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} + ${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} .endif .include ==== //depot/projects/scottl-camlock/src/include/rpc/svc_dg.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: svc_dg.h,v 1.1 2000/06/02 23:11:16 fvdl Exp $ */ -/* $FreeBSD: src/include/rpc/svc_dg.h,v 1.1 2001/03/19 12:49:47 alfred Exp $ */ +/* $FreeBSD: src/include/rpc/svc_dg.h,v 1.2 2009/06/18 17:10:43 kan Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -46,6 +46,7 @@ XDR su_xdrs; /* XDR handle */ char su_verfbody[MAX_AUTH_BYTES]; /* verifier body */ void *su_cache; /* cached data, NULL if none */ + struct netbuf su_srcaddr; /* dst address of last msg */ }; #define __rpcb_get_dg_xidp(x) (&((struct svc_dg_data *)(x)->xp_p2)->su_xid) ==== //depot/projects/scottl-camlock/src/lib/libarchive/archive_read.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.49 2009/04/27 17:42:02 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.50 2009/06/20 06:02:21 kientzle Exp $"); #ifdef HAVE_ERRNO_H #include @@ -117,6 +117,7 @@ struct archive_read *a; struct archive_format_descriptor *format; char key[64], val[64]; + char *valp; size_t i; int len, r; @@ -135,10 +136,10 @@ while ((len = __archive_parse_options(s, format->name, sizeof(key), key, sizeof(val), val)) > 0) { - if (val[0] == '\0') - r = format->options(a, key, NULL); - else - r = format->options(a, key, val); + valp = val[0] == '\0' ? NULL : val; + a->format = format; + r = format->options(a, key, valp); + a->format = NULL; if (r == ARCHIVE_FATAL) return (r); s += len; ==== //depot/projects/scottl-camlock/src/lib/libc/arm/string/strncmp.S#3 (text+ko) ==== @@ -30,16 +30,19 @@ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/string/strncmp.S,v 1.4 2009/05/06 01:50:04 sam Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/string/strncmp.S,v 1.6 2009/06/21 13:15:56 stas Exp $"); ENTRY(strncmp) -/* if ((len - 1) < 0) return 0 */ - subs r2, r2, #1 - movmi r0, #0 - movmi pc, lr +/* if (len == 0) return 0 */ + cmp r2, #0 + moveq r0, #0 + moveq pc, lr /* ip == last src address to compare */ - add ip, r0, r2 + adds ip, r0, r2 +/* Use last possible address on overflow. */ + movcs ip, #0 + sub ip, ip, #1 1: ldrb r2, [r0], #1 ldrb r3, [r1], #1 ==== //depot/projects/scottl-camlock/src/lib/libc/gen/initgroups.3#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)initgroups.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/gen/initgroups.3,v 1.13 2007/01/09 00:27:54 imp Exp $ +.\" $FreeBSD: src/lib/libc/gen/initgroups.3,v 1.14 2009/06/19 15:58:24 brooks Exp $ .\" .Dd June 4, 1993 .Dt INITGROUPS 3 @@ -65,6 +65,13 @@ .Va errno for any of the errors specified for the library function .Xr setgroups 2 . +It may also return: +.Bl -tag -width Er +.It Bq Er ENOMEM +The +.Fn initgroups +function was unable to allocate temporary storage. +.El .Sh SEE ALSO .Xr setgroups 2 , .Xr getgrouplist 3 ==== //depot/projects/scottl-camlock/src/lib/libc/gen/initgroups.c#2 (text+ko) ==== @@ -31,14 +31,16 @@ static char sccsid[] = "@(#)initgroups.c 8.1 (Berkeley) 6/4/93"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/gen/initgroups.c,v 1.9 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/initgroups.c,v 1.10 2009/06/19 15:58:24 brooks Exp $"); #include -#include #include "namespace.h" #include #include "un-namespace.h" +#include +#include +#include #include int @@ -46,14 +48,21 @@ const char *uname; gid_t agroup; { - int ngroups; + int ngroups, ret; + long ngroups_max; + gid_t *groups; + /* - * Provide space for one group more than NGROUPS to allow + * Provide space for one group more than possible to allow * setgroups to fail and set errno. */ - gid_t groups[NGROUPS + 1]; + ngroups_max = sysconf(_SC_NGROUPS_MAX) + 2; + if ((groups = malloc(sizeof(*groups) * ngroups_max)) == NULL) + return (ENOMEM); - ngroups = NGROUPS + 1; + ngroups = (int)ngroups_max; getgrouplist(uname, agroup, groups, &ngroups); - return (setgroups(ngroups, groups)); + ret = setgroups(ngroups, groups); + free(groups); + return (ret); } ==== //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/Makefile.inc#2 (text+ko) ==== @@ -1,4 +1,4 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/i386/stdlib/Makefile.inc,v 1.7 1999/08/27 23:59:26 peter Exp $ +# $FreeBSD: src/lib/libc/i386/stdlib/Makefile.inc,v 1.8 2009/06/23 09:04:59 ed Exp $ -MDSRCS+=abs.S div.S labs.S ldiv.S +MDSRCS+=div.S ldiv.S ==== //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/div.S#3 (text+ko) ==== @@ -26,14 +26,12 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/i386/stdlib/div.S,v 1.12 2008/11/02 01:28:47 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/stdlib/div.S,v 1.13 2009/06/22 10:56:08 ed Exp $"); ENTRY(div) movl 4(%esp),%eax movl 8(%esp),%ecx cdq idiv %ecx - movl %eax,4(%esp) - movl %edx,8(%esp) ret END(div) ==== //depot/projects/scottl-camlock/src/lib/libc/i386/stdlib/ldiv.S#3 (text+ko) ==== @@ -29,14 +29,12 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/i386/stdlib/ldiv.S,v 1.11 2008/11/02 01:28:47 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/stdlib/ldiv.S,v 1.12 2009/06/22 10:56:08 ed Exp $"); ENTRY(ldiv) movl 4(%esp),%eax movl 8(%esp),%ecx cdq idiv %ecx - movl %eax,4(%esp) - movl %edx,8(%esp) ret END(ldiv) ==== //depot/projects/scottl-camlock/src/lib/libc/rpc/auth_unix.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ static char *sccsid = "@(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/auth_unix.c,v 1.18 2007/06/14 20:07:35 harti Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/auth_unix.c,v 1.19 2009/06/19 15:58:24 brooks Exp $"); /* * auth_unix.c, Implements UNIX style authentication parameters. @@ -185,23 +185,29 @@ AUTH * authunix_create_default() { - int len; + int ngids; + long ngids_max; char machname[MAXHOSTNAMELEN + 1]; uid_t uid; gid_t gid; - gid_t gids[NGROUPS_MAX]; + gid_t *gids; + + ngids_max = sysconf(_SC_NGROUPS_MAX) + 1; + gids = malloc(sizeof(gid_t) * ngids_max); + if (gids == NULL) + return (NULL); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 16:39:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBEBC106566C; Tue, 23 Jun 2009 16:39:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C3851065673 for ; Tue, 23 Jun 2009 16:39:27 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 703C18FC1B for ; Tue, 23 Jun 2009 16:39:27 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NGdRE3024432 for ; Tue, 23 Jun 2009 16:39:27 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NGdRkq024430 for perforce@freebsd.org; Tue, 23 Jun 2009 16:39:27 GMT (envelope-from mav@freebsd.org) Date: Tue, 23 Jun 2009 16:39:27 GMT Message-Id: <200906231639.n5NGdRkq024430@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164979 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 16:39:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=164979 Change 164979 by mav@mav_mavbook on 2009/06/23 16:38:28 IFC two lost files. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.h#10 branch .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi_util.h#9 branch Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 23 19:53:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1D701065674; Tue, 23 Jun 2009 19:53:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65DD9106564A for ; Tue, 23 Jun 2009 19:53:06 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5360E8FC19 for ; Tue, 23 Jun 2009 19:53:06 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NJr5Z9052904 for ; Tue, 23 Jun 2009 19:53:06 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NJr55U052902 for perforce@freebsd.org; Tue, 23 Jun 2009 19:53:05 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 23 Jun 2009 19:53:05 GMT Message-Id: <200906231953.n5NJr55U052902@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164990 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 19:53:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=164990 Change 164990 by dforsyth@squirrel on 2009/06/23 19:52:40 Duplicate passed strings rather than assuming that the client will always pass truly constant strings. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#25 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#20 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#25 (text+ko) ==== @@ -53,6 +53,12 @@ #define PARSE_OK 0x00000000 #define PARSE_FAIL 0x10000000 +/* TODO: All these explicit functions are great, but the client doesn't + * need to make a "new" pkg_cfl, when all they really have to insert are a + * sting and an integer (they dont even have to set the int). So write + * some functions that give them ways to make these entities with a single + * call. */ + /* pkg_file */ struct pkg_file; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#4 (text+ko) ==== @@ -26,7 +26,8 @@ if (pc == NULL) arg_rage_quit(__func__, "Not a valid conflict.", RAGE_AT_LIBPKG); - pc->name = strdup(name); + free(pc->name); + pc->name = (name == NULL) ? NULL : strdup(name); return ((pc->name == NULL) ? MEMORY_ERR | NOT_OK : OK); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ #include #include +#include #include "pkg_dep.h" #include "pkg.h" @@ -20,7 +21,8 @@ if (pd == NULL) return (NULL); - pd->name = name; + free(pd->name); + pd->name = (name != NULL ? strdup(name) : NULL); return (pd); } @@ -30,8 +32,9 @@ { if (pd == NULL) return (NULL); - - pd->origin = origin; + + free(pd->origin); + pd->origin = (origin != NULL ? strdup(origin) : NULL); return (pd); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#5 (text+ko) ==== @@ -6,8 +6,8 @@ #include struct pkg_dep { - const char *name; - const char *origin; + char *name; + char *origin; int version; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#6 (text+ko) ==== @@ -1,5 +1,6 @@ #include #include +#include #include "pkg_file.h" #include "pkg.h" @@ -70,8 +71,9 @@ { if (pf == NULL) return (NOT_OK); - - pf->md5 = md5; + + free(pf->md5); + pf->md5 = (md5 != NULL ? strdup(md5) : NULL); return (OK); } @@ -80,8 +82,9 @@ { if (pf == NULL) return (NOT_OK); - - pf->path = path; + + free(pf->path); + pf->path = (path != NULL ? strdup(path) : NULL); return (OK); } @@ -91,7 +94,8 @@ if (pf == NULL) return (NOT_OK); - pf->owner = owner; + free(pf->owner); + pf->owner = (owner != NULL ? strdup(owner) : NULL); return (OK); } @@ -100,8 +104,9 @@ { if (pf == NULL) return (NOT_OK); - - pf->group = group; + + free(pf->group); + pf->group = (group != NULL ? strdup(group) : NULL); return (OK); } @@ -110,7 +115,8 @@ { if (pf == NULL) return (NOT_OK); - - pf->mode = mode; + + free(pf->mode); + pf->mode = (mode != NULL ? strdup(mode) : NULL); return (OK); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#5 (text+ko) ==== @@ -6,11 +6,11 @@ #include struct pkg_file { - const char *path; - const char *md5; - const char *owner; - const char *group; - const char *mode; + char *path; + char *md5; + char *owner; + char *group; + char *mode; TAILQ_ENTRY(pkg_file) next; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#20 (text+ko) ==== @@ -118,8 +118,6 @@ textp = strdup(text); if (textp == NULL) return (MEMORY_ERR); - /* Once parsed this is actually a leak because we lose track of the - * commands. */ pl->text = textp; @@ -153,7 +151,8 @@ textp = p + 1; } } - + + free(textp); pl->parsed = 1; return (OK); From owner-p4-projects@FreeBSD.ORG Tue Jun 23 20:14:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A7A71065687; Tue, 23 Jun 2009 20:14:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48D7C106568A for ; Tue, 23 Jun 2009 20:14:36 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 360928FC15 for ; Tue, 23 Jun 2009 20:14:36 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NKEaEC055634 for ; Tue, 23 Jun 2009 20:14:36 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NKEai0055632 for perforce@freebsd.org; Tue, 23 Jun 2009 20:14:36 GMT (envelope-from truncs@FreeBSD.org) Date: Tue, 23 Jun 2009 20:14:36 GMT Message-Id: <200906232014.n5NKEai0055632@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164993 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 20:14:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=164993 Change 164993 by truncs@aditya on 2009/06/23 20:14:31 Function to mark the buffer dirty. Removed some NetBSDism from it. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#10 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#10 (text+ko) ==== @@ -57,6 +57,8 @@ daddr_t (*)(struct inode *, int, daddr_t, int)); static daddr_t ext2fs_nodealloccg(struct inode *, int, daddr_t. int); +static daddr_t ext2fs_mapsearch(struct m_ext2fs *, char *, daddr_t); + /* * Linux calls this functions at the following locations: * (1) the inode is freed @@ -614,3 +616,202 @@ return (0); } +/* + * Determine whether a block can be allocated. + * + * Check to see if a block of the appropriate size is available, + * and if it is, allocate it. + */ + +static daddr_t +ext2_alloccg(struct inode *ip, int cg, daddr_t bpref, int size) +{ + struct m_ext2fs *fs; + char *bbp; + struct buf *bp; + /* XXX ondisk32 */ + int error, bno, start, end, loc; + + fs = ip->i_e2fs; + if (fs->e2fs_gd[cg].ext2bgd_nbfree == 0) + return (0); + error = bread(ip->i_devvp, fsbtodb(fs, + fs->e2fs_gd[cg].ext2bgd_b_bitmap), + (int)fs->e2fs_bsize, NOCRED, &bp); + if (error) { + brelse(bp, 0); + return (0); + } + bbp = (char *)bp->b_data; + + if (dtog(fs, bpref) != cg) + bpref = 0; + if (bpref != 0) { + bpref = dtogd(fs, bpref); + /* + * if the requested block is available, use it + */ + if (isclr(bbp, bpref)) { + bno = bpref; + goto gotit; + } + } + /* + * no blocks in the requested cylinder, so take next + * available one in this cylinder group. + * first try to get 8 contigous blocks, then fall back to a single + * block. + */ + if (bpref) + start = dtogd(fs, bpref) / NBBY; + else + start = 0; + end = howmany(fs->e2fs.e2fs_fpg, NBBY) - start; + for (loc = start; loc < end; loc++) { + if (bbp[loc] == 0) { + bno = loc * NBBY; + goto gotit; + } + } + for (loc = 0; loc < start; loc++) { + if (bbp[loc] == 0) { + bno = loc * NBBY; + goto gotit; + } + } + + bno = ext2fs_mapsearch(fs, bbp, bpref); + if (bno < 0) + return (0); +gotit: +#ifdef DIAGNOSTIC + if (isset(bbp, (daddr_t)bno)) { + printf("ext2fs_alloccgblk: cg=%d bno=%d fs=%s\n", + cg, bno, fs->e2fs_fsmnt); + panic("ext2fs_alloccg: dup alloc"); + } +#endif + setbit(bbp, (daddr_t)bno); + fs->e2fs.e2fs_fbcount--; + fs->e2fs_gd[cg].ext2bgd_nbfree--; + mark_buffer_dirty(bp); + fs->e2fs_fmod = 1; + + return (cg * fs->e2fs.e2fs_fpg + fs->e2fs.e2fs_first_dblock + bno); +} + +/* + * Determine whether an inode can be allocated. + * + * Check to see if an inode is available, and if it is, + * allocate it using tode in the specified cylinder group. + */ +static daddr_t +ext2_nodealloccg(struct inode *ip, int cg, daddr_t ipref, int mode) +{ + struct m_ext2fs *fs; + char *ibp; + struct buf *bp; + int error, start, len, loc, map, i; + + ipref--; /* to avoid a lot of (ipref -1) */ + if (ipref == -1) + ipref = 0; + fs = ip->i_e2fs; + if (fs->e2fs_gd[cg].ext2bgd_nifree == 0) + return (0); + error = bread(ip->i_devvp, fsbtodb(fs, + fs->e2fs_gd[cg].ext2bgd_i_bitmap), + (int)fs->e2fs_bsize, NOCRED, &bp); + if (error) { + brelse(bp, 0); + return (0); + } + ibp = (char *)bp->b_data; + if (ipref) { + ipref %= fs->e2fs.e2fs_ipg; + if (isclr(ibp, ipref)) + goto gotit; + } + start = ipref / NBBY; + len = howmany(fs->e2fs.e2fs_ipg - ipref, NBBY); + loc = skpc(0xff, len, &ibp[start]); + if (l} + i = start + len - loc; + map = ibp[i]; + ipref = i * NBBY; + for (i = 1; i < (1 << NBBY); i <<= 1, ipref++) { + if ((map & i) == 0) { + goto gotit; + } + } + printf("fs = %s\n", fs->e2fs_fsmnt); + panic("ext2fs_nodealloccg: block not in map"); + /* NOTREACHED */ +gotit: + setbit(ibp, ipref); + fs->e2fs.e2fs_ficount--; + fs->e2fs_gd[cg].ext2bgd_nifree--; + fs->e2fs_fmod = 1; + if (S_ISDIR(mode)) { + fs->e2fs_gd[cg].ext2bgd_ndirs++; + } + mark_buffer_dirty(bp); + return (cg * fs->e2fs.e2fs_ipg + ipref +1); +} + +/* + * Find a block in the specified cylinder group. + * + * It is a panic if a request is made to find a block if none are + * available. + */ + +static daddr_t +ext2fs_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) +{ + daddr_t bno; + int start, len, loc, i, map; + + /* + * find the fragment by searching through the free block + * map for an appropriate bit pattern + */ + if (bpref) + start = dtogd(fs, bpref) / NBBY; + else + start = 0; + len = howmany(fs->e2fs.e2fs_fpg, NBBY) - start; + loc = skpc(0xff, len, &bbp[start]); + if (loc == 0) { + len = start + 1; + start = 0; + loc = skpc(0xff, len, &bbp[start]); + if (loc == 0) { + printf("start = %d, len = %d, fs = %s\n", + start, len, fs->e2fs_fsmnt); + panic("ext2fs_alloccg: map corrupted"); + /* NOTREACHED */ + } + } + i = start + len - loc; + map = bbp[i]; + bno = i * NBBY; + for (i = 1; i < (1 << NBBY); i <<= 1, bno++) { + if ((map & i) == 0) + return (bno); + } + printf("fs = %s\n", fs->e2fs_fsmnt); + panic("ext2fs_mapsearch: block not in map"); + /* NOTREACHED */ +} + +void mark_buffer_dirty(struct buf *bh) +{ + int s; + + s = splbio(); + bh->b_flags |= B_DIRTY; + splx(s); +} + From owner-p4-projects@FreeBSD.ORG Tue Jun 23 20:53:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FBC81065675; Tue, 23 Jun 2009 20:53:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F95F1065673 for ; Tue, 23 Jun 2009 20:53:19 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0CFE28FC21 for ; Tue, 23 Jun 2009 20:53:19 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NKrIBn069172 for ; Tue, 23 Jun 2009 20:53:18 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NKrIvZ069170 for perforce@freebsd.org; Tue, 23 Jun 2009 20:53:18 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 23 Jun 2009 20:53:18 GMT Message-Id: <200906232053.n5NKrIvZ069170@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164997 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 20:53:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164997 Change 164997 by rene@rene_self on 2009/06/23 20:52:28 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml#10 integrate .. //depot/projects/docproj_nl/www/en/internal/bylaws.sgml#2 integrate .. //depot/projects/docproj_nl/www/share/sgml/commercial.isp.xml#10 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -624,11 +624,6 @@ - The BSD Release Announcements collection. - 1997. - - - Networked Computer Science Technical Reports Library. ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml#10 (text+ko) ==== @@ -1,7 +1,7 @@ + - $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.46 2009/06/06 12:07:56 jkois Exp $ + $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.48 2009/06/22 20:27:16 jkois Exp $ @@ -704,6 +704,23 @@ + + pair Networks, Inc. + http://www.pair.com + + pair Networks, a global FreeBSD-based Web hosting and + domain name registration company, headquartered in Pittsburgh, PA, + hosts hundreds of thousands of Web sites for businesses, + bloggers, artists, educational institutions and non-profit + organizations from around the world. pair Networks first went + online in January 1996 and has experienced strong growth year + after year. All pair Networks' Web servers run the reliable + FreeBSD operating system. For more information contact us via e-mail + or phone. + + + PPG Network Solutions http://www.ppgnetworksolutions.com @@ -746,15 +763,6 @@ - - High Speed Rails - http://highspeedrails.com - - High Speed Rails provides supported FreeBSD 6+ jails and managed - servers to your specifications. Check us out today. - - - Infotime Internet http://www.infotime.net From owner-p4-projects@FreeBSD.ORG Tue Jun 23 21:07:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39A931065688; Tue, 23 Jun 2009 21:07:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1B43106567E for ; Tue, 23 Jun 2009 21:07:34 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF8008FC21 for ; Tue, 23 Jun 2009 21:07:34 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NL7YSQ071414 for ; Tue, 23 Jun 2009 21:07:34 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NL7Y9h071412 for perforce@freebsd.org; Tue, 23 Jun 2009 21:07:34 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 23 Jun 2009 21:07:34 GMT Message-Id: <200906232107.n5NL7Y9h071412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164999 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 21:07:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=164999 Change 164999 by rene@rene_self on 2009/06/23 21:07:33 MFen handbook/bibliography 1.85 -> 1.86 Remove old $FreeBSDnl$ marker Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#5 (text+ko) ==== @@ -2,10 +2,9 @@ The FreeBSD Dutch Documentation Project $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml,v 1.5 2008/09/14 22:32:27 remko Exp $ - $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml,v 1.19 2006/08/12 22:53:09 remko Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml - %SRCID% 1.85 + %SRCID% 1.86 Vertaald door: Siebrand Mazeland --> @@ -665,12 +664,6 @@ - The BSD Release Announcements - collection. 1997. - - - Networked Computer Science Technical Reports Library. From owner-p4-projects@FreeBSD.ORG Tue Jun 23 22:39:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 023971065675; Tue, 23 Jun 2009 22:39:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B35D21065670 for ; Tue, 23 Jun 2009 22:39:20 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A1CE88FC1E for ; Tue, 23 Jun 2009 22:39:20 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NMdKje079846 for ; Tue, 23 Jun 2009 22:39:20 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NMdKgP079844 for perforce@freebsd.org; Tue, 23 Jun 2009 22:39:20 GMT (envelope-from sson@FreeBSD.org) Date: Tue, 23 Jun 2009 22:39:20 GMT Message-Id: <200906232239.n5NMdKgP079844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sson@FreeBSD.org using -f From: Stacey Son To: Perforce Change Reviews Cc: Subject: PERFORCE change 165010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 22:39:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=165010 Change 165010 by sson@sson_amd64 on 2009/06/23 22:38:28 Remove trailing white space when parsing audit_control. Trailing white space can cause problems with some fields such as 'dir' in the audit_control file. Besides removing the trailing new line we remove the trail white space as well. (Credit to Brooks Davis for finding this bug.) Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#34 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#34 (text+ko) ==== @@ -27,7 +27,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#33 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#34 $ */ #include @@ -121,9 +121,13 @@ if (linestr[0] == '#') continue; - /* Remove trailing new line character. */ - if ((nl = strrchr(linestr, '\n')) != NULL) + /* Remove trailing new line character and white space. */ + nl = strchr(linestr, '\0') - 1; + while (nl >= linestr && ('\n' == *nl || ' ' == *nl || + '\t' == *nl)) { *nl = '\0'; + nl--; + } tokptr = linestr; if ((type = strtok_r(tokptr, delim, &last)) != NULL) { From owner-p4-projects@FreeBSD.ORG Tue Jun 23 23:01:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16FAE1065676; Tue, 23 Jun 2009 23:01:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2E0D1065674 for ; Tue, 23 Jun 2009 23:01:18 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AE1028FC13 for ; Tue, 23 Jun 2009 23:01:18 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NN1IqA081679 for ; Tue, 23 Jun 2009 23:01:18 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NN1In7081677 for perforce@freebsd.org; Tue, 23 Jun 2009 23:01:18 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Tue, 23 Jun 2009 23:01:18 GMT Message-Id: <200906232301.n5NN1In7081677@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 165013 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 23:01:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165013 Change 165013 by pvaibhav@pvaibhav_matrix on 2009/06/23 23:01:12 Branching from -CURRENT in preparation for code commits. Affected files ... .. //depot/projects/soc2009/calloutapi/src/sys/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/acpi_switch.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/acpi_wakecode.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/genwakecode.sh#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/genwakedata.sh#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/io.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mca.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/stack_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/support.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/.cvsignore#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/DEFAULTS#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/NOTES#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/conf/XENHVM#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_misc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/_bus.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/_limits.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/_types.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/asm.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/atomic.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/bus.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/clock.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/cpu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/elf.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/endian.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/exec.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/float.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/fpu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/frame.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/iodev.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/kdb.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/limits.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/mca.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/md_var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/memdev.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/metadata.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/minidump.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/mptable.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/mutex.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/nexusvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/param.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pcb.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pmap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/ppireg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/proc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/profile.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/psl.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/reloc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/resource.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/runq.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/segments.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/signal.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/smp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/stack.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/timerreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/trap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/tss.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/varargs.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/hypercall.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/synch_bitops.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/xen-os.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/xenfunc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/xenpmap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/include/xen/xenvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/clock.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/icu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/isa.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/isa.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/linux32/syscalls.master#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/blockio.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/bus_space_generic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/copystr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_arm11.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_armv5.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_armv5_ec.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_sheeva.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/disassem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/exception.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/fiq.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/fusu.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/genassym.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/inckern.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/intr.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/locore.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/mem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/minidump_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/nexus.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/pmap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/setstack.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/stack_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/support.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/swtch.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/trap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/undefined.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/vectors.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_cfata.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_piovar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_spi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_spireg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_st.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_streg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_twi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_twiio.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_twireg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91board.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/at91var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/board_bwct.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/board_hl200.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/board_kb920x.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/board_tsc4370.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/files.at91#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/if_ate.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/if_atereg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/std.at91#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/std.bwct#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/std.hl200#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/std.kb920x#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/std.tsc4370#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/.cvsignore#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/AVILA#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/AVILA.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/BWCT#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/CAMBRIA#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/CAMBRIA.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/CRB#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/DB-78XXX#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/DB-88F5XXX#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/DB-88F6XXX#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/DEFAULTS#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/GUMSTIX#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/GUMSTIX.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/HL200#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/IQ31244#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/KB920X#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/KB920X.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/NSLU#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/NSLU.hints#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/SIMICS#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/conf/SKYEYE#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/_bus.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/_limits.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/_stdint.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/_types.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/armreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/asm.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/asmacros.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/atomic.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/blockio.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/bootinfo.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/bus.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/clock.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/cpu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/disassem.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/elf.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/endian.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/exec.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/fiq.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/float.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/fp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/frame.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/gdb_machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/ieee.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/intr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/katelib.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/kdb.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/limits.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/machdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/md_var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/memdev.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/metadata.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/minidump.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/mutex.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/param.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/pcb.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/pcpu.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/pmap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/pmc_mdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/proc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/profile.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/psl.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/pte.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/ptrace.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/reloc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/resource.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/runq.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/setjmp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/sigframe.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/signal.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/smp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/stack.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/stdarg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/swi.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/sysarch.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/trap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/ucontext.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/undefined.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/utrap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/include/vmparam.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/bus_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/common.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/discovery/db78xxx.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/discovery/discovery.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/discovery/files.db78xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/discovery/std.db78xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/files.mv#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/gpio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/ic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/kirkwood/db88f6xxx.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/kirkwood/files.db88f6xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/kirkwood/kirkwood.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/kirkwood/std.db88f6xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/mv_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/mv_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/mvreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/mvvar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/obio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/orion/db88f5xxx.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/orion/files.db88f5xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/orion/orion.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/orion/std.db88f5xxx#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/rtc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/std.mv#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/timer.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/mv/twsi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/cambria_fled.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/cambria_led.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/std.ixp435#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/files.pxa#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/if_smc_smi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_gpio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_icu.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_machdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_obio.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_smi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_space.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxa_timer.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxareg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/pxavar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/std.pxa#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/uart_bus_pxa.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/pxa/uart_cpu_pxa.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/README#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/board.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/arm_init.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/boot2.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/cf_ata.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/ixp425_board.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/ixp425/boot2/lib.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/help.uboot#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/ldscript.arm#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/start.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/arm/uboot/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/bcache.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/boot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/commands.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/console.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/dev_net.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/dev_net.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/devopen.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/help.common#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/interp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/isapnp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/isapnp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/load_elf_obj.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/loader.8#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/ls.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/misc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/module.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/newvers.sh#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/panic.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/pnp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/reloc_elf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/reloc_elf32.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/reloc_elf64.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/common/ufsread.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/README#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/errno.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/handles.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/dict.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/float.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/loader.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/math64.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/math64.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/mips/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/mips/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/search.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/stack.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/tools.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/unix.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/vm.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ficl/words.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/frames.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/loader.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/loader.conf#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/loader.rc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/screen.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/forth/support.4th#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/gptboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/gptboot/gptboot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/gptboot/gptldr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/gptzfsboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/loader/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/pmbr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/pmbr/pmbr.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/zfsboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/zfsboot/zfsboot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/i386/zfsboot/zfsldr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/autoload.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/bootinfo.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/copy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/devicename.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/exec.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/common/libia64.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/start.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/efi/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/skimd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ia64/ski/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/biossmap.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/Makefile.hfs#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/boot1.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/bootinfo.txt#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/generate-hfs.sh#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/boot1.chrp/hfs.tmpl.bz2.uu#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/help.ofw#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/ldscript.powerpc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/metadata.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/start.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/ofw/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/powerpc/uboot/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/common/main.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/common/metadata.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/console.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/copy.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/disk.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/glue.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/module.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/net.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/uboot/lib/time.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/zfs/Makefile#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/zfs/zfs.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/boot/zfs/zfsimpl.c#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_domain.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_errno.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_fcntl.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_internal.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_record.h#1 branch .. //depot/projects/soc2009/calloutapi/src/sys/bsm/audit_socket_type.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 23 23:13:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D54F1065706; Tue, 23 Jun 2009 23:13:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A1C41065702 for ; Tue, 23 Jun 2009 23:13:32 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 270BF8FC13 for ; Tue, 23 Jun 2009 23:13:32 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NNDWJn083239 for ; Tue, 23 Jun 2009 23:13:32 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NNDW9x083237 for perforce@freebsd.org; Tue, 23 Jun 2009 23:13:32 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Tue, 23 Jun 2009 23:13:32 GMT Message-Id: <200906232313.n5NNDW9x083237@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 165014 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 23:13:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=165014 Change 165014 by pvaibhav@pvaibhav_matrix on 2009/06/23 23:12:45 Syncing branch with local copy. Implemented in this commit are - 1. Generic priority queue implementation based on binary heaps. Check comments in sys/bheap.h for more information. 2. callout/timeout scheme modified to use the new binary heap-based priority queue instead of old "callout wheel" data structure. Not everything has been heavily tested, however. Calling for help with testing on SMP systems. Affected files ... .. //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#2 edit .. //depot/projects/soc2009/calloutapi/src/sys/sys/bheap.h#1 add .. //depot/projects/soc2009/calloutapi/src/sys/sys/callout.h#2 edit Differences ... ==== //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#2 (text+ko) ==== @@ -64,9 +64,6 @@ SDT_PROBE_ARGTYPE(callout_execute, kernel, , callout_end, 0, "struct callout *"); -static int avg_depth; -SYSCTL_INT(_debug, OID_AUTO, to_avg_depth, CTLFLAG_RD, &avg_depth, 0, - "Average number of items examined per softclock call. Units = 1/1000"); static int avg_gcalls; SYSCTL_INT(_debug, OID_AUTO, to_avg_gcalls, CTLFLAG_RD, &avg_gcalls, 0, "Average number of Giant callouts made per softclock call. Units = 1/1000"); @@ -80,17 +77,15 @@ * TODO: * allocate more timeout table slots when table overflows. */ -int callwheelsize, callwheelbits, callwheelmask; - struct callout_cpu { struct mtx cc_lock; - struct callout *cc_callout; - struct callout_tailq *cc_callwheel; - struct callout_list cc_callfree; - struct callout *cc_next; + struct callout *cc_callout; /* pointer to local callouts */ + struct callout** cc_pq_mem; /* memory for the priority Q */ + struct callout_queue cc_callqueue; /* master priority queue */ + struct callout_list cc_callfree; /* available local callouts */ struct callout *cc_curr; void *cc_cookie; - int cc_softticks; + int cc_monoticks; /* monotonic increasing tick */ int cc_cancel; int cc_waiting; }; @@ -141,19 +136,15 @@ timeout_cpu = PCPU_GET(cpuid); cc = CC_CPU(timeout_cpu); - /* - * Calculate callout wheel size - */ - for (callwheelsize = 1, callwheelbits = 0; - callwheelsize < ncallout; - callwheelsize <<= 1, ++callwheelbits) - ; - callwheelmask = callwheelsize - 1; + /* Reserve space for locally allocated callouts (timeout()) */ cc->cc_callout = (struct callout *)v; v = (caddr_t)(cc->cc_callout + ncallout); - cc->cc_callwheel = (struct callout_tailq *)v; - v = (caddr_t)(cc->cc_callwheel + callwheelsize); + + /* Reserve space for callout queue's internal array */ + cc->cc_pq_mem = (struct callout**)v; + v = (caddr_t)(cc->cc_pq_mem + ncallout); + return(v); } @@ -164,17 +155,26 @@ int i; mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE); + + /* + * Initialize the priority queue + */ + MINHEAP_INIT(&cc->cc_callqueue, callout, ncallout, cc->cc_pq_mem); + + /* Set monoticks to 0 */ + cc->cc_monoticks = 0; + + /* + * Initialize list of available local callouts + */ SLIST_INIT(&cc->cc_callfree); - for (i = 0; i < callwheelsize; i++) { - TAILQ_INIT(&cc->cc_callwheel[i]); - } if (cc->cc_callout == NULL) return; for (i = 0; i < ncallout; i++) { c = &cc->cc_callout[i]; callout_init(c, 0); c->c_flags = CALLOUT_LOCAL_ALLOC; - SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links.sle); + SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links); } } @@ -220,8 +220,8 @@ INTR_MPSAFE, &cc->cc_cookie)) panic("died while creating standard software ithreads"); cc->cc_callout = NULL; /* Only cpu0 handles timeout(). */ - cc->cc_callwheel = malloc( - sizeof(struct callout_tailq) * callwheelsize, M_CALLOUT, + cc->cc_pq_mem = (struct callout**) malloc( + sizeof(struct callout*) * ncallout, M_CALLOUT, M_WAITOK); callout_cpu_init(cc); } @@ -235,29 +235,34 @@ { struct callout_cpu *cc; int need_softclock; - int bucket; /* * Process callouts at a very low cpu priority, so we don't keep the * relatively high clock interrupt priority any longer than necessary. */ - need_softclock = 0; cc = CC_SELF(); mtx_lock_spin_flags(&cc->cc_lock, MTX_QUIET); - for (; (cc->cc_softticks - ticks) < 0; cc->cc_softticks++) { - bucket = cc->cc_softticks & callwheelmask; - if (!TAILQ_EMPTY(&cc->cc_callwheel[bucket])) { - need_softclock = 1; - break; - } - } - mtx_unlock_spin_flags(&cc->cc_lock, MTX_QUIET); + + cc->cc_monoticks++; /* XXX: Can we just use the global 'ticks'? */ + need_softclock = 0; + + /* + * Check if the first pending callout's time has already arrived (or + * has passed). If yes, schedule the softclock() which will then + * expire this (and any remaining) callout as appropriate. + */ + if (MINHEAP_EMPTY(&cc->cc_callqueue)) + need_softclock = 0; + else if (MINHEAP_FIRST(&cc->cc_callqueue)->c_time <= cc->cc_monoticks) + need_softclock = 1; /* - * swi_sched acquires the thread lock, so we don't want to call it - * with cc_lock held; incorrect locking order. + * swi_sched acquires the thread lock, so we don't want to call + * it with cc_lock held; incorrect locking order. */ - if (need_softclock) + if (need_softclock == 1) { + mtx_unlock_spin_flags(&cc->cc_lock, MTX_QUIET); swi_sched(cc->cc_cookie, 0); + } } static struct callout_cpu * @@ -278,29 +283,29 @@ } /* - * The callout mechanism is based on the work of Adam M. Costello and - * George Varghese, published in a technical report entitled "Redesigning - * the BSD Callout and Timer Facilities" and modified slightly for inclusion - * in FreeBSD by Justin T. Gibbs. The original work on the data structures - * used in this implementation was published by G. Varghese and T. Lauck in - * the paper "Hashed and Hierarchical Timing Wheels: Data Structures for - * the Efficient Implementation of a Timer Facility" in the Proceedings of - * the 11th ACM Annual Symposium on Operating Systems Principles, - * Austin, Texas Nov 1987. + * The callout mechanism is a work-in-progress, based on the idea of using + * binary heap based priority queues containing callouts to expire in the + * future. The expiry time is (currently) specified as the number of ticks + * of the hardware clock (HZ/sec). This is an absolute value. + * + * The softclock() function checks that the first pending (ie. highest priority + * callout) in the queue has an expiry time that has either arrived or already + * passed. If yes, that callout is handled. Following this, the callout is + * removed from the queue and the next callout is checked in a similar fashion, + * until the expiry time of the next-in-line callout is in the future. + * + * For more information, ref: http://wiki.freebsd.org/SOC2009PrashantVaibhav */ /* * Software (low priority) clock interrupt. - * Run periodic events from timeout queue. */ void softclock(void *arg) { struct callout_cpu *cc; struct callout *c; - struct callout_tailq *bucket; int curticks; - int steps; /* #steps since we last allowed interrupts */ int depth; int mpcalls; int lockcalls; @@ -320,159 +325,144 @@ lockcalls = 0; gcalls = 0; depth = 0; - steps = 0; cc = (struct callout_cpu *)arg; CC_LOCK(cc); - while (cc->cc_softticks != ticks) { - /* - * cc_softticks may be modified by hard clock, so cache - * it while we work on a given bucket. - */ - curticks = cc->cc_softticks; - cc->cc_softticks++; - bucket = &cc->cc_callwheel[curticks & callwheelmask]; - c = TAILQ_FIRST(bucket); - while (c) { - depth++; - if (c->c_time != curticks) { - c = TAILQ_NEXT(c, c_links.tqe); - ++steps; - if (steps >= MAX_SOFTCLOCK_STEPS) { - cc->cc_next = c; - /* Give interrupts a chance. */ - CC_UNLOCK(cc); - ; /* nothing */ - CC_LOCK(cc); - c = cc->cc_next; - steps = 0; - } - } else { - void (*c_func)(void *); - void *c_arg; - struct lock_class *class; - struct lock_object *c_lock; - int c_flags, sharedlock; + /* + * ticks may be modified by hard clock, so cache it + */ + curticks = cc->cc_monoticks; + CTR1(KTR_CALLOUT, "softclock run at %d", curticks); + while (!MINHEAP_EMPTY(&cc->cc_callqueue)) { + c = MINHEAP_FIRST(&cc->cc_callqueue); + if (c->c_time > curticks) { + /* + * We've reached a callout whose expiry time is + * in the future, so we stop. + */ + break; + } else { + /* + * This callout needs to be expired now + */ + void (*c_func)(void *); + void *c_arg; + struct lock_class *class; + struct lock_object *c_lock; + int c_flags, sharedlock; - cc->cc_next = TAILQ_NEXT(c, c_links.tqe); - TAILQ_REMOVE(bucket, c, c_links.tqe); - class = (c->c_lock != NULL) ? - LOCK_CLASS(c->c_lock) : NULL; - sharedlock = (c->c_flags & CALLOUT_SHAREDLOCK) ? - 0 : 1; - c_lock = c->c_lock; - c_func = c->c_func; - c_arg = c->c_arg; - c_flags = c->c_flags; - if (c->c_flags & CALLOUT_LOCAL_ALLOC) { - c->c_flags = CALLOUT_LOCAL_ALLOC; - } else { - c->c_flags = - (c->c_flags & ~CALLOUT_PENDING); + MINHEAP_REMOVE(&cc->cc_callqueue, c, c_qe, c_time); + class = (c->c_lock != NULL) ? + LOCK_CLASS(c->c_lock) : NULL; + sharedlock = (c->c_flags & CALLOUT_SHAREDLOCK) ? 0 : 1; + c_lock = c->c_lock; + c_func = c->c_func; + c_arg = c->c_arg; + c_flags = c->c_flags; + + if (c->c_flags & CALLOUT_LOCAL_ALLOC) + c->c_flags = CALLOUT_LOCAL_ALLOC; + else + c->c_flags = (c->c_flags & ~CALLOUT_PENDING); + cc->cc_curr = c; + cc->cc_cancel = 0; + CC_UNLOCK(cc); + if (c_lock != NULL) { + class->lc_lock(c_lock, sharedlock); + /* + * The callout may have been cancelled + * while we switched locks. + */ + if (cc->cc_cancel) { + class->lc_unlock(c_lock); + goto skip; } - cc->cc_curr = c; - cc->cc_cancel = 0; - CC_UNLOCK(cc); - if (c_lock != NULL) { - class->lc_lock(c_lock, sharedlock); - /* - * The callout may have been cancelled - * while we switched locks. - */ - if (cc->cc_cancel) { - class->lc_unlock(c_lock); - goto skip; - } - /* The callout cannot be stopped now. */ - cc->cc_cancel = 1; + /* The callout cannot be stopped now. */ + cc->cc_cancel = 1; - if (c_lock == &Giant.lock_object) { - gcalls++; - CTR3(KTR_CALLOUT, - "callout %p func %p arg %p", - c, c_func, c_arg); - } else { - lockcalls++; - CTR3(KTR_CALLOUT, "callout lock" - " %p func %p arg %p", - c, c_func, c_arg); - } + if (c_lock == &Giant.lock_object) { + gcalls++; + CTR3(KTR_CALLOUT, + "callout %p func %p arg %p", + c, c_func, c_arg); } else { - mpcalls++; - CTR3(KTR_CALLOUT, - "callout mpsafe %p func %p arg %p", - c, c_func, c_arg); + lockcalls++; + CTR3(KTR_CALLOUT, "callout lock" + " %p func %p arg %p", + c, c_func, c_arg); } + } else { + mpcalls++; + CTR3(KTR_CALLOUT, + "callout mpsafe %p func %p arg %p", + c, c_func, c_arg); + } #ifdef DIAGNOSTIC - binuptime(&bt1); + binuptime(&bt1); #endif - THREAD_NO_SLEEPING(); - SDT_PROBE(callout_execute, kernel, , - callout_start, c, 0, 0, 0, 0); - c_func(c_arg); - SDT_PROBE(callout_execute, kernel, , - callout_end, c, 0, 0, 0, 0); - THREAD_SLEEPING_OK(); + THREAD_NO_SLEEPING(); + SDT_PROBE(callout_execute, kernel, , + callout_start, c, 0, 0, 0, 0); + c_func(c_arg); + SDT_PROBE(callout_execute, kernel, , + callout_end, c, 0, 0, 0, 0); + THREAD_SLEEPING_OK(); #ifdef DIAGNOSTIC - binuptime(&bt2); - bintime_sub(&bt2, &bt1); - if (bt2.frac > maxdt) { - if (lastfunc != c_func || - bt2.frac > maxdt * 2) { - bintime2timespec(&bt2, &ts2); - printf( - "Expensive timeout(9) function: %p(%p) %jd.%09ld s\n", - c_func, c_arg, - (intmax_t)ts2.tv_sec, - ts2.tv_nsec); - } - maxdt = bt2.frac; - lastfunc = c_func; + binuptime(&bt2); + bintime_sub(&bt2, &bt1); + if (bt2.frac > maxdt) { + if (lastfunc != c_func || + bt2.frac > maxdt * 2) + { + bintime2timespec(&bt2, &ts2); + printf( + "Expensive timeout(9) function:" + "%p(%p) %jd.%09ld s\n", + c_func, c_arg, + (intmax_t)ts2.tv_sec, + ts2.tv_nsec); } + maxdt = bt2.frac; + lastfunc = c_func; + } #endif - CTR1(KTR_CALLOUT, "callout %p finished", c); - if ((c_flags & CALLOUT_RETURNUNLOCKED) == 0) - class->lc_unlock(c_lock); - skip: - CC_LOCK(cc); + CTR1(KTR_CALLOUT, "callout %p finished", c); + if ((c_flags & CALLOUT_RETURNUNLOCKED) == 0) + class->lc_unlock(c_lock); +skip: + CC_LOCK(cc); + /* + * If the current callout is locally + * allocated (from timeout(9)) + * then put it on the freelist. + * + * Note: we need to check the cached + * copy of c_flags because if it was not + * local, then it's not safe to deref the + * callout pointer. + */ + if (c_flags & CALLOUT_LOCAL_ALLOC) { + KASSERT(c->c_flags == CALLOUT_LOCAL_ALLOC, + ("corrupted callout")); + c->c_func = NULL; + SLIST_INSERT_HEAD(&cc->cc_callfree, c, + c_links); + } + cc->cc_curr = NULL; + if (cc->cc_waiting) { /* - * If the current callout is locally - * allocated (from timeout(9)) - * then put it on the freelist. - * - * Note: we need to check the cached - * copy of c_flags because if it was not - * local, then it's not safe to deref the - * callout pointer. + * There is someone waiting + * for the callout to complete. */ - if (c_flags & CALLOUT_LOCAL_ALLOC) { - KASSERT(c->c_flags == - CALLOUT_LOCAL_ALLOC, - ("corrupted callout")); - c->c_func = NULL; - SLIST_INSERT_HEAD(&cc->cc_callfree, c, - c_links.sle); - } - cc->cc_curr = NULL; - if (cc->cc_waiting) { - /* - * There is someone waiting - * for the callout to complete. - */ - cc->cc_waiting = 0; - CC_UNLOCK(cc); - wakeup(&cc->cc_waiting); - CC_LOCK(cc); - } - steps = 0; - c = cc->cc_next; + cc->cc_waiting = 0; + CC_UNLOCK(cc); + wakeup(&cc->cc_waiting); + CC_LOCK(cc); } } - } - avg_depth += (depth * 1000 - avg_depth) >> 8; + }; avg_mpcalls += (mpcalls * 1000 - avg_mpcalls) >> 8; avg_lockcalls += (lockcalls * 1000 - avg_lockcalls) >> 8; avg_gcalls += (gcalls * 1000 - avg_gcalls) >> 8; - cc->cc_next = NULL; CC_UNLOCK(cc); } @@ -509,7 +499,7 @@ if (new == NULL) /* XXX Attempt to malloc first */ panic("timeout table full"); - SLIST_REMOVE_HEAD(&cc->cc_callfree, c_links.sle); + SLIST_REMOVE_HEAD(&cc->cc_callfree, c_links); callout_reset(new, to_ticks, ftn, arg); handle.callout = new; CC_UNLOCK(cc); @@ -597,12 +587,10 @@ } } if (c->c_flags & CALLOUT_PENDING) { - if (cc->cc_next == c) { - cc->cc_next = TAILQ_NEXT(c, c_links.tqe); - } - TAILQ_REMOVE(&cc->cc_callwheel[c->c_time & callwheelmask], c, - c_links.tqe); - + /* TODO: Just modify the key of existing callouts instead of + * removing and re-inserting it + */ + MINHEAP_REMOVE(&cc->cc_callqueue, c, c_qe, c_time); cancelled = 1; c->c_flags &= ~(CALLOUT_ACTIVE | CALLOUT_PENDING); } @@ -622,11 +610,12 @@ c->c_arg = arg; c->c_flags |= (CALLOUT_ACTIVE | CALLOUT_PENDING); c->c_func = ftn; - c->c_time = ticks + to_ticks; - TAILQ_INSERT_TAIL(&cc->cc_callwheel[c->c_time & callwheelmask], - c, c_links.tqe); - CTR5(KTR_CALLOUT, "%sscheduled %p func %p arg %p in %d", - cancelled ? "re" : "", c, c->c_func, c->c_arg, to_ticks); + c->c_time = cc->cc_monoticks + to_ticks; + + MINHEAP_INSERT(&cc->cc_callqueue, c, c_qe, c_time); + + CTR5(KTR_CALLOUT, "%sscheduled %p func %p arg %p at %d", + cancelled ? "re" : "", c, c->c_func, c->c_arg, c->c_time); CC_UNLOCK(cc); return (cancelled); @@ -766,18 +755,14 @@ c->c_flags &= ~(CALLOUT_ACTIVE | CALLOUT_PENDING); - if (cc->cc_next == c) { - cc->cc_next = TAILQ_NEXT(c, c_links.tqe); - } - TAILQ_REMOVE(&cc->cc_callwheel[c->c_time & callwheelmask], c, - c_links.tqe); + MINHEAP_REMOVE(&cc->cc_callqueue, c, c_qe, c_time); CTR3(KTR_CALLOUT, "cancelled %p func %p arg %p", c, c->c_func, c->c_arg); if (c->c_flags & CALLOUT_LOCAL_ALLOC) { c->c_func = NULL; - SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links.sle); + SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links); } CC_UNLOCK(cc); return (1); @@ -838,48 +823,13 @@ adjust_timeout_calltodo(time_change) struct timeval *time_change; { - register struct callout *p; - unsigned long delta_ticks; - - /* - * How many ticks were we asleep? - * (stolen from tvtohz()). - */ - - /* Don't do anything */ - if (time_change->tv_sec < 0) - return; - else if (time_change->tv_sec <= LONG_MAX / 1000000) - delta_ticks = (time_change->tv_sec * 1000000 + - time_change->tv_usec + (tick - 1)) / tick + 1; - else if (time_change->tv_sec <= LONG_MAX / hz) - delta_ticks = time_change->tv_sec * hz + - (time_change->tv_usec + (tick - 1)) / tick + 1; - else - delta_ticks = LONG_MAX; - - if (delta_ticks > INT_MAX) - delta_ticks = INT_MAX; - - /* - * Now rip through the timer calltodo list looking for timers - * to expire. + /* + * pvaibhav: This function is no longer required because all timers + * whose expiry times are in the past or present are automatically + * going to be expired on wake up when callout_tick() runs and then + * subsequently calls softclock(). */ - /* don't collide with softclock() */ - CC_LOCK(cc); - for (p = calltodo.c_next; p != NULL; p = p->c_next) { - p->c_time -= delta_ticks; - - /* Break if the timer had more time on it than delta_ticks */ - if (p->c_time > 0) - break; - - /* take back the ticks the timer didn't use (p->c_time <= 0) */ - delta_ticks = -p->c_time; - } - CC_UNLOCK(cc); - return; } #endif /* APM_FIXUP_CALLTODO */ ==== //depot/projects/soc2009/calloutapi/src/sys/sys/callout.h#2 (text+ko) ==== @@ -39,23 +39,23 @@ #define _SYS_CALLOUT_H_ #include +#include struct lock_object; SLIST_HEAD(callout_list, callout); -TAILQ_HEAD(callout_tailq, callout); +MINHEAP_HEAD(callout_queue, callout); +MINHEAP_ENTRY(callout_queue_entry); struct callout { - union { - SLIST_ENTRY(callout) sle; - TAILQ_ENTRY(callout) tqe; - } c_links; int c_time; /* ticks to the event */ void *c_arg; /* function argument */ void (*c_func)(void *); /* function to call */ struct lock_object *c_lock; /* lock to handle */ int c_flags; /* state of this entry */ volatile int c_cpu; /* CPU we're scheduled on */ + SLIST_ENTRY(callout) c_links; + struct callout_queue_entry c_qe; /* data for priority queue */ }; #define CALLOUT_LOCAL_ALLOC 0x0001 /* was allocated from callfree */ From owner-p4-projects@FreeBSD.ORG Tue Jun 23 23:20:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A35910656BE; Tue, 23 Jun 2009 23:20:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2214010656BA for ; Tue, 23 Jun 2009 23:20:40 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FE318FC0A for ; Tue, 23 Jun 2009 23:20:40 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NNKd6F083905 for ; Tue, 23 Jun 2009 23:20:39 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NNKdDU083903 for perforce@freebsd.org; Tue, 23 Jun 2009 23:20:39 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Tue, 23 Jun 2009 23:20:39 GMT Message-Id: <200906232320.n5NNKdDU083903@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 165015 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jun 2009 23:20:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=165015 Change 165015 by pvaibhav@pvaibhav_matrix on 2009/06/23 23:19:56 Forgot to include panic fix (mutex must be unlocked in callout_tick() regardless of whether softclock() is to be scheduled or not). Affected files ... .. //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#3 edit Differences ... ==== //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#3 (text+ko) ==== @@ -259,10 +259,9 @@ * swi_sched acquires the thread lock, so we don't want to call * it with cc_lock held; incorrect locking order. */ - if (need_softclock == 1) { - mtx_unlock_spin_flags(&cc->cc_lock, MTX_QUIET); + mtx_unlock_spin_flags(&cc->cc_lock, MTX_QUIET); + if (need_softclock) swi_sched(cc->cc_cookie, 0); - } } static struct callout_cpu * From owner-p4-projects@FreeBSD.ORG Wed Jun 24 08:28:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 189EE1065672; Wed, 24 Jun 2009 08:28:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB892106566C for ; Wed, 24 Jun 2009 08:28:41 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B9BA58FC1F for ; Wed, 24 Jun 2009 08:28:41 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5O8SfaA055004 for ; Wed, 24 Jun 2009 08:28:41 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5O8SfIU055001 for perforce@freebsd.org; Wed, 24 Jun 2009 08:28:41 GMT (envelope-from jona@FreeBSD.org) Date: Wed, 24 Jun 2009 08:28:41 GMT Message-Id: <200906240828.n5O8SfIU055001@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165029 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 08:28:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165029 Change 165029 by jona@jona-trustedbsd-belle-vmware on 2009/06/24 08:28:40 Block SIGPIPE Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#10 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#10 (text+ko) ==== @@ -20,9 +20,7 @@ * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANT# -# -IES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * 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 @@ -39,11 +37,13 @@ #include +#include #include #include #include #include #include +#include #include #include "cap.h" @@ -126,6 +126,19 @@ highest_fd = fd; + + // No SIGPIPE, please + int on = 1; + if(setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on))) + err(EX_IOERR, "Error setting SO_NOSIGPIPE"); + + // Re-use the angel address if the server has recently shut down + if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) + err(EX_IOERR, "Error setting SO_REUSEADRR"); + + + + /* TODO: do this? rc = setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, @@ -245,7 +258,8 @@ if(!d) { - if((errno == ENOENT) || (errno == ECONNRESET) || (errno == EAGAIN)) + if((errno == ENOENT) || (errno == ECONNRESET) || (errno == EAGAIN) + || (errno == EPIPE)) close_client(client, errno, "Client socket closed"); else perror("Error receiving from client"); @@ -453,7 +467,7 @@ FD_CLR(client, &clients); if(client == highest_fd) - while(!FD_ISSET(highest_fd, &clients)) + while(!FD_ISSET(highest_fd, &clients) && (highest_fd >= 0)) highest_fd--; } From owner-p4-projects@FreeBSD.ORG Wed Jun 24 08:36:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A37B1065677; Wed, 24 Jun 2009 08:36:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6F4A1065672 for ; Wed, 24 Jun 2009 08:36:50 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B55338FC24 for ; Wed, 24 Jun 2009 08:36:50 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5O8aomZ055769 for ; Wed, 24 Jun 2009 08:36:50 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5O8ao5m055767 for perforce@freebsd.org; Wed, 24 Jun 2009 08:36:50 GMT (envelope-from jona@FreeBSD.org) Date: Wed, 24 Jun 2009 08:36:50 GMT Message-Id: <200906240836.n5O8ao5m055767@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165030 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 08:36:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=165030 Change 165030 by jona@jona-trustedbsd-belle-vmware on 2009/06/24 08:35:58 Removed some commented-out code Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#11 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#11 (text+ko) ==== @@ -138,12 +138,6 @@ - -/* - TODO: do this? - rc = setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, - (char *)&on, sizeof(on));*/ - if(bind(fd, (struct sockaddr*) &addr, sizeof(struct sockaddr_un))) { if(shutting_down) return 0; @@ -163,21 +157,6 @@ return -1; } - - // non-blocking socket I/O -/* int flags = fcntl(fd, F_GETFL, 0); - if(flags < 0) - { - perror("Error getting flags for control socket"); - return -1; - } - - if(fcntl(fd, F_SETFL, flags | O_NONBLOCK)) - { - perror("Error setting flags on control socket"); - return -1; - }*/ - FD_SET(fd, &clients); From owner-p4-projects@FreeBSD.ORG Wed Jun 24 09:48:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C8DF1065677; Wed, 24 Jun 2009 09:48:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC7AC1065673 for ; Wed, 24 Jun 2009 09:48:08 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B89E38FC18 for ; Wed, 24 Jun 2009 09:48:08 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5O9m8lc072408 for ; Wed, 24 Jun 2009 09:48:08 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5O9m8j6072406 for perforce@freebsd.org; Wed, 24 Jun 2009 09:48:08 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Wed, 24 Jun 2009 09:48:08 GMT Message-Id: <200906240948.n5O9m8j6072406@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 09:48:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=165033 Change 165033 by zhaoshuai@zhaoshuai on 2009/06/24 09:47:21 rename pipe_foo() to pipe_foo_f(), and generic_pipe_foo() to pipe_foo() Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#16 edit .. //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#7 edit .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#13 edit .. //depot/projects/soc2009/fifo/sys/sys/pipe.h#8 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#16 (text+ko) ==== @@ -162,7 +162,7 @@ return (EINVAL); if ((fip = vp->v_fifoinfo) == NULL) { fip = malloc(sizeof(*fip), M_VNODE, M_WAITOK); - error = generic_pipe_create(td, &rpipe, &wpipe); + error = pipepair_create(td, &rpipe, &wpipe); if (error) { free(fip, M_VNODE); return (error); @@ -209,9 +209,9 @@ if (error) { fip->fi_readers--; if (fip->fi_readers == 0) { - generic_pipe_close(fip->fi_rpipe); + pipe_close(fip->fi_rpipe); if (fip->fi_writers == 0) { - generic_pipe_close(fip->fi_wpipe); + pipe_close(fip->fi_wpipe); vp->v_fifoinfo = NULL; free(fip, M_VNODE); } @@ -233,9 +233,9 @@ if (error) { fip->fi_writers--; if (fip->fi_writers == 0) { - generic_pipe_close(fip->fi_wpipe); + pipe_close(fip->fi_wpipe); if (fip->fi_readers == 0) { - generic_pipe_close(fip->fi_rpipe); + pipe_close(fip->fi_rpipe); vp->v_fifoinfo = NULL; free(fip, M_VNODE); } @@ -277,12 +277,12 @@ if (ap->a_fflag & FREAD) { fip->fi_readers--; if (fip->fi_readers == 0) - generic_pipe_close(fip->fi_rpipe); + pipe_close(fip->fi_rpipe); } if (ap->a_fflag & FWRITE) { fip->fi_writers--; if (fip->fi_writers == 0) - generic_pipe_close(fip->fi_wpipe); + pipe_close(fip->fi_wpipe); } if (fip->fi_readers == 0 && fip->fi_writers == 0) { vp->v_fifoinfo = NULL; @@ -410,8 +410,8 @@ struct fifoinfo *fip = fp->f_data; - /* The 4th argument of generic_pipe_read is file flag */ - return (generic_pipe_read(fip->fi_rpipe, uio, cred, fp->f_flag, td)); + /* The 4th argument of pipe_read is file flag */ + return (pipe_read(fip->fi_rpipe, uio, cred, fp->f_flag, td)); } static int @@ -420,8 +420,8 @@ struct fifoinfo *fip = fp->f_data; - /* The 4th argument of generic_pipe_write is file flag */ - return (generic_pipe_write(fip->fi_wpipe, uio, cred, fp->f_flag, td)); + /* The 4th argument of pipe_write is file flag */ + return (pipe_write(fip->fi_wpipe, uio, cred, fp->f_flag, td)); } static int @@ -430,7 +430,7 @@ struct fifoinfo *fip = fp->f_data; int error; - error = generic_pipe_stat(fip->fi_rpipe, sb, cred, td); + error = pipe_stat(fip->fi_rpipe, sb, cred, td); if (error) return (error); sb->st_uid = fp->f_cred->cr_uid; @@ -475,12 +475,12 @@ case FIOSETOWN: case FIOGETOWN: if (fp->f_flag & FREAD) { - error = generic_pipe_ioctl(fip->fi_rpipe, com, data, cred, td); + error = pipe_ioctl(fip->fi_rpipe, com, data, cred, td); if (error) return (error); } if (fp->f_flag & FWRITE) - error = generic_pipe_ioctl(fip->fi_wpipe, com, data, cred, td); + error = pipe_ioctl(fip->fi_wpipe, com, data, cred, td); return (error); case FIONREAD: @@ -493,7 +493,7 @@ *(int *)data = 0; return (0); } - return (generic_pipe_ioctl(fip->fi_rpipe, com, data, cred, td)); + return (pipe_ioctl(fip->fi_rpipe, com, data, cred, td)); default: return (ENOTTY); @@ -629,10 +629,10 @@ levents = events & (POLLIN | POLLRDNORM); if ((fp->f_flag & FREAD) && levents) - revents |= generic_pipe_poll(fip->fi_rpipe, levents, cred, td); + revents |= pipe_poll(fip->fi_rpipe, levents, cred, td); levents = events & (POLLOUT | POLLWRNORM); if ((fp->f_flag & FWRITE) && levents) - revents |= generic_pipe_poll(fip->fi_wpipe, levents, cred, td); + revents |= pipe_poll(fip->fi_wpipe, levents, cred, td); return (revents); } ==== //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#7 (text+ko) ==== @@ -446,7 +446,7 @@ } int -generic_pipe_read(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, +pipe_read(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, int f_flags, struct thread *td) { struct pipe *rpipe = pipe; @@ -844,7 +844,7 @@ #endif int -generic_pipe_write(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, +pipe_write(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, int f_flags, struct thread *td) { int error = 0; @@ -1122,7 +1122,7 @@ } int -generic_pipe_truncate(struct pipe *pipe, off_t length, struct ucred *active_cred, +pipe_truncate(struct pipe *pipe, off_t length, struct ucred *active_cred, struct thread *td) { @@ -1133,7 +1133,7 @@ * we implement a very minimal set of ioctls for compatibility with sockets. */ int -generic_pipe_ioctl(struct pipe *pipe, u_long cmd, void *data, struct ucred *active_cred, +pipe_ioctl(struct pipe *pipe, u_long cmd, void *data, struct ucred *active_cred, struct thread *td) { struct pipe *mpipe = pipe; @@ -1200,7 +1200,7 @@ } int -generic_pipe_poll(struct pipe *pipe, int events, struct ucred *active_cred, +pipe_poll(struct pipe *pipe, int events, struct ucred *active_cred, struct thread *td) { struct pipe *rpipe = pipe; @@ -1261,7 +1261,7 @@ * be a natural race. */ int -generic_pipe_stat(struct pipe *pipe, struct stat *ub, struct ucred *active_cred, +pipe_stat(struct pipe *pipe, struct stat *ub, struct ucred *active_cred, struct thread *td) { #ifdef MAC @@ -1319,12 +1319,12 @@ * shutdown the pipe */ void -generic_pipe_close(struct pipe *cpipe) +pipe_close(struct pipe *cpipe) { struct pipepair *pp; struct pipe *ppipe; - KASSERT(cpipe != NULL, ("generic_pipe_close: cpipe == NULL")); + KASSERT(cpipe != NULL, ("pipe_close: cpipe == NULL")); PIPE_LOCK(cpipe); pipelock(cpipe, 0); @@ -1396,7 +1396,7 @@ } int -generic_pipe_kqfilter(struct pipe *cpipe, struct knote *kn) +pipe_kqfilter(struct pipe *cpipe, struct knote *kn) { PIPE_LOCK(cpipe); @@ -1484,7 +1484,7 @@ } int -generic_pipe_create(struct thread *td, struct pipe **p_rpipe, struct pipe **p_wpipe) +pipepair_create(struct thread *td, struct pipe **p_rpipe, struct pipe **p_wpipe) { struct pipepair *pp; struct pipe *rpipe, *wpipe; @@ -1503,8 +1503,8 @@ if ((error = pipe_create(rpipe, 1)) != 0 || (error = pipe_create(wpipe, 0)) != 0) { - generic_pipe_close(rpipe); - generic_pipe_close(wpipe); + pipe_close(rpipe); + pipe_close(wpipe); return (error); } ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#13 (text+ko) ==== @@ -44,30 +44,30 @@ /* * interfaces to the outside world */ -static fo_rdwr_t pipe_read; -static fo_rdwr_t pipe_write; -static fo_truncate_t pipe_truncate; -static fo_ioctl_t pipe_ioctl; -static fo_poll_t pipe_poll; -static fo_kqfilter_t pipe_kqfilter; -static fo_stat_t pipe_stat; -static fo_close_t pipe_close; +static fo_rdwr_t pipe_read_f; +static fo_rdwr_t pipe_write_f; +static fo_truncate_t pipe_truncate_f; +static fo_ioctl_t pipe_ioctl_f; +static fo_poll_t pipe_poll_f; +static fo_kqfilter_t pipe_kqfilter_f; +static fo_stat_t pipe_stat_f; +static fo_close_t pipe_close_f; static struct fileops pipeops = { - .fo_read = pipe_read, - .fo_write = pipe_write, - .fo_truncate = pipe_truncate, - .fo_ioctl = pipe_ioctl, - .fo_poll = pipe_poll, - .fo_kqfilter = pipe_kqfilter, - .fo_stat = pipe_stat, - .fo_close = pipe_close, + .fo_read = pipe_read_f, + .fo_write = pipe_write_f, + .fo_truncate = pipe_truncate_f, + .fo_ioctl = pipe_ioctl_f, + .fo_poll = pipe_poll_f, + .fo_kqfilter = pipe_kqfilter_f, + .fo_stat = pipe_stat_f, + .fo_close = pipe_close_f, .fo_flags = DFLAG_PASSABLE }; /* * The pipe system call for the DTYPE_PIPE type of pipes. If we fail, let - * the zone pick up the pieces via generic_pipe_close(). + * the zone pick up the pieces via pipe_close(). */ int kern_pipe(struct thread *td, int fildes[2]) @@ -77,14 +77,14 @@ struct pipe *rpipe, *wpipe; int fd, error; - error = generic_pipe_create(td, &rpipe, &wpipe); + error = pipepair_create(td, &rpipe, &wpipe); if (error) return (error); error = falloc(td, &rf, &fd); if (error) { - generic_pipe_close(rpipe); - generic_pipe_close(wpipe); + pipe_close(rpipe); + pipe_close(wpipe); return (error); } /* An extra reference on `rf' has been held for us by falloc(). */ @@ -102,7 +102,7 @@ fdclose(fdp, rf, fildes[0], td); fdrop(rf, td); /* rpipe has been closed by fdrop(). */ - generic_pipe_close(wpipe); + pipe_close(wpipe); return (error); } /* An extra reference on `wf' has been held for us by falloc(). */ @@ -132,63 +132,63 @@ } int -pipe_read(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, +pipe_read_f(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { struct pipe *pipe = fp->f_data; - /* The 4th arguments of generic_pipe_read is file flag */ - return generic_pipe_read(pipe, uio, active_cred, fp->f_flag, td); + /* The 4th arguments of pipe_read is file flag */ + return pipe_read(pipe, uio, active_cred, fp->f_flag, td); } int -pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, +pipe_write_f(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { struct pipe *pipe = fp->f_data; - /* The 4th arguments of generic_pipe_write is file flag */ - return generic_pipe_write(pipe, uio, active_cred, fp->f_flag, td); + /* The 4th arguments of pipe_write is file flag */ + return pipe_write(pipe, uio, active_cred, fp->f_flag, td); } static int -pipe_truncate(struct file *fp, off_t length, struct ucred *active_cred, struct thread *td) +pipe_truncate_f(struct file *fp, off_t length, struct ucred *active_cred, struct thread *td) { struct pipe *pipe = fp->f_data; - return generic_pipe_truncate(pipe, length, active_cred, td); + return pipe_truncate(pipe, length, active_cred, td); } static int -pipe_ioctl(struct file *fp, u_long cmd, void *data, struct ucred *active_cred, +pipe_ioctl_f(struct file *fp, u_long cmd, void *data, struct ucred *active_cred, struct thread *td) { struct pipe *pipe = fp->f_data; - return generic_pipe_ioctl(pipe, cmd, data, active_cred, td); + return pipe_ioctl(pipe, cmd, data, active_cred, td); } static int -pipe_poll(struct file *fp, int events, struct ucred *active_cred, struct thread *td) +pipe_poll_f(struct file *fp, int events, struct ucred *active_cred, struct thread *td) { struct pipe *pipe = fp->f_data; - return generic_pipe_poll(pipe, events, active_cred, td); + return pipe_poll(pipe, events, active_cred, td); } static int -pipe_stat(struct file *fp, struct stat *ub, struct ucred *active_cred, struct thread *td) +pipe_stat_f(struct file *fp, struct stat *ub, struct ucred *active_cred, struct thread *td) { struct pipe *pipe = fp->f_data; int error; - error = generic_pipe_stat(pipe, ub, active_cred, td); + error = pipe_stat(pipe, ub, active_cred, td); if (error) return (error); ub->st_uid = fp->f_cred->cr_uid; @@ -198,20 +198,20 @@ } static int -pipe_close(struct file *fp, struct thread *td) +pipe_close_f(struct file *fp, struct thread *td) { struct pipe *pipe = fp->f_data; fp->f_ops = &badfileops; fp->f_data = NULL; - generic_pipe_close(pipe); + pipe_close(pipe); return (0); } static int -pipe_kqfilter(struct file *fp, struct knote *kn) +pipe_kqfilter_f(struct file *fp, struct knote *kn) { struct pipe *pipe = kn->kn_fp->f_data; - return generic_pipe_kqfilter(pipe, kn); + return pipe_kqfilter(pipe, kn); } ==== //depot/projects/soc2009/fifo/sys/sys/pipe.h#8 (text+ko) ==== @@ -139,20 +139,20 @@ #define PIPE_UNLOCK(pipe) mtx_unlock(PIPE_MTX(pipe)) #define PIPE_LOCK_ASSERT(pipe, type) mtx_assert(PIPE_MTX(pipe), (type)) -int generic_pipe_read(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, +int pipe_read(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, int f_flags, struct thread *td); -int generic_pipe_write(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, +int pipe_write(struct pipe *pipe, struct uio *uio, struct ucred *active_cred, int f_flags, struct thread *td); -int generic_pipe_truncate(struct pipe *pipe, off_t length, struct ucred *active_cred, +int pipe_truncate(struct pipe *pipe, off_t length, struct ucred *active_cred, struct thread *td); -int generic_pipe_ioctl(struct pipe *pipe, u_long cmd, void *data, struct ucred *active_cred, +int pipe_ioctl(struct pipe *pipe, u_long cmd, void *data, struct ucred *active_cred, struct thread *td); -int generic_pipe_poll(struct pipe *pipe, int events, struct ucred *active_cred, +int pipe_poll(struct pipe *pipe, int events, struct ucred *active_cred, struct thread *td); -int generic_pipe_stat(struct pipe *pipe, struct stat *ub, struct ucred *active_cred, +int pipe_stat(struct pipe *pipe, struct stat *ub, struct ucred *active_cred, struct thread *td); -int generic_pipe_kqfilter(struct pipe *pipe, struct knote *kn); -int generic_pipe_create(struct thread *td, struct pipe **p_rpipe, struct pipe **p_wpipe); -void generic_pipe_close(struct pipe *pipe); +int pipe_kqfilter(struct pipe *pipe, struct knote *kn); +void pipe_close(struct pipe *pipe); +int pipepair_create(struct thread *td, struct pipe **p_rpipe, struct pipe **p_wpipe); #endif /* !_SYS_PIPE_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Jun 24 10:04:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0CE51065674; Wed, 24 Jun 2009 10:04:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0D7F1065672 for ; Wed, 24 Jun 2009 10:04:26 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E4B28FC18 for ; Wed, 24 Jun 2009 10:04:26 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OA4QrD074573 for ; Wed, 24 Jun 2009 10:04:26 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OA4QEh074571 for perforce@freebsd.org; Wed, 24 Jun 2009 10:04:26 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Wed, 24 Jun 2009 10:04:26 GMT Message-Id: <200906241004.n5OA4QEh074571@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165034 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 10:04:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165034 Change 165034 by zhaoshuai@zhaoshuai on 2009/06/24 10:04:25 remove unnecessary header files Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#17 edit .. //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#8 edit .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#14 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#17 (text+ko) ==== @@ -36,7 +36,6 @@ */ #include -#include #include #include #include ==== //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#8 (text+ko) ==== @@ -98,7 +98,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#14 (text+ko) ==== @@ -22,18 +22,13 @@ #include #include #include -#include #include #include #include -#include #include #include -#include #include -#include #include -#include #include #include #include @@ -154,7 +149,7 @@ } static int -pipe_truncate_f(struct file *fp, off_t length, struct ucred *active_cred, struct thread *td) +pipe_truncate_f(struct file *fp, off_t length, struct ucred *active_cred, struct thread *td) { struct pipe *pipe = fp->f_data; From owner-p4-projects@FreeBSD.ORG Wed Jun 24 10:52:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BAD471065672; Wed, 24 Jun 2009 10:52:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7AE111065670 for ; Wed, 24 Jun 2009 10:52:19 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 67B9D8FC27 for ; Wed, 24 Jun 2009 10:52:19 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OAqJuU078362 for ; Wed, 24 Jun 2009 10:52:19 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OAqJGY078360 for perforce@freebsd.org; Wed, 24 Jun 2009 10:52:19 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Wed, 24 Jun 2009 10:52:19 GMT Message-Id: <200906241052.n5OAqJGY078360@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 10:52:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165040 Change 165040 by zhaoshuai@zhaoshuai on 2009/06/24 10:51:32 keep the order of fifo functions as its original version. Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#18 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#18 (text+ko) ==== @@ -257,40 +257,6 @@ } /* - * Device close routine - */ -/* ARGSUSED */ -static int -fifo_close(ap) - struct vop_close_args /* { - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; -{ - struct vnode *vp = ap->a_vp; - struct fifoinfo *fip = vp->v_fifoinfo; - - ASSERT_VOP_ELOCKED(vp, "fifo_close"); - if (ap->a_fflag & FREAD) { - fip->fi_readers--; - if (fip->fi_readers == 0) - pipe_close(fip->fi_rpipe); - } - if (ap->a_fflag & FWRITE) { - fip->fi_writers--; - if (fip->fi_writers == 0) - pipe_close(fip->fi_wpipe); - } - if (fip->fi_readers == 0 && fip->fi_writers == 0) { - vp->v_fifoinfo = NULL; - free(fip, M_VNODE); - } - return (0); -} - -/* * Now unused vnode ioctl routine. */ /* ARGSUSED */ @@ -326,8 +292,110 @@ return (EINVAL); } +static void +filt_fifodetach(struct knote *kn) +{ + struct pipe *pipe = (struct pipe *)kn->kn_hook; + + PIPE_LOCK(pipe); + knlist_remove(&pipe->pipe_sel.si_note, kn, 1); + PIPE_UNLOCK(pipe); +} + +static int +filt_fiforead(struct knote *kn, long hint) +{ + struct pipe *rpipe = (struct pipe *)kn->kn_hook; + struct pipe *wpipe = rpipe->pipe_peer; + int ret; + + PIPE_LOCK(rpipe); + kn->kn_data = rpipe->pipe_buffer.cnt; + if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW)) + kn->kn_data = rpipe->pipe_map.cnt; + + if ((rpipe->pipe_state & PIPE_EOF) || + wpipe->pipe_present != PIPE_ACTIVE || + (wpipe->pipe_state & PIPE_EOF)) { + kn->kn_flags |= EV_EOF; + PIPE_UNLOCK(rpipe); + return (1); + } + ret = kn->kn_data > 0; + PIPE_UNLOCK(rpipe); + return ret; +} + +static int +filt_fifowrite(struct knote *kn, long hint) +{ + struct pipe *wpipe = (struct pipe *)kn->kn_hook; + + PIPE_LOCK(wpipe); + if (wpipe->pipe_present != PIPE_ACTIVE || + (wpipe->pipe_state & PIPE_EOF)) { + kn->kn_data = 0; + kn->kn_flags |= EV_EOF; + PIPE_UNLOCK(wpipe); + return (1); + } + kn->kn_data = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt; + if (wpipe->pipe_state & PIPE_DIRECTW) + kn->kn_data = 0; + + PIPE_UNLOCK(wpipe); + return (kn->kn_data >= PIPE_BUF); +} + +static void +filt_fifodetach_notsup(struct knote *kn) +{ + +} + +static int +filt_fifo_notsup(struct knote *kn, long hint) +{ + + return (0); +} + /* - * Print out internel contents of a fifo vnode + * Device close routine + */ +/* ARGSUSED */ +static int +fifo_close(ap) + struct vop_close_args /* { + struct vnode *a_vp; + int a_fflag; + struct ucred *a_cred; + struct thread *a_td; + } */ *ap; +{ + struct vnode *vp = ap->a_vp; + struct fifoinfo *fip = vp->v_fifoinfo; + + ASSERT_VOP_ELOCKED(vp, "fifo_close"); + if (ap->a_fflag & FREAD) { + fip->fi_readers--; + if (fip->fi_readers == 0) + pipe_close(fip->fi_rpipe); + } + if (ap->a_fflag & FWRITE) { + fip->fi_writers--; + if (fip->fi_writers == 0) + pipe_close(fip->fi_wpipe); + } + if (fip->fi_readers == 0 && fip->fi_writers == 0) { + vp->v_fifoinfo = NULL; + free(fip, M_VNODE); + } + return (0); +} + +/* + * Print out internal contents of a fifo vnode. */ int fifo_printinfo(struct vnode *vp) @@ -339,7 +407,7 @@ return (0); } printf(", fifo with %ld readers and %ld writers", - fip->fi_readers, fip->fi_writers); + fip->fi_readers, fip->fi_writers); return (0); } @@ -352,7 +420,7 @@ struct vnode *a_vp; } */ *ap; { - printf(" "); + printf(" "); fifo_printinfo(ap->a_vp); printf("\n"); return (0); @@ -393,10 +461,10 @@ fifo_advlock(ap) struct vop_advlock_args /* { struct vnode *a_vp; - caddr_t a_id; - int a_op; + caddr_t a_id; + int a_op; struct flock *a_fl; - int a_flags; + int a_flags; } */ *ap; { @@ -404,47 +472,6 @@ } static int -fifo_read_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) -{ - - struct fifoinfo *fip = fp->f_data; - - /* The 4th argument of pipe_read is file flag */ - return (pipe_read(fip->fi_rpipe, uio, cred, fp->f_flag, td)); -} - -static int -fifo_write_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) -{ - - struct fifoinfo *fip = fp->f_data; - - /* The 4th argument of pipe_write is file flag */ - return (pipe_write(fip->fi_wpipe, uio, cred, fp->f_flag, td)); -} - -static int -fifo_stat_f(struct file *fp, struct stat *sb, struct ucred *cred, struct thread *td) -{ - struct fifoinfo *fip = fp->f_data; - int error; - - error = pipe_stat(fip->fi_rpipe, sb, cred, td); - if (error) - return (error); - sb->st_uid = fp->f_cred->cr_uid; - sb->st_gid = fp->f_cred->cr_gid; - return (0); -} - -static int -fifo_truncate_f(struct file *fp, off_t length, struct ucred *cred, struct thread *td) -{ - - return (vnops.fo_truncate(fp, length, cred, td)); -} - -static int fifo_close_f(struct file *fp, struct thread *td) { @@ -463,10 +490,10 @@ */ static int fifo_ioctl_f(struct file *fp, u_long com, void *data, struct ucred *cred, - struct thread *td) + struct thread *td) { + int error = ENOTTY; struct fifoinfo *fip = fp->f_data; - int error = ENOTTY; switch (com) { case FIONBIO: @@ -552,86 +579,58 @@ return (0); } -static void -filt_fifodetach(struct knote *kn) +static int +fifo_poll_f(struct file *fp, int events, struct ucred *cred, struct thread *td) { - struct pipe *pipe = (struct pipe *)kn->kn_hook; + struct fifoinfo *fip = fp->f_data; + int levents, revents = 0; - PIPE_LOCK(pipe); - knlist_remove(&pipe->pipe_sel.si_note, kn, 1); - PIPE_UNLOCK(pipe); + levents = events & (POLLIN | POLLRDNORM); + if ((fp->f_flag & FREAD) && levents) + revents |= pipe_poll(fip->fi_rpipe, levents, cred, td); + levents = events & (POLLOUT | POLLWRNORM); + if ((fp->f_flag & FWRITE) && levents) + revents |= pipe_poll(fip->fi_wpipe, levents, cred, td); + return (revents); } static int -filt_fiforead(struct knote *kn, long hint) +fifo_read_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) { - struct pipe *rpipe = (struct pipe *)kn->kn_hook; - struct pipe *wpipe = rpipe->pipe_peer; - int ret; - PIPE_LOCK(rpipe); - kn->kn_data = rpipe->pipe_buffer.cnt; - if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW)) - kn->kn_data = rpipe->pipe_map.cnt; + struct fifoinfo *fip = fp->f_data; - if ((rpipe->pipe_state & PIPE_EOF) || - wpipe->pipe_present != PIPE_ACTIVE || - (wpipe->pipe_state & PIPE_EOF)) { - kn->kn_flags |= EV_EOF; - PIPE_UNLOCK(rpipe); - return (1); - } - ret = kn->kn_data > 0; - PIPE_UNLOCK(rpipe); - return ret; + /* The 4th argument of pipe_read is file flag */ + return (pipe_read(fip->fi_rpipe, uio, cred, fp->f_flag, td)); } static int -filt_fifowrite(struct knote *kn, long hint) +fifo_stat_f(struct file *fp, struct stat *sb, struct ucred *cred, struct thread *td) { - struct pipe *wpipe = (struct pipe *)kn->kn_hook; + struct fifoinfo *fip = fp->f_data; + int error; - PIPE_LOCK(wpipe); - if (wpipe->pipe_present != PIPE_ACTIVE || - (wpipe->pipe_state & PIPE_EOF)) { - kn->kn_data = 0; - kn->kn_flags |= EV_EOF; - PIPE_UNLOCK(wpipe); - return (1); - } - kn->kn_data = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt; - if (wpipe->pipe_state & PIPE_DIRECTW) - kn->kn_data = 0; - - PIPE_UNLOCK(wpipe); - return (kn->kn_data >= PIPE_BUF); + error = pipe_stat(fip->fi_rpipe, sb, cred, td); + if (error) + return (error); + sb->st_uid = fp->f_cred->cr_uid; + sb->st_gid = fp->f_cred->cr_gid; + return (0); } -static void -filt_fifodetach_notsup(struct knote *kn) +static int +fifo_truncate_f(struct file *fp, off_t length, struct ucred *cred, struct thread *td) { - + + return (vnops.fo_truncate(fp, length, cred, td)); } static int -filt_fifo_notsup(struct knote *kn, long hint) +fifo_write_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) { - return (0); -} - -static int -fifo_poll_f(struct file *fp, int events, struct ucred *cred, struct thread *td) -{ struct fifoinfo *fip = fp->f_data; - int levents, revents = 0; - levents = events & (POLLIN | POLLRDNORM); - if ((fp->f_flag & FREAD) && levents) - revents |= pipe_poll(fip->fi_rpipe, levents, cred, td); - levents = events & (POLLOUT | POLLWRNORM); - if ((fp->f_flag & FWRITE) && levents) - revents |= pipe_poll(fip->fi_wpipe, levents, cred, td); - return (revents); + /* The 4th argument of pipe_write is file flag */ + return (pipe_write(fip->fi_wpipe, uio, cred, fp->f_flag, td)); } - From owner-p4-projects@FreeBSD.ORG Wed Jun 24 14:23:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E824E1065705; Wed, 24 Jun 2009 14:23:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B3BE1065701; Wed, 24 Jun 2009 14:23:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1E3F28FC26; Wed, 24 Jun 2009 14:23:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id C84BC46B3B; Wed, 24 Jun 2009 10:23:21 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id AF18B8A085; Wed, 24 Jun 2009 10:23:20 -0400 (EDT) From: John Baldwin To: Zhao Shuai Date: Wed, 24 Jun 2009 08:30:02 -0400 User-Agent: KMail/1.9.7 References: <200906240948.n5O9m8j6072406@repoman.freebsd.org> In-Reply-To: <200906240948.n5O9m8j6072406@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906240830.03101.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Wed, 24 Jun 2009 10:23:20 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 165033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 14:23:25 -0000 On Wednesday 24 June 2009 5:48:08 am Zhao Shuai wrote: > http://perforce.freebsd.org/chv.cgi?CH=165033 > > Change 165033 by zhaoshuai@zhaoshuai on 2009/06/24 09:47:21 > > rename pipe_foo() to pipe_foo_f(), and generic_pipe_foo() to pipe_foo() Thanks. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Jun 24 14:47:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 746461065670; Wed, 24 Jun 2009 14:47:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33DC61065686 for ; Wed, 24 Jun 2009 14:47:37 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0885F8FC16 for ; Wed, 24 Jun 2009 14:47:37 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OElaEP010215 for ; Wed, 24 Jun 2009 14:47:36 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OElaEM010213 for perforce@freebsd.org; Wed, 24 Jun 2009 14:47:36 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Wed, 24 Jun 2009 14:47:36 GMT Message-Id: <200906241447.n5OElaEM010213@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 165049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 14:47:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=165049 Change 165049 by pvaibhav@pvaibhav_matrix on 2009/06/24 14:46:44 Some minor improvements in softclock(): 1. Use cached 'ticks' instead of cc->cc_monoticks directly. This will avoid the softclock potentially running too long as it chases behind monoticks, in cases where monoticks is modified while softclock is still executing 2. Check if number of callouts processed during a single invocation of softclock() is more than a threshold value. If yes, temporarily unlock cc_lock so interrupts can be processed. This was present in the original softclock() implementation too. 3. Corrected order of temporary unlocking and extracting first pending callout -- extraction should always be done after re-acquiring the cc_lock. Affected files ... .. //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#4 edit Differences ... ==== //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#4 (text+ko) ==== @@ -260,7 +260,7 @@ * it with cc_lock held; incorrect locking order. */ mtx_unlock_spin_flags(&cc->cc_lock, MTX_QUIET); - if (need_softclock) + if (need_softclock == 1) swi_sched(cc->cc_cookie, 0); } @@ -304,11 +304,11 @@ { struct callout_cpu *cc; struct callout *c; - int curticks; - int depth; + int steps; int mpcalls; int lockcalls; int gcalls; + int curticks; #ifdef DIAGNOSTIC struct bintime bt1, bt2; struct timespec ts2; @@ -323,15 +323,24 @@ mpcalls = 0; lockcalls = 0; gcalls = 0; - depth = 0; + steps = 0; cc = (struct callout_cpu *)arg; CC_LOCK(cc); /* - * ticks may be modified by hard clock, so cache it + * cc_monoticks might be modified by hardclock, so cache it */ curticks = cc->cc_monoticks; CTR1(KTR_CALLOUT, "softclock run at %d", curticks); while (!MINHEAP_EMPTY(&cc->cc_callqueue)) { + if (steps++ > MAX_SOFTCLOCK_STEPS) { + /* + * Give interrupts a chance + */ + CC_UNLOCK(cc); + ; /* nothing */ + CC_LOCK(cc); + steps = 0; + } c = MINHEAP_FIRST(&cc->cc_callqueue); if (c->c_time > curticks) { /* From owner-p4-projects@FreeBSD.ORG Wed Jun 24 15:12:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59D5E1065674; Wed, 24 Jun 2009 15:12:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11BAD1065672 for ; Wed, 24 Jun 2009 15:12:04 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA0B88FC15 for ; Wed, 24 Jun 2009 15:12:03 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OFC3J8013073 for ; Wed, 24 Jun 2009 15:12:03 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OFC362013071 for perforce@freebsd.org; Wed, 24 Jun 2009 15:12:03 GMT (envelope-from truncs@FreeBSD.org) Date: Wed, 24 Jun 2009 15:12:03 GMT Message-Id: <200906241512.n5OFC362013071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165051 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 15:12:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=165051 Change 165051 by truncs@aditya on 2009/06/24 15:11:12 To maintain consistency with UFS. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#11 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#11 (text+ko) ==== @@ -753,7 +753,7 @@ fs->e2fs.e2fs_ficount--; fs->e2fs_gd[cg].ext2bgd_nifree--; fs->e2fs_fmod = 1; - if (S_ISDIR(mode)) { + if ((mode & IFMT) == IFDIR) { fs->e2fs_gd[cg].ext2bgd_ndirs++; } mark_buffer_dirty(bp); From owner-p4-projects@FreeBSD.ORG Wed Jun 24 16:13:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 93E281065674; Wed, 24 Jun 2009 16:13:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CC121065673 for ; Wed, 24 Jun 2009 16:13:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 089278FC17 for ; Wed, 24 Jun 2009 16:13:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OGDiQg018941 for ; Wed, 24 Jun 2009 16:13:44 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OGDaZR018935 for perforce@freebsd.org; Wed, 24 Jun 2009 16:13:36 GMT (envelope-from jhb@freebsd.org) Date: Wed, 24 Jun 2009 16:13:36 GMT Message-Id: <200906241613.n5OGDaZR018935@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 165064 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 16:13:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165064 Change 165064 by jhb@jhb_jhbbsd on 2009/06/24 16:12:51 IFC @165062 Affected files ... .. //depot/projects/smpng/share/man/man9/stack.9#2 integrate .. //depot/projects/smpng/share/man/man9/ucred.9#2 integrate .. //depot/projects/smpng/share/man/man9/vm_map.9#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#81 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#57 integrate .. //depot/projects/smpng/sys/amd64/include/pmap.h#32 integrate .. //depot/projects/smpng/sys/amd64/isa/clock.c#29 integrate .. //depot/projects/smpng/sys/arm/arm/elf_machdep.c#13 integrate .. //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#21 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#50 integrate .. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA.hints#6 integrate .. //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/smpng/sys/arm/conf/DB-78XXX#5 integrate .. //depot/projects/smpng/sys/arm/conf/DB-88F5XXX#5 integrate .. //depot/projects/smpng/sys/arm/conf/DB-88F6XXX#5 integrate .. //depot/projects/smpng/sys/arm/include/pmap.h#27 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#5 integrate .. //depot/projects/smpng/sys/arm/mv/files.mv#6 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#5 integrate .. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#5 integrate .. //depot/projects/smpng/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/smpng/sys/arm/mv/mvreg.h#6 integrate .. //depot/projects/smpng/sys/arm/mv/orion/orion.c#5 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#20 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#10 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#29 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/crb_machdep.c#6 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_ata.c#7 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#14 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/smpng/sys/arm/xscale/ixp425/files.avila#5 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425.c#13 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#7 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425var.h#6 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/smpng/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/smpng/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/smpng/sys/cam/cam_periph.c#32 integrate .. //depot/projects/smpng/sys/cam/cam_periph.h#8 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/vnode.h#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#12 integrate .. //depot/projects/smpng/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/smpng/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#56 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#56 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#56 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#57 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#60 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#78 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#61 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#101 integrate .. //depot/projects/smpng/sys/compat/linux/linux_uid16.c#26 integrate .. //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#45 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#51 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#14 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sockio.c#16 integrate .. //depot/projects/smpng/sys/conf/NOTES#173 integrate .. //depot/projects/smpng/sys/conf/files#245 integrate .. //depot/projects/smpng/sys/conf/files.amd64#67 integrate .. //depot/projects/smpng/sys/conf/files.i386#126 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#55 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#72 integrate .. //depot/projects/smpng/sys/conf/options#172 integrate .. //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#14 integrate .. //depot/projects/smpng/sys/contrib/ngatm/netnatm/sig/sig_uni.c#4 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_if.c#16 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#33 integrate .. //depot/projects/smpng/sys/contrib/rdma/rdma_addr.c#3 integrate .. //depot/projects/smpng/sys/contrib/rdma/rdma_cma.c#5 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdSynch.c#23 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#65 integrate .. //depot/projects/smpng/sys/dev/ata/ata-dma.c#56 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#67 integrate .. //depot/projects/smpng/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/ata-usb.c#15 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#29 integrate .. //depot/projects/smpng/sys/dev/bce/if_bcereg.h#17 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_cpl.h#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#15 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#23 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_multiq.c#9 delete .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#11 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#20 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/cxgb_support.c#8 delete .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#9 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#4 integrate .. //depot/projects/smpng/sys/dev/drm/drmP.h#25 integrate .. //depot/projects/smpng/sys/dev/drm/drm_bufs.c#9 integrate .. //depot/projects/smpng/sys/dev/drm/drm_context.c#5 integrate .. //depot/projects/smpng/sys/dev/drm/drm_drv.c#16 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.c#11 integrate .. //depot/projects/smpng/sys/dev/drm/drm_sysctl.c#6 integrate .. //depot/projects/smpng/sys/dev/drm/i915_dma.c#15 integrate .. //depot/projects/smpng/sys/dev/drm/i915_drv.c#10 integrate .. //depot/projects/smpng/sys/dev/drm/i915_drv.h#10 integrate .. //depot/projects/smpng/sys/dev/drm/i915_irq.c#11 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdev.c#28 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#92 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxpvar.h#21 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#38 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem_pci.c#25 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/smpng/sys/dev/gem/if_gemreg.h#7 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#17 integrate .. //depot/projects/smpng/sys/dev/ic/ns16550.h#8 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#61 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis_pccard.c#12 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis_pci.c#15 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis_usb.c#12 integrate .. //depot/projects/smpng/sys/dev/md/md.c#90 integrate .. //depot/projects/smpng/sys/dev/mxge/eth_z8e.h#6 integrate .. //depot/projects/smpng/sys/dev/mxge/ethp_z8e.h#6 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#30 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#17 integrate .. //depot/projects/smpng/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/smpng/sys/dev/mxge/rss_eth_z8e.h#6 integrate .. //depot/projects/smpng/sys/dev/mxge/rss_ethp_z8e.h#6 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#111 integrate .. //depot/projects/smpng/sys/dev/puc/pucdata.c#50 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#18 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#29 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci_atmelarm.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci_atmelarm.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_ixp4xx.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_mbus.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_pci.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg_atmelarm.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_atmelarm.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_pci.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci_pci.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/usb_controller.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci_atmelarm.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/input/uhid.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/input/ukbd.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/input/ums.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/misc/udbp.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/misc/ufm.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_axe.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cue.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_kue.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_rue.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_udav.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/usb_ethernet.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uark.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubsa.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubser.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uchcom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ucycom.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ufoma.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ugensa.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ulpt.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umct.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umodem.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umoscom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvscom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/storage/urio.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_cdce.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_msc.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_mtp.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb.h#21 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.h#7 integrate .. //depot/projects/smpng/sys/dev/usb/usb_controller.h#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_core.h#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_defs.h#4 delete .. //depot/projects/smpng/sys/dev/usb/usb_dev.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dev.h#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.h#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dynamic.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dynamic.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/smpng/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/smpng/sys/dev/usb/usb_generic.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/smpng/sys/dev/usb/usb_hid.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hid.h#9 delete .. //depot/projects/smpng/sys/dev/usb/usb_hub.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_ioctl.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.h#7 delete .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/smpng/sys/dev/usb/usb_msctest.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_parse.h#5 delete .. //depot/projects/smpng/sys/dev/usb/usb_process.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_process.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.h#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_revision.h#5 delete .. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#140 integrate .. //depot/projects/smpng/sys/dev/usb/usbhid.h#9 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_uath.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#9 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#83 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs.h#5 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clbio.c#6 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clkrpc.c#4 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdkrpc.c#6 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#5 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs.h#10 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vnops.c#42 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal.h#5 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vnops.c#33 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs_map.c#16 integrate .. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_subr.c#10 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#44 integrate .. //depot/projects/smpng/sys/geom/geom_redboot.c#3 integrate .. //depot/projects/smpng/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#144 integrate .. //depot/projects/smpng/sys/i386/i386/elf_machdep.c#19 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#142 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#121 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_misc.c#37 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#44 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#61 integrate .. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#12 integrate .. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#27 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#118 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#42 integrate .. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#53 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#93 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#21 integrate .. //depot/projects/smpng/sys/kern/kern_cpuset.c#8 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#119 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#122 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#73 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#32 integrate .. //depot/projects/smpng/sys/kern/kern_poll.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#106 integrate .. //depot/projects/smpng/sys/kern/kern_prot.c#112 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#81 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#148 integrate .. //depot/projects/smpng/sys/kern/kern_uuid.c#20 integrate .. //depot/projects/smpng/sys/kern/kern_vimage.c#9 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#51 integrate .. //depot/projects/smpng/sys/kern/link_elf_obj.c#26 integrate .. //depot/projects/smpng/sys/kern/makesyscalls.sh#29 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#95 integrate .. //depot/projects/smpng/sys/kern/subr_pcpu.c#13 integrate .. //depot/projects/smpng/sys/kern/subr_stack.c#8 integrate .. //depot/projects/smpng/sys/kern/sys_process.c#65 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#92 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#98 integrate .. //depot/projects/smpng/sys/kern/sysv_msg.c#40 integrate .. //depot/projects/smpng/sys/kern/sysv_sem.c#53 integrate .. //depot/projects/smpng/sys/kern/sysv_shm.c#45 integrate .. //depot/projects/smpng/sys/kern/tty.c#95 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf.c#63 integrate .. //depot/projects/smpng/sys/kern/uipc_shm.c#7 integrate .. //depot/projects/smpng/sys/kern/uipc_sockbuf.c#16 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#127 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#90 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#58 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#63 integrate .. //depot/projects/smpng/sys/kern/vfs_export.c#34 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#97 integrate .. //depot/projects/smpng/sys/kern/vnode_if.src#45 integrate .. //depot/projects/smpng/sys/libkern/iconv.c#13 integrate .. //depot/projects/smpng/sys/libkern/iconv_converter_if.m#4 integrate .. //depot/projects/smpng/sys/libkern/iconv_xlat16.c#4 integrate .. //depot/projects/smpng/sys/mips/mips/elf_machdep.c#7 integrate .. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#4 integrate .. //depot/projects/smpng/sys/mips/mips/pmap.c#11 integrate .. //depot/projects/smpng/sys/modules/acpi/Makefile#33 integrate .. //depot/projects/smpng/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/smpng/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/smpng/sys/modules/cxgb/cxgb/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/gem/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/mxge/mxge/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/netgraph/Makefile#30 integrate .. //depot/projects/smpng/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/smpng/sys/net/bpf.c#89 integrate .. //depot/projects/smpng/sys/net/bridgestp.c#28 integrate .. //depot/projects/smpng/sys/net/fddi.h#7 integrate .. //depot/projects/smpng/sys/net/firewire.h#3 integrate .. //depot/projects/smpng/sys/net/flowtable.c#4 integrate .. //depot/projects/smpng/sys/net/flowtable.h#5 integrate .. //depot/projects/smpng/sys/net/if.c#123 integrate .. //depot/projects/smpng/sys/net/if_arc.h#11 integrate .. //depot/projects/smpng/sys/net/if_arcsubr.c#28 integrate .. //depot/projects/smpng/sys/net/if_ef.c#31 integrate .. //depot/projects/smpng/sys/net/if_ethersubr.c#100 integrate .. //depot/projects/smpng/sys/net/if_fddisubr.c#38 integrate .. //depot/projects/smpng/sys/net/if_fwsubr.c#25 integrate .. //depot/projects/smpng/sys/net/if_iso88025subr.c#36 integrate .. //depot/projects/smpng/sys/net/if_mib.c#17 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#41 integrate .. //depot/projects/smpng/sys/net/if_stf.c#48 integrate .. //depot/projects/smpng/sys/net/if_var.h#67 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#67 integrate .. //depot/projects/smpng/sys/net/iso88025.h#9 integrate .. //depot/projects/smpng/sys/net/raw_cb.c#22 integrate .. //depot/projects/smpng/sys/net/raw_usrreq.c#30 integrate .. //depot/projects/smpng/sys/net/route.c#49 integrate .. //depot/projects/smpng/sys/net/route.h#33 integrate .. //depot/projects/smpng/sys/net/rtsock.c#75 integrate .. //depot/projects/smpng/sys/net/vnet.h#12 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#43 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ddb.c#17 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_wds.c#10 integrate .. //depot/projects/smpng/sys/netatalk/COPYRIGHT#5 integrate .. //depot/projects/smpng/sys/netatalk/aarp.c#26 integrate .. //depot/projects/smpng/sys/netatalk/at_control.c#17 integrate .. //depot/projects/smpng/sys/netatalk/at_extern.h#10 integrate .. //depot/projects/smpng/sys/netatalk/at_rmx.c#6 integrate .. //depot/projects/smpng/sys/netatalk/at_var.h#7 integrate .. //depot/projects/smpng/sys/netatalk/ddp_input.c#20 integrate .. //depot/projects/smpng/sys/netatalk/ddp_output.c#16 integrate .. //depot/projects/smpng/sys/netatalk/ddp_pcb.c#13 integrate .. //depot/projects/smpng/sys/netgraph/atm/ng_atm.c#19 integrate .. //depot/projects/smpng/sys/netgraph/atm/uni/ng_uni.c#7 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#27 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#14 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#43 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#72 integrate .. //depot/projects/smpng/sys/netinet/igmp.c#35 integrate .. //depot/projects/smpng/sys/netinet/in.c#56 integrate .. //depot/projects/smpng/sys/netinet/in_mcast.c#14 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#98 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#65 integrate .. //depot/projects/smpng/sys/netinet/in_rmx.c#27 integrate .. //depot/projects/smpng/sys/netinet/in_var.h#27 integrate .. //depot/projects/smpng/sys/netinet/ip_carp.c#34 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#67 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#51 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#103 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#68 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.h#16 integrate .. //depot/projects/smpng/sys/netinet/ip_options.c#15 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#111 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#3 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#83 integrate .. //depot/projects/smpng/sys/netinet/tcp_hostcache.c#21 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#129 integrate .. //depot/projects/smpng/sys/netinet/tcp_offload.c#7 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#80 integrate .. //depot/projects/smpng/sys/netinet/vinet.h#10 integrate .. //depot/projects/smpng/sys/netinet6/frag6.c#24 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#57 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#58 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#37 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#64 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.h#18 integrate .. //depot/projects/smpng/sys/netinet6/in6_rmx.c#23 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#41 integrate .. //depot/projects/smpng/sys/netinet6/in6_var.h#22 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#65 integrate .. //depot/projects/smpng/sys/netinet6/ip6_mroute.c#41 integrate .. //depot/projects/smpng/sys/netinet6/ip6_mroute.h#10 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#66 integrate .. //depot/projects/smpng/sys/netinet6/ip6_var.h#30 integrate .. //depot/projects/smpng/sys/netinet6/mld6.c#32 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#55 integrate .. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#36 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#33 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#62 integrate .. //depot/projects/smpng/sys/netinet6/scope6.c#16 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#59 integrate .. //depot/projects/smpng/sys/netipsec/key.c#38 integrate .. //depot/projects/smpng/sys/netipx/README#7 integrate .. //depot/projects/smpng/sys/netipx/ipx.c#16 integrate .. //depot/projects/smpng/sys/netipx/ipx_if.h#9 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#23 integrate .. //depot/projects/smpng/sys/netipx/ipx_outputfl.c#10 integrate .. //depot/projects/smpng/sys/netipx/ipx_pcb.c#23 integrate .. //depot/projects/smpng/sys/netipx/ipx_usrreq.c#32 integrate .. //depot/projects/smpng/sys/netipx/ipx_var.h#11 integrate .. //depot/projects/smpng/sys/netipx/spx.h#7 integrate .. //depot/projects/smpng/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/smpng/sys/netipx/spx_usrreq.c#33 integrate .. //depot/projects/smpng/sys/netipx/spx_var.h#5 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#60 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#24 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvkrpc.c#9 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#40 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#50 integrate .. //depot/projects/smpng/sys/nlm/nlm_prot_impl.c#7 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#33 integrate .. //depot/projects/smpng/sys/powerpc/aim/mmu_oea.c#8 integrate .. //depot/projects/smpng/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/smpng/sys/powerpc/booke/pmap.c#13 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#60 integrate .. //depot/projects/smpng/sys/powerpc/conf/MPC85XX#9 integrate .. //depot/projects/smpng/sys/powerpc/conf/NOTES#16 integrate .. //depot/projects/smpng/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/smpng/sys/powerpc/include/spr.h#17 integrate .. //depot/projects/smpng/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/smpng/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/smpng/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/smpng/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/smpng/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/smpng/sys/powerpc/powerpc/elf_machdep.c#19 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#13 integrate .. //depot/projects/smpng/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/smpng/sys/rpc/svc.c#4 integrate .. //depot/projects/smpng/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/smpng/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/smpng/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/smpng/sys/rpc/svc_vc.c#6 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#59 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#47 integrate .. //depot/projects/smpng/sys/sparc64/include/pcpu.h#14 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/elf_machdep.c#25 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#96 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#38 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#78 integrate .. //depot/projects/smpng/sys/sun4v/include/pcpu.h#9 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#11 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#8 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#15 integrate .. //depot/projects/smpng/sys/sys/cpuset.h#6 integrate .. //depot/projects/smpng/sys/sys/fcntl.h#12 integrate .. //depot/projects/smpng/sys/sys/iconv.h#12 integrate .. //depot/projects/smpng/sys/sys/jail.h#29 integrate .. //depot/projects/smpng/sys/sys/ktr.h#28 integrate .. //depot/projects/smpng/sys/sys/linker.h#27 integrate .. //depot/projects/smpng/sys/sys/lock.h#54 integrate .. //depot/projects/smpng/sys/sys/lock_profile.h#8 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#84 integrate .. //depot/projects/smpng/sys/sys/mutex.h#77 integrate .. //depot/projects/smpng/sys/sys/param.h#149 integrate .. //depot/projects/smpng/sys/sys/pcpu.h#27 integrate .. //depot/projects/smpng/sys/sys/priv.h#21 integrate .. //depot/projects/smpng/sys/sys/resource.h#20 integrate .. //depot/projects/smpng/sys/sys/resourcevar.h#30 integrate .. //depot/projects/smpng/sys/sys/sched.h#32 integrate .. //depot/projects/smpng/sys/sys/socketvar.h#65 integrate .. //depot/projects/smpng/sys/sys/stack.h#5 integrate .. //depot/projects/smpng/sys/sys/sx.h#33 integrate .. //depot/projects/smpng/sys/sys/syscall.h#91 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#91 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#60 integrate .. //depot/projects/smpng/sys/sys/syslimits.h#13 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#95 integrate .. //depot/projects/smpng/sys/sys/tty.h#31 integrate .. //depot/projects/smpng/sys/sys/ucred.h#33 integrate .. //depot/projects/smpng/sys/sys/user.h#36 integrate .. //depot/projects/smpng/sys/sys/vimage.h#17 integrate .. //depot/projects/smpng/sys/sys/vnode.h#101 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#78 integrate .. //depot/projects/smpng/sys/vm/default_pager.c#7 integrate .. //depot/projects/smpng/sys/vm/device_pager.c#26 integrate .. //depot/projects/smpng/sys/vm/phys_pager.c#19 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#81 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#77 integrate .. //depot/projects/smpng/sys/vm/vm.h#12 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#49 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#33 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#105 integrate .. //depot/projects/smpng/sys/vm/vm_phys.c#6 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/stack.9#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2007 Robert N. M. Watson +.\" Copyright (c) 2007-2009 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/stack.9,v 1.6 2008/03/14 13:13:37 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/stack.9,v 1.7 2009/06/24 12:06:15 rwatson Exp $ .\" -.Dd February 27, 2007 +.Dd June 24, 2009 .Dt STACK 9 .Os .Sh NAME @@ -54,6 +54,10 @@ .Ft void .Fn stack_print_ddb "struct stack *st" .Ft void +.Fn stack_print_short "struct stack *st" +.Ft void +.Fn stack_print_short_ddb "struct stack *st" +.Ft void .Fn stack_sbuf_print "struct sbuf sb*" "struct stack *st" .Ft void .Fn stack_sbuf_print_ddb "struct sbuf sb*" "struct stack *st" @@ -84,6 +88,8 @@ .Fn stack_save . .Pp .Fn stack_print +and +.Fn stack_print_short may be used to print a stack trace using the kernel .Xr printf 9 , and may sleep as a result of acquiring @@ -91,7 +97,9 @@ locks in the kernel linker while looking up symbol names. In locking-sensitive environments, the unsynchronized .Fn stack_print_ddb -variant may be invoked. +and +.Fn stack_print_short_ddb +variants may be invoked. This function bypasses kernel linker locking, making it usable in .Xr ddb 4 , but not in a live system where linker data structures may change. ==== //depot/projects/smpng/share/man/man9/ucred.9#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ucred.9,v 1.10 2008/09/17 15:49:44 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/ucred.9,v 1.11 2009/06/19 19:16:35 brooks Exp $ .\" -.Dd March 3, 2002 +.Dd June 19, 2009 .Dt UCRED 9 .Os .Sh NAME @@ -54,8 +54,12 @@ .Ft void .Fn crcopy "struct ucred *dest" "struct ucred *src" .Ft "struct ucred *" +.Fn crcopysafe "struct proc *p" "struct ucred *cr" +.Ft "struct ucred *" .Fn crdup "struct ucred *cr" .Ft void +.Fn crsetgroups "struct ucred *cr" "int ngrp" "gid_t *groups" +.Ft void .Fn cru2x "struct ucred *cr" "struct xucred *xcr" .Ft void .Fn cred_update_thread "struct thread *td" @@ -98,6 +102,18 @@ .Xr uihold 9 . .Pp The +.Fn crcopysafe +function copies the current credential associated with the process +.Fa p +into the newly allocated credential +.Fa cr . +The process lock on +.Fa p +must be held and will be dropped and reacquired as needed to allocate +group storage space in +.Fa cr . +.Pp +The .Fn crdup function allocates memory for a new structure and copies the contents of @@ -107,6 +123,20 @@ .Fn crcopy . .Pp The +.Fn crsetgroups +function sets the +.Va cr_groups +and +.Va cr_ngroups +variables and allocates space as needed. +It also truncates the group list to the current maximum number of +groups. +No other mechanism should be used to modify the +.Va cr_groups +array except for updating the primary group via assignment to +.Va cr_groups[0] . +.Pp +The .Fn cru2x function converts a .Vt ucred @@ -133,9 +163,10 @@ to that of its process, freeing its old credential if required. .Sh RETURN VALUES .Fn crget , -.Fn crhold +.Fn crhold , +.Fn crdup , and -.Fn crdup +.Fn crcopysafe all return a pointer to a .Vt ucred structure. @@ -152,9 +183,10 @@ This means that the correct protocol must always be followed to create a fresh and writable credential structure: new credentials must always be derived from existing credentials using -.Fn crget +.Fn crget , +.Fn crcopy , and -.Fn crcopy . +.Fn crcopysafe . .Pp In the common case, credentials required for access control decisions are used in a read-only manner. ==== //depot/projects/smpng/share/man/man9/vm_map.9#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/vm_map.9,v 1.10 2007/01/27 18:58:33 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/vm_map.9,v 1.11 2009/06/23 20:57:27 kib Exp $ .\" .Dd September 26, 2004 .Dt VM_MAP 9 @@ -146,6 +146,10 @@ .It Dv MAP_PREFAULT_MADVISE Specify that the request is from a user process calling .Xr madvise 2 . +.It Dv MAP_ACC_CHARGED +Region is already charged to the requestor by some means. +.It Dv MAP_ACC_NO_CHARGE +Do not charge for allocated region. .El .Pp The ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#81 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.702 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1501,6 +1501,8 @@ wrmsr(MSR_KGSBASE, 0); /* User value while in the kernel */ pcpu_init(pc, 0, sizeof(struct pcpu)); + dpcpu_init((void *)(physfree + KERNBASE), 0); + physfree += DPCPU_SIZE; PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#57 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.308 2009/05/14 17:43:00 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -93,9 +93,10 @@ /* Free these after use */ void *bootstacks[MAXCPU]; -/* Temporary holder for double fault stack */ +/* Temporary variables for init_secondary() */ char *doublefault_stack; char *nmi_stack; +void *dpcpu; /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -590,6 +591,7 @@ /* prime data page for it to use */ pcpu_init(pc, cpu, sizeof(struct pcpu)); + dpcpu_init(dpcpu, cpu); pc->pc_apic_id = cpu_apic_ids[cpu]; pc->pc_prvspace = pc; pc->pc_curthread = 0; @@ -885,6 +887,7 @@ bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); nmi_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); + dpcpu = (void *)kmem_alloc(kernel_map, DPCPU_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/smpng/sys/amd64/include/pmap.h#32 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.150 2009/03/22 18:56:26 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.151 2009/06/22 04:21:02 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -175,9 +175,7 @@ #define PML4pml4e ((pd_entry_t *)(addr_PML4pml4e)) extern u_int64_t KPML4phys; /* physical address of kernel level 4 */ -#endif -#ifdef _KERNEL /* * virtual address to page table entry and * to physical address. @@ -294,14 +292,6 @@ #ifdef _KERNEL -#define NPPROVMTRR 8 -#define PPRO_VMTRRphysBase0 0x200 -#define PPRO_VMTRRphysMask0 0x201 -struct ppro_vmtrr { - u_int64_t base, mask; -}; -extern struct ppro_vmtrr PPro_vmtrr[NPPROVMTRR]; - extern caddr_t CADDR1; extern pt_entry_t *CMAP1; extern vm_paddr_t phys_avail[]; ==== //depot/projects/smpng/sys/amd64/isa/clock.c#29 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.248 2009/06/09 09:47:02 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.251 2009/06/23 23:16:37 mav Exp $"); /* * Routines to handle clock hardware. @@ -93,9 +93,6 @@ static int using_atrtc_timer; static int using_lapic_timer; -static u_int stat_ticks = 0; -static u_int prof_ticks = 0; - /* Values for timerX_state: */ #define RELEASED 0 #define RELEASE_PENDING 1 @@ -132,6 +129,7 @@ statclockintr(struct trapframe *frame) { + profclockintr(frame); statclock(TRAPF_USERMODE(frame)); return (FILTER_HANDLED); } @@ -140,7 +138,10 @@ profclockintr(struct trapframe *frame) { - profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); + if (!using_atrtc_timer) + hardclockintr(frame); + if (profprocs != 0) + profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); return (FILTER_HANDLED); } @@ -160,32 +161,27 @@ mtx_unlock_spin(&clock_lock); } KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer")); -#ifdef SMP - if (smp_started) - ipi_all_but_self(IPI_HARDCLOCK); -#endif - hardclockintr(frame); - if (!using_atrtc_timer) { - prof_ticks += profhz; - if (prof_ticks >= hz) { - prof_ticks -= hz; - if (profprocs != 0) { + if (using_atrtc_timer) { #ifdef SMP - if (smp_started) - ipi_all_but_self(IPI_PROFCLOCK); + if (smp_started) + ipi_all_but_self(IPI_HARDCLOCK); #endif - profclockintr(frame); - } - } - stat_ticks += stathz; - if (stat_ticks >= hz) { - stat_ticks -= hz; + hardclockintr(frame); + } else { + if (--pscnt <= 0) { + pscnt = psratio; #ifdef SMP if (smp_started) ipi_all_but_self(IPI_STATCLOCK); #endif statclockintr(frame); + } else { +#ifdef SMP + if (smp_started) + ipi_all_but_self(IPI_PROFCLOCK); +#endif + profclockintr(frame); } } @@ -266,21 +262,19 @@ while (rtcin(RTC_INTR) & RTCIR_PERIOD) { flag = 1; - if (profprocs != 0) { - if (--pscnt == 0) - pscnt = psdiv; + if (--pscnt <= 0) { + pscnt = psdiv; #ifdef SMP - if (pscnt != psdiv && smp_started) - ipi_all_but_self(IPI_PROFCLOCK); + if (smp_started) + ipi_all_but_self(IPI_STATCLOCK); #endif - profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); - } - if (pscnt == psdiv) { + statclockintr(frame); + } else { #ifdef SMP if (smp_started) - ipi_all_but_self(IPI_STATCLOCK); + ipi_all_but_self(IPI_PROFCLOCK); #endif - statclock(TRAPF_USERMODE(frame)); + profclockintr(frame); } } return(flag ? FILTER_HANDLED : FILTER_STRAY); @@ -523,8 +517,11 @@ INTR_TYPE_CLK, NULL); atrtc_enable_intr(); } else { - profhz = min(RTC_PROFRATE, hz); - stathz = min(RTC_NOPROFRATE, hz); + profhz = hz; + if (hz < 128) + stathz = hz; + else + stathz = hz / (hz / 128); } } ==== //depot/projects/smpng/sys/arm/arm/elf_machdep.c#13 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.12 2009/04/05 09:27:19 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.13 2009/06/23 22:42:39 jeff Exp $"); #include #include @@ -149,7 +149,7 @@ if (local) { if (rtype == R_ARM_RELATIVE) { /* A + B */ - addr = relocbase + addend; + addr = elf_relocaddr(lf, relocbase + addend); if (*where != addr) *where = addr; } ==== //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#21 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.24 2009/02/02 20:09:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.25 2009/06/21 21:38:12 cognet Exp $"); #include #include #include @@ -550,7 +550,7 @@ for (addr = physstart; addr < physend; addr += L1_S_SIZE) { pd[addr >> L1_S_SHIFT] = L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)| L1_S_DOM(PMAP_DOMAIN_KERNEL) | addr; - if (write_back) + if (write_back && 0) pd[addr >> L1_S_SHIFT] |= L1_S_B; } /* XXX: See below */ @@ -610,12 +610,6 @@ (unsigned int)&func_end + 800 , 0); if (altdst > dst) dst = altdst; - cpu_idcache_wbinv_all(); - cpu_l2cache_wbinv_all(); - __asm __volatile("mrc p15, 0, %0, c1, c0, 0\n" - "bic %0, %0, #1\n" /* MMU_ENABLE */ - "mcr p15, 0, %0, c1, c0, 0\n" - : "=r" (pt_addr)); } else #endif dst = 4 + load_kernel((unsigned int)&kernel_start, ==== //depot/projects/smpng/sys/arm/arm/pmap.c#50 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.109 2009/06/08 12:15:39 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.110 2009/06/18 20:42:37 thompsa Exp $"); #include #include #include @@ -200,8 +200,7 @@ static void pmap_enter_locked(pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t, int); -static __inline void pmap_fix_cache(struct vm_page *, pmap_t, - vm_offset_t); +static void pmap_fix_cache(struct vm_page *, pmap_t, vm_offset_t); static void pmap_alloc_l1(pmap_t); static void pmap_free_l1(pmap_t); static void pmap_use_l1(pmap_t); @@ -406,7 +405,7 @@ #define pmap_is_current(pm) ((pm) == pmap_kernel() || \ curproc->p_vmspace->vm_map.pmap == (pm)) -static uma_zone_t pvzone; +static uma_zone_t pvzone = NULL; uma_zone_t l2zone; static uma_zone_t l2table_zone; static vm_offset_t pmap_kernel_l2dtable_kva; @@ -1451,6 +1450,7 @@ * kernel writable or kernel readable with writable user entry >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 24 16:14:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC0411065673; Wed, 24 Jun 2009 16:14:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69BF0106566C for ; Wed, 24 Jun 2009 16:14:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3DE128FC0C for ; Wed, 24 Jun 2009 16:14:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OGEjsb019006 for ; Wed, 24 Jun 2009 16:14:45 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OGEjZo019004 for perforce@freebsd.org; Wed, 24 Jun 2009 16:14:45 GMT (envelope-from jhb@freebsd.org) Date: Wed, 24 Jun 2009 16:14:45 GMT Message-Id: <200906241614.n5OGEjZo019004@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 165065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 16:14:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165065 Change 165065 by jhb@jhb_jhbbsd on 2009/06/24 16:14:09 Merge new files. Affected files ... .. //depot/projects/smpng/sys/dev/usb/usbdi.h#25 branch .. //depot/projects/smpng/sys/dev/usb/usbdi_util.h#12 branch Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jun 24 18:09:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ED711065678; Wed, 24 Jun 2009 18:09:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 072EF1065672 for ; Wed, 24 Jun 2009 18:09:16 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E69298FC0A for ; Wed, 24 Jun 2009 18:09:15 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OI9FNc040303 for ; Wed, 24 Jun 2009 18:09:15 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OI987i040297 for perforce@freebsd.org; Wed, 24 Jun 2009 18:09:08 GMT (envelope-from jhb@freebsd.org) Date: Wed, 24 Jun 2009 18:09:08 GMT Message-Id: <200906241809.n5OI987i040297@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 165076 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 18:09:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=165076 Change 165076 by jhb@jhb_jhbbsd on 2009/06/24 18:09:04 IFC @165069 Affected files ... .. //depot/projects/multipass/sys/amd64/amd64/machdep.c#5 integrate .. //depot/projects/multipass/sys/amd64/amd64/mp_machdep.c#4 integrate .. //depot/projects/multipass/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/multipass/sys/amd64/conf/GENERIC#6 integrate .. //depot/projects/multipass/sys/amd64/conf/GENERIC.hints#3 integrate .. //depot/projects/multipass/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/multipass/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/multipass/sys/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/multipass/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/multipass/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/multipass/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/at91/at91_mci.c#3 integrate .. //depot/projects/multipass/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/multipass/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/multipass/sys/arm/conf/AVILA.hints#4 integrate .. //depot/projects/multipass/sys/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/multipass/sys/arm/conf/DB-78XXX#4 integrate .. //depot/projects/multipass/sys/arm/conf/DB-88F5XXX#4 integrate .. //depot/projects/multipass/sys/arm/conf/DB-88F6XXX#4 integrate .. //depot/projects/multipass/sys/arm/include/pmap.h#3 integrate .. //depot/projects/multipass/sys/arm/mv/common.c#4 integrate .. //depot/projects/multipass/sys/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/files.mv#3 integrate .. //depot/projects/multipass/sys/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/multipass/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/multipass/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/multipass/sys/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/multipass/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/multipass/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/multipass/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/avila_led.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/avila_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/multipass/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/files.avila#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425_iic.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425_npe.c#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425reg.h#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/multipass/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/multipass/sys/boot/forth/loader.conf#5 integrate .. //depot/projects/multipass/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/multipass/sys/cam/cam.c#2 integrate .. //depot/projects/multipass/sys/cam/cam_periph.c#4 integrate .. //depot/projects/multipass/sys/cam/cam_periph.h#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/multipass/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/multipass/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/multipass/sys/cddl/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/multipass/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/multipass/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/multipass/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/multipass/sys/compat/linprocfs/linprocfs.c#4 integrate .. //depot/projects/multipass/sys/compat/linux/linux_futex.c#4 integrate .. //depot/projects/multipass/sys/compat/linux/linux_ioctl.c#6 integrate .. //depot/projects/multipass/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/multipass/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/multipass/sys/compat/ndis/kern_ndis.c#4 integrate .. //depot/projects/multipass/sys/compat/ndis/subr_ndis.c#4 integrate .. //depot/projects/multipass/sys/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/multipass/sys/compat/svr4/svr4_sockio.c#4 integrate .. //depot/projects/multipass/sys/compat/svr4/svr4_stat.c#4 integrate .. //depot/projects/multipass/sys/conf/NOTES#6 integrate .. //depot/projects/multipass/sys/conf/files#6 integrate .. //depot/projects/multipass/sys/conf/files.amd64#4 integrate .. //depot/projects/multipass/sys/conf/files.i386#5 integrate .. //depot/projects/multipass/sys/conf/files.powerpc#5 integrate .. //depot/projects/multipass/sys/conf/kmod.mk#3 integrate .. //depot/projects/multipass/sys/conf/options#6 integrate .. //depot/projects/multipass/sys/contrib/altq/altq/altq_subr.c#5 integrate .. //depot/projects/multipass/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/multipass/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/multipass/sys/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/multipass/sys/contrib/rdma/rdma_addr.c#3 integrate .. //depot/projects/multipass/sys/contrib/rdma/rdma_cma.c#3 integrate .. //depot/projects/multipass/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/multipass/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/multipass/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/multipass/sys/dev/acpica/Osd/OsdSchedule.c#3 integrate .. //depot/projects/multipass/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/multipass/sys/dev/acpica/acpivar.h#3 integrate .. //depot/projects/multipass/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/multipass/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/multipass/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/multipass/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/multipass/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/multipass/sys/dev/ata/ata-dma.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/multipass/sys/dev/ata/ata-sata.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/ata-usb.c#4 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/multipass/sys/dev/ath/ath_rate/sample/sample.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/multipass/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/multipass/sys/dev/bce/if_bcereg.h#4 integrate .. //depot/projects/multipass/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/multipass/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/multipass/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/multipass/sys/dev/cfi/cfi_core.c#3 integrate .. //depot/projects/multipass/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_adapter.h#4 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_multiq.c#5 delete .. //depot/projects/multipass/sys/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/multipass/sys/dev/cxgb/sys/cxgb_support.c#3 delete .. //depot/projects/multipass/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/multipass/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/multipass/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#4 integrate .. //depot/projects/multipass/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/drmP.h#3 integrate .. //depot/projects/multipass/sys/dev/drm/drm_bufs.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/multipass/sys/dev/drm/drm_drv.c#4 integrate .. //depot/projects/multipass/sys/dev/drm/drm_irq.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/i915_dma.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/i915_drv.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/i915_drv.h#3 integrate .. //depot/projects/multipass/sys/dev/drm/i915_irq.c#3 integrate .. //depot/projects/multipass/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/multipass/sys/dev/firewire/firewire.c#4 integrate .. //depot/projects/multipass/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/multipass/sys/dev/fxp/if_fxp.c#5 integrate .. //depot/projects/multipass/sys/dev/fxp/if_fxpvar.h#3 integrate .. //depot/projects/multipass/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/multipass/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/multipass/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/multipass/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/multipass/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/multipass/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/multipass/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/multipass/sys/dev/if_ndis/if_ndis_pccard.c#3 integrate .. //depot/projects/multipass/sys/dev/if_ndis/if_ndis_pci.c#3 integrate .. //depot/projects/multipass/sys/dev/if_ndis/if_ndis_usb.c#5 integrate .. //depot/projects/multipass/sys/dev/ksyms/ksyms.c#2 integrate .. //depot/projects/multipass/sys/dev/mca/mca_bus.c#3 integrate .. //depot/projects/multipass/sys/dev/md/md.c#4 integrate .. //depot/projects/multipass/sys/dev/mfi/mfi.c#4 integrate .. //depot/projects/multipass/sys/dev/mge/if_mge.c#5 integrate .. //depot/projects/multipass/sys/dev/mii/miidevs#4 integrate .. //depot/projects/multipass/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/multipass/sys/dev/mxge/eth_z8e.h#3 integrate .. //depot/projects/multipass/sys/dev/mxge/ethp_z8e.h#3 integrate .. //depot/projects/multipass/sys/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/multipass/sys/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/multipass/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/multipass/sys/dev/mxge/rss_eth_z8e.h#3 integrate .. //depot/projects/multipass/sys/dev/mxge/rss_ethp_z8e.h#3 integrate .. //depot/projects/multipass/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/multipass/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/multipass/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/multipass/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/multipass/sys/dev/ofw/openfirm.c#3 integrate .. //depot/projects/multipass/sys/dev/ofw/openfirm.h#3 integrate .. //depot/projects/multipass/sys/dev/ofw/openfirmio.c#3 integrate .. //depot/projects/multipass/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/multipass/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/multipass/sys/dev/pci/pci.c#5 integrate .. //depot/projects/multipass/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/multipass/sys/dev/puc/pucdata.c#4 integrate .. //depot/projects/multipass/sys/dev/sec/sec.c#2 integrate .. //depot/projects/multipass/sys/dev/smc/if_smc.c#3 integrate .. //depot/projects/multipass/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/multipass/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/multipass/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/multipass/sys/dev/sound/midi/midi.c#3 integrate .. //depot/projects/multipass/sys/dev/sound/midi/mpu401.c#3 integrate .. //depot/projects/multipass/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/multipass/sys/dev/sound/pcm/channel.h#3 integrate .. //depot/projects/multipass/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/multipass/sys/dev/sound/pcm/mixer.h#3 integrate .. //depot/projects/multipass/sys/dev/sound/pcm/sound.h#5 integrate .. //depot/projects/multipass/sys/dev/sound/usb/uaudio.c#4 integrate .. //depot/projects/multipass/sys/dev/sound/version.h#3 integrate .. //depot/projects/multipass/sys/dev/spibus/spibus.c#3 integrate .. //depot/projects/multipass/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/multipass/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/multipass/sys/dev/syscons/daemon/daemon_saver.c#3 integrate .. //depot/projects/multipass/sys/dev/syscons/scterm-teken.c#3 integrate .. //depot/projects/multipass/sys/dev/syscons/teken/teken.c#3 integrate .. //depot/projects/multipass/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/multipass/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/multipass/sys/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/multipass/sys/dev/tsec/if_tsec.h#3 integrate .. //depot/projects/multipass/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/multipass/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/controller/at91dci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/atmegadci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/atmegadci_atmelarm.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ehci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/musb_otg.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ohci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/uhci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/controller/usb_controller.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/uss820dci.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/controller/uss820dci_atmelarm.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/input/uhid.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/input/ukbd.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/input/ums.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/misc/udbp.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/misc/ufm.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_aue.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_axe.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_cdce.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_cue.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_kue.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_rue.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_udav.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/net/usb_ethernet.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/multipass/sys/dev/usb/serial/u3g.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uark.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ubsa.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ubser.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uchcom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ucycom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ufoma.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uftdi.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ugensa.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uipaq.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/ulpt.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/umct.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/umodem.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/umoscom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uplcom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/usb_serial.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/usb_serial.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uslcom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uvisor.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/serial/uvscom.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/storage/umass.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/storage/urio.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/storage/ustorage_fs.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/template/usb_template.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/template/usb_template.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_bus.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_busdma.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_busdma.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_compat_linux.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_compat_linux.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_controller.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/usb_core.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_debug.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_debug.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_defs.h#2 delete .. //depot/projects/multipass/sys/dev/usb/usb_dev.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_dev.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_device.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_device.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_dynamic.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_endian.h#2 integrate .. //depot/projects/multipass/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_error.h#2 delete .. //depot/projects/multipass/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/multipass/sys/dev/usb/usb_generic.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_handle_request.h#2 delete .. //depot/projects/multipass/sys/dev/usb/usb_hid.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_hid.h#3 delete .. //depot/projects/multipass/sys/dev/usb/usb_hub.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_hub.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_if.m#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_ioctl.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_lookup.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_lookup.h#3 delete .. //depot/projects/multipass/sys/dev/usb/usb_mbuf.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_mbuf.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_mfunc.h#2 delete .. //depot/projects/multipass/sys/dev/usb/usb_msctest.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_msctest.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_parse.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_parse.h#3 delete .. //depot/projects/multipass/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/multipass/sys/dev/usb/usb_process.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_process.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_request.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_request.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_revision.h#4 delete .. //depot/projects/multipass/sys/dev/usb/usb_transfer.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_transfer.h#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_util.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/multipass/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/multipass/sys/dev/usb/usbdi.h#3 branch .. //depot/projects/multipass/sys/dev/usb/usbdi_util.h#3 branch .. //depot/projects/multipass/sys/dev/usb/usbhid.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_rum.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_uath.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_upgt.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_ural.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_zyd.c#5 integrate .. //depot/projects/multipass/sys/dev/wb/if_wb.c#2 integrate .. //depot/projects/multipass/sys/dev/wi/if_wi.c#5 integrate .. //depot/projects/multipass/sys/dev/wi/if_wivar.h#4 integrate .. //depot/projects/multipass/sys/dev/xen/blkfront/blkfront.c#3 integrate .. //depot/projects/multipass/sys/dev/xen/netfront/netfront.c#5 integrate .. //depot/projects/multipass/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/multipass/sys/fs/cd9660/cd9660_vnops.c#4 integrate .. //depot/projects/multipass/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/multipass/sys/fs/nfs/nfs.h#3 integrate .. //depot/projects/multipass/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/multipass/sys/fs/nfs/nfsport.h#3 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clbio.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clkrpc.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clstate.c#4 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clvfsops.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clvnops.c#4 integrate .. //depot/projects/multipass/sys/fs/nfsserver/nfs_nfsdkrpc.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsserver/nfs_nfsdport.c#3 integrate .. //depot/projects/multipass/sys/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/multipass/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/multipass/sys/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/multipass/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/multipass/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/multipass/sys/fs/procfs/procfs_map.c#3 integrate .. //depot/projects/multipass/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/multipass/sys/fs/tmpfs/tmpfs_vnops.c#5 integrate .. //depot/projects/multipass/sys/fs/unionfs/union_vnops.c#3 integrate .. //depot/projects/multipass/sys/geom/geom.h#3 integrate .. //depot/projects/multipass/sys/geom/geom_io.c#2 integrate .. //depot/projects/multipass/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/multipass/sys/geom/label/g_label.c#4 integrate .. //depot/projects/multipass/sys/geom/label/g_label.h#3 integrate .. //depot/projects/multipass/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/multipass/sys/gnu/fs/ext2fs/ext2_lookup.c#3 integrate .. //depot/projects/multipass/sys/gnu/fs/ext2fs/ext2_vnops.c#4 integrate .. //depot/projects/multipass/sys/i386/acpica/acpi_machdep.c#4 integrate .. //depot/projects/multipass/sys/i386/conf/GENERIC#6 integrate .. //depot/projects/multipass/sys/i386/conf/NOTES#5 integrate .. //depot/projects/multipass/sys/i386/i386/elf_machdep.c#3 integrate .. //depot/projects/multipass/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/multipass/sys/i386/i386/mp_machdep.c#4 integrate .. //depot/projects/multipass/sys/i386/i386/msi.c#3 integrate .. //depot/projects/multipass/sys/i386/i386/pmap.c#6 integrate .. //depot/projects/multipass/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/multipass/sys/i386/ibcs2/ibcs2_misc.c#4 integrate .. //depot/projects/multipass/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/multipass/sys/i386/include/cpufunc.h#3 integrate .. //depot/projects/multipass/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/multipass/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/multipass/sys/i386/include/pmap.h#3 integrate .. //depot/projects/multipass/sys/i386/include/specialreg.h#4 integrate .. //depot/projects/multipass/sys/i386/isa/clock.c#4 integrate .. //depot/projects/multipass/sys/i386/pci/pci_bus.c#3 integrate .. //depot/projects/multipass/sys/i386/xen/mp_machdep.c#5 integrate .. //depot/projects/multipass/sys/ia64/ia64/elf_machdep.c#4 integrate .. //depot/projects/multipass/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/multipass/sys/ia64/ia64/mp_machdep.c#4 integrate .. //depot/projects/multipass/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/multipass/sys/kern/init_main.c#4 integrate .. //depot/projects/multipass/sys/kern/init_sysent.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_acct.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_alq.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_event.c#2 integrate .. //depot/projects/multipass/sys/kern/kern_exec.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_exit.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_fork.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_jail.c#6 integrate .. //depot/projects/multipass/sys/kern/kern_lock.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_mbuf.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_mib.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_poll.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_proc.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_prot.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_resource.c#2 integrate .. //depot/projects/multipass/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_sig.c#3 integrate .. //depot/projects/multipass/sys/kern/kern_sysctl.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_uuid.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_vimage.c#4 integrate .. //depot/projects/multipass/sys/kern/link_elf.c#4 integrate .. //depot/projects/multipass/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/multipass/sys/kern/linker_if.m#3 integrate .. //depot/projects/multipass/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/multipass/sys/kern/sched_ule.c#4 integrate .. //depot/projects/multipass/sys/kern/subr_pcpu.c#4 integrate .. //depot/projects/multipass/sys/kern/subr_stack.c#2 integrate .. //depot/projects/multipass/sys/kern/sys_pipe.c#5 integrate .. //depot/projects/multipass/sys/kern/sys_process.c#3 integrate .. //depot/projects/multipass/sys/kern/syscalls.c#3 integrate .. //depot/projects/multipass/sys/kern/syscalls.master#3 integrate .. //depot/projects/multipass/sys/kern/systrace_args.c#3 integrate .. //depot/projects/multipass/sys/kern/sysv_msg.c#3 integrate .. //depot/projects/multipass/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/multipass/sys/kern/sysv_shm.c#5 integrate .. //depot/projects/multipass/sys/kern/tty.c#5 integrate .. //depot/projects/multipass/sys/kern/tty_pts.c#5 integrate .. //depot/projects/multipass/sys/kern/uipc_mbuf.c#4 integrate .. //depot/projects/multipass/sys/kern/uipc_mqueue.c#5 integrate .. //depot/projects/multipass/sys/kern/uipc_shm.c#4 integrate .. //depot/projects/multipass/sys/kern/uipc_sockbuf.c#4 integrate .. //depot/projects/multipass/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/multipass/sys/kern/uipc_usrreq.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_aio.c#4 integrate .. //depot/projects/multipass/sys/kern/vfs_cache.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_default.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_export.c#4 integrate .. //depot/projects/multipass/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/multipass/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/multipass/sys/kern/vnode_if.src#5 integrate .. //depot/projects/multipass/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/multipass/sys/libkern/iconv.c#3 integrate .. //depot/projects/multipass/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/multipass/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/multipass/sys/mips/adm5120/if_admsw.c#2 integrate .. //depot/projects/multipass/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/multipass/sys/mips/conf/ADM5120#3 integrate .. //depot/projects/multipass/sys/mips/idt/files.idt#2 integrate .. //depot/projects/multipass/sys/mips/idt/idtpci.c#3 integrate .. //depot/projects/multipass/sys/mips/idt/if_kr.c#2 integrate .. //depot/projects/multipass/sys/mips/malta/gt_pci.c#3 integrate .. //depot/projects/multipass/sys/mips/mips/elf_machdep.c#3 integrate .. //depot/projects/multipass/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/multipass/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/multipass/sys/mips/mips/pmap.c#5 integrate .. //depot/projects/multipass/sys/modules/Makefile#6 integrate .. //depot/projects/multipass/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/acpi/acpi/Makefile#4 integrate .. //depot/projects/multipass/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/multipass/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/multipass/sys/modules/cas/Makefile#1 branch .. //depot/projects/multipass/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/gem/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/if_ppp/Makefile#3 delete .. //depot/projects/multipass/sys/modules/if_sl/Makefile#2 delete .. //depot/projects/multipass/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/netgraph/Makefile#3 integrate .. //depot/projects/multipass/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/multipass/sys/modules/sound/sound/Makefile#5 integrate .. //depot/projects/multipass/sys/modules/wlan/Makefile#5 integrate .. //depot/projects/multipass/sys/net/bpf.c#5 integrate .. //depot/projects/multipass/sys/net/bridgestp.c#5 integrate .. //depot/projects/multipass/sys/net/fddi.h#2 integrate .. //depot/projects/multipass/sys/net/firewire.h#2 integrate .. //depot/projects/multipass/sys/net/flowtable.c#3 integrate .. //depot/projects/multipass/sys/net/flowtable.h#3 integrate .. //depot/projects/multipass/sys/net/if.c#6 integrate .. //depot/projects/multipass/sys/net/if.h#5 integrate .. //depot/projects/multipass/sys/net/if_arc.h#3 integrate .. //depot/projects/multipass/sys/net/if_arcsubr.c#5 integrate .. //depot/projects/multipass/sys/net/if_bridge.c#6 integrate .. //depot/projects/multipass/sys/net/if_ef.c#5 integrate .. //depot/projects/multipass/sys/net/if_enc.c#3 integrate .. //depot/projects/multipass/sys/net/if_ethersubr.c#6 integrate .. //depot/projects/multipass/sys/net/if_fddisubr.c#6 integrate .. //depot/projects/multipass/sys/net/if_fwsubr.c#6 integrate .. //depot/projects/multipass/sys/net/if_gre.c#4 integrate .. //depot/projects/multipass/sys/net/if_iso88025subr.c#6 integrate .. //depot/projects/multipass/sys/net/if_mib.c#5 integrate .. //depot/projects/multipass/sys/net/if_spppsubr.c#4 integrate .. //depot/projects/multipass/sys/net/if_stf.c#5 integrate .. //depot/projects/multipass/sys/net/if_tap.c#3 integrate .. //depot/projects/multipass/sys/net/if_tun.c#5 integrate .. //depot/projects/multipass/sys/net/if_var.h#6 integrate .. //depot/projects/multipass/sys/net/if_vlan.c#5 integrate .. //depot/projects/multipass/sys/net/iso88025.h#3 integrate .. //depot/projects/multipass/sys/net/netisr.c#4 integrate .. //depot/projects/multipass/sys/net/netisr.h#5 integrate .. //depot/projects/multipass/sys/net/pfkeyv2.h#2 integrate .. //depot/projects/multipass/sys/net/raw_cb.c#4 integrate .. //depot/projects/multipass/sys/net/raw_usrreq.c#4 integrate .. //depot/projects/multipass/sys/net/route.c#5 integrate .. //depot/projects/multipass/sys/net/route.h#5 integrate .. //depot/projects/multipass/sys/net/rtsock.c#6 integrate .. //depot/projects/multipass/sys/net/vnet.h#5 integrate .. //depot/projects/multipass/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/multipass/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ddb.c#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_node.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_sta.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_wds.c#5 integrate .. //depot/projects/multipass/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/multipass/sys/netatalk/aarp.c#3 integrate .. //depot/projects/multipass/sys/netatalk/at_control.c#3 integrate .. //depot/projects/multipass/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/multipass/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/multipass/sys/netatalk/at_var.h#2 integrate .. //depot/projects/multipass/sys/netatalk/ddp_input.c#3 integrate .. //depot/projects/multipass/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/multipass/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/multipass/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/multipass/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/multipass/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/multipass/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#4 integrate .. //depot/projects/multipass/sys/netgraph/netgraph.h#4 integrate .. //depot/projects/multipass/sys/netgraph/ng_base.c#5 integrate .. //depot/projects/multipass/sys/netgraph/ng_eiface.c#4 integrate .. //depot/projects/multipass/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/multipass/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/multipass/sys/netgraph/ng_ip_input.c#2 integrate .. //depot/projects/multipass/sys/netinet/if_ether.c#6 integrate .. //depot/projects/multipass/sys/netinet/igmp.c#6 integrate .. //depot/projects/multipass/sys/netinet/igmp.h#3 integrate .. //depot/projects/multipass/sys/netinet/in.c#6 integrate .. //depot/projects/multipass/sys/netinet/in_mcast.c#5 integrate .. //depot/projects/multipass/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/multipass/sys/netinet/in_pcb.h#5 integrate .. //depot/projects/multipass/sys/netinet/in_proto.c#5 integrate .. //depot/projects/multipass/sys/netinet/in_rmx.c#6 integrate .. //depot/projects/multipass/sys/netinet/in_var.h#4 integrate .. //depot/projects/multipass/sys/netinet/ip_carp.c#4 integrate .. //depot/projects/multipass/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_icmp.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_input.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_mroute.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_mroute.h#4 integrate .. //depot/projects/multipass/sys/netinet/ip_options.c#4 integrate .. //depot/projects/multipass/sys/netinet/ip_output.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_var.h#4 integrate .. //depot/projects/multipass/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/multipass/sys/netinet/ipfw/ip_fw2.c#3 integrate .. //depot/projects/multipass/sys/netinet/raw_ip.c#6 integrate .. //depot/projects/multipass/sys/netinet/sctp.h#3 integrate .. //depot/projects/multipass/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/multipass/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/multipass/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/multipass/sys/netinet/tcp_hostcache.c#5 integrate .. //depot/projects/multipass/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/multipass/sys/netinet/tcp_offload.c#3 integrate .. //depot/projects/multipass/sys/netinet/tcp_output.c#4 integrate .. //depot/projects/multipass/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/multipass/sys/netinet/tcp_timer.c#3 integrate .. //depot/projects/multipass/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/multipass/sys/netinet/tcp_var.h#5 integrate .. //depot/projects/multipass/sys/netinet/udp.h#2 integrate .. //depot/projects/multipass/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/multipass/sys/netinet/udp_var.h#4 integrate .. //depot/projects/multipass/sys/netinet/vinet.h#5 integrate .. //depot/projects/multipass/sys/netinet6/frag6.c#4 integrate .. //depot/projects/multipass/sys/netinet6/icmp6.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6_ifattach.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/multipass/sys/netinet6/in6_pcb.h#3 integrate .. //depot/projects/multipass/sys/netinet6/in6_proto.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6_rmx.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6_src.c#3 integrate .. //depot/projects/multipass/sys/netinet6/in6_var.h#4 integrate .. //depot/projects/multipass/sys/netinet6/ip6_input.c#6 integrate .. //depot/projects/multipass/sys/netinet6/ip6_mroute.c#5 integrate .. //depot/projects/multipass/sys/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/multipass/sys/netinet6/ip6_output.c#6 integrate .. //depot/projects/multipass/sys/netinet6/ip6_var.h#5 integrate .. //depot/projects/multipass/sys/netinet6/mld6.c#5 integrate .. //depot/projects/multipass/sys/netinet6/nd6.c#6 integrate .. //depot/projects/multipass/sys/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/multipass/sys/netinet6/nd6_rtr.c#6 integrate .. //depot/projects/multipass/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/multipass/sys/netinet6/scope6.c#4 integrate .. //depot/projects/multipass/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/multipass/sys/netipsec/ipsec.c#5 integrate .. //depot/projects/multipass/sys/netipsec/ipsec_input.c#4 integrate .. //depot/projects/multipass/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/multipass/sys/netipsec/key.c#5 integrate .. //depot/projects/multipass/sys/netipsec/key.h#4 integrate .. //depot/projects/multipass/sys/netipsec/keydb.h#2 integrate .. //depot/projects/multipass/sys/netipsec/xform_ipip.c#4 integrate .. //depot/projects/multipass/sys/netipsec/xform_tcp.c#3 integrate .. //depot/projects/multipass/sys/netipx/README#2 integrate .. //depot/projects/multipass/sys/netipx/ipx.c#2 integrate .. //depot/projects/multipass/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/multipass/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/multipass/sys/netipx/ipx_outputfl.c#3 integrate .. //depot/projects/multipass/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/multipass/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/multipass/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/multipass/sys/netipx/spx.h#3 integrate .. //depot/projects/multipass/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/multipass/sys/netipx/spx_usrreq.c#4 integrate .. //depot/projects/multipass/sys/netipx/spx_var.h#3 integrate .. //depot/projects/multipass/sys/nfsclient/bootp_subr.c#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_vfsops.c#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_srvkrpc.c#4 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_srvsock.c#3 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/multipass/sys/nlm/nlm_advlock.c#4 integrate .. //depot/projects/multipass/sys/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/multipass/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/multipass/sys/powerpc/aim/mmu_oea.c#4 integrate .. //depot/projects/multipass/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/multipass/sys/powerpc/booke/pmap.c#5 integrate .. //depot/projects/multipass/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/multipass/sys/powerpc/conf/MPC85XX#5 integrate .. //depot/projects/multipass/sys/powerpc/conf/NOTES#5 integrate .. //depot/projects/multipass/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/multipass/sys/powerpc/include/spr.h#5 integrate .. //depot/projects/multipass/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/multipass/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/multipass/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/multipass/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/multipass/sys/powerpc/ofw/ofw_real.c#2 integrate .. //depot/projects/multipass/sys/powerpc/powermac/cuda.c#3 integrate .. //depot/projects/multipass/sys/powerpc/powermac/pmu.c#4 integrate .. //depot/projects/multipass/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/multipass/sys/powerpc/powerpc/cpu.c#5 integrate .. //depot/projects/multipass/sys/powerpc/powerpc/elf_machdep.c#3 integrate .. //depot/projects/multipass/sys/powerpc/powerpc/mp_machdep.c#4 integrate .. //depot/projects/multipass/sys/powerpc/psim/ata_iobus.c#2 integrate .. //depot/projects/multipass/sys/rpc/clnt_rc.c#3 integrate .. //depot/projects/multipass/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/multipass/sys/rpc/svc.c#3 integrate .. //depot/projects/multipass/sys/rpc/svc_auth.c#3 integrate .. //depot/projects/multipass/sys/rpc/svc_auth_unix.c#2 integrate .. //depot/projects/multipass/sys/rpc/svc_generic.c#2 integrate .. //depot/projects/multipass/sys/rpc/svc_vc.c#3 integrate .. //depot/projects/multipass/sys/security/audit/audit_pipe.c#4 integrate .. //depot/projects/multipass/sys/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/multipass/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/multipass/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/multipass/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/multipass/sys/sparc64/sparc64/elf_machdep.c#3 integrate .. //depot/projects/multipass/sys/sparc64/sparc64/machdep.c#4 integrate .. //depot/projects/multipass/sys/sparc64/sparc64/mp_machdep.c#3 integrate .. //depot/projects/multipass/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/multipass/sys/sun4v/include/pcpu.h#4 integrate .. //depot/projects/multipass/sys/sun4v/sun4v/machdep.c#4 integrate .. //depot/projects/multipass/sys/sun4v/sun4v/mp_machdep.c#3 integrate .. //depot/projects/multipass/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/multipass/sys/sys/bio.h#2 integrate .. //depot/projects/multipass/sys/sys/cpuset.h#4 integrate .. //depot/projects/multipass/sys/sys/event.h#2 integrate .. //depot/projects/multipass/sys/sys/fcntl.h#3 integrate .. //depot/projects/multipass/sys/sys/iconv.h#2 integrate .. //depot/projects/multipass/sys/sys/jail.h#5 integrate .. //depot/projects/multipass/sys/sys/kobj.h#3 integrate .. //depot/projects/multipass/sys/sys/ktr.h#4 integrate .. //depot/projects/multipass/sys/sys/linker.h#2 integrate .. //depot/projects/multipass/sys/sys/lock.h#4 integrate .. //depot/projects/multipass/sys/sys/lock_profile.h#3 integrate .. //depot/projects/multipass/sys/sys/lockmgr.h#3 integrate .. //depot/projects/multipass/sys/sys/mbuf.h#4 integrate .. //depot/projects/multipass/sys/sys/mutex.h#3 integrate .. //depot/projects/multipass/sys/sys/param.h#5 integrate .. //depot/projects/multipass/sys/sys/pcpu.h#4 integrate .. //depot/projects/multipass/sys/sys/priv.h#5 integrate .. //depot/projects/multipass/sys/sys/proc.h#5 integrate .. //depot/projects/multipass/sys/sys/resource.h#3 integrate .. //depot/projects/multipass/sys/sys/resourcevar.h#2 integrate .. //depot/projects/multipass/sys/sys/sched.h#3 integrate .. //depot/projects/multipass/sys/sys/socketvar.h#4 integrate .. //depot/projects/multipass/sys/sys/sockio.h#3 integrate .. //depot/projects/multipass/sys/sys/stack.h#2 integrate .. //depot/projects/multipass/sys/sys/sx.h#3 integrate .. //depot/projects/multipass/sys/sys/syscall.h#3 integrate .. //depot/projects/multipass/sys/sys/syscall.mk#3 integrate .. //depot/projects/multipass/sys/sys/sysctl.h#4 integrate .. //depot/projects/multipass/sys/sys/syslimits.h#2 integrate .. //depot/projects/multipass/sys/sys/sysproto.h#3 integrate .. //depot/projects/multipass/sys/sys/tty.h#4 integrate .. //depot/projects/multipass/sys/sys/ucred.h#4 integrate .. //depot/projects/multipass/sys/sys/user.h#4 integrate .. //depot/projects/multipass/sys/sys/vimage.h#6 integrate .. //depot/projects/multipass/sys/sys/vnode.h#4 integrate .. //depot/projects/multipass/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/multipass/sys/ufs/ufs/ufs_dirhash.c#4 integrate .. //depot/projects/multipass/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/multipass/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/multipass/sys/vm/default_pager.c#2 integrate .. //depot/projects/multipass/sys/vm/device_pager.c#2 integrate .. //depot/projects/multipass/sys/vm/phys_pager.c#2 integrate .. //depot/projects/multipass/sys/vm/swap_pager.c#5 integrate .. //depot/projects/multipass/sys/vm/uma_core.c#3 integrate .. //depot/projects/multipass/sys/vm/vm.h#2 integrate .. //depot/projects/multipass/sys/vm/vm_contig.c#4 integrate .. //depot/projects/multipass/sys/vm/vm_extern.h#3 integrate .. //depot/projects/multipass/sys/vm/vm_object.c#5 integrate .. //depot/projects/multipass/sys/vm/vm_object.h#3 integrate .. //depot/projects/multipass/sys/vm/vm_page.c#5 integrate .. //depot/projects/multipass/sys/vm/vm_phys.c#2 integrate Differences ... ==== //depot/projects/multipass/sys/amd64/amd64/machdep.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.702 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1501,6 +1501,8 @@ wrmsr(MSR_KGSBASE, 0); /* User value while in the kernel */ pcpu_init(pc, 0, sizeof(struct pcpu)); + dpcpu_init((void *)(physfree + KERNBASE), 0); + physfree += DPCPU_SIZE; PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); ==== //depot/projects/multipass/sys/amd64/amd64/mp_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.308 2009/05/14 17:43:00 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -93,9 +93,10 @@ /* Free these after use */ void *bootstacks[MAXCPU]; -/* Temporary holder for double fault stack */ +/* Temporary variables for init_secondary() */ char *doublefault_stack; char *nmi_stack; +void *dpcpu; /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -590,6 +591,7 @@ /* prime data page for it to use */ pcpu_init(pc, cpu, sizeof(struct pcpu)); + dpcpu_init(dpcpu, cpu); pc->pc_apic_id = cpu_apic_ids[cpu]; pc->pc_prvspace = pc; pc->pc_curthread = 0; @@ -885,6 +887,7 @@ bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); nmi_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); + dpcpu = (void *)kmem_alloc(kernel_map, DPCPU_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/multipass/sys/amd64/amd64/msi.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/multipass/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/multipass/sys/amd64/conf/GENERIC#6 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.528 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ cpu HAMMER ident GENERIC @@ -66,6 +66,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/multipass/sys/amd64/conf/GENERIC.hints#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.21 2009/06/15 21:55:29 ps Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -24,3 +24,6 @@ hint.uart.1.irq="3" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.atrtc.0.at="isa" +hint.atrtc.0.port="0x70" +hint.atrtc.0.irq="8" >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 24 18:53:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C4661065670; Wed, 24 Jun 2009 18:53:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C09E6106564A for ; Wed, 24 Jun 2009 18:53:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AD19E8FC17 for ; Wed, 24 Jun 2009 18:53:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OIr4dO044158 for ; Wed, 24 Jun 2009 18:53:04 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OIr4vS044156 for perforce@freebsd.org; Wed, 24 Jun 2009 18:53:04 GMT (envelope-from jhb@freebsd.org) Date: Wed, 24 Jun 2009 18:53:04 GMT Message-Id: <200906241853.n5OIr4vS044156@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 165083 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 18:53:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=165083 Change 165083 by jhb@jhb_jhbbsd on 2009/06/24 18:53:03 Missing bits of kib's RLIMIT_SWAP commit. Affected files ... .. //depot/projects/smpng/sys/vm/vm_extern.h#34 edit .. //depot/projects/smpng/sys/vm/vm_fault.c#76 edit .. //depot/projects/smpng/sys/vm/vm_kern.c#44 edit .. //depot/projects/smpng/sys/vm/vm_map.c#99 edit .. //depot/projects/smpng/sys/vm/vm_map.h#43 edit .. //depot/projects/smpng/sys/vm/vm_mmap.c#78 edit .. //depot/projects/smpng/sys/vm/vm_object.c#109 edit .. //depot/projects/smpng/sys/vm/vm_object.h#38 edit .. //depot/projects/smpng/sys/vm/vm_pager.c#27 edit .. //depot/projects/smpng/sys/vm/vm_pager.h#15 edit .. //depot/projects/smpng/sys/vm/vnode_pager.c#74 edit Differences ... ==== //depot/projects/smpng/sys/vm/vm_extern.h#34 (text+ko) ==== @@ -63,7 +63,7 @@ int vm_mmap(vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, objtype_t, void *, vm_ooffset_t); void vm_set_page_size(void); struct vmspace *vmspace_alloc(vm_offset_t, vm_offset_t); -struct vmspace *vmspace_fork(struct vmspace *); +struct vmspace *vmspace_fork(struct vmspace *, vm_ooffset_t *); int vmspace_exec(struct proc *, vm_offset_t, vm_offset_t); int vmspace_unshare(struct proc *); void vmspace_exit(struct thread *); ==== //depot/projects/smpng/sys/vm/vm_fault.c#76 (text+ko) ==== @@ -1163,7 +1163,11 @@ VM_OBJECT_LOCK(dst_object); dst_entry->object.vm_object = dst_object; dst_entry->offset = 0; - + if (dst_entry->uip != NULL) { + dst_object->uip = dst_entry->uip; + dst_object->charge = dst_entry->end - dst_entry->start; + dst_entry->uip = NULL; + } prot = dst_entry->max_protection; /* ==== //depot/projects/smpng/sys/vm/vm_kern.c#44 (text+ko) ==== @@ -235,7 +235,8 @@ *min = vm_map_min(parent); ret = vm_map_find(parent, NULL, 0, min, size, superpage_align ? - VMFS_ALIGNED_SPACE : VMFS_ANY_SPACE, VM_PROT_ALL, VM_PROT_ALL, 0); + VMFS_ALIGNED_SPACE : VMFS_ANY_SPACE, VM_PROT_ALL, VM_PROT_ALL, + MAP_ACC_NO_CHARGE); if (ret != KERN_SUCCESS) panic("kmem_suballoc: bad status return of %d", ret); *max = *min + size; @@ -422,6 +423,8 @@ vm_offset_t addr; size = round_page(size); + if (!swap_reserve(size)) + return (0); for (;;) { /* @@ -434,12 +437,14 @@ /* no space now; see if we can ever get space */ if (vm_map_max(map) - vm_map_min(map) < size) { vm_map_unlock(map); + swap_release(size); return (0); } map->needs_wakeup = TRUE; vm_map_unlock_and_wait(map, 0); } - vm_map_insert(map, NULL, 0, addr, addr + size, VM_PROT_ALL, VM_PROT_ALL, 0); + vm_map_insert(map, NULL, 0, addr, addr + size, VM_PROT_ALL, + VM_PROT_ALL, MAP_ACC_CHARGED); vm_map_unlock(map); return (addr); } ==== //depot/projects/smpng/sys/vm/vm_map.c#99 (text+ko) ==== @@ -149,6 +149,10 @@ static void vmspace_zdtor(void *mem, int size, void *arg); #endif +#define ENTRY_CHARGED(e) ((e)->uip != NULL || \ + ((e)->object.vm_object != NULL && (e)->object.vm_object->uip != NULL && \ + !((e)->eflags & MAP_ENTRY_NEEDS_COPY))) + /* * PROC_VMSPACE_{UN,}LOCK() can be a noop as long as vmspaces are type * stable. @@ -1076,6 +1080,8 @@ vm_map_entry_t prev_entry; vm_map_entry_t temp_entry; vm_eflags_t protoeflags; + struct uidinfo *uip; + boolean_t charge_prev_obj; VM_MAP_ASSERT_LOCKED(map); @@ -1103,6 +1109,7 @@ return (KERN_NO_SPACE); protoeflags = 0; + charge_prev_obj = FALSE; if (cow & MAP_COPY_ON_WRITE) protoeflags |= MAP_ENTRY_COW|MAP_ENTRY_NEEDS_COPY; @@ -1118,6 +1125,27 @@ if (cow & MAP_DISABLE_COREDUMP) protoeflags |= MAP_ENTRY_NOCOREDUMP; + uip = NULL; + KASSERT((object != kmem_object && object != kernel_object) || + ((object == kmem_object || object == kernel_object) && + !(protoeflags & MAP_ENTRY_NEEDS_COPY)), + ("kmem or kernel object and cow")); + if (cow & (MAP_ACC_NO_CHARGE | MAP_NOFAULT)) + goto charged; + if ((cow & MAP_ACC_CHARGED) || ((prot & VM_PROT_WRITE) && + ((protoeflags & MAP_ENTRY_NEEDS_COPY) || object == NULL))) { + if (!(cow & MAP_ACC_CHARGED) && !swap_reserve(end - start)) + return (KERN_RESOURCE_SHORTAGE); + KASSERT(object == NULL || (cow & MAP_ENTRY_NEEDS_COPY) || + object->uip == NULL, + ("OVERCOMMIT: vm_map_insert o %p", object)); + uip = curthread->td_ucred->cr_ruidinfo; + uihold(uip); + if (object == NULL && !(protoeflags & MAP_ENTRY_NEEDS_COPY)) + charge_prev_obj = TRUE; + } + +charged: if (object != NULL) { /* * OBJ_ONEMAPPING must be cleared unless this mapping @@ -1135,11 +1163,13 @@ (prev_entry->eflags == protoeflags) && (prev_entry->end == start) && (prev_entry->wired_count == 0) && - ((prev_entry->object.vm_object == NULL) || - vm_object_coalesce(prev_entry->object.vm_object, - prev_entry->offset, - (vm_size_t)(prev_entry->end - prev_entry->start), - (vm_size_t)(end - prev_entry->end)))) { + (prev_entry->uip == uip || + (prev_entry->object.vm_object != NULL && + (prev_entry->object.vm_object->uip == uip))) && + vm_object_coalesce(prev_entry->object.vm_object, + prev_entry->offset, + (vm_size_t)(prev_entry->end - prev_entry->start), + (vm_size_t)(end - prev_entry->end), charge_prev_obj)) { /* * We were able to extend the object. Determine if we * can extend the previous map entry to include the @@ -1152,6 +1182,8 @@ prev_entry->end = end; vm_map_entry_resize_free(map, prev_entry); vm_map_simplify_entry(map, prev_entry); + if (uip != NULL) + uifree(uip); return (KERN_SUCCESS); } @@ -1165,6 +1197,12 @@ offset = prev_entry->offset + (prev_entry->end - prev_entry->start); vm_object_reference(object); + if (uip != NULL && object != NULL && object->uip != NULL && + !(prev_entry->eflags & MAP_ENTRY_NEEDS_COPY)) { + /* Object already accounts for this uid. */ + uifree(uip); + uip = NULL; + } } /* @@ -1179,6 +1217,7 @@ new_entry = vm_map_entry_create(map); new_entry->start = start; new_entry->end = end; + new_entry->uip = NULL; new_entry->eflags = protoeflags; new_entry->object.vm_object = object; @@ -1190,6 +1229,10 @@ new_entry->max_protection = max; new_entry->wired_count = 0; + KASSERT(uip == NULL || !ENTRY_CHARGED(new_entry), + ("OVERCOMMIT: vm_map_insert leaks vm_map %p", new_entry)); + new_entry->uip = uip; + /* * Insert the new entry into the list */ @@ -1398,7 +1441,8 @@ (prev->protection == entry->protection) && (prev->max_protection == entry->max_protection) && (prev->inheritance == entry->inheritance) && - (prev->wired_count == entry->wired_count)) { + (prev->wired_count == entry->wired_count) && + (prev->uip == entry->uip)) { vm_map_entry_unlink(map, prev); entry->start = prev->start; entry->offset = prev->offset; @@ -1416,6 +1460,8 @@ */ if (prev->object.vm_object) vm_object_deallocate(prev->object.vm_object); + if (prev->uip != NULL) + uifree(prev->uip); vm_map_entry_dispose(map, prev); } } @@ -1431,7 +1477,8 @@ (next->protection == entry->protection) && (next->max_protection == entry->max_protection) && (next->inheritance == entry->inheritance) && - (next->wired_count == entry->wired_count)) { + (next->wired_count == entry->wired_count) && + (next->uip == entry->uip)) { vm_map_entry_unlink(map, next); entry->end = next->end; vm_map_entry_resize_free(map, entry); @@ -1441,6 +1488,8 @@ */ if (next->object.vm_object) vm_object_deallocate(next->object.vm_object); + if (next->uip != NULL) + uifree(next->uip); vm_map_entry_dispose(map, next); } } @@ -1489,6 +1538,21 @@ atop(entry->end - entry->start)); entry->object.vm_object = object; entry->offset = 0; + if (entry->uip != NULL) { + object->uip = entry->uip; + object->charge = entry->end - entry->start; + entry->uip = NULL; + } + } else if (entry->object.vm_object != NULL && + ((entry->eflags & MAP_ENTRY_NEEDS_COPY) == 0) && + entry->uip != NULL) { + VM_OBJECT_LOCK(entry->object.vm_object); + KASSERT(entry->object.vm_object->uip == NULL, + ("OVERCOMMIT: vm_entry_clip_start: both uip e %p", entry)); + entry->object.vm_object->uip = entry->uip; + entry->object.vm_object->charge = entry->end - entry->start; + VM_OBJECT_UNLOCK(entry->object.vm_object); + entry->uip = NULL; } new_entry = vm_map_entry_create(map); @@ -1497,6 +1561,8 @@ new_entry->end = start; entry->offset += (start - entry->start); entry->start = start; + if (new_entry->uip != NULL) + uihold(entry->uip); vm_map_entry_link(map, entry->prev, new_entry); @@ -1542,6 +1608,21 @@ atop(entry->end - entry->start)); entry->object.vm_object = object; entry->offset = 0; + if (entry->uip != NULL) { + object->uip = entry->uip; + object->charge = entry->end - entry->start; + entry->uip = NULL; + } + } else if (entry->object.vm_object != NULL && + ((entry->eflags & MAP_ENTRY_NEEDS_COPY) == 0) && + entry->uip != NULL) { + VM_OBJECT_LOCK(entry->object.vm_object); + KASSERT(entry->object.vm_object->uip == NULL, + ("OVERCOMMIT: vm_entry_clip_end: both uip e %p", entry)); + entry->object.vm_object->uip = entry->uip; + entry->object.vm_object->charge = entry->end - entry->start; + VM_OBJECT_UNLOCK(entry->object.vm_object); + entry->uip = NULL; } /* @@ -1552,6 +1633,8 @@ new_entry->start = entry->end = end; new_entry->offset += (end - entry->start); + if (new_entry->uip != NULL) + uihold(entry->uip); vm_map_entry_link(map, entry, new_entry); @@ -1724,6 +1807,8 @@ { vm_map_entry_t current; vm_map_entry_t entry; + vm_object_t obj; + struct uidinfo *uip; vm_map_lock(map); @@ -1751,6 +1836,61 @@ current = current->next; } + + /* + * Do an accounting pass for private read-only mappings that + * now will do cow due to allowed write (e.g. debugger sets + * breakpoint on text segment) + */ + for (current = entry; (current != &map->header) && + (current->start < end); current = current->next) { + + vm_map_clip_end(map, current, end); + + if (set_max || + ((new_prot & ~(current->protection)) & VM_PROT_WRITE) == 0 || + ENTRY_CHARGED(current)) { + continue; + } + + uip = curthread->td_ucred->cr_ruidinfo; + obj = current->object.vm_object; + + if (obj == NULL || (current->eflags & MAP_ENTRY_NEEDS_COPY)) { + if (!swap_reserve(current->end - current->start)) { + vm_map_unlock(map); + return (KERN_RESOURCE_SHORTAGE); + } + uihold(uip); + current->uip = uip; + continue; + } + + VM_OBJECT_LOCK(obj); + if (obj->type != OBJT_DEFAULT && obj->type != OBJT_SWAP) { + VM_OBJECT_UNLOCK(obj); + continue; + } + + /* + * Charge for the whole object allocation now, since + * we cannot distinguish between non-charged and + * charged clipped mapping of the same object later. + */ + KASSERT(obj->charge == 0, + ("vm_map_protect: object %p overcharged\n", obj)); + if (!swap_reserve(ptoa(obj->size))) { + VM_OBJECT_UNLOCK(obj); + vm_map_unlock(map); + return (KERN_RESOURCE_SHORTAGE); + } + + uihold(uip); + obj->uip = uip; + obj->charge = ptoa(obj->size); + VM_OBJECT_UNLOCK(obj); + } + /* * Go back and fix up protections. [Note that clipping is not * necessary the second time.] @@ -1759,8 +1899,6 @@ while ((current != &map->header) && (current->start < end)) { vm_prot_t old_prot; - vm_map_clip_end(map, current, end); - old_prot = current->protection; if (set_max) current->protection = @@ -2470,14 +2608,25 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry) { vm_object_t object; - vm_pindex_t offidxstart, offidxend, count; + vm_pindex_t offidxstart, offidxend, count, size1; + vm_ooffset_t size; vm_map_entry_unlink(map, entry); - map->size -= entry->end - entry->start; + object = entry->object.vm_object; + size = entry->end - entry->start; + map->size -= size; + + if (entry->uip != NULL) { + swap_release_by_uid(size, entry->uip); + uifree(entry->uip); + } if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0 && - (object = entry->object.vm_object) != NULL) { - count = OFF_TO_IDX(entry->end - entry->start); + (object != NULL)) { + KASSERT(entry->uip == NULL || object->uip == NULL || + (entry->eflags & MAP_ENTRY_NEEDS_COPY), + ("OVERCOMMIT vm_map_entry_delete: both uip %p", entry)); + count = OFF_TO_IDX(size); offidxstart = OFF_TO_IDX(entry->offset); offidxend = offidxstart + count; VM_OBJECT_LOCK(object); @@ -2489,8 +2638,17 @@ if (object->type == OBJT_SWAP) swap_pager_freespace(object, offidxstart, count); if (offidxend >= object->size && - offidxstart < object->size) + offidxstart < object->size) { + size1 = object->size; object->size = offidxstart; + if (object->uip != NULL) { + size1 -= object->size; + KASSERT(object->charge >= ptoa(size1), + ("vm_map_entry_delete: object->charge < 0")); + swap_release_by_uid(ptoa(size1), object->uip); + object->charge -= ptoa(size1); + } + } } VM_OBJECT_UNLOCK(object); } else @@ -2664,9 +2822,13 @@ vm_map_t src_map, vm_map_t dst_map, vm_map_entry_t src_entry, - vm_map_entry_t dst_entry) + vm_map_entry_t dst_entry, + vm_ooffset_t *fork_charge) { vm_object_t src_object; + vm_offset_t size; + struct uidinfo *uip; + int charged; VM_MAP_ASSERT_LOCKED(dst_map); @@ -2689,8 +2851,10 @@ /* * Make a copy of the object. */ + size = src_entry->end - src_entry->start; if ((src_object = src_entry->object.vm_object) != NULL) { VM_OBJECT_LOCK(src_object); + charged = ENTRY_CHARGED(src_entry); if ((src_object->handle == NULL) && (src_object->type == OBJT_DEFAULT || src_object->type == OBJT_SWAP)) { @@ -2702,14 +2866,39 @@ } vm_object_reference_locked(src_object); vm_object_clear_flag(src_object, OBJ_ONEMAPPING); + if (src_entry->uip != NULL && + !(src_entry->eflags & MAP_ENTRY_NEEDS_COPY)) { + KASSERT(src_object->uip == NULL, + ("OVERCOMMIT: vm_map_copy_entry: uip %p", + src_object)); + src_object->uip = src_entry->uip; + src_object->charge = size; + } VM_OBJECT_UNLOCK(src_object); dst_entry->object.vm_object = src_object; + if (charged) { + uip = curthread->td_ucred->cr_ruidinfo; + uihold(uip); + dst_entry->uip = uip; + *fork_charge += size; + if (!(src_entry->eflags & + MAP_ENTRY_NEEDS_COPY)) { + uihold(uip); + src_entry->uip = uip; + *fork_charge += size; + } + } src_entry->eflags |= (MAP_ENTRY_COW|MAP_ENTRY_NEEDS_COPY); dst_entry->eflags |= (MAP_ENTRY_COW|MAP_ENTRY_NEEDS_COPY); dst_entry->offset = src_entry->offset; } else { dst_entry->object.vm_object = NULL; dst_entry->offset = 0; + if (src_entry->uip != NULL) { + dst_entry->uip = curthread->td_ucred->cr_ruidinfo; + uihold(dst_entry->uip); + *fork_charge += size; + } } pmap_copy(dst_map->pmap, src_map->pmap, dst_entry->start, @@ -2766,7 +2955,7 @@ * The source map must not be locked. */ struct vmspace * -vmspace_fork(struct vmspace *vm1) +vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) { struct vmspace *vm2; vm_map_t old_map = &vm1->vm_map; @@ -2777,7 +2966,6 @@ int locked; vm_map_lock(old_map); - vm2 = vmspace_alloc(old_map->min_offset, old_map->max_offset); if (vm2 == NULL) goto unlock_and_return; @@ -2809,6 +2997,12 @@ atop(old_entry->end - old_entry->start)); old_entry->object.vm_object = object; old_entry->offset = 0; + if (old_entry->uip != NULL) { + object->uip = old_entry->uip; + object->charge = old_entry->end - + old_entry->start; + old_entry->uip = NULL; + } } /* @@ -2835,6 +3029,12 @@ } VM_OBJECT_LOCK(object); vm_object_clear_flag(object, OBJ_ONEMAPPING); + if (old_entry->uip != NULL) { + KASSERT(object->uip == NULL, ("vmspace_fork both uip")); + object->uip = old_entry->uip; + object->charge = old_entry->end - old_entry->start; + old_entry->uip = NULL; + } VM_OBJECT_UNLOCK(object); /* @@ -2877,7 +3077,7 @@ new_entry); vmspace_map_entry_forked(vm1, vm2, new_entry); vm_map_copy_entry(old_map, new_map, old_entry, - new_entry); + new_entry, fork_charge); break; } old_entry = old_entry->next; @@ -3005,6 +3205,7 @@ size_t grow_amount, max_grow; rlim_t stacklim, vmemlim; int is_procstack, rv; + struct uidinfo *uip; Retry: PROC_LOCK(p); @@ -3170,13 +3371,17 @@ } grow_amount = addr - stack_entry->end; - + uip = stack_entry->uip; + if (uip == NULL && stack_entry->object.vm_object != NULL) + uip = stack_entry->object.vm_object->uip; + if (uip != NULL && !swap_reserve_by_uid(grow_amount, uip)) + rv = KERN_NO_SPACE; /* Grow the underlying object if applicable. */ - if (stack_entry->object.vm_object == NULL || - vm_object_coalesce(stack_entry->object.vm_object, - stack_entry->offset, - (vm_size_t)(stack_entry->end - stack_entry->start), - (vm_size_t)grow_amount)) { + else if (stack_entry->object.vm_object == NULL || + vm_object_coalesce(stack_entry->object.vm_object, + stack_entry->offset, + (vm_size_t)(stack_entry->end - stack_entry->start), + (vm_size_t)grow_amount, uip != NULL)) { map->size += (addr - stack_entry->end); /* Update the current entry. */ stack_entry->end = addr; @@ -3249,12 +3454,18 @@ { struct vmspace *oldvmspace = p->p_vmspace; struct vmspace *newvmspace; + vm_ooffset_t fork_charge; if (oldvmspace->vm_refcnt == 1) return (0); - newvmspace = vmspace_fork(oldvmspace); + fork_charge = 0; + newvmspace = vmspace_fork(oldvmspace, &fork_charge); if (newvmspace == NULL) return (ENOMEM); + if (!swap_reserve_by_uid(fork_charge, p->p_ucred->cr_ruidinfo)) { + vmspace_free(newvmspace); + return (ENOMEM); + } PROC_VMSPACE_LOCK(p); p->p_vmspace = newvmspace; PROC_VMSPACE_UNLOCK(p); @@ -3300,6 +3511,9 @@ vm_map_t map = *var_map; vm_prot_t prot; vm_prot_t fault_type = fault_typea; + vm_object_t eobject; + struct uidinfo *uip; + vm_ooffset_t size; RetryLookup:; @@ -3356,7 +3570,7 @@ *wired = (entry->wired_count != 0); if (*wired) prot = fault_type = entry->protection; - + size = entry->end - entry->start; /* * If the entry was copy-on-write, we either ... */ @@ -3378,11 +3592,40 @@ if (vm_map_lock_upgrade(map)) goto RetryLookup; + if (entry->uip == NULL) { + /* + * The debugger owner is charged for + * the memory. + */ + uip = curthread->td_ucred->cr_ruidinfo; + uihold(uip); + if (!swap_reserve_by_uid(size, uip)) { + uifree(uip); + vm_map_unlock(map); + return (KERN_RESOURCE_SHORTAGE); + } + entry->uip = uip; + } vm_object_shadow( &entry->object.vm_object, &entry->offset, - atop(entry->end - entry->start)); + atop(size)); entry->eflags &= ~MAP_ENTRY_NEEDS_COPY; + eobject = entry->object.vm_object; + if (eobject->uip != NULL) { + /* + * The object was not shadowed. + */ + swap_release_by_uid(size, entry->uip); + uifree(entry->uip); + entry->uip = NULL; + } else if (entry->uip != NULL) { + VM_OBJECT_LOCK(eobject); + eobject->uip = entry->uip; + eobject->charge = size; + VM_OBJECT_UNLOCK(eobject); + entry->uip = NULL; + } vm_map_lock_downgrade(map); } else { @@ -3402,8 +3645,15 @@ if (vm_map_lock_upgrade(map)) goto RetryLookup; entry->object.vm_object = vm_object_allocate(OBJT_DEFAULT, - atop(entry->end - entry->start)); + atop(size)); entry->offset = 0; + if (entry->uip != NULL) { + VM_OBJECT_LOCK(entry->object.vm_object); + entry->object.vm_object->uip = entry->uip; + entry->object.vm_object->charge = size; + VM_OBJECT_UNLOCK(entry->object.vm_object); + entry->uip = NULL; + } vm_map_lock_downgrade(map); } @@ -3583,9 +3833,15 @@ db_indent -= 2; } } else { + if (entry->uip != NULL) + db_printf(", uip %d", entry->uip->ui_uid); db_printf(", object=%p, offset=0x%jx", (void *)entry->object.vm_object, (uintmax_t)entry->offset); + if (entry->object.vm_object && entry->object.vm_object->uip) + db_printf(", obj uip %d charge %jx", + entry->object.vm_object->uip->ui_uid, + (uintmax_t)entry->object.vm_object->charge); if (entry->eflags & MAP_ENTRY_COW) db_printf(", copy (%s)", (entry->eflags & MAP_ENTRY_NEEDS_COPY) ? "needed" : "done"); ==== //depot/projects/smpng/sys/vm/vm_map.h#43 (text+ko) ==== @@ -114,6 +114,7 @@ vm_inherit_t inheritance; /* inheritance */ int wired_count; /* can be paged if = 0 */ vm_pindex_t lastr; /* last read */ + struct uidinfo *uip; /* tmp storage for creator ref */ }; #define MAP_ENTRY_NOSYNC 0x0001 @@ -310,6 +311,8 @@ #define MAP_PREFAULT_MADVISE 0x0200 /* from (user) madvise request */ #define MAP_STACK_GROWS_DOWN 0x1000 #define MAP_STACK_GROWS_UP 0x2000 +#define MAP_ACC_CHARGED 0x4000 +#define MAP_ACC_NO_CHARGE 0x8000 /* * vm_fault option flags ==== //depot/projects/smpng/sys/vm/vm_mmap.c#78 (text+ko) ==== @@ -633,6 +633,8 @@ return (0); case KERN_PROTECTION_FAILURE: return (EACCES); + case KERN_RESOURCE_SHORTAGE: + return (ENOMEM); } return (EINVAL); } @@ -1208,7 +1210,7 @@ objsize = round_page(va.va_size); if (va.va_nlink == 0) flags |= MAP_NOSYNC; - obj = vm_pager_allocate(OBJT_VNODE, vp, objsize, prot, foff); + obj = vm_pager_allocate(OBJT_VNODE, vp, objsize, prot, foff, td->td_ucred); if (obj == NULL) { error = ENOMEM; goto done; @@ -1289,7 +1291,8 @@ dev_relthread(cdev); if (error != ENODEV) return (error); - obj = vm_pager_allocate(OBJT_DEVICE, cdev, objsize, prot, *foff); + obj = vm_pager_allocate(OBJT_DEVICE, cdev, objsize, prot, *foff, + td->td_ucred); if (obj == NULL) return (EINVAL); *objp = obj; ==== //depot/projects/smpng/sys/vm/vm_object.c#109 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include /* for curproc, pageproc */ #include +#include #include #include #include @@ -222,6 +223,8 @@ object->generation = 1; object->ref_count = 1; object->flags = 0; + object->uip = NULL; + object->charge = 0; if ((object->type == OBJT_DEFAULT) || (object->type == OBJT_SWAP)) object->flags = OBJ_ONEMAPPING; object->pg_color = 0; @@ -609,6 +612,20 @@ mtx_unlock(&vm_object_list_mtx); /* + * Release the allocation charge. + */ + if (object->uip != NULL) { + KASSERT(object->type == OBJT_DEFAULT || + object->type == OBJT_SWAP, + ("vm_object_terminate: non-swap obj %p has uip", + object)); + swap_release_by_uid(object->charge, object->uip); + object->charge = 0; + uifree(object->uip); + object->uip = NULL; + } + + /* * Free the space for the object. */ uma_zfree(obj_zone, object); @@ -1347,6 +1364,14 @@ orig_object->backing_object_offset + entry->offset; new_object->backing_object = source; } + if (orig_object->uip != NULL) { + new_object->uip = orig_object->uip; + uihold(orig_object->uip); + new_object->charge = ptoa(size); + KASSERT(orig_object->charge >= ptoa(size), + ("orig_object->charge < 0")); + orig_object->charge -= ptoa(size); + } retry: if ((m = TAILQ_FIRST(&orig_object->memq)) != NULL) { if (m->pindex < offidxstart) { @@ -1757,6 +1782,13 @@ * and no object references within it, all that is * necessary is to dispose of it. */ + if (backing_object->uip != NULL) { + swap_release_by_uid(backing_object->charge, + backing_object->uip); + backing_object->charge = 0; + uifree(backing_object->uip); + backing_object->uip = NULL; + } KASSERT(backing_object->ref_count == 1, ("backing_object %p was somehow re-referenced during collapse!", backing_object)); VM_OBJECT_UNLOCK(backing_object); @@ -1994,13 +2026,15 @@ * prev_offset Offset into prev_object * prev_size Size of reference to prev_object * next_size Size of reference to the second object + * reserved Indicator that extension region has + * swap accounted for * * Conditions: * The object must *not* be locked. */ boolean_t vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset, - vm_size_t prev_size, vm_size_t next_size) + vm_size_t prev_size, vm_size_t next_size, boolean_t reserved) { vm_pindex_t next_pindex; @@ -2039,6 +2073,28 @@ } /* + * Account for the charge. + */ + if (prev_object->uip != NULL) { + + /* + * If prev_object was charged, then this mapping, + * althought not charged now, may become writable + * later. Non-NULL uip in the object would prevent + * swap reservation during enabling of the write + * access, so reserve swap now. Failed reservation + * cause allocation of the separate object for the map + * entry, and swap reservation for this entry is + * managed in appropriate time. + */ + if (!reserved && !swap_reserve_by_uid(ptoa(next_size), + prev_object->uip)) { + return (FALSE); + } + prev_object->charge += ptoa(next_size); + } + + /* * Remove any pages that may still be in the object from a previous * deallocation. */ @@ -2049,6 +2105,16 @@ if (prev_object->type == OBJT_SWAP) swap_pager_freespace(prev_object, next_pindex, next_size); +#if 0 + if (prev_object->uip != NULL) { + KASSERT(prev_object->charge >= + ptoa(prev_object->size - next_pindex), + ("object %p overcharged 1 %jx %jx", prev_object, + (uintmax_t)next_pindex, (uintmax_t)next_size)); + prev_object->charge -= ptoa(prev_object->size - + next_pindex); + } +#endif } /* @@ -2198,9 +2264,10 @@ return; db_iprintf( - "Object %p: type=%d, size=0x%jx, res=%d, ref=%d, flags=0x%x\n", + "Object %p: type=%d, size=0x%jx, res=%d, ref=%d, flags=0x%x uip %d charge %jx\n", object, (int)object->type, (uintmax_t)object->size, - object->resident_page_count, object->ref_count, object->flags); + object->resident_page_count, object->ref_count, object->flags, + object->uip ? object->uip->ui_uid : -1, (uintmax_t)object->charge); db_iprintf(" sref=%d, backing_object(%d)=(%p)+0x%jx\n", object->shadow_count, object->backing_object ? object->backing_object->ref_count : 0, ==== //depot/projects/smpng/sys/vm/vm_object.h#38 (text+ko) ==== @@ -133,6 +133,8 @@ int swp_bcount; } swp; } un_pager; + struct uidinfo *uip; + vm_ooffset_t charge; }; /* @@ -198,7 +200,8 @@ vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); void _vm_object_allocate (objtype_t, vm_pindex_t, vm_object_t); -boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t); +boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, + boolean_t); void vm_object_collapse (vm_object_t); void vm_object_deallocate (vm_object_t); void vm_object_destroy (vm_object_t); ==== //depot/projects/smpng/sys/vm/vm_pager.c#27 (text+ko) ==== @@ -88,7 +88,7 @@ static int dead_pager_getpages(vm_object_t, vm_page_t *, int, int); static vm_object_t dead_pager_alloc(void *, vm_ooffset_t, vm_prot_t, - vm_ooffset_t); + vm_ooffset_t, struct ucred *); static void dead_pager_putpages(vm_object_t, vm_page_t *, int, int, int *); static boolean_t dead_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); static void dead_pager_dealloc(vm_object_t); @@ -105,7 +105,7 @@ static vm_object_t dead_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot, - vm_ooffset_t off) + vm_ooffset_t off, struct ucred *cred) { return NULL; } @@ -227,14 +227,14 @@ */ vm_object_t vm_pager_allocate(objtype_t type, void *handle, vm_ooffset_t size, - vm_prot_t prot, vm_ooffset_t off) + vm_prot_t prot, vm_ooffset_t off, struct ucred *cred) { vm_object_t ret; struct pagerops *ops; ops = pagertab[type]; if (ops) - ret = (*ops->pgo_alloc) (handle, size, prot, off); + ret = (*ops->pgo_alloc) (handle, size, prot, off, cred); else ret = NULL; return (ret); ==== //depot/projects/smpng/sys/vm/vm_pager.h#15 (text+ko) ==== @@ -47,7 +47,8 @@ TAILQ_HEAD(pagerlst, vm_object); typedef void pgo_init_t(void); -typedef vm_object_t pgo_alloc_t(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t); +typedef vm_object_t pgo_alloc_t(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t, + struct ucred *); typedef void pgo_dealloc_t(vm_object_t); typedef int pgo_getpages_t(vm_object_t, vm_page_t *, int, int); typedef void pgo_putpages_t(vm_object_t, vm_page_t *, int, int, int *); @@ -100,7 +101,8 @@ extern struct pagerops *pagertab[]; extern struct mtx pbuf_mtx; -vm_object_t vm_pager_allocate(objtype_t, void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t); +vm_object_t vm_pager_allocate(objtype_t, void *, vm_ooffset_t, vm_prot_t, + vm_ooffset_t, struct ucred *); void vm_pager_bufferinit(void); void vm_pager_deallocate(vm_object_t); static __inline int vm_pager_get_pages(vm_object_t, vm_page_t *, int, int); ==== //depot/projects/smpng/sys/vm/vnode_pager.c#74 (text+ko) ==== @@ -83,7 +83,8 @@ static int vnode_pager_getpages(vm_object_t, vm_page_t *, int, int); static void vnode_pager_putpages(vm_object_t, vm_page_t *, int, boolean_t, int *); static boolean_t vnode_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); -static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t); +static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t, + vm_ooffset_t, struct ucred *cred); struct pagerops vnodepagerops = { .pgo_alloc = vnode_pager_alloc, @@ -128,7 +129,7 @@ } } - object = vnode_pager_alloc(vp, size, 0, 0); + object = vnode_pager_alloc(vp, size, 0, 0, td->td_ucred); /* * Dereference the reference we just created. This assumes * that the object is associated with the vp. @@ -185,7 +186,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 24 20:32:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7511A1065673; Wed, 24 Jun 2009 20:32:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3303C106564A for ; Wed, 24 Jun 2009 20:32:01 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1F41D8FC16 for ; Wed, 24 Jun 2009 20:32:01 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OKW01b053827 for ; Wed, 24 Jun 2009 20:32:00 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OKVrpD053813 for perforce@freebsd.org; Wed, 24 Jun 2009 20:31:53 GMT (envelope-from mav@freebsd.org) Date: Wed, 24 Jun 2009 20:31:53 GMT Message-Id: <200906242031.n5OKVrpD053813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165097 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 20:32:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165097 Change 165097 by mav@mav_mavbook on 2009/06/24 20:31:12 IFC Affected files ... .. //depot/projects/scottl-camlock/src/MAINTAINERS#4 integrate .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#6 integrate .. //depot/projects/scottl-camlock/src/bin/chflags/chflags.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/df/df.c#5 integrate .. //depot/projects/scottl-camlock/src/bin/hostname/hostname.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/eval.c#4 integrate .. //depot/projects/scottl-camlock/src/bin/sh/histedit.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/miscbltin.c#4 integrate .. //depot/projects/scottl-camlock/src/bin/sh/parser.c#4 integrate .. //depot/projects/scottl-camlock/src/bin/sh/var.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/scottl-camlock/src/etc/login.conf#3 integrate .. //depot/projects/scottl-camlock/src/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/scottl-camlock/src/include/stdio.h#4 integrate .. //depot/projects/scottl-camlock/src/lib/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/db/btree/bt_split.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/db/mpool/mpool.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/fmtcheck.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/getrlimit.2#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/jail.2#4 integrate .. //depot/projects/scottl-camlock/src/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libjail/Makefile#1 branch .. //depot/projects/scottl-camlock/src/lib/libjail/jail.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libjail/jail.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libjail/jail.h#1 branch .. //depot/projects/scottl-camlock/src/lib/libjail/jail_getid.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libutil/humanize_number.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libutil/kinfo_getvmmap.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libutil/login_class.c#3 integrate .. //depot/projects/scottl-camlock/src/rescue/rescue/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/af_atalk.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/af_inet.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/af_inet6.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifclone.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifconfig.8#5 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifconfig.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifconfig.h#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifgre.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifmac.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifmedia.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifvlan.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/kldload/kldload.8#3 integrate .. //depot/projects/scottl-camlock/src/sbin/mount_nfs/mount_nfs.c#4 integrate .. //depot/projects/scottl-camlock/src/sbin/umount/umount.c#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/ata.4#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/gem.4#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#5 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/usb.4#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man7/tuning.7#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/stack.9#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/usbdi.9#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man9/vm_map.9#2 integrate .. //depot/projects/scottl-camlock/src/share/mk/bsd.libnames.mk#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/mp_machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/clock.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/elf_machdep.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/files.mv#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/assabet_machdep.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/ep80219_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/iq31244_machdep.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_ata.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/ixp425.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#22 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ioctl.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_sockio.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#35 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/altq/altq/altq_subr.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/pf/net/pf_if.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/pf/net/pf_ioctl.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-sata.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bce/if_bce.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bce/if_bcereg.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drmP.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_drv.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_irq.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_sysctl.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_drv.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82540.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82541.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82571.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82575.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82575.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_api.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_defines.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_hw.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_ich8lan.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_ich8lan.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_mac.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_phy.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_phy.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_regs.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_em.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_em.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_igb.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_igb.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fdc/fdc.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gem.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gem_pci.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gemreg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gemvar.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_82598.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_api.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_api.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_common.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_osdep.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_phy.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_phy.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe_type.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/md/md.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/eth_z8e.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/ethp_z8e.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge_var.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/rss_eth_z8e.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/rss_ethp_z8e.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/feeder_rate.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/fs/procfs/procfs_map.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/elf_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/local_apic.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/mp_machdep.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/clock.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/i386/xen/mp_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/elf_machdep.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/mp_machdep.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_fork.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_jail.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_poll.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_resource.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_uuid.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_vimage.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/link_elf.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/link_elf_obj.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/makesyscalls.sh#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sched_ule.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_pcpu.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_stack.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_msg.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_sem.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_shm.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_shm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/elf_machdep.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/pmap.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/igb/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ixgbe/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/mxge/mxge/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/bridgestp.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_ef.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_ethersubr.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_fddisubr.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_mib.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_spppsubr.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_stf.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_vlan.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/net/raw_cb.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/raw_usrreq.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/route.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/net/rtsock.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ddb.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/aarp.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_control.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_extern.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_rmx.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/atm/ng_atm.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/atm/uni/ng_uni.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_ether.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/if_ether.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/igmp.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_mcast.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_rmx.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_var.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_carp.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_divert.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_icmp.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_input.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_mroute.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_options.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_output.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_hostcache.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_input.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_offload.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_usrreq.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/frag6.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/icmp6.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_ifattach.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_pcb.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_pcb.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_src.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_var.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_input.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_mroute.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_output.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_var.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/mld6.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6_nbr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6_rtr.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/raw_ip6.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/scope6.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/udp6_usrreq.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_input.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_pcb.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_diskless.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/pc98/machdep.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/aim/mmu_oea.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/booke/pmap.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/elf_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/mp_machdep.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_biba/mac_biba.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_lomac/mac_lomac.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/pcpu.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/elf_machdep.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/machdep.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/mp_machdep.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/pmap.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pcpu.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/mp_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/pmap.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/jail.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/linker.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/pcpu.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/sys/priv.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/sys/resource.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/resourcevar.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/stack.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysctl.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/tty.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/vm/default_pager.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/vm/device_pager.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/vm/phys_pager.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/vm/swap_pager.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_phys.c#5 integrate .. //depot/projects/scottl-camlock/src/tools/build/mk/OptionalObsoleteFiles.inc#4 integrate .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/execution/fork2.0#1 branch .. //depot/projects/scottl-camlock/src/tools/tools/ath/athpoke/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/tools/tools/ath/athpoke/athpoke.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/fstat/fstat.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/hexdump/parse.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/keylogout/keylogout.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/killall/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/killall/killall.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/limits/limits.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/make/arch.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/makewhatis/makewhatis.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/nfsstat/nfsstat.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/showmount/showmount.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/usbhidctl/usbhid.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/amd/include/config.h#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jail/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jail/jail.8#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jail/jail.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jexec/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jexec/jexec.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jls/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jls/jls.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/lpr/common_source/displayq.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/mountd/mountd.c#6 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/nfsd/nfsd.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/rpc.lockd/kern.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/rpc.umntall/mounttab.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/rpc.umntall/mounttab.h#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/rpc.umntall/rpc.umntall.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/devices.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/ufs.c#2 integrate Differences ... ==== //depot/projects/scottl-camlock/src/MAINTAINERS#4 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.152 2009/03/20 18:51:13 rnoland Exp $ +$FreeBSD: src/MAINTAINERS,v 1.153 2009/06/24 17:23:10 imp Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -124,7 +124,6 @@ usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. -usb core Please contact core@ before any major changes ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.196 2009/06/05 15:31:38 ed Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.197 2009/06/24 17:01:17 thompsa Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,53 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090624: update usbdi(9) +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9 +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9 +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9 +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9 +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9 +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9 +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9 +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9 +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9 +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9 +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9 +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9 +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9 +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9 +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9 +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9 +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9 +OLD_FILES+=usr/share/man/man9/usbd_get_config.9 +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9 +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9 +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9 +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9 +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9 +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9 +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9 +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9 +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9 +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9 +OLD_FILES+=usr/share/man/man9/usbd_get_string.9 +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9 +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9 +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9 +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9 +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9 +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9 +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9 +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9 +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9 +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9 +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9 +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9 +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9 +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9 +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9 +OLD_FILES+=usr/share/man/man9/usbd_transfer.9 +OLD_FILES+=usr/share/man/man9/usb_find_desc.9 # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) ==== //depot/projects/scottl-camlock/src/bin/chflags/chflags.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/chflags/chflags.c,v 1.25 2009/05/24 15:27:25 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/chflags/chflags.c,v 1.26 2009/06/23 23:30:56 delphij Exp $"); #include #include @@ -53,7 +53,7 @@ #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -196,7 +196,7 @@ exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, ==== //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.33 2005/01/10 08:39:20 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.34 2009/06/23 23:30:56 delphij Exp $"); #include #include @@ -53,7 +53,7 @@ #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -212,7 +212,7 @@ exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, ==== //depot/projects/scottl-camlock/src/bin/df/df.c#5 (text+ko) ==== @@ -44,7 +44,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.73 2009/06/07 09:06:21 simon Exp $"); +__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.74 2009/06/23 23:30:56 delphij Exp $"); #include #include @@ -476,7 +476,7 @@ (void)printf("\n"); } -void +static void addstat(struct statfs *totalfsp, struct statfs *statfsp) { uint64_t bsize; ==== //depot/projects/scottl-camlock/src/bin/hostname/hostname.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/hostname/hostname.c,v 1.19 2006/12/08 07:47:08 kientzle Exp $"); +__FBSDID("$FreeBSD: src/bin/hostname/hostname.c,v 1.20 2009/06/23 23:30:56 delphij Exp $"); #include @@ -49,7 +49,7 @@ #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -96,7 +96,7 @@ exit(0); } -void +static void usage(void) { ==== //depot/projects/scottl-camlock/src/bin/sh/eval.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.61 2009/06/13 21:17:45 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.64 2009/06/23 22:53:34 jilles Exp $"); #include #include @@ -401,8 +401,8 @@ int backgnd = (n->type == NBACKGND); expredir(n->nredir.redirect); - jp = makejob(n, 1); - if (forkshell(jp, n, backgnd) == 0) { + if ((!backgnd && flags & EV_EXIT && !have_traps()) || + forkshell(jp = makejob(n, 1), n, backgnd) == 0) { if (backgnd) flags &=~ EV_TESTED; redirect(n->nredir.redirect, 0); @@ -589,22 +589,14 @@ struct cmdentry cmdentry; struct job *jp; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char *volatile savecmdname; - volatile struct shparam saveparam; - struct localvar *volatile savelocalvars; + struct jmploc *savehandler; + char *savecmdname; + struct shparam saveparam; + struct localvar *savelocalvars; volatile int e; char *lastarg; int realstatus; int do_clearcmdentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &argv; - (void) &argc; - (void) &lastarg; - (void) &flags; - (void) &do_clearcmdentry; -#endif /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); @@ -650,17 +642,32 @@ /* Print the command if xflag is set. */ if (xflag) { char sep = 0; + const char *p; out2str(ps4val()); for (sp = varlist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + p = sp->text; + while (*p != '=' && *p != '\0') + out2c(*p++); + if (*p != '\0') { + out2c(*p++); + out2qstr(p); + } sep = ' '; } for (sp = arglist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + /* Disambiguate command looking like assignment. */ + if (sp == arglist.list && + strchr(sp->text, '=') != NULL && + strchr(sp->text, '\'') == NULL) { + out2c('\''); + out2str(sp->text); + out2c('\''); + } else + out2qstr(sp->text); sep = ' '; } outc('\n', &errout); @@ -779,9 +786,10 @@ savelocalvars = localvars; localvars = NULL; INTON; + savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXSHELLPROC) - freeparam((struct shparam *)&saveparam); + freeparam(&saveparam); else { freeparam(&shellparam); shellparam = saveparam; @@ -791,7 +799,6 @@ handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; for (sp = varlist.list ; sp ; sp = sp->next) mklocal(sp->text); @@ -830,12 +837,12 @@ savecmdname = commandname; cmdenviron = varlist.list; e = -1; + savehandler = handler; if (setjmp(jmploc.loc)) { e = exception; exitstatus = (e == EXINT)? SIGINT+128 : 2; goto cmddone; } - savehandler = handler; handler = &jmploc; redirect(cmd->ncmd.redirect, mode); if (cmdentry.special) ==== //depot/projects/scottl-camlock/src/bin/sh/histedit.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.30 2009/05/31 12:36:14 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.31 2009/06/23 20:45:12 jilles Exp $"); #include #include @@ -173,25 +173,11 @@ char *pat = NULL, *repl; static int active = 0; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char editfile[PATH_MAX]; + struct jmploc *savehandler; + char editfilestr[PATH_MAX]; + char *volatile editfile; FILE *efp; int oldhistnum; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &editor; - (void) &lflg; - (void) &nflg; - (void) &rflg; - (void) &sflg; - (void) &firststr; - (void) &laststr; - (void) &pat; - (void) &repl; - (void) &efp; - (void) &argc; - (void) &argv; -#endif if (hist == NULL) error("history not active"); @@ -232,19 +218,19 @@ */ if (lflg == 0 || editor || sflg) { lflg = 0; /* ignore */ - editfile[0] = '\0'; + editfile = NULL; /* * Catch interrupts to reset active counter and * cleanup temp files. */ + savehandler = handler; if (setjmp(jmploc.loc)) { active = 0; - if (*editfile) + if (editfile) unlink(editfile); handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; if (++active > MAXHISTLOOPS) { active = 0; @@ -318,9 +304,10 @@ if (editor) { int fd; INTOFF; /* easier */ - sprintf(editfile, "%s/_shXXXXXX", _PATH_TMP); - if ((fd = mkstemp(editfile)) < 0) + sprintf(editfilestr, "%s/_shXXXXXX", _PATH_TMP); + if ((fd = mkstemp(editfilestr)) < 0) error("can't create temporary file %s", editfile); + editfile = editfilestr; if ((efp = fdopen(fd, "w")) == NULL) { close(fd); error("can't allocate stdio buffer for temp"); ==== //depot/projects/scottl-camlock/src/bin/sh/miscbltin.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/miscbltin.c,v 1.40 2009/05/31 19:37:06 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/miscbltin.c,v 1.41 2009/06/23 20:57:27 kib Exp $"); /* * Miscellaneous builtins. @@ -403,7 +403,7 @@ struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlbp")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbpw")) != '\0') switch (optc) { case 'H': how = HARD; ==== //depot/projects/scottl-camlock/src/bin/sh/parser.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.62 2009/06/01 11:02:09 rse Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.63 2009/06/23 20:45:12 jilles Exp $"); #include #include @@ -898,19 +898,6 @@ int oldstyle; char const *prevsyntax; /* syntax before arithmetic */ int synentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &out; - (void) "ef; - (void) &dblquote; - (void) &varnest; - (void) &arinest; - (void) &parenlevel; - (void) &oldstyle; - (void) &prevsyntax; - (void) &syntax; - (void) &synentry; -#endif startlinno = plinno; dblquote = 0; @@ -1320,13 +1307,9 @@ union node *n; char *volatile str; struct jmploc jmploc; - struct jmploc *volatile savehandler; + struct jmploc *const savehandler = handler; int savelen; int saveprompt; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &saveprompt; -#endif savepbq = parsebackquote; if (setjmp(jmploc.loc)) { @@ -1343,7 +1326,6 @@ str = ckmalloc(savelen); memcpy(str, stackblock(), savelen); } - savehandler = handler; handler = &jmploc; INTON; if (oldstyle) { ==== //depot/projects/scottl-camlock/src/bin/sh/var.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.38 2009/06/01 11:02:09 rse Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.39 2009/06/23 20:45:12 jilles Exp $"); #include #include @@ -193,12 +193,8 @@ setvarsafe(char *name, char *val, int flags) { struct jmploc jmploc; - struct jmploc *volatile savehandler = handler; + struct jmploc *const savehandler = handler; int err = 0; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &err; -#endif if (setjmp(jmploc.loc)) err = 1; ==== //depot/projects/scottl-camlock/src/contrib/tcsh/sh.func.c#2 (text+ko) ==== @@ -1796,6 +1796,10 @@ { RLIMIT_SBSIZE, "sbsize", 1, "" }, # endif /* RLIMIT_SBSIZE */ +# ifdef RLIMIT_SWAP + { RLIMIT_SWAP, "swaplimit", 1024, "kbytes" }, +# endif /* RLIMIT_SWAP */ + { -1, NULL, 0, NULL } }; ==== //depot/projects/scottl-camlock/src/contrib/tcsh/tcsh.man#2 (text+ko) ==== @@ -2921,6 +2921,9 @@ .TP \fIsbsize\fR the maximum size of socket buffer usage for this user +.TP +\fIswaplimit\fR +the maximum amount of swap space reserved or used for this user .PP \fImaximum-use\fR may be given as a (floating point or integer) number followed by a scale factor. For all limits ==== //depot/projects/scottl-camlock/src/etc/login.conf#3 (text+ko) ==== @@ -7,7 +7,7 @@ # This file controls resource limits, accounting limits and # default user environment settings. # -# $FreeBSD: src/etc/login.conf,v 1.52 2008/08/20 08:31:58 ed Exp $ +# $FreeBSD: src/etc/login.conf,v 1.53 2009/06/23 20:57:27 kib Exp $ # # Default settings effectively disable resource limits, see the @@ -40,6 +40,7 @@ :maxproc=unlimited:\ :sbsize=unlimited:\ :vmemoryuse=unlimited:\ + :swapuse=unlimited:\ :pseudoterminals=unlimited:\ :priority=0:\ :ignoretime@:\ ==== //depot/projects/scottl-camlock/src/gnu/usr.bin/groff/tmac/mdoc.local#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.67 2009/02/28 05:47:41 das Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.68 2009/06/24 18:18:35 jamie Exp $ .\" .\" %beginstrip% . @@ -47,6 +47,7 @@ .ds doc-str-Lb-libfetch File Transfer Library (libfetch, \-lfetch) .ds doc-str-Lb-libgeom Userland API Library for kernel GEOM subsystem (libgeom, \-lgeom) .ds doc-str-Lb-libipx IPX Address Conversion Support Library (libipx, \-lipx) +.ds doc-str-Lb-libjail Jail Library (libjail, \-ljail) .ds doc-str-Lb-libkiconv Kernel side iconv library (libkiconv, \-lkiconv) .ds doc-str-Lb-libkse N:M Threading Library (libkse, \-lkse) .ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd) ==== //depot/projects/scottl-camlock/src/include/stdio.h#4 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)stdio.h 8.5 (Berkeley) 4/29/95 - * $FreeBSD: src/include/stdio.h,v 1.78 2009/03/25 08:07:52 das Exp $ + * $FreeBSD: src/include/stdio.h,v 1.79 2009/06/23 23:53:35 delphij Exp $ */ #ifndef _STDIO_H_ @@ -394,7 +394,7 @@ char *ctermid_r(char *); void fcloseall(void); char *fgetln(FILE *, size_t *); -__const char *fmtcheck(const char *, const char *) __format_arg(2); +const char *fmtcheck(const char *, const char *) __format_arg(2); int fpurge(FILE *); void setbuffer(FILE *, char *, int); int setlinebuf(FILE *); ==== //depot/projects/scottl-camlock/src/lib/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.236 2009/03/09 17:38:14 thompsa Exp $ +# $FreeBSD: src/lib/Makefile,v 1.237 2009/06/24 18:18:35 jamie Exp $ .include @@ -35,8 +35,8 @@ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \ ${_libgssapi} ${_librpcsec_gss} libipsec \ - ${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \ - ${_libncp} ${_libngatm} libopie libpam libpcap \ + ${_libipx} libjail libkiconv libmagic libmemstat ${_libmilter} \ + ${_libmp} ${_libncp} ${_libngatm} libopie libpam libpcap \ ${_libpmc} libproc librt ${_libsdp} ${_libsm} ${_libsmb} \ ${_libsmdb} \ ${_libsmutil} libstand ${_libtelnet} ${_libthr} libthread_db libufs \ ==== //depot/projects/scottl-camlock/src/lib/libc/db/btree/bt_split.c#3 (text+ko) ==== @@ -31,10 +31,10 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)bt_split.c 8.9 (Berkeley) 7/26/94"; +static char sccsid[] = "@(#)bt_split.c 8.10 (Berkeley) 1/9/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_split.c,v 1.12 2009/03/28 05:45:29 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_split.c,v 1.14 2009/06/24 01:15:10 delphij Exp $"); #include @@ -644,8 +644,8 @@ * where we decide to try and copy too much onto the left page. * Make sure that doesn't happen. */ - if ((skip <= off && used + nbytes + sizeof(indx_t) >= full) - || nxt == top - 1) { + if ((skip <= off && used + nbytes + sizeof(indx_t) >= full) || + nxt == top - 1) { --off; break; } ==== //depot/projects/scottl-camlock/src/lib/libc/db/mpool/mpool.c#3 (text+ko) ==== @@ -28,10 +28,10 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)mpool.c 8.5 (Berkeley) 7/26/94"; +static char sccsid[] = "@(#)mpool.c 8.7 (Berkeley) 11/2/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.18 2009/03/28 07:44:08 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.19 2009/06/24 01:15:10 delphij Exp $"); #include "namespace.h" #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 24 20:57:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CDBE01065677; Wed, 24 Jun 2009 20:57:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 874551065670 for ; Wed, 24 Jun 2009 20:57:29 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A9FA8FC13 for ; Wed, 24 Jun 2009 20:57:29 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OKvT1E066013 for ; Wed, 24 Jun 2009 20:57:29 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OKvTrL066011 for perforce@freebsd.org; Wed, 24 Jun 2009 20:57:29 GMT (envelope-from mav@freebsd.org) Date: Wed, 24 Jun 2009 20:57:29 GMT Message-Id: <200906242057.n5OKvTrL066011@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 20:57:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=165102 Change 165102 by mav@mav_mavbook on 2009/06/24 20:57:27 Join ahci module to the build. Affected files ... .. //depot/projects/scottl-camlock/src/sys/modules/Makefile#29 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/modules/Makefile#29 (text+ko) ==== @@ -14,6 +14,7 @@ ${_agp} \ aha \ ${_ahb} \ + ahci \ ${_aic} \ aic7xxx \ aio \ From owner-p4-projects@FreeBSD.ORG Wed Jun 24 22:47:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EE9A1065674; Wed, 24 Jun 2009 22:47:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D042106564A for ; Wed, 24 Jun 2009 22:47:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7AC148FC14 for ; Wed, 24 Jun 2009 22:47:32 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OMlWYm077125 for ; Wed, 24 Jun 2009 22:47:32 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OMlWMa077123 for perforce@freebsd.org; Wed, 24 Jun 2009 22:47:32 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 24 Jun 2009 22:47:32 GMT Message-Id: <200906242247.n5OMlWMa077123@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165118 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 22:47:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=165118 Change 165118 by pgj@petymeg-current on 2009/06/24 22:47:01 - Standardize witdh of properties for connections - Modify applications to follow the change Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#34 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#21 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#19 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#21 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#20 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#16 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#6 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#34 (text+ko) ==== @@ -643,10 +643,10 @@ stp->st_rcv.sbt_mbmax = so->so_rcv.sb_mbmax; stp->st_pcb = (tp == NULL) ? (u_long)inp->inp_ppcb : (u_long)so->so_pcb; - stp->st_vnode = (u_long)0; - stp->st_conn = (u_long)0; - stp->st_refs = (u_long)0; - stp->st_reflink = (u_long)0; + stp->st_vnode = 0; + stp->st_conn = 0; + stp->st_refs = 0; + stp->st_reflink = 0; stp->st_flags = 0; stp->st_addrcnt = 0; if (tp != NULL) { ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#21 (text+ko) ==== @@ -64,14 +64,14 @@ const char *netstat_st_get_extname(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp); -u_short netstat_st_get_qlen(const struct socket_type *stp); -u_short netstat_st_get_incqlen(const struct socket_type *stp); -u_short netstat_st_get_qlimit(const struct socket_type *stp); -u_long netstat_st_get_pcb(const struct socket_type *stp); -u_long netstat_st_get_vnode(const struct socket_type *stp); -u_long netstat_st_get_conn(const struct socket_type *stp); -u_long netstat_st_get_refs(const struct socket_type *stp); -u_long netstat_st_get_reflink(const struct socket_type *stp); +uint16_t netstat_st_get_qlen(const struct socket_type *stp); +uint16_t netstat_st_get_incqlen(const struct socket_type *stp); +uint16_t netstat_st_get_qlimit(const struct socket_type *stp); +u_int64_t netstat_st_get_pcb(const struct socket_type *stp); +u_int64_t netstat_st_get_vnode(const struct socket_type *stp); +u_int64_t netstat_st_get_conn(const struct socket_type *stp); +u_int64_t netstat_st_get_refs(const struct socket_type *stp); +u_int64_t netstat_st_get_reflink(const struct socket_type *stp); const char *netstat_st_get_tcpstate(const struct socket_type *stp); /* Addresses: */ int netstat_st_get_addrcnt(const struct socket_type *stp); @@ -82,16 +82,16 @@ const char *netstat_at_get_numeric(const struct addr_type *atp); int netstat_at_get_address(const struct addr_type *atp, char *addr, int addr_len); -u_short netstat_at_get_port(const struct addr_type *atp); +uint16_t netstat_at_get_port(const struct addr_type *atp); const char *netstat_at_get_portname(struct addr_type *atp); /* Socket buffers: */ -u_int netstat_sbt_get_cc(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_lowat(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp); -u_int netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_cc(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_lowat(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp); +u_int32_t netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp); __END_DECLS #endif /* !_NETSTAT_H_ */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#19 (text+ko) ==== @@ -28,19 +28,19 @@ char at_numeric[32]; char *at_address; int at_address_len; - u_short at_port; + uint16_t at_port; char at_portname[32]; }; /* Socket buffer type */ struct sockbuf_type { - u_int sbt_cc; /* actual chars in the buffer */ - u_int sbt_mcnt; - u_int sbt_ccnt; - u_int sbt_hiwat; - u_int sbt_lowat; - u_int sbt_mbcnt; - u_int sbt_mbmax; + u_int32_t sbt_cc; /* actual chars in the buffer */ + u_int32_t sbt_mcnt; + u_int32_t sbt_ccnt; + u_int32_t sbt_hiwat; + u_int32_t sbt_lowat; + u_int32_t sbt_mbcnt; + u_int32_t sbt_mbmax; }; /* internal defines for addr_type: */ @@ -73,15 +73,15 @@ struct sockbuf_type st_snd; struct sockbuf_type st_rcv; - u_short st_qlen; /* number of unaccepted connections */ - u_short st_incqlen; /* number of unaccepted incomplete + uint16_t st_qlen; /* number of unaccepted connections */ + uint16_t st_incqlen; /* number of unaccepted incomplete connections */ - u_short st_qlimit; /* max number queued connections */ - u_long st_pcb; /* protocol control block */ - u_long st_vnode; /* if associated with file */ - u_long st_conn; /* control block of connected socket */ - u_long st_refs; /* referencing socket linked list */ - u_long st_reflink; /* link in references list */ + uint16_t st_qlimit; /* max number queued connections */ + u_int64_t st_pcb; /* protocol control block */ + u_int64_t st_vnode; /* if associated with file */ + u_int64_t st_conn; /* control block of connected socket */ + u_int64_t st_refs; /* referencing socket linked list */ + u_int64_t st_reflink; /* link in references list */ char st_tcpstate[16]; /* list of types */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#21 (text+ko) ==== @@ -362,49 +362,49 @@ return (&stp->st_rcv); } -u_short +u_int16_t netstat_st_get_qlen(const struct socket_type *stp) { return (stp->st_qlen); } -u_short +u_int16_t netstat_st_get_incqlen(const struct socket_type *stp) { return (stp->st_incqlen); } -u_short +u_int16_t netstat_st_get_qlimit(const struct socket_type *stp) { return (stp->st_qlimit); } -u_long +u_int64_t netstat_st_get_pcb(const struct socket_type *stp) { return (stp->st_pcb); } -u_long +u_int64_t netstat_st_get_vnode(const struct socket_type *stp) { return (stp->st_vnode); } -u_long +u_int64_t netstat_st_get_conn(const struct socket_type *stp) { return (stp->st_conn); } -u_long +u_int64_t netstat_st_get_refs(const struct socket_type *stp) { return (stp->st_refs); } -u_long +u_int64_t netstat_st_get_reflink(const struct socket_type *stp) { return (stp->st_reflink); @@ -461,7 +461,7 @@ return (0); } -u_short +u_int16_t netstat_at_get_port(const struct addr_type *atp) { return (atp->at_port); @@ -476,43 +476,43 @@ return (atp->at_portname); } -u_int +u_int32_t netstat_sbt_get_cc(const struct sockbuf_type *sbtp) { return (sbtp->sbt_cc); } -u_int +u_int32_t netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp) { return (sbtp->sbt_hiwat); } -u_int +u_int32_t netstat_sbt_get_lowat(const struct sockbuf_type *sbtp) { return (sbtp->sbt_lowat); } -u_int +u_int32_t netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp) { return (sbtp->sbt_mbcnt); } -u_int +u_int32_t netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp) { return (sbtp->sbt_mcnt); } -u_int +u_int32_t netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp) { return (sbtp->sbt_ccnt); } -u_int +u_int32_t netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp) { return (sbtp->sbt_mbmax); ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#20 (text+ko) ==== @@ -196,7 +196,7 @@ if (Lflag && netstat_st_get_qlimit(stp) == 0) return; if (Aflag) - printf("%8lx ", netstat_st_get_pcb(stp)); + printf("%8lx ", (u_long) netstat_st_get_pcb(stp)); printf("%-5.5s ", netstat_st_get_extname(stp)); if (Lflag) { snprintf(buf1, 15, "%d/%d/%d", netstat_st_get_qlen(stp), ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#16 (text+ko) ==== @@ -135,11 +135,13 @@ printf("unix %-14.14s", buf1); } else { printf("%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", - netstat_st_get_pcb(stp), netstat_st_get_name(stp), + (u_long) netstat_st_get_pcb(stp), netstat_st_get_name(stp), netstat_sbt_get_cc(netstat_st_get_rcv(stp)), netstat_sbt_get_cc(netstat_st_get_snd(stp)), - netstat_st_get_vnode(stp), netstat_st_get_conn(stp), - netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); + (u_long) netstat_st_get_vnode(stp), + (u_long) netstat_st_get_conn(stp), + (u_long) netstat_st_get_refs(stp), + (u_long) netstat_st_get_reflink(stp)); } if (netstat_st_get_addrcnt(stp) > 0) { addr = netstat_st_get_address(stp, 0); ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#6 (text+ko) ==== @@ -77,11 +77,13 @@ stp = netstat_sti_next(stip), row++) { mvprintw(row, 0, "%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", - netstat_st_get_pcb(stp), netstat_st_get_name(stp), + (u_long) netstat_st_get_pcb(stp), netstat_st_get_name(stp), netstat_sbt_get_cc(netstat_st_get_rcv(stp)), netstat_sbt_get_cc(netstat_st_get_snd(stp)), - netstat_st_get_vnode(stp), netstat_st_get_conn(stp), - netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); + (u_long) netstat_st_get_vnode(stp), + (u_long) netstat_st_get_conn(stp), + (u_long) netstat_st_get_refs(stp), + (u_long) netstat_st_get_reflink(stp)); if (netstat_st_get_addrcnt(stp) > 0) { atp = netstat_st_get_address(stp, 0); printw(" %s", netstat_at_get_name(atp)); From owner-p4-projects@FreeBSD.ORG Wed Jun 24 22:48:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 485831065678; Wed, 24 Jun 2009 22:48:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0316B1065672 for ; Wed, 24 Jun 2009 22:48:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E562D8FC1A for ; Wed, 24 Jun 2009 22:48:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OMmX7w077187 for ; Wed, 24 Jun 2009 22:48:33 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5OMmXkA077185 for perforce@freebsd.org; Wed, 24 Jun 2009 22:48:33 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 24 Jun 2009 22:48:33 GMT Message-Id: <200906242248.n5OMmXkA077185@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165119 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jun 2009 22:48:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=165119 Change 165119 by pgj@petymeg-current on 2009/06/24 22:48:27 Add an initial version of the data structures for the pcblist sysctl-stream model Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#2 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#2 (text+ko) ==== @@ -145,4 +145,56 @@ }; #endif /* _SYS_SOCKETVAR_H_ */ +/* + * Statistics structures to be used by user space monitoring tools. + */ + +#define UNPCB_STREAM_VERSION 0x00000001 + +/* + * Stream structure: + * (unpcb_stream) (unpcb_gen) (unpcb_data [unpcb_address]) ... (unpcb_gen) + * + */ + +struct unpcb_stream { + u_int32_t us_version; /* Stream format version. */ + u_int32_t us_count; /* Number of records. */ + u_int32_t _us_pad[2]; /* Padding. */ +}; + +struct unpcb_gen { + u_int64_t ug_gen; + u_int64_t ug_sogen; + u_int64_t _ug_pad[6]; +}; + +/* Exported data for user applications (not complete) */ +struct unpcb_data { + uint16_t ud_address_len; /* 0: no address associated. */ + uint16_t ud_qlen; + uint16_t ud_incqlen; + uint16_t ud_qlimit; + u_int32_t ud_snd_cc; + u_int32_t ud_snd_mcnt; + u_int32_t ud_snd_ccnt; + u_int32_t ud_snd_hiwat; + u_int32_t ud_snd_lowat; + u_int32_t ud_snd_mbcnt; + u_int32_t ud_snd_mbmax; + u_int32_t ud_rcv_cc; + u_int32_t ud_rcv_mcnt; + u_int32_t ud_rcv_ccnt; + u_int32_t ud_rcv_hiwat; + u_int32_t ud_rcv_lowat; + u_int32_t ud_rcv_mbcnt; + u_int32_t ud_rcv_mbmax; + u_int64_t ud_pcb; + u_int64_t ud_vnode; + u_int64_t ud_conn; + u_int64_t ud_refs; + u_int64_t ud_reflink; + uint16_t _ud_pad[22]; +}; + #endif /* _SYS_UNPCB_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Jun 25 05:56:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 138CB1065670; Thu, 25 Jun 2009 05:56:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7AFB106564A for ; Thu, 25 Jun 2009 05:56:22 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9C1688FC14 for ; Thu, 25 Jun 2009 05:56:22 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P5uM5D036577 for ; Thu, 25 Jun 2009 05:56:22 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P5uM7W036575 for perforce@freebsd.org; Thu, 25 Jun 2009 05:56:22 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 25 Jun 2009 05:56:22 GMT Message-Id: <200906250556.n5P5uM7W036575@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165129 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 05:56:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=165129 Change 165129 by dforsyth@squirrel on 2009/06/25 05:56:18 Add pkg_sub type, which will replace pkgdb_sub. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#1 add .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 25 05:58:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64BC81065675; Thu, 25 Jun 2009 05:58:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24C2E1065670 for ; Thu, 25 Jun 2009 05:58:25 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ECECF8FC13 for ; Thu, 25 Jun 2009 05:58:24 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P5wOB4036699 for ; Thu, 25 Jun 2009 05:58:24 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P5wO53036697 for perforce@freebsd.org; Thu, 25 Jun 2009 05:58:24 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 25 Jun 2009 05:58:24 GMT Message-Id: <200906250558.n5P5wO53036697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 05:58:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165130 Change 165130 by dforsyth@squirrel on 2009/06/25 05:57:24 A few changes, mostly to reflect the existance of pkg_sub, even it's not used yet. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#26 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#21 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#16 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#8 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#26 (text+ko) ==== @@ -338,6 +338,13 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + free(p->ident); + free(p->comment); + free(p->contents); + free(p->description); + free(p->display); + free(p->mtree_dirs); + free(p->required_by); p->ident = NULL; p->comment = NULL; p->contents = NULL; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#21 (text+ko) ==== @@ -48,7 +48,7 @@ } void -pkg_plist_free(struct pkg_plist *pl) +pkg_plist_delete(struct pkg_plist *pl) { /* TODO: Write this function. */ #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#16 (text+ko) ==== @@ -128,7 +128,7 @@ void set_parse_state_default(struct parse_state *st); -void pkg_plist_free(struct pkg_plist *pl); +void pkg_plist_delete(struct pkg_plist *pl); /* pkg_dep */ void pkg_plist_pkg_dep_list_init(struct pkg_plist *pl); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#8 (text+ko) ==== @@ -13,6 +13,7 @@ #include "pkgdb_private.h" #include "pkgdb_hierdb.h" #include "pkgdb_hierdb_pkgdb_sub.h" +#include "pkg_sub.h" int pkgdb_hierdb_db_open(struct pkgdb *db, const char *db_root) @@ -20,7 +21,7 @@ int s; struct stat sb; #if 0 - if (!VALID_DB(db))a + if (!VALID_DB(db)) #endif if (db == NULL) @@ -59,6 +60,9 @@ struct pkgdb_sub *sub; struct dirent **ents; #if 0 + struct pkg_dir *pkg_list; +#endif +#if 0 if (!VALID_DB(db)) #endif if (db == NULL) @@ -69,6 +73,25 @@ c = scandir(db->db_root, &ents, subdir_sel, alphasort); if (c < 1) return (NOT_OK | MEMORY_ERR); + +#if 0 + pkg_list = calloc(c, sizeof(*pkg_list)); + if (pkg_list = NULL) + return (NOT_OK | MEMORY_ERR); + + for i = 0, cnt = 0; i < c; ++i) { + status |= pkg_sub_init(db, pkg_list[i], ents[i]->d_name); + if (PKG_SUB_MEMORY_ERR(status)) { + pkgdb_pkg_sub_list_free(db); + for (; i < c; ++i) + free(ents[i]); + free(ents); + return (PKGDB_NOT_OK | PKGDB_MEMORY_ERR); + } + free(ents[i]); + } + free(ents); +#endif pkgdb_pkgdb_sub_list_init(db); for (i = 0, cnt = 0; i < c; ++i) { From owner-p4-projects@FreeBSD.ORG Thu Jun 25 07:21:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A410C1065673; Thu, 25 Jun 2009 07:21:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 642531065670 for ; Thu, 25 Jun 2009 07:21:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3843C8FC18 for ; Thu, 25 Jun 2009 07:21:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P7LugH044968 for ; Thu, 25 Jun 2009 07:21:56 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P7Lu2q044966 for perforce@freebsd.org; Thu, 25 Jun 2009 07:21:56 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 25 Jun 2009 07:21:56 GMT Message-Id: <200906250721.n5P7Lu2q044966@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165132 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 07:21:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165132 Change 165132 by jona@jona-trustedbsd-belle-vmware on 2009/06/25 07:21:22 Added license text to dbus.cpp Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/dbus.cpp#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/dbus.cpp#3 (text+ko) ==== @@ -1,3 +1,36 @@ +/*- + * Copyright (c) 2009 Jonathan Anderson + * All rights reserved. + * + * WARNING: THIS IS EXPERIMENTAL SECURITY SOFTWARE THAT MUST NOT BE RELIED + * ON IN PRODUCTION SYSTEMS. IT WILL BREAK YOUR SOFTWARE IN NEW AND + * UNEXPECTED WAYS. + * + * This software was developed at the University of Cambridge Computer + * Laboratory with support from a grant from Google, Inc. + * + * 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 #include From owner-p4-projects@FreeBSD.ORG Thu Jun 25 07:21:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89E501065726; Thu, 25 Jun 2009 07:21:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CF60106564A for ; Thu, 25 Jun 2009 07:21:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 70E1B8FC19 for ; Thu, 25 Jun 2009 07:21:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P7LuOP044973 for ; Thu, 25 Jun 2009 07:21:56 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P7LuOr044971 for perforce@freebsd.org; Thu, 25 Jun 2009 07:21:56 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 25 Jun 2009 07:21:56 GMT Message-Id: <200906250721.n5P7LuOr044971@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165133 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 07:21:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=165133 Change 165133 by jona@jona-trustedbsd-belle-vmware on 2009/06/25 07:21:41 Added ua_find() to libuserangel Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#8 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#11 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#2 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include +#include #include @@ -55,6 +56,43 @@ const char* ua_protocol_error(void) { return errmsg; } +int ua_find(void) +{ + char *homedir = getenv("HOME"); + + if(strlen(homedir) > 200) + { + sprintf(errmsg, "Obscenely long $HOME variable (%i chars)", + strlen(homedir)); + return -1; + } + + char control_socket_name[256] = ""; + + sprintf(control_socket_name, "%s/.user-angel", homedir); + + struct sockaddr_un addr; + addr.sun_family = AF_UNIX; + strcpy(addr.sun_path, control_socket_name); + + int angel = socket(AF_UNIX, SOCK_STREAM, 0); + if(connect(angel, (struct sockaddr*) &addr, sizeof(addr))) + { + sprintf(errmsg, "Error connecting to angel at '%s'", addr.sun_path); + return -1; + } + + if(lc_limitfd(angel, CAP_READ | CAP_WRITE) < 0) + { + sprintf(errmsg, "Error creating user angel capability: %i (%s)", + errno, strerror(errno)); + return -1; + } + + return angel; +} + + int ua_send(int sock, datum *d, int32_t fds[], int32_t fdlen) { ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#2 (text+ko) ==== @@ -37,9 +37,16 @@ #include +/* High-level API */ + /** The last angel/sandbox protocol error */ const char* ua_protocol_error(void); +/** Find the user angel (at $HOME/.user-angel or the like) */ +int ua_find(void); + + +/* Low-level API */ /** Requests that clients can make */ enum ua_request_t { UA_NO_OP = 0, UA_OPEN_PATH, UA_LOAD_LIBRARY, UA_POWERBOX }; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#8 (text+ko) ==== @@ -7,7 +7,7 @@ CFLAGS=--std=c99 ${DEBUG} ${WARNINGS} ${INCLUDE} -DVERSION='"${VERSION}"' CXXFLAGS=${DEBUG} -Wall ${QDBUS_INCLUDE} -DVERSION='"${VERSION}"' -LIBS=-luserangel +LIBS=-lcapability -luserangel -lsbuf BIN=user_angel test_client AGENT_OBJ = user_angel.o server.o cap.o powerbox.o dbus.o ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#11 (text+ko) ==== @@ -14,7 +14,6 @@ #include -int connect_to_user_angel(void); void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights); void open_powerbox(int fd_angel, const char *path, const char *filter, int parent); void test_fd(int fd, char *name); @@ -22,11 +21,9 @@ int main(int argc, char *argv[]) { - int fd_angel = connect_to_user_angel(); - printf("angel FD: %i\n", fd_angel); - - fd_angel = cap_new(fd_angel, CAP_CONNECT | CAP_READ | CAP_WRITE); - printf("angel cap: %i\n", fd_angel); + int fd_angel = ua_find(); + if(fd_angel < 0) err(EX_SOFTWARE, "Error finding user angel"); + printf("Conntected to user angel via FD %i\n", fd_angel); int proc; pid_t pid = pdfork(&proc); @@ -69,30 +66,6 @@ } -int connect_to_user_angel(void) -{ - char *homedir = getenv("HOME"); - - if(strlen(homedir) >= 80) - err(EX_DATAERR, "Obscenely long $HOME variable: %s", homedir); - - char control_socket_name[256] = ""; - - sprintf(control_socket_name, "%s/.user-angel", homedir); - printf("Connecting to control socket at '%s'...\n", control_socket_name); - - struct sockaddr_un addr; - addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, control_socket_name); - - int fd_angel = socket(AF_UNIX, SOCK_STREAM, 0); - if(connect(fd_angel, (struct sockaddr*) &addr, sizeof(addr))) - err(EX_IOERR, "Error connecting to angel at '%s'", addr.sun_path); - - return fd_angel; -} - - void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights) { From owner-p4-projects@FreeBSD.ORG Thu Jun 25 07:29:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26AEB10656ED; Thu, 25 Jun 2009 07:29:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D87AC10656EB for ; Thu, 25 Jun 2009 07:29:04 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C745C8FC12 for ; Thu, 25 Jun 2009 07:29:04 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P7T4Qq045513 for ; Thu, 25 Jun 2009 07:29:04 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P7T4d8045511 for perforce@freebsd.org; Thu, 25 Jun 2009 07:29:04 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 25 Jun 2009 07:29:04 GMT Message-Id: <200906250729.n5P7T4d8045511@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165134 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 07:29:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=165134 Change 165134 by jona@jona-trustedbsd-belle-vmware on 2009/06/25 07:28:59 Cache the user angel FD Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#3 (text+ko) ==== @@ -52,6 +52,7 @@ void handle_error(const datum *d); +int angel = -1; char errmsg[256]; const char* ua_protocol_error(void) { return errmsg; } @@ -75,7 +76,7 @@ addr.sun_family = AF_UNIX; strcpy(addr.sun_path, control_socket_name); - int angel = socket(AF_UNIX, SOCK_STREAM, 0); + angel = socket(AF_UNIX, SOCK_STREAM, 0); if(connect(angel, (struct sockaddr*) &addr, sizeof(addr))) { sprintf(errmsg, "Error connecting to angel at '%s'", addr.sun_path); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 08:22:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2EB71065672; Thu, 25 Jun 2009 08:22:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8660D106564A for ; Thu, 25 Jun 2009 08:22:02 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 744B38FC27 for ; Thu, 25 Jun 2009 08:22:02 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P8M2gG050454 for ; Thu, 25 Jun 2009 08:22:02 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P8M2ax050452 for perforce@freebsd.org; Thu, 25 Jun 2009 08:22:02 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 25 Jun 2009 08:22:02 GMT Message-Id: <200906250822.n5P8M2ax050452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 08:22:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165136 Change 165136 by jona@jona-trustedbsd-belle-vmware on 2009/06/25 08:22:00 Let ua_find() parse the server hello Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#9 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#12 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#12 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#4 (text+ko) ==== @@ -53,6 +53,9 @@ int angel = -1; +const char *VERSION = "UA/0.1"; +const char *ua_protocol_version() { return VERSION; } + char errmsg[256]; const char* ua_protocol_error(void) { return errmsg; } @@ -90,6 +93,59 @@ return -1; } + + // receive server 'hello' + struct ua_datum *hello_datum = ua_recv(angel, NULL, NULL); + if(!hello_datum) + { + sprintf(errmsg, "Error receiving server 'hello': %i (%s)", + errno, strerror(errno)); + close(angel); + angel = -1; + return -1; + } + + unsigned int hellolen = 120; + char hello[hellolen]; + if(ua_unmarshall_string(hello_datum, hello, &hellolen) < 0) + { + sprintf(errmsg, "Error unmarshalling server 'hello': %i (%s)", + errno, strerror(errno)); + + close(angel); + angel = -1; + return -1; + } + + free(hello_datum); + printf("Got server hello: \"%s\"\n", hello); + + // validate server 'hello' message + if(strncmp(hello, "user_angel", 10)) + { + sprintf(errmsg, "Server handshake didn't start with user_angel: %s", + hello); + + close(angel); + angel = -1; + return -1; + } + + char *version = hello; + while(*version != ' ') version++; + version++; + + unsigned int len = strlen(version); + if((len != strlen(VERSION)) || strncmp(version, VERSION, len)) + { + sprintf(errmsg, "Invalid UA protocol version: %s (expected %s)", + version, VERSION); + + close(angel); + angel = -1; + return -1; + } + return angel; } ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#3 (text+ko) ==== @@ -39,6 +39,9 @@ /* High-level API */ +/** Version of the User Angel protocol */ +const char* ua_protocol_version(void); + /** The last angel/sandbox protocol error */ const char* ua_protocol_error(void); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#9 (text+ko) ==== @@ -1,12 +1,11 @@ -VERSION=dev-pre1 DEBUG=-g -ggdb WARNINGS=-Wall -Werror -pedantic-errors QDBUS_INCLUDE=-I/usr/local/include/qt4 QDBUS_LIBS=-L /usr/local/lib/qt4 -lQtDBus -CFLAGS=--std=c99 ${DEBUG} ${WARNINGS} ${INCLUDE} -DVERSION='"${VERSION}"' -CXXFLAGS=${DEBUG} -Wall ${QDBUS_INCLUDE} -DVERSION='"${VERSION}"' +CFLAGS=--std=c99 ${DEBUG} ${WARNINGS} ${INCLUDE} +CXXFLAGS=${DEBUG} -Wall ${QDBUS_INCLUDE} LIBS=-lcapability -luserangel -lsbuf BIN=user_angel test_client ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#12 (text+ko) ==== @@ -190,7 +190,7 @@ if(client > highest_fd) highest_fd = client; char hello[80]; - sprintf(hello, "user_angel v%s", VERSION); + sprintf(hello, "user_angel %s", ua_protocol_version()); struct ua_datum *d = ua_marshall_string(hello, strlen(hello)); ua_send(client, d, NULL, 0); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#12 (text+ko) ==== @@ -22,8 +22,13 @@ int main(int argc, char *argv[]) { int fd_angel = ua_find(); - if(fd_angel < 0) err(EX_SOFTWARE, "Error finding user angel"); - printf("Conntected to user angel via FD %i\n", fd_angel); + if(fd_angel < 0) + { + fprintf(stderr, "Error finding user angel: %s\n", + ua_protocol_error()); + return -1; + } + printf("Connected to user angel via FD %i\n", fd_angel); int proc; pid_t pid = pdfork(&proc); @@ -44,18 +49,6 @@ - // receive server 'hello' - struct ua_datum *hello_datum = ua_recv(fd_angel, NULL, NULL); - if(!hello_datum) err(EX_IOERR, "Error receiving server 'hello'"); - - unsigned int hellolen = 80; - char hello[hellolen]; - if(ua_unmarshall_string(hello_datum, hello, &hellolen) < 0) - err(EX_SOFTWARE, "Error unmarshalling server 'hello'"); - - free(hello_datum); - printf("Got server hello: \"%s\"\n", hello); - open_file(fd_angel, "/etc/group", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_SEEK); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 09:43:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E98001065677; Thu, 25 Jun 2009 09:43:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A90D4106564A for ; Thu, 25 Jun 2009 09:43:31 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95DFE8FC14 for ; Thu, 25 Jun 2009 09:43:31 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P9hVp5067631 for ; Thu, 25 Jun 2009 09:43:31 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P9hV0I067629 for perforce@freebsd.org; Thu, 25 Jun 2009 09:43:31 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 09:43:31 GMT Message-Id: <200906250943.n5P9hV0I067629@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 09:43:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165141 Change 165141 by mav@mav_mavbook on 2009/06/25 09:42:58 Rename all ATA disk driver internals from da... to ada... to avoid confuses. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#10 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#10 (text+ko) ==== @@ -63,38 +63,38 @@ #define ATA_MAX_28BIT_LBA 268435455UL typedef enum { - DA_STATE_NORMAL -} da_state; + ADA_STATE_NORMAL +} ada_state; typedef enum { - DA_FLAG_PACK_INVALID = 0x001, - DA_FLAG_CAN_48BIT = 0x002, - DA_FLAG_CAN_FLUSHCACHE = 0x004, - DA_FLAG_CAN_NCQ = 0x008, - DA_FLAG_TAGGED_QUEUING = 0x010, - DA_FLAG_NEED_OTAG = 0x020, - DA_FLAG_WENT_IDLE = 0x040, - DA_FLAG_RETRY_UA = 0x080, - DA_FLAG_OPEN = 0x100, - DA_FLAG_SCTX_INIT = 0x200 -} da_flags; + ADA_FLAG_PACK_INVALID = 0x001, + ADA_FLAG_CAN_48BIT = 0x002, + ADA_FLAG_CAN_FLUSHCACHE = 0x004, + ADA_FLAG_CAN_NCQ = 0x008, + ADA_FLAG_TAGGED_QUEUING = 0x010, + ADA_FLAG_NEED_OTAG = 0x020, + ADA_FLAG_WENT_IDLE = 0x040, + ADA_FLAG_RETRY_UA = 0x080, + ADA_FLAG_OPEN = 0x100, + ADA_FLAG_SCTX_INIT = 0x200 +} ada_flags; typedef enum { - DA_Q_NONE = 0x00, - DA_Q_NO_SYNC_CACHE = 0x01, - DA_Q_NO_6_BYTE = 0x02, - DA_Q_NO_PREVENT = 0x04 -} da_quirks; + ADA_Q_NONE = 0x00, + ADA_Q_NO_SYNC_CACHE = 0x01, + ADA_Q_NO_6_BYTE = 0x02, + ADA_Q_NO_PREVENT = 0x04 +} ada_quirks; typedef enum { - DA_CCB_PROBE = 0x01, - DA_CCB_PROBE2 = 0x02, - DA_CCB_BUFFER_IO = 0x03, - DA_CCB_WAITING = 0x04, - DA_CCB_DUMP = 0x05, - DA_CCB_TYPE_MASK = 0x0F, - DA_CCB_RETRY_UA = 0x10 -} da_ccb_state; + ADA_CCB_PROBE = 0x01, + ADA_CCB_PROBE2 = 0x02, + ADA_CCB_BUFFER_IO = 0x03, + ADA_CCB_WAITING = 0x04, + ADA_CCB_DUMP = 0x05, + ADA_CCB_TYPE_MASK = 0x0F, + ADA_CCB_RETRY_UA = 0x10 +} ada_ccb_state; /* Offsets into our private area for storing information */ #define ccb_state ppriv_field0 @@ -108,13 +108,13 @@ u_int64_t sectors; /* total number sectors */ }; -struct da_softc { +struct ada_softc { struct bio_queue_head bio_queue; - SLIST_ENTRY(da_softc) links; + SLIST_ENTRY(ada_softc) links; LIST_HEAD(, ccb_hdr) pending_ccbs; - da_state state; - da_flags flags; - da_quirks quirks; + ada_state state; + ada_flags flags; + ada_quirks quirks; int ordered_tag_count; int outstanding_cmds; struct disk_params params; @@ -126,65 +126,65 @@ struct callout sendordered_c; }; -struct da_quirk_entry { +struct ada_quirk_entry { struct scsi_inquiry_pattern inq_pat; - da_quirks quirks; + ada_quirks quirks; }; -//static struct da_quirk_entry da_quirk_table[] = +//static struct ada_quirk_entry ada_quirk_table[] = //{ //}; -static disk_strategy_t dastrategy; -//static dumper_t dadump; -static periph_init_t dainit; -static void daasync(void *callback_arg, u_int32_t code, +static disk_strategy_t adastrategy; +//static dumper_t adadump; +static periph_init_t adainit; +static void adaasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg); -static void dasysctlinit(void *context, int pending); -static periph_ctor_t daregister; -static periph_dtor_t dacleanup; -static periph_start_t dastart; -static periph_oninv_t daoninvalidate; -static void dadone(struct cam_periph *periph, +static void adasysctlinit(void *context, int pending); +static periph_ctor_t adaregister; +static periph_dtor_t adacleanup; +static periph_start_t adastart; +static periph_oninv_t adaoninvalidate; +static void adadone(struct cam_periph *periph, union ccb *done_ccb); -static int daerror(union ccb *ccb, u_int32_t cam_flags, +static int adaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags); -static void dasetgeom(struct cam_periph *periph, +static void adasetgeom(struct cam_periph *periph, struct ccb_getdev *cgd); -static timeout_t dasendorderedtag; -static void dashutdown(void *arg, int howto); +static timeout_t adasendorderedtag; +static void adashutdown(void *arg, int howto); -#ifndef DA_DEFAULT_TIMEOUT -#define DA_DEFAULT_TIMEOUT 30 /* Timeout in seconds */ +#ifndef ADA_DEFAULT_TIMEOUT +#define ADA_DEFAULT_TIMEOUT 30 /* Timeout in seconds */ #endif -#ifndef DA_DEFAULT_RETRY -#define DA_DEFAULT_RETRY 4 +#ifndef ADA_DEFAULT_RETRY +#define ADA_DEFAULT_RETRY 4 #endif -#ifndef DA_DEFAULT_SEND_ORDERED -#define DA_DEFAULT_SEND_ORDERED 1 +#ifndef ADA_DEFAULT_SEND_ORDERED +#define ADA_DEFAULT_SEND_ORDERED 1 #endif -static int da_retry_count = DA_DEFAULT_RETRY; -static int da_default_timeout = DA_DEFAULT_TIMEOUT; -static int da_send_ordered = DA_DEFAULT_SEND_ORDERED; +static int ada_retry_count = ADA_DEFAULT_RETRY; +static int ada_default_timeout = ADA_DEFAULT_TIMEOUT; +static int ada_send_ordered = ADA_DEFAULT_SEND_ORDERED; SYSCTL_NODE(_kern_cam, OID_AUTO, ada, CTLFLAG_RD, 0, "CAM Direct Access Disk driver"); SYSCTL_INT(_kern_cam_ada, OID_AUTO, retry_count, CTLFLAG_RW, - &da_retry_count, 0, "Normal I/O retry count"); -TUNABLE_INT("kern.cam.ada.retry_count", &da_retry_count); + &ada_retry_count, 0, "Normal I/O retry count"); +TUNABLE_INT("kern.cam.ada.retry_count", &ada_retry_count); SYSCTL_INT(_kern_cam_ada, OID_AUTO, default_timeout, CTLFLAG_RW, - &da_default_timeout, 0, "Normal I/O timeout (in seconds)"); -TUNABLE_INT("kern.cam.ada.default_timeout", &da_default_timeout); -SYSCTL_INT(_kern_cam_ada, OID_AUTO, da_send_ordered, CTLFLAG_RW, - &da_send_ordered, 0, "Send Ordered Tags"); -TUNABLE_INT("kern.cam.ada.da_send_ordered", &da_send_ordered); + &ada_default_timeout, 0, "Normal I/O timeout (in seconds)"); +TUNABLE_INT("kern.cam.ada.default_timeout", &ada_default_timeout); +SYSCTL_INT(_kern_cam_ada, OID_AUTO, ada_send_ordered, CTLFLAG_RW, + &ada_send_ordered, 0, "Send Ordered Tags"); +TUNABLE_INT("kern.cam.ada.ada_send_ordered", &ada_send_ordered); /* - * DA_ORDEREDTAG_INTERVAL determines how often, relative + * ADA_ORDEREDTAG_INTERVAL determines how often, relative * to the default timeout, we check to see whether an ordered * tagged transaction is appropriate to prevent simple tag * starvation. Since we'd like to ensure that there is at least @@ -195,13 +195,13 @@ * meets the requirement "don't send an ordered tag" test so it takes * us two intervals to determine that a tag must be sent. */ -#ifndef DA_ORDEREDTAG_INTERVAL -#define DA_ORDEREDTAG_INTERVAL 4 +#ifndef ADA_ORDEREDTAG_INTERVAL +#define ADA_ORDEREDTAG_INTERVAL 4 #endif static struct periph_driver adadriver = { - dainit, "ada", + adainit, "ada", TAILQ_HEAD_INITIALIZER(adadriver.units), /* generation */ 0 }; @@ -210,10 +210,10 @@ MALLOC_DEFINE(M_ATADA, "ata_da", "ata_da buffers"); static int -daopen(struct disk *dp) +adaopen(struct disk *dp) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; int unit; int error; @@ -234,16 +234,16 @@ } unit = periph->unit_number; - softc = (struct da_softc *)periph->softc; - softc->flags |= DA_FLAG_OPEN; + softc = (struct ada_softc *)periph->softc; + softc->flags |= ADA_FLAG_OPEN; CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, - ("daopen: disk=%s%d (unit %d)\n", dp->d_name, dp->d_unit, + ("adaopen: disk=%s%d (unit %d)\n", dp->d_name, dp->d_unit, unit)); - if ((softc->flags & DA_FLAG_PACK_INVALID) != 0) { + if ((softc->flags & ADA_FLAG_PACK_INVALID) != 0) { /* Invalidate our pack information. */ - softc->flags &= ~DA_FLAG_PACK_INVALID; + softc->flags &= ~ADA_FLAG_PACK_INVALID; } cam_periph_unhold(periph); @@ -252,10 +252,10 @@ } static int -daclose(struct disk *dp) +adaclose(struct disk *dp) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; int error; periph = (struct cam_periph *)dp->d_drv1; @@ -269,9 +269,9 @@ return (error); } - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; - softc->flags &= ~DA_FLAG_OPEN; + softc->flags &= ~ADA_FLAG_OPEN; cam_periph_unhold(periph); cam_periph_unlock(periph); cam_periph_release(periph); @@ -284,17 +284,17 @@ * only one physical transfer. */ static void -dastrategy(struct bio *bp) +adastrategy(struct bio *bp) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; periph = (struct cam_periph *)bp->bio_disk->d_drv1; if (periph == NULL) { biofinish(bp, NULL, ENXIO); return; } - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; cam_periph_lock(periph); @@ -314,7 +314,7 @@ /* * If the device has been made invalid, error out */ - if ((softc->flags & DA_FLAG_PACK_INVALID)) { + if ((softc->flags & ADA_FLAG_PACK_INVALID)) { cam_periph_unlock(periph); biofinish(bp, NULL, ENXIO); return; @@ -335,10 +335,10 @@ } #if 0 static int -dadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length) +adadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; u_int secsize; struct ccb_scsiio csio; struct disk *dp; @@ -347,11 +347,11 @@ periph = dp->d_drv1; if (periph == NULL) return (ENXIO); - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; cam_periph_lock(periph); secsize = softc->params.secsize; - if ((softc->flags & DA_FLAG_PACK_INVALID) != 0) { + if ((softc->flags & ADA_FLAG_PACK_INVALID) != 0) { cam_periph_unlock(periph); return (ENXIO); } @@ -359,10 +359,10 @@ if (length > 0) { periph->flags |= CAM_PERIPH_POLLED; xpt_setup_ccb(&csio.ccb_h, periph->path, /*priority*/1); - csio.ccb_h.ccb_state = DA_CCB_DUMP; + csio.ccb_h.ccb_state = ADA_CCB_DUMP; scsi_read_write(&csio, /*retries*/1, - dadone, + adadone, 0,//MSG_ORDERED_Q_TAG, /*read*/FALSE, /*byte2*/0, @@ -372,7 +372,7 @@ /*data_ptr*/(u_int8_t *) virtual, /*dxfer_len*/length, /*sense_len*/SSD_FULL_SIZE, - DA_DEFAULT_TIMEOUT * 1000); + ADA_DEFAULT_TIMEOUT * 1000); xpt_polled_action((union ccb *)&csio); if ((csio.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { @@ -397,7 +397,7 @@ #endif static void -dainit(void) +adainit(void) { cam_status status; @@ -405,33 +405,33 @@ * Install a global async callback. This callback will * receive async callbacks like "new device found". */ - status = xpt_register_async(AC_FOUND_DEVICE, daasync, NULL, NULL); + status = xpt_register_async(AC_FOUND_DEVICE, adaasync, NULL, NULL); if (status != CAM_REQ_CMP) { - printf("da: Failed to attach master async callback " + printf("ada: Failed to attach master async callback " "due to status 0x%x!\n", status); - } else if (da_send_ordered) { + } else if (ada_send_ordered) { /* Register our shutdown event handler */ - if ((EVENTHANDLER_REGISTER(shutdown_post_sync, dashutdown, + if ((EVENTHANDLER_REGISTER(shutdown_post_sync, adashutdown, NULL, SHUTDOWN_PRI_DEFAULT)) == NULL) - printf("dainit: shutdown event registration failed!\n"); + printf("adainit: shutdown event registration failed!\n"); } } static void -daoninvalidate(struct cam_periph *periph) +adaoninvalidate(struct cam_periph *periph) { - struct da_softc *softc; + struct ada_softc *softc; - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; /* * De-register any async callbacks. */ - xpt_register_async(0, daasync, periph, periph->path); + xpt_register_async(0, adaasync, periph, periph->path); - softc->flags |= DA_FLAG_PACK_INVALID; + softc->flags |= ADA_FLAG_PACK_INVALID; /* * Return all queued I/O with ENXIO. @@ -445,11 +445,11 @@ } static void -dacleanup(struct cam_periph *periph) +adacleanup(struct cam_periph *periph) { - struct da_softc *softc; + struct ada_softc *softc; - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; xpt_print(periph->path, "removing device entry\n"); cam_periph_unlock(periph); @@ -457,7 +457,7 @@ /* * If we can't free the sysctl tree, oh well... */ - if ((softc->flags & DA_FLAG_SCTX_INIT) != 0 + if ((softc->flags & ADA_FLAG_SCTX_INIT) != 0 && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print(periph->path, "can't remove sysctl context\n"); } @@ -469,7 +469,7 @@ } static void -daasync(void *callback_arg, u_int32_t code, +adaasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg) { struct cam_periph *periph; @@ -498,32 +498,32 @@ * this device and start the probe * process. */ - status = cam_periph_alloc(daregister, daoninvalidate, - dacleanup, dastart, + status = cam_periph_alloc(adaregister, adaoninvalidate, + adacleanup, adastart, "ada", CAM_PERIPH_BIO, - cgd->ccb_h.path, daasync, + cgd->ccb_h.path, adaasync, AC_FOUND_DEVICE, cgd); if (status != CAM_REQ_CMP && status != CAM_REQ_INPROG) - printf("daasync: Unable to attach to new device " + printf("adaasync: Unable to attach to new device " "due to status 0x%x\n", status); break; } case AC_SENT_BDR: case AC_BUS_RESET: { - struct da_softc *softc; + struct ada_softc *softc; struct ccb_hdr *ccbh; - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; /* * Don't fail on the expected unit attention * that will occur. */ - softc->flags |= DA_FLAG_RETRY_UA; + softc->flags |= ADA_FLAG_RETRY_UA; LIST_FOREACH(ccbh, &softc->pending_ccbs, periph_links.le) - ccbh->ccb_state |= DA_CCB_RETRY_UA; + ccbh->ccb_state |= ADA_CCB_RETRY_UA; /* FALLTHROUGH*/ } default: @@ -533,27 +533,27 @@ } static void -dasysctlinit(void *context, int pending) +adasysctlinit(void *context, int pending) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; char tmpstr[80], tmpstr2[80]; periph = (struct cam_periph *)context; if (cam_periph_acquire(periph) != CAM_REQ_CMP) return; - softc = (struct da_softc *)periph->softc; - snprintf(tmpstr, sizeof(tmpstr), "CAM DA unit %d", periph->unit_number); + softc = (struct ada_softc *)periph->softc; + snprintf(tmpstr, sizeof(tmpstr), "CAM ADA unit %d", periph->unit_number); snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); sysctl_ctx_init(&softc->sysctl_ctx); - softc->flags |= DA_FLAG_SCTX_INIT; + softc->flags |= ADA_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_ada), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); if (softc->sysctl_tree == NULL) { - printf("dasysctlinit: unable to allocate sysctl tree\n"); + printf("adasysctlinit: unable to allocate sysctl tree\n"); cam_periph_release(periph); return; } @@ -562,9 +562,9 @@ } static cam_status -daregister(struct cam_periph *periph, void *arg) +adaregister(struct cam_periph *periph, void *arg) { - struct da_softc *softc; + struct ada_softc *softc; struct ccb_pathinq cpi; struct ccb_getdev *cgd; char announce_buf[80]; @@ -573,37 +573,37 @@ cgd = (struct ccb_getdev *)arg; if (periph == NULL) { - printf("daregister: periph was NULL!!\n"); + printf("adaregister: periph was NULL!!\n"); return(CAM_REQ_CMP_ERR); } if (cgd == NULL) { - printf("daregister: no getdev CCB, can't register device\n"); + printf("adaregister: no getdev CCB, can't register device\n"); return(CAM_REQ_CMP_ERR); } - softc = (struct da_softc *)malloc(sizeof(*softc), M_DEVBUF, + softc = (struct ada_softc *)malloc(sizeof(*softc), M_DEVBUF, M_NOWAIT|M_ZERO); if (softc == NULL) { - printf("daregister: Unable to probe new device. " + printf("adaregister: Unable to probe new device. " "Unable to allocate softc\n"); return(CAM_REQ_CMP_ERR); } LIST_INIT(&softc->pending_ccbs); - softc->state = DA_STATE_NORMAL; + softc->state = ADA_STATE_NORMAL; bioq_init(&softc->bio_queue); if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) - softc->flags |= DA_FLAG_CAN_48BIT; + softc->flags |= ADA_FLAG_CAN_48BIT; if (cgd->ident_data.support.command2 & ATA_SUPPORT_FLUSHCACHE) - softc->flags |= DA_FLAG_CAN_FLUSHCACHE; + softc->flags |= ADA_FLAG_CAN_FLUSHCACHE; if (cgd->ident_data.satacapabilities & ATA_SUPPORT_NCQ && cgd->ident_data.queue >= 31) - softc->flags |= DA_FLAG_CAN_NCQ; + softc->flags |= ADA_FLAG_CAN_NCQ; // if ((cgd->inq_data.flags & SID_CmdQue) != 0) -// softc->flags |= DA_FLAG_TAGGED_QUEUING; +// softc->flags |= ADA_FLAG_TAGGED_QUEUING; periph->softc = softc; @@ -611,15 +611,15 @@ * See if this device has any quirks. */ // match = cam_quirkmatch((caddr_t)&cgd->inq_data, -// (caddr_t)da_quirk_table, -// sizeof(da_quirk_table)/sizeof(*da_quirk_table), -// sizeof(*da_quirk_table), scsi_inquiry_match); +// (caddr_t)ada_quirk_table, +// sizeof(ada_quirk_table)/sizeof(*ada_quirk_table), +// sizeof(*ada_quirk_table), scsi_inquiry_match); match = NULL; if (match != NULL) - softc->quirks = ((struct da_quirk_entry *)match)->quirks; + softc->quirks = ((struct ada_quirk_entry *)match)->quirks; else - softc->quirks = DA_Q_NONE; + softc->quirks = ADA_Q_NONE; /* Check if the SIM does not want queued commands */ xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); @@ -627,19 +627,19 @@ xpt_action((union ccb *)&cpi); if (cpi.ccb_h.status != CAM_REQ_CMP || (cpi.hba_inquiry & PI_TAG_ABLE) == 0) - softc->flags &= ~DA_FLAG_CAN_NCQ; + softc->flags &= ~ADA_FLAG_CAN_NCQ; - TASK_INIT(&softc->sysctl_task, 0, dasysctlinit, periph); + TASK_INIT(&softc->sysctl_task, 0, adasysctlinit, periph); /* * Register this media as a disk */ mtx_unlock(periph->sim->mtx); softc->disk = disk_alloc(); - softc->disk->d_open = daopen; - softc->disk->d_close = daclose; - softc->disk->d_strategy = dastrategy; -// softc->disk->d_dump = dadump; + softc->disk->d_open = adaopen; + softc->disk->d_close = adaclose; + softc->disk->d_strategy = adastrategy; +// softc->disk->d_dump = adadump; softc->disk->d_name = "ada"; softc->disk->d_drv1 = periph; if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) @@ -648,10 +648,10 @@ softc->disk->d_maxsize = 255 * 512; /* 28bit ATA command limit */ softc->disk->d_unit = periph->unit_number; softc->disk->d_flags = 0; - if (softc->flags & DA_FLAG_CAN_FLUSHCACHE) + if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE; - dasetgeom(periph, cgd); + adasetgeom(periph, cgd); dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), "%juMB (%ju %u byte sectors: %dH %dS/T " @@ -686,11 +686,11 @@ * not attach the device on failure. */ xpt_register_async(AC_SENT_BDR | AC_BUS_RESET | AC_LOST_DEVICE, - daasync, periph, periph->path); + adaasync, periph, periph->path); /* - * Take an exclusive refcount on the periph while dastart is called - * to finish the probe. The reference will be dropped in dadone at + * Take an exclusive refcount on the periph while adastart is called + * to finish the probe. The reference will be dropped in adadone at * the end of probe. */ // (void)cam_periph_hold(periph, PRIBIO); @@ -702,21 +702,21 @@ */ callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, - dasendorderedtag, softc); + (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + adasendorderedtag, softc); return(CAM_REQ_CMP); } static void -dastart(struct cam_periph *periph, union ccb *start_ccb) +adastart(struct cam_periph *periph, union ccb *start_ccb) { - struct da_softc *softc; + struct ada_softc *softc; - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; switch (softc->state) { - case DA_STATE_NORMAL: + case ADA_STATE_NORMAL: { /* Pull a buffer from the queue and get going on it */ struct bio *bp; @@ -728,7 +728,7 @@ if (periph->immediate_priority <= periph->pinfo.priority) { CAM_DEBUG_PRINT(CAM_DEBUG_SUBTRACE, ("queuing for immediate ccb\n")); - start_ccb->ccb_h.ccb_state = DA_CCB_WAITING; + start_ccb->ccb_h.ccb_state = ADA_CCB_WAITING; SLIST_INSERT_HEAD(&periph->ccb_list, &start_ccb->ccb_h, periph_links.sle); periph->immediate_priority = CAM_PRIORITY_NONE; @@ -741,8 +741,8 @@ bioq_remove(&softc->bio_queue, bp); - if ((softc->flags & DA_FLAG_NEED_OTAG) != 0) { - softc->flags &= ~DA_FLAG_NEED_OTAG; + if ((softc->flags & ADA_FLAG_NEED_OTAG) != 0) { + softc->flags &= ~ADA_FLAG_NEED_OTAG; softc->ordered_tag_count++; tag_code = 0;//MSG_ORDERED_Q_TAG; } else { @@ -756,16 +756,16 @@ uint16_t count = bp->bio_bcount / softc->params.secsize; cam_fill_ataio(ataio, - da_retry_count, - dadone, + ada_retry_count, + adadone, bp->bio_cmd == BIO_READ ? CAM_DIR_IN : CAM_DIR_OUT, tag_code, bp->bio_data, bp->bio_bcount, - da_default_timeout*1000); + ada_default_timeout*1000); - if (softc->flags & DA_FLAG_CAN_NCQ) { + if (softc->flags & ADA_FLAG_CAN_NCQ) { if (bp->bio_cmd == BIO_READ) { ata_ncq_cmd(ataio, ATA_READ_FPDMA_QUEUED, lba, count); @@ -773,7 +773,7 @@ ata_ncq_cmd(ataio, ATA_WRITE_FPDMA_QUEUED, lba, count); } - } else if ((softc->flags & DA_FLAG_CAN_48BIT) && + } else if ((softc->flags & ADA_FLAG_CAN_48BIT) && (lba + count >= ATA_MAX_28BIT_LBA || count >= 256)) { if (bp->bio_cmd == BIO_READ) { @@ -797,20 +797,20 @@ case BIO_FLUSH: cam_fill_ataio(ataio, 1, - dadone, + adadone, CAM_DIR_NONE, tag_code, NULL, 0, - da_default_timeout*1000); + ada_default_timeout*1000); - if (softc->flags & DA_FLAG_CAN_48BIT) + if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(ataio, ATA_FLUSHCACHE48, 0, 0, 0); else ata_48bit_cmd(ataio, ATA_FLUSHCACHE, 0, 0, 0); break; } - start_ccb->ccb_h.ccb_state = DA_CCB_BUFFER_IO; + start_ccb->ccb_h.ccb_state = ADA_CCB_BUFFER_IO; /* * Block out any asyncronous callbacks @@ -821,9 +821,9 @@ softc->outstanding_cmds++; /* We expect a unit attention from this device */ - if ((softc->flags & DA_FLAG_RETRY_UA) != 0) { - start_ccb->ccb_h.ccb_state |= DA_CCB_RETRY_UA; - softc->flags &= ~DA_FLAG_RETRY_UA; + if ((softc->flags & ADA_FLAG_RETRY_UA) != 0) { + start_ccb->ccb_h.ccb_state |= ADA_CCB_RETRY_UA; + softc->flags &= ~ADA_FLAG_RETRY_UA; } start_ccb->ccb_h.ccb_bp = bp; @@ -842,15 +842,15 @@ } static void -dadone(struct cam_periph *periph, union ccb *done_ccb) +adadone(struct cam_periph *periph, union ccb *done_ccb) { - struct da_softc *softc; + struct ada_softc *softc; struct ccb_ataio *ataio; - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; ataio = &done_ccb->ataio; - switch (ataio->ccb_h.ccb_state & DA_CCB_TYPE_MASK) { - case DA_CCB_BUFFER_IO: + switch (ataio->ccb_h.ccb_state & ADA_CCB_TYPE_MASK) { + case ADA_CCB_BUFFER_IO: { struct bio *bp; @@ -858,7 +858,7 @@ if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { int error; - error = daerror(done_ccb, CAM_RETRY_SELTO, 0); + error = adaerror(done_ccb, CAM_RETRY_SELTO, 0); if (error == ERESTART) { /* * A retry was scheuled, so @@ -879,7 +879,7 @@ */ xpt_print(periph->path, "Invalidating pack\n"); - softc->flags |= DA_FLAG_PACK_INVALID; + softc->flags |= ADA_FLAG_PACK_INVALID; } /* @@ -918,18 +918,18 @@ LIST_REMOVE(&done_ccb->ccb_h, periph_links.le); softc->outstanding_cmds--; if (softc->outstanding_cmds == 0) - softc->flags |= DA_FLAG_WENT_IDLE; + softc->flags |= ADA_FLAG_WENT_IDLE; biodone(bp); break; } - case DA_CCB_WAITING: + case ADA_CCB_WAITING: { /* Caller will release the CCB */ wakeup(&done_ccb->ccb_h.cbfcnp); return; } - case DA_CCB_DUMP: + case ADA_CCB_DUMP: /* No-op. We're polling */ return; default: @@ -939,22 +939,22 @@ } static int -daerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) +adaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) { - struct da_softc *softc; + struct ada_softc *softc; struct cam_periph *periph; periph = xpt_path_periph(ccb->ccb_h.path); - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; return(cam_periph_error(ccb, cam_flags, sense_flags, &softc->saved_ccb)); } static void -dasetgeom(struct cam_periph *periph, struct ccb_getdev *cgd) +adasetgeom(struct cam_periph *periph, struct ccb_getdev *cgd) { - struct da_softc *softc = (struct da_softc *)periph->softc; + struct ada_softc *softc = (struct ada_softc *)periph->softc; struct disk_params *dp = &softc->params; u_int64_t lbasize48; u_int32_t lbasize; @@ -995,58 +995,58 @@ } static void -dasendorderedtag(void *arg) +adasendorderedtag(void *arg) { - struct da_softc *softc = arg; + struct ada_softc *softc = arg; - if (da_send_ordered) { + if (ada_send_ordered) { if ((softc->ordered_tag_count == 0) - && ((softc->flags & DA_FLAG_WENT_IDLE) == 0)) { - softc->flags |= DA_FLAG_NEED_OTAG; + && ((softc->flags & ADA_FLAG_WENT_IDLE) == 0)) { + softc->flags |= ADA_FLAG_NEED_OTAG; } if (softc->outstanding_cmds > 0) - softc->flags &= ~DA_FLAG_WENT_IDLE; + softc->flags &= ~ADA_FLAG_WENT_IDLE; softc->ordered_tag_count = 0; } /* Queue us up again */ callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, - dasendorderedtag, softc); + (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + adasendorderedtag, softc); } /* - * Step through all DA peripheral drivers, and if the device is still open, + * Step through all ADA peripheral drivers, and if the device is still open, * sync the disk cache to physical media. */ static void -dashutdown(void * arg, int howto) +adashutdown(void * arg, int howto) { struct cam_periph *periph; - struct da_softc *softc; + struct ada_softc *softc; TAILQ_FOREACH(periph, &adadriver.units, unit_links) { // union ccb ccb; cam_periph_lock(periph); - softc = (struct da_softc *)periph->softc; + softc = (struct ada_softc *)periph->softc; #if 0 /* * We only sync the cache if the drive is still open, and * if the drive is capable of it.. */ - if (((softc->flags & DA_FLAG_OPEN) == 0) - || (softc->quirks & DA_Q_NO_SYNC_CACHE)) { + if (((softc->flags & ADA_FLAG_OPEN) == 0) + || (softc->quirks & ADA_Q_NO_SYNC_CACHE)) { cam_periph_unlock(periph); continue; } xpt_setup_ccb(&ccb.ccb_h, periph->path, /*priority*/1); - ccb.ccb_h.ccb_state = DA_CCB_DUMP; + ccb.ccb_h.ccb_state = ADA_CCB_DUMP; scsi_synchronize_cache(&ccb.csio, /*retries*/1, - /*cbfcnp*/dadone, + /*cbfcnp*/adadone, 0,//MSG_SIMPLE_Q_TAG, /*begin_lba*/0, /* whole disk */ /*lb_count*/0, From owner-p4-projects@FreeBSD.ORG Thu Jun 25 09:57:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D9D41065674; Thu, 25 Jun 2009 09:57:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D80A106566C for ; Thu, 25 Jun 2009 09:57:47 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1B5FF8FC15 for ; Thu, 25 Jun 2009 09:57:47 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5P9vkXd068648 for ; Thu, 25 Jun 2009 09:57:46 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5P9vkxs068646 for perforce@freebsd.org; Thu, 25 Jun 2009 09:57:46 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 09:57:46 GMT Message-Id: <200906250957.n5P9vkxs068646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165142 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 09:57:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165142 Change 165142 by mav@mav_mavbook on 2009/06/25 09:56:48 Report enabled NCQ. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#11 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#11 (text+ko) ==== @@ -662,9 +662,10 @@ dp->secsize, dp->heads, dp->secs_per_track, dp->cylinders); xpt_announce_periph(periph, announce_buf); -printf("%04x %04x %04x sata: %04x, queue: %d\n", - cgd->ident_data.support.command1, cgd->ident_data.support.command2, cgd->ident_data.support.extension, - cgd->ident_data.satacapabilities, ATA_QUEUE_LEN(cgd->ident_data.queue)); + if (softc->flags & ADA_FLAG_CAN_NCQ) { + printf("%s%d: Native Command Queueing Enabled\n", + periph->periph_name, periph->unit_number); + } softc->disk->d_sectorsize = softc->params.secsize; softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; From owner-p4-projects@FreeBSD.ORG Thu Jun 25 10:15:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B71681065674; Thu, 25 Jun 2009 10:15:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70CD1106566C for ; Thu, 25 Jun 2009 10:15:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5BF4A8FC26 for ; Thu, 25 Jun 2009 10:15:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PAFDOd071110 for ; Thu, 25 Jun 2009 10:15:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PAF6g8071091 for perforce@freebsd.org; Thu, 25 Jun 2009 10:15:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 25 Jun 2009 10:15:06 GMT Message-Id: <200906251015.n5PAF6g8071091@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 165146 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 10:15:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165146 Change 165146 by hselasky@hselasky_laptop001 on 2009/06/25 10:14:54 IFC @ 165143 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/usb/src/sys/amd64/amd64/machdep.c#20 integrate .. //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#23 integrate .. //depot/projects/usb/src/sys/amd64/isa/clock.c#10 integrate .. //depot/projects/usb/src/sys/arm/arm/elf_machdep.c#8 integrate .. //depot/projects/usb/src/sys/arm/arm/pmap.c#17 integrate .. //depot/projects/usb/src/sys/arm/arm/vm_machdep.c#9 integrate .. //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/usb/src/sys/arm/conf/DB-78XXX#5 integrate .. //depot/projects/usb/src/sys/arm/conf/DB-88F5XXX#5 integrate .. //depot/projects/usb/src/sys/arm/conf/DB-88F6XXX#5 integrate .. //depot/projects/usb/src/sys/arm/mv/discovery/discovery.c#5 integrate .. //depot/projects/usb/src/sys/arm/mv/files.mv#6 integrate .. //depot/projects/usb/src/sys/arm/mv/kirkwood/kirkwood.c#5 integrate .. //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#5 integrate .. //depot/projects/usb/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/usb/src/sys/arm/mv/mvreg.h#6 integrate .. //depot/projects/usb/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/usb/src/sys/arm/mv/orion/orion.c#5 integrate .. //depot/projects/usb/src/sys/arm/sa11x0/assabet_machdep.c#8 integrate .. //depot/projects/usb/src/sys/arm/xscale/i80321/ep80219_machdep.c#9 integrate .. //depot/projects/usb/src/sys/arm/xscale/i80321/iq31244_machdep.c#10 integrate .. //depot/projects/usb/src/sys/arm/xscale/i8134x/crb_machdep.c#6 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_ata.c#7 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_machdep.c#15 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425.c#12 integrate .. //depot/projects/usb/src/sys/arm/xscale/pxa/pxa_machdep.c#5 integrate .. //depot/projects/usb/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/usb/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#19 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#18 integrate .. //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#20 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_ioctl.c#14 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_ipc.c#5 integrate .. //depot/projects/usb/src/sys/compat/svr4/svr4_ipc.c#3 integrate .. //depot/projects/usb/src/sys/compat/svr4/svr4_sockio.c#8 integrate .. //depot/projects/usb/src/sys/conf/files#70 integrate .. //depot/projects/usb/src/sys/conf/files.amd64#22 integrate .. //depot/projects/usb/src/sys/conf/files.i386#27 integrate .. //depot/projects/usb/src/sys/conf/kmod.mk#13 integrate .. //depot/projects/usb/src/sys/contrib/altq/altq/altq_subr.c#11 integrate .. //depot/projects/usb/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/usb/src/sys/contrib/pf/net/pf_if.c#10 integrate .. //depot/projects/usb/src/sys/contrib/pf/net/pf_ioctl.c#16 integrate .. //depot/projects/usb/src/sys/contrib/rdma/rdma_addr.c#3 integrate .. //depot/projects/usb/src/sys/contrib/rdma/rdma_cma.c#5 integrate .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/usb/src/sys/dev/ata/ata-all.h#14 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-dma.c#9 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-pci.h#21 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-intel.c#6 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-jmicron.c#4 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-marvell.c#6 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-promise.c#7 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-siliconimage.c#6 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-sis.c#6 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-via.c#5 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bce.c#20 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bcereg.h#13 integrate .. //depot/projects/usb/src/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/usb/src/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#21 integrate .. //depot/projects/usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#8 integrate .. //depot/projects/usb/src/sys/dev/drm/drmP.h#13 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_drv.c#12 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_irq.c#10 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_sysctl.c#5 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.c#7 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82540.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82541.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82571.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82575.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82575.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_api.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_defines.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_hw.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_ich8lan.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_ich8lan.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_mac.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_osdep.c#3 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_phy.c#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_phy.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_regs.h#4 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_em.c#8 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_em.h#5 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#9 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_igb.h#4 integrate .. //depot/projects/usb/src/sys/dev/fdc/fdc.c#8 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gem.c#10 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gem_pci.c#6 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/usb/src/sys/dev/gem/if_gemreg.h#5 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gemvar.h#7 integrate .. //depot/projects/usb/src/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#29 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.h#8 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_82598.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_api.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_api.h#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_common.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_osdep.h#6 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_phy.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_phy.h#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe_type.h#7 integrate .. //depot/projects/usb/src/sys/dev/md/md.c#13 integrate .. //depot/projects/usb/src/sys/dev/mfi/mfi.c#15 integrate .. //depot/projects/usb/src/sys/dev/mpt/mpt_cam.c#10 integrate .. //depot/projects/usb/src/sys/dev/mxge/eth_z8e.h#5 integrate .. //depot/projects/usb/src/sys/dev/mxge/ethp_z8e.h#5 integrate .. //depot/projects/usb/src/sys/dev/mxge/if_mxge.c#13 integrate .. //depot/projects/usb/src/sys/dev/mxge/if_mxge_var.h#13 integrate .. //depot/projects/usb/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/usb/src/sys/dev/mxge/rss_eth_z8e.h#4 integrate .. //depot/projects/usb/src/sys/dev/mxge/rss_ethp_z8e.h#4 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/hda/hdac.c#31 integrate .. //depot/projects/usb/src/sys/dev/sound/pcm/feeder_rate.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#20 integrate .. //depot/projects/usb/src/sys/fs/procfs/procfs_map.c#8 integrate .. //depot/projects/usb/src/sys/fs/tmpfs/tmpfs_subr.c#10 integrate .. //depot/projects/usb/src/sys/geom/geom_redboot.c#3 integrate .. //depot/projects/usb/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#4 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#3 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#5 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/xfs_rw.h#3 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/xfs_vnodeops.c#5 integrate .. //depot/projects/usb/src/sys/i386/conf/NOTES#23 integrate .. //depot/projects/usb/src/sys/i386/i386/elf_machdep.c#7 integrate .. //depot/projects/usb/src/sys/i386/i386/local_apic.c#17 integrate .. //depot/projects/usb/src/sys/i386/i386/machdep.c#18 integrate .. //depot/projects/usb/src/sys/i386/i386/mp_machdep.c#19 integrate .. //depot/projects/usb/src/sys/i386/ibcs2/ibcs2_ipc.c#3 integrate .. //depot/projects/usb/src/sys/i386/isa/clock.c#11 integrate .. //depot/projects/usb/src/sys/i386/xen/mp_machdep.c#11 integrate .. //depot/projects/usb/src/sys/ia64/ia64/elf_machdep.c#9 integrate .. //depot/projects/usb/src/sys/ia64/ia64/machdep.c#11 integrate .. //depot/projects/usb/src/sys/ia64/ia64/mp_machdep.c#10 integrate .. //depot/projects/usb/src/sys/kern/init_sysent.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_cpuset.c#8 integrate .. //depot/projects/usb/src/sys/kern/kern_descrip.c#24 integrate .. //depot/projects/usb/src/sys/kern/kern_fork.c#17 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#24 integrate .. //depot/projects/usb/src/sys/kern/kern_poll.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_resource.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_switch.c#9 integrate .. //depot/projects/usb/src/sys/kern/kern_uuid.c#10 integrate .. //depot/projects/usb/src/sys/kern/kern_vimage.c#9 integrate .. //depot/projects/usb/src/sys/kern/link_elf.c#14 integrate .. //depot/projects/usb/src/sys/kern/link_elf_obj.c#14 integrate .. //depot/projects/usb/src/sys/kern/makesyscalls.sh#10 integrate .. //depot/projects/usb/src/sys/kern/sched_ule.c#17 integrate .. //depot/projects/usb/src/sys/kern/subr_pcpu.c#6 integrate .. //depot/projects/usb/src/sys/kern/subr_stack.c#7 integrate .. //depot/projects/usb/src/sys/kern/sys_process.c#11 integrate .. //depot/projects/usb/src/sys/kern/syscalls.c#14 integrate .. //depot/projects/usb/src/sys/kern/syscalls.master#14 integrate .. //depot/projects/usb/src/sys/kern/systrace_args.c#12 integrate .. //depot/projects/usb/src/sys/kern/sysv_ipc.c#5 integrate .. //depot/projects/usb/src/sys/kern/sysv_msg.c#10 integrate .. //depot/projects/usb/src/sys/kern/sysv_sem.c#12 integrate .. //depot/projects/usb/src/sys/kern/sysv_shm.c#11 integrate .. //depot/projects/usb/src/sys/kern/tty.c#27 integrate .. //depot/projects/usb/src/sys/kern/uipc_shm.c#7 integrate .. //depot/projects/usb/src/sys/kern/uipc_usrreq.c#19 integrate .. //depot/projects/usb/src/sys/mips/mips/elf_machdep.c#7 integrate .. //depot/projects/usb/src/sys/mips/mips/mp_machdep.c#4 integrate .. //depot/projects/usb/src/sys/mips/mips/pmap.c#11 integrate .. //depot/projects/usb/src/sys/modules/acpi/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/igb/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ixgbe/Makefile#6 integrate .. //depot/projects/usb/src/sys/modules/mxge/mxge/Makefile#3 integrate .. //depot/projects/usb/src/sys/net/bridgestp.c#15 integrate .. //depot/projects/usb/src/sys/net/if.c#31 integrate .. //depot/projects/usb/src/sys/net/if_ef.c#9 integrate .. //depot/projects/usb/src/sys/net/if_epair.c#1 branch .. //depot/projects/usb/src/sys/net/if_ethersubr.c#19 integrate .. //depot/projects/usb/src/sys/net/if_fddisubr.c#12 integrate .. //depot/projects/usb/src/sys/net/if_media.h#10 integrate .. //depot/projects/usb/src/sys/net/if_mib.c#9 integrate .. //depot/projects/usb/src/sys/net/if_spppsubr.c#11 integrate .. //depot/projects/usb/src/sys/net/if_stf.c#12 integrate .. //depot/projects/usb/src/sys/net/if_vlan.c#15 integrate .. //depot/projects/usb/src/sys/net/raw_cb.c#12 integrate .. //depot/projects/usb/src/sys/net/raw_usrreq.c#11 integrate .. //depot/projects/usb/src/sys/net/route.c#20 integrate .. //depot/projects/usb/src/sys/net/rtsock.c#27 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.c#24 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ddb.c#17 integrate .. //depot/projects/usb/src/sys/netatalk/aarp.c#7 integrate .. //depot/projects/usb/src/sys/netatalk/at_control.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/at_extern.h#4 integrate .. //depot/projects/usb/src/sys/netatalk/at_rmx.c#3 integrate .. //depot/projects/usb/src/sys/netatalk/at_var.h#4 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_input.c#7 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_output.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_pcb.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netgraph/atm/ng_atm.c#7 integrate .. //depot/projects/usb/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/usb/src/sys/netgraph/ng_ether.c#12 integrate .. //depot/projects/usb/src/sys/netinet/if_ether.c#22 integrate .. //depot/projects/usb/src/sys/netinet/igmp.c#19 integrate .. //depot/projects/usb/src/sys/netinet/in.c#28 integrate .. //depot/projects/usb/src/sys/netinet/in_mcast.c#15 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.c#27 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.h#21 integrate .. //depot/projects/usb/src/sys/netinet/in_rmx.c#18 integrate .. //depot/projects/usb/src/sys/netinet/in_var.h#13 integrate .. //depot/projects/usb/src/sys/netinet/ip_carp.c#15 integrate .. //depot/projects/usb/src/sys/netinet/ip_divert.c#19 integrate .. //depot/projects/usb/src/sys/netinet/ip_dummynet.h#7 integrate .. //depot/projects/usb/src/sys/netinet/ip_icmp.c#15 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#26 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.c#15 integrate .. //depot/projects/usb/src/sys/netinet/ip_options.c#14 integrate .. //depot/projects/usb/src/sys/netinet/ip_output.c#23 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/usb/src/sys/netinet/tcp_hostcache.c#13 integrate .. //depot/projects/usb/src/sys/netinet/tcp_input.c#25 integrate .. //depot/projects/usb/src/sys/netinet/tcp_offload.c#6 integrate .. //depot/projects/usb/src/sys/netinet/tcp_usrreq.c#21 integrate .. //depot/projects/usb/src/sys/netinet6/frag6.c#15 integrate .. //depot/projects/usb/src/sys/netinet6/icmp6.c#22 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#26 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#24 integrate .. //depot/projects/usb/src/sys/netinet6/in6_pcb.c#20 integrate .. //depot/projects/usb/src/sys/netinet6/in6_pcb.h#6 integrate .. //depot/projects/usb/src/sys/netinet6/in6_rmx.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/in6_src.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/in6_var.h#9 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_input.c#24 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#18 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_output.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_var.h#14 integrate .. //depot/projects/usb/src/sys/netinet6/mld6.c#18 integrate .. //depot/projects/usb/src/sys/netinet6/nd6.c#20 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_nbr.c#16 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_rtr.c#18 integrate .. //depot/projects/usb/src/sys/netinet6/raw_ip6.c#22 integrate .. //depot/projects/usb/src/sys/netinet6/scope6.c#12 integrate .. //depot/projects/usb/src/sys/netinet6/udp6_usrreq.c#21 integrate .. //depot/projects/usb/src/sys/netinet6/vinet6.h#9 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#20 integrate .. //depot/projects/usb/src/sys/netipx/ipx.c#7 integrate .. //depot/projects/usb/src/sys/netipx/ipx_if.h#6 integrate .. //depot/projects/usb/src/sys/netipx/ipx_input.c#8 integrate .. //depot/projects/usb/src/sys/netipx/ipx_outputfl.c#6 integrate .. //depot/projects/usb/src/sys/netipx/ipx_pcb.c#6 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_diskless.c#11 integrate .. //depot/projects/usb/src/sys/pc98/pc98/machdep.c#14 integrate .. //depot/projects/usb/src/sys/powerpc/aim/mmu_oea.c#8 integrate .. //depot/projects/usb/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#15 integrate .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#2 integrate .. //depot/projects/usb/src/sys/powerpc/powerpc/elf_machdep.c#7 integrate .. //depot/projects/usb/src/sys/powerpc/powerpc/mp_machdep.c#8 integrate .. //depot/projects/usb/src/sys/rpc/clnt_rc.c#7 integrate .. //depot/projects/usb/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/usb/src/sys/security/mac_biba/mac_biba.c#15 integrate .. //depot/projects/usb/src/sys/security/mac_lomac/mac_lomac.c#15 integrate .. //depot/projects/usb/src/sys/sparc64/conf/GENERIC#21 integrate .. //depot/projects/usb/src/sys/sparc64/include/pcpu.h#5 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/elf_machdep.c#9 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/machdep.c#15 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/mp_machdep.c#10 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/pmap.c#11 integrate .. //depot/projects/usb/src/sys/sun4v/include/pcpu.h#8 integrate .. //depot/projects/usb/src/sys/sun4v/sun4v/machdep.c#9 integrate .. //depot/projects/usb/src/sys/sun4v/sun4v/mp_machdep.c#6 integrate .. //depot/projects/usb/src/sys/sun4v/sun4v/pmap.c#7 integrate .. //depot/projects/usb/src/sys/sys/ata.h#5 integrate .. //depot/projects/usb/src/sys/sys/ipc.h#3 integrate .. //depot/projects/usb/src/sys/sys/jail.h#17 integrate .. //depot/projects/usb/src/sys/sys/linker.h#5 integrate .. //depot/projects/usb/src/sys/sys/msg.h#2 integrate .. //depot/projects/usb/src/sys/sys/param.h#38 integrate .. //depot/projects/usb/src/sys/sys/pcpu.h#12 integrate .. //depot/projects/usb/src/sys/sys/priv.h#19 integrate .. //depot/projects/usb/src/sys/sys/resource.h#6 integrate .. //depot/projects/usb/src/sys/sys/resourcevar.h#5 integrate .. //depot/projects/usb/src/sys/sys/sched.h#8 integrate .. //depot/projects/usb/src/sys/sys/sem.h#4 integrate .. //depot/projects/usb/src/sys/sys/shm.h#5 integrate .. //depot/projects/usb/src/sys/sys/stack.h#4 integrate .. //depot/projects/usb/src/sys/sys/syscall.h#14 integrate .. //depot/projects/usb/src/sys/sys/syscall.mk#14 integrate .. //depot/projects/usb/src/sys/sys/sysctl.h#19 integrate .. //depot/projects/usb/src/sys/sys/sysproto.h#14 integrate .. //depot/projects/usb/src/sys/sys/tty.h#11 integrate .. //depot/projects/usb/src/sys/vm/default_pager.c#2 integrate .. //depot/projects/usb/src/sys/vm/device_pager.c#8 integrate .. //depot/projects/usb/src/sys/vm/phys_pager.c#6 integrate .. //depot/projects/usb/src/sys/vm/swap_pager.c#16 integrate .. //depot/projects/usb/src/sys/vm/vm.h#4 integrate .. //depot/projects/usb/src/sys/vm/vm_phys.c#5 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#17 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.56 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -897,6 +897,7 @@ apic_free_vector(u_int apic_id, u_int vector, u_int irq) { struct thread *td; + KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL && vector <= APIC_IO_INTS + APIC_NUM_IOINTS, ("Vector %u does not map to an IRQ line", vector)); ==== //depot/projects/usb/src/sys/amd64/amd64/machdep.c#20 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.702 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1501,6 +1501,8 @@ wrmsr(MSR_KGSBASE, 0); /* User value while in the kernel */ pcpu_init(pc, 0, sizeof(struct pcpu)); + dpcpu_init((void *)(physfree + KERNBASE), 0); + physfree += DPCPU_SIZE; PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); ==== //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.308 2009/05/14 17:43:00 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -93,9 +93,10 @@ /* Free these after use */ void *bootstacks[MAXCPU]; -/* Temporary holder for double fault stack */ +/* Temporary variables for init_secondary() */ char *doublefault_stack; char *nmi_stack; +void *dpcpu; /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -590,6 +591,7 @@ /* prime data page for it to use */ pcpu_init(pc, cpu, sizeof(struct pcpu)); + dpcpu_init(dpcpu, cpu); pc->pc_apic_id = cpu_apic_ids[cpu]; pc->pc_prvspace = pc; pc->pc_curthread = 0; @@ -885,6 +887,7 @@ bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); nmi_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); + dpcpu = (void *)kmem_alloc(kernel_map, DPCPU_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/usb/src/sys/amd64/isa/clock.c#10 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.248 2009/06/09 09:47:02 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.251 2009/06/23 23:16:37 mav Exp $"); /* * Routines to handle clock hardware. @@ -93,9 +93,6 @@ static int using_atrtc_timer; static int using_lapic_timer; -static u_int stat_ticks = 0; -static u_int prof_ticks = 0; - /* Values for timerX_state: */ #define RELEASED 0 #define RELEASE_PENDING 1 @@ -132,6 +129,7 @@ statclockintr(struct trapframe *frame) { + profclockintr(frame); statclock(TRAPF_USERMODE(frame)); return (FILTER_HANDLED); } @@ -140,7 +138,10 @@ profclockintr(struct trapframe *frame) { - profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); + if (!using_atrtc_timer) + hardclockintr(frame); + if (profprocs != 0) + profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); return (FILTER_HANDLED); } @@ -160,32 +161,27 @@ mtx_unlock_spin(&clock_lock); } KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer")); -#ifdef SMP - if (smp_started) - ipi_all_but_self(IPI_HARDCLOCK); -#endif - hardclockintr(frame); - if (!using_atrtc_timer) { - prof_ticks += profhz; - if (prof_ticks >= hz) { - prof_ticks -= hz; - if (profprocs != 0) { + if (using_atrtc_timer) { #ifdef SMP - if (smp_started) - ipi_all_but_self(IPI_PROFCLOCK); + if (smp_started) + ipi_all_but_self(IPI_HARDCLOCK); #endif - profclockintr(frame); - } - } - stat_ticks += stathz; - if (stat_ticks >= hz) { - stat_ticks -= hz; + hardclockintr(frame); + } else { + if (--pscnt <= 0) { + pscnt = psratio; #ifdef SMP if (smp_started) ipi_all_but_self(IPI_STATCLOCK); #endif statclockintr(frame); + } else { +#ifdef SMP + if (smp_started) + ipi_all_but_self(IPI_PROFCLOCK); +#endif + profclockintr(frame); } } @@ -266,21 +262,19 @@ while (rtcin(RTC_INTR) & RTCIR_PERIOD) { flag = 1; - if (profprocs != 0) { - if (--pscnt == 0) - pscnt = psdiv; + if (--pscnt <= 0) { + pscnt = psdiv; #ifdef SMP - if (pscnt != psdiv && smp_started) - ipi_all_but_self(IPI_PROFCLOCK); + if (smp_started) + ipi_all_but_self(IPI_STATCLOCK); #endif - profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); - } - if (pscnt == psdiv) { + statclockintr(frame); + } else { #ifdef SMP if (smp_started) - ipi_all_but_self(IPI_STATCLOCK); + ipi_all_but_self(IPI_PROFCLOCK); #endif - statclock(TRAPF_USERMODE(frame)); + profclockintr(frame); } } return(flag ? FILTER_HANDLED : FILTER_STRAY); @@ -523,8 +517,11 @@ INTR_TYPE_CLK, NULL); atrtc_enable_intr(); } else { - profhz = min(RTC_PROFRATE, hz); - stathz = min(RTC_NOPROFRATE, hz); + profhz = hz; + if (hz < 128) + stathz = hz; + else + stathz = hz / (hz / 128); } } ==== //depot/projects/usb/src/sys/arm/arm/elf_machdep.c#8 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.12 2009/04/05 09:27:19 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.13 2009/06/23 22:42:39 jeff Exp $"); #include #include @@ -149,7 +149,7 @@ if (local) { if (rtype == R_ARM_RELATIVE) { /* A + B */ - addr = relocbase + addend; + addr = elf_relocaddr(lf, relocbase + addend); if (*where != addr) *where = addr; } ==== //depot/projects/usb/src/sys/arm/arm/pmap.c#17 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.110 2009/06/18 20:42:37 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.111 2009/06/24 21:03:59 cognet Exp $"); #include #include #include @@ -2947,7 +2947,7 @@ } /* - * remove a page rom the kernel pagetables + * remove a page from the kernel pagetables */ void pmap_kremove(vm_offset_t va) ==== //depot/projects/usb/src/sys/arm/arm/vm_machdep.c#9 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.38 2009/02/02 20:09:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.39 2009/06/24 21:00:13 cognet Exp $"); #include #include @@ -483,7 +483,7 @@ int i; vm_offset_t addr = alloc_firstaddr; - KASSERT(alloc_firstaddr != 0, ("arm_ptovirt called to early ?")); + KASSERT(alloc_firstaddr != 0, ("arm_ptovirt called too early ?")); for (i = 0; dump_avail[i + 1]; i += 2) { if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) break; ==== //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.4 2009/04/22 23:54:41 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -215,6 +215,7 @@ initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; + struct pv_addr dpcpu; int loop, i; u_int l1pagetable; vm_offset_t freemempos; @@ -264,6 +265,10 @@ */ valloc_pages(systempage, 1); + /* Allocate dynamic per-cpu area. */ + valloc_pages(dpcpu, DPCPU_SIZE / PAGE_SIZE); + dpcpu_init((void *)dpcpu.pv_va, 0); + /* Allocate stacks for all modes */ valloc_pages(irqstack, IRQ_STACK_SIZE); valloc_pages(abtstack, ABT_STACK_SIZE); ==== //depot/projects/usb/src/sys/arm/conf/DB-78XXX#5 (text+ko) ==== @@ -1,7 +1,7 @@ # # Custom kernel for Marvell DB-78xx boards. # -# $FreeBSD: src/sys/arm/conf/DB-78XXX,v 1.5 2009/05/10 00:00:25 kuriyama Exp $ +# $FreeBSD: src/sys/arm/conf/DB-78XXX,v 1.6 2009/06/24 15:41:18 raj Exp $ # ident DB-88F78XX @@ -77,3 +77,7 @@ device iic device iicbus device ds133x + +# SATA +device ata +device atadisk ==== //depot/projects/usb/src/sys/arm/conf/DB-88F5XXX#5 (text+ko) ==== @@ -1,7 +1,7 @@ # # Custom kernel for Marvell DB-88F5xxx boards. # -# $FreeBSD: src/sys/arm/conf/DB-88F5XXX,v 1.5 2009/05/10 00:00:25 kuriyama Exp $ +# $FreeBSD: src/sys/arm/conf/DB-88F5XXX,v 1.6 2009/06/24 15:41:18 raj Exp $ # ident DB-88F5XXX @@ -79,3 +79,7 @@ device scbus device pass device da + +# SATA +device ata +device atadisk ==== //depot/projects/usb/src/sys/arm/conf/DB-88F6XXX#5 (text+ko) ==== @@ -1,7 +1,7 @@ # # Custom kernel for Marvell DB-88F6xxx boards. # -# $FreeBSD: src/sys/arm/conf/DB-88F6XXX,v 1.5 2009/05/10 00:00:25 kuriyama Exp $ +# $FreeBSD: src/sys/arm/conf/DB-88F6XXX,v 1.6 2009/06/24 15:41:18 raj Exp $ # ident DB-88F6XXX @@ -76,3 +76,7 @@ # I2C (TWSI) device iic device iicbus + +# SATA +device ata +device atadisk ==== //depot/projects/usb/src/sys/arm/mv/discovery/discovery.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.7 2009/06/25 10:03:51 raj Exp $"); #include #include @@ -126,10 +126,19 @@ { -1 }, CPU_PM_CTRL_GE1 }, - { "twsi", MV_TWSI_BASE, MV_TWSI_SIZE, + { "twsi", MV_TWSI0_BASE, MV_TWSI_SIZE, + { -1 }, { -1 }, + CPU_PM_CTRL_NONE + }, + { "twsi", MV_TWSI1_BASE, MV_TWSI_SIZE, { -1 }, { -1 }, CPU_PM_CTRL_NONE }, + { "sata", MV_SATAHC_BASE, MV_SATAHC_SIZE, + { MV_INT_SATA, -1 }, + { -1 }, + CPU_PM_CTRL_SATA0 | CPU_PM_CTRL_SATA1 + }, { NULL, 0, 0, { 0 }, { 0 }, 0 } }; ==== //depot/projects/usb/src/sys/arm/mv/files.mv#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/mv/files.mv,v 1.5 2009/02/24 23:30:52 thompsa Exp $ +# $FreeBSD: src/sys/arm/mv/files.mv,v 1.6 2009/06/24 15:41:18 raj Exp $ # # The Marvell CPU cores # - Compliant with V5TE architecture @@ -24,6 +24,7 @@ arm/mv/ic.c standard arm/mv/mv_machdep.c standard arm/mv/mv_pci.c optional pci +arm/mv/mv_sata.c optional ata | atamvsata arm/mv/obio.c standard arm/mv/timer.c standard arm/mv/twsi.c optional iicbus ==== //depot/projects/usb/src/sys/arm/mv/kirkwood/kirkwood.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.7 2009/06/25 10:03:51 raj Exp $"); #include #include @@ -95,10 +95,15 @@ { -1 }, CPU_PM_CTRL_GE0 }, - { "twsi", MV_TWSI_BASE, MV_TWSI_SIZE, + { "twsi", MV_TWSI0_BASE, MV_TWSI_SIZE, { -1 }, { -1 }, CPU_PM_CTRL_NONE }, + { "sata", MV_SATAHC_BASE, MV_SATAHC_SIZE, + { MV_INT_SATA, -1 }, + { -1 }, + CPU_PM_CTRL_SATA0 | CPU_PM_CTRL_SATA1 + }, { NULL, 0, 0, { 0 }, { 0 }, 0 } }; ==== //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -358,6 +358,7 @@ initarm(void *mdp, void *unused __unused) { struct pv_addr kernel_l1pt; + struct pv_addr dpcpu; vm_offset_t freemempos, l2_start, lastaddr; uint32_t memsize, l2size; struct bi_mem_region *mr; @@ -479,6 +480,10 @@ */ valloc_pages(systempage, 1); + /* Allocate dynamic per-cpu area. */ + valloc_pages(dpcpu, DPCPU_SIZE / PAGE_SIZE); + dpcpu_init((void *)dpcpu.pv_va, 0); + /* Allocate stacks for all modes */ valloc_pages(irqstack, IRQ_STACK_SIZE); valloc_pages(abtstack, ABT_STACK_SIZE); ==== //depot/projects/usb/src/sys/arm/mv/mvreg.h#6 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.6 2009/06/12 20:00:38 marcel Exp $ + * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.7 2009/06/24 15:41:18 raj Exp $ */ #ifndef _MVREG_H_ @@ -274,6 +274,75 @@ #define CPU_TIMER0 0x14 /* + * SATA + */ +#define SATA_CHAN_NUM 2 + +#define EDMA_REGISTERS_OFFSET 0x2000 +#define EDMA_REGISTERS_SIZE 0x2000 +#define SATA_EDMA_BASE(ch) (EDMA_REGISTERS_OFFSET + \ + ((ch) * EDMA_REGISTERS_SIZE)) + +/* SATAHC registers */ +#define SATA_CR 0x000 /* Configuration Reg. */ +#define SATA_CR_NODMABS (1 << 8) +#define SATA_CR_NOEDMABS (1 << 9) +#define SATA_CR_NOPRDPBS (1 << 10) +#define SATA_CR_COALDIS(ch) (1 << (24 + ch)) + +#define SATA_ICR 0x014 /* Interrupt Cause Reg. */ +#define SATA_ICR_DMADONE(ch) (1 << (ch)) +#define SATA_ICR_COAL (1 << 4) +#define SATA_ICR_DEV(ch) (1 << (8 + ch)) + +#define SATA_MICR 0x020 /* Main Interrupt Cause Reg. */ +#define SATA_MICR_ERR(ch) (1 << (2 * ch)) +#define SATA_MICR_DONE(ch) (1 << ((2 * ch) + 1)) +#define SATA_MICR_DMADONE(ch) (1 << (4 + ch)) +#define SATA_MICR_COAL (1 << 8) + +#define SATA_MIMR 0x024 /* Main Interrupt Mask Reg. */ + +/* Shadow registers */ +#define SATA_SHADOWR_BASE(ch) (SATA_EDMA_BASE(ch) + 0x100) +#define SATA_SHADOWR_CONTROL(ch) (SATA_EDMA_BASE(ch) + 0x120) + +/* SATA registers */ +#define SATA_SATA_SSTATUS(ch) (SATA_EDMA_BASE(ch) + 0x300) +#define SATA_SATA_SERROR(ch) (SATA_EDMA_BASE(ch) + 0x304) +#define SATA_SATA_SCONTROL(ch) (SATA_EDMA_BASE(ch) + 0x308) +#define SATA_SATA_FISICR(ch) (SATA_EDMA_BASE(ch) + 0x364) + +/* EDMA registers */ +#define SATA_EDMA_CFG(ch) (SATA_EDMA_BASE(ch) + 0x000) +#define SATA_EDMA_CFG_QL128 (1 << 19) +#define SATA_EDMA_CFG_HQCACHE (1 << 22) + +#define SATA_EDMA_IECR(ch) (SATA_EDMA_BASE(ch) + 0x008) + +#define SATA_EDMA_IEMR(ch) (SATA_EDMA_BASE(ch) + 0x00C) +#define SATA_EDMA_REQBAHR(ch) (SATA_EDMA_BASE(ch) + 0x010) +#define SATA_EDMA_REQIPR(ch) (SATA_EDMA_BASE(ch) + 0x014) +#define SATA_EDMA_REQOPR(ch) (SATA_EDMA_BASE(ch) + 0x018) +#define SATA_EDMA_RESBAHR(ch) (SATA_EDMA_BASE(ch) + 0x01C) +#define SATA_EDMA_RESIPR(ch) (SATA_EDMA_BASE(ch) + 0x020) +#define SATA_EDMA_RESOPR(ch) (SATA_EDMA_BASE(ch) + 0x024) + +#define SATA_EDMA_CMD(ch) (SATA_EDMA_BASE(ch) + 0x028) +#define SATA_EDMA_CMD_ENABLE (1 << 0) +#define SATA_EDMA_CMD_DISABLE (1 << 1) +#define SATA_EDMA_CMD_RESET (1 << 2) + +#define SATA_EDMA_STATUS(ch) (SATA_EDMA_BASE(ch) + 0x030) +#define SATA_EDMA_STATUS_IDLE (1 << 7) + +/* Offset to extract input slot from REQIPR register */ +#define SATA_EDMA_REQIS_OFS 5 + +/* Offset to extract input slot from RESOPR register */ +#define SATA_EDMA_RESOS_OFS 3 + +/* * GPIO */ #define GPIO_DATA_OUT 0x00 ==== //depot/projects/usb/src/sys/arm/mv/mvwin.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/mv/mvwin.h,v 1.1 2009/06/12 20:00:38 marcel Exp $ + * $FreeBSD: src/sys/arm/mv/mvwin.h,v 1.2 2009/06/25 10:03:51 raj Exp $ */ #ifndef _MVWIN_H_ @@ -91,7 +91,8 @@ #define MV_GPIO_SIZE 0x20 #define MV_RTC_BASE (MV_BASE + 0x10300) #define MV_RTC_SIZE 0x08 -#define MV_TWSI_BASE (MV_BASE + 0x11000) +#define MV_TWSI0_BASE (MV_BASE + 0x11000) +#define MV_TWSI1_BASE (MV_BASE + 0x11100) #define MV_TWSI_SIZE 0x20 #define MV_UART0_BASE (MV_BASE + 0x12000) #define MV_UART1_BASE (MV_BASE + 0x12100) ==== //depot/projects/usb/src/sys/arm/mv/orion/orion.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.6 2009/06/12 20:00:38 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.8 2009/06/25 10:03:51 raj Exp $"); #include #include @@ -88,10 +88,14 @@ { -1 }, CPU_PM_CTRL_NONE }, - { "twsi", MV_TWSI_BASE, MV_TWSI_SIZE, + { "twsi", MV_TWSI0_BASE, MV_TWSI_SIZE, { -1 }, { -1 }, CPU_PM_CTRL_NONE }, + { "sata", MV_SATAHC_BASE, MV_SATAHC_SIZE, + { MV_INT_SATA, -1 }, { -1 }, + CPU_PM_CTRL_NONE + }, { NULL, 0, 0, { 0 } } }; ==== //depot/projects/usb/src/sys/arm/sa11x0/assabet_machdep.c#8 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.28 2009/02/02 20:24:29 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.29 2009/06/23 22:42:39 jeff Exp $"); #include "opt_md.h" @@ -209,6 +209,7 @@ struct pv_addr kernel_l1pt; struct pv_addr md_addr; struct pv_addr md_bla; + struct pv_addr dpcpu; int loop; u_int l1pagetable; vm_offset_t freemempos; @@ -268,6 +269,10 @@ */ valloc_pages(systempage, 1); + /* Allocate dynamic per-cpu area. */ + valloc_pages(dpcpu, DPCPU_SIZE / PAGE_SIZE); + dpcpu_init((void *)dpcpu.pv_va, 0); + /* Allocate stacks for all modes */ valloc_pages(irqstack, IRQ_STACK_SIZE); valloc_pages(abtstack, ABT_STACK_SIZE); ==== //depot/projects/usb/src/sys/arm/xscale/i80321/ep80219_machdep.c#9 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.12 2008/12/01 10:16:25 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.13 2009/06/23 22:42:39 jeff Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -186,6 +186,7 @@ initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; + struct pv_addr dpcpu; int loop, i; u_int l1pagetable; vm_offset_t freemempos; @@ -236,6 +237,10 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 25 10:25:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BAC21065673; Thu, 25 Jun 2009 10:25:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BEC151065670 for ; Thu, 25 Jun 2009 10:25:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 926768FC19 for ; Thu, 25 Jun 2009 10:25:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PAPOaV071911 for ; Thu, 25 Jun 2009 10:25:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PAPOao071909 for perforce@freebsd.org; Thu, 25 Jun 2009 10:25:24 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 25 Jun 2009 10:25:24 GMT Message-Id: <200906251025.n5PAPOao071909@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 165147 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 10:25:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165147 Change 165147 by hselasky@hselasky_laptop001 on 2009/06/25 10:24:38 Import missing file. Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb.h#4 branch Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 25 10:37:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65F651065675; Thu, 25 Jun 2009 10:37:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 256121065674 for ; Thu, 25 Jun 2009 10:37:38 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 134C68FC17 for ; Thu, 25 Jun 2009 10:37:38 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PAbbmG072799 for ; Thu, 25 Jun 2009 10:37:37 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PAbbeH072797 for perforce@freebsd.org; Thu, 25 Jun 2009 10:37:37 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 10:37:37 GMT Message-Id: <200906251037.n5PAbbeH072797@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165148 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 10:37:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=165148 Change 165148 by mav@mav_mavbook on 2009/06/25 10:37:16 Corrent d_maxsize. Tune formatting. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#12 (text+ko) ==== @@ -644,8 +644,8 @@ softc->disk->d_drv1 = periph; if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) softc->disk->d_maxsize = MAXPHYS; /* ahci driver limit */ - else - softc->disk->d_maxsize = 255 * 512; /* 28bit ATA command limit */ + else /* 28bit ATA command limit */ + softc->disk->d_maxsize = min(MAXPHYS, 255 * 512); softc->disk->d_unit = periph->unit_number; softc->disk->d_flags = 0; if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) @@ -654,13 +654,12 @@ adasetgeom(periph, cgd); dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), - "%juMB (%ju %u byte sectors: %dH %dS/T " - "%dC)", (uintmax_t) - (((uintmax_t)dp->secsize * - dp->sectors) / (1024*1024)), - (uintmax_t)dp->sectors, - dp->secsize, dp->heads, - dp->secs_per_track, dp->cylinders); + "%juMB (%ju %u byte sectors: %dH %dS/T %dC)", + (uintmax_t)(((uintmax_t)dp->secsize * + dp->sectors) / (1024*1024)), + (uintmax_t)dp->sectors, + dp->secsize, dp->heads, + dp->secs_per_track, dp->cylinders); xpt_announce_periph(periph, announce_buf); if (softc->flags & ADA_FLAG_CAN_NCQ) { printf("%s%d: Native Command Queueing Enabled\n", From owner-p4-projects@FreeBSD.ORG Thu Jun 25 11:31:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 121491065673; Thu, 25 Jun 2009 11:31:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C65881065670 for ; Thu, 25 Jun 2009 11:31:44 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 99F968FC18 for ; Thu, 25 Jun 2009 11:31:44 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PBVi10077733 for ; Thu, 25 Jun 2009 11:31:44 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PBViL4077731 for perforce@freebsd.org; Thu, 25 Jun 2009 11:31:44 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 11:31:44 GMT Message-Id: <200906251131.n5PBViL4077731@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 11:31:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165150 Change 165150 by mav@mav_mavbook on 2009/06/25 11:31:32 Pass right argument to the intr on polling. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#36 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#36 (text+ko) ==== @@ -1826,5 +1826,7 @@ static void ahcipoll(struct cam_sim *sim) { - ahci_ch_intr(cam_sim_softc(sim)); + struct ahci_channel *ch = (struct ahci_channel *)cam_sim_softc(sim); + + ahci_ch_intr(ch->dev); } From owner-p4-projects@FreeBSD.ORG Thu Jun 25 11:53:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88DFD10657B2; Thu, 25 Jun 2009 11:53:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2EF8910657B0 for ; Thu, 25 Jun 2009 11:53:08 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 11B508FC14 for ; Thu, 25 Jun 2009 11:53:08 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PBr7nc079491 for ; Thu, 25 Jun 2009 11:53:07 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PBr7uL079489 for perforce@freebsd.org; Thu, 25 Jun 2009 11:53:07 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 11:53:07 GMT Message-Id: <200906251153.n5PBr7uL079489@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165151 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 11:53:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=165151 Change 165151 by mav@mav_mavbook on 2009/06/25 11:52:53 Implement kernel dumping to ada. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#13 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#13 (text+ko) ==== @@ -136,7 +136,7 @@ //}; static disk_strategy_t adastrategy; -//static dumper_t adadump; +static dumper_t adadump; static periph_init_t adainit; static void adaasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg); @@ -333,15 +333,17 @@ return; } -#if 0 + static int adadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length) { struct cam_periph *periph; struct ada_softc *softc; u_int secsize; - struct ccb_scsiio csio; + struct ccb_ataio ataio; struct disk *dp; + uint64_t lba; + uint16_t count; dp = arg; periph = dp->d_drv1; @@ -350,6 +352,8 @@ softc = (struct ada_softc *)periph->softc; cam_periph_lock(periph); secsize = softc->params.secsize; + lba = offset / secsize; + count = length / secsize; if ((softc->flags & ADA_FLAG_PACK_INVALID) != 0) { cam_periph_unlock(periph); @@ -358,43 +362,39 @@ if (length > 0) { periph->flags |= CAM_PERIPH_POLLED; - xpt_setup_ccb(&csio.ccb_h, periph->path, /*priority*/1); - csio.ccb_h.ccb_state = ADA_CCB_DUMP; - scsi_read_write(&csio, - /*retries*/1, - adadone, - 0,//MSG_ORDERED_Q_TAG, - /*read*/FALSE, - /*byte2*/0, - /*minimum_cmd_size*/ softc->minimum_cmd_size, - offset / secsize, - length / secsize, - /*data_ptr*/(u_int8_t *) virtual, - /*dxfer_len*/length, - /*sense_len*/SSD_FULL_SIZE, - ADA_DEFAULT_TIMEOUT * 1000); - xpt_polled_action((union ccb *)&csio); + xpt_setup_ccb(&ataio.ccb_h, periph->path, /*priority*/1); + ataio.ccb_h.ccb_state = ADA_CCB_DUMP; + cam_fill_ataio(&ataio, + 0, + adadone, + CAM_DIR_OUT, + 0, + (u_int8_t *) virtual, + length, + ada_default_timeout*1000); + if ((softc->flags & ADA_FLAG_CAN_48BIT) && + (lba + count >= ATA_MAX_28BIT_LBA || + count >= 256)) { + ata_48bit_cmd(&ataio, ATA_WRITE_DMA48, + 0, lba, count); + } else { + ata_36bit_cmd(&ataio, ATA_WRITE_DMA, + 0, lba, count); + } + xpt_polled_action((union ccb *)&ataio); - if ((csio.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + if ((ataio.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { printf("Aborting dump due to I/O error.\n"); - if ((csio.ccb_h.status & CAM_STATUS_MASK) == - CAM_SCSI_STATUS_ERROR) - scsi_sense_print(&csio); - else - printf("status == 0x%x, scsi status == 0x%x\n", - csio.ccb_h.status, csio.scsi_status); - periph->flags |= CAM_PERIPH_POLLED; + cam_periph_unlock(periph); return(EIO); } cam_periph_unlock(periph); return(0); } - periph->flags &= ~CAM_PERIPH_POLLED; cam_periph_unlock(periph); return (0); } -#endif static void adainit(void) @@ -639,7 +639,7 @@ softc->disk->d_open = adaopen; softc->disk->d_close = adaclose; softc->disk->d_strategy = adastrategy; -// softc->disk->d_dump = adadump; + softc->disk->d_dump = adadump; softc->disk->d_name = "ada"; softc->disk->d_drv1 = periph; if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) From owner-p4-projects@FreeBSD.ORG Thu Jun 25 12:04:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6FEC810656D8; Thu, 25 Jun 2009 12:04:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9182D106570F for ; Thu, 25 Jun 2009 12:04:20 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 77C668FC13 for ; Thu, 25 Jun 2009 12:04:20 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PC4Kvr081348 for ; Thu, 25 Jun 2009 12:04:20 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PC4Kw4081346 for perforce@freebsd.org; Thu, 25 Jun 2009 12:04:20 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Thu, 25 Jun 2009 12:04:20 GMT Message-Id: <200906251204.n5PC4Kw4081346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165153 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 12:04:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=165153 Change 165153 by zhaoshuai@zhaoshuai on 2009/06/25 12:03:27 add fifo regression test, all passed Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_create/Makefile#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_create/fifo_create.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/Makefile#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_misc/Makefile#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_misc/fifo_misc.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_open/Makefile#1 add .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_open/fifo_open.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 25 12:20:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B917E1065675; Thu, 25 Jun 2009 12:20:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A6D01065670 for ; Thu, 25 Jun 2009 12:20:38 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 683F68FC15 for ; Thu, 25 Jun 2009 12:20:38 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PCKcVH082621 for ; Thu, 25 Jun 2009 12:20:38 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PCKcCB082617 for perforce@freebsd.org; Thu, 25 Jun 2009 12:20:38 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Thu, 25 Jun 2009 12:20:38 GMT Message-Id: <200906251220.n5PCKcCB082617@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 12:20:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=165154 Change 165154 by zhaoshuai@zhaoshuai on 2009/06/25 12:20:37 pipe_read_f() and pipe_write_f() should be static. Affected files ... .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#15 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#15 (text+ko) ==== @@ -126,7 +126,7 @@ return (0); } -int +static int pipe_read_f(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { @@ -137,7 +137,7 @@ return pipe_read(pipe, uio, active_cred, fp->f_flag, td); } -int +static int pipe_write_f(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { From owner-p4-projects@FreeBSD.ORG Thu Jun 25 12:36:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CA351065674; Thu, 25 Jun 2009 12:36:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDECD1065670 for ; Thu, 25 Jun 2009 12:36:56 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BB6368FC18 for ; Thu, 25 Jun 2009 12:36:56 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PCau7m083865 for ; Thu, 25 Jun 2009 12:36:56 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PCauon083863 for perforce@freebsd.org; Thu, 25 Jun 2009 12:36:56 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 12:36:56 GMT Message-Id: <200906251236.n5PCauon083863@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 12:36:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165156 Change 165156 by zec@zec_amdx4 on 2009/06/25 12:36:28 First brute-force / uninformed attempt at making NFS and VIMAGE play togetger. So far I'm able to export a local filesystem and mount it back at a different mntpoint at the same machine via NFS, move files back and forth, and do a clean unmount when done. There's still a lot of vnet recursion noise flooding the console, but this is the first step... Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#26 edit .. //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#11 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#7 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_socket.c#9 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#21 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfsmount.h#5 edit .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#10 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc.c#6 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#26 (text+ko) ==== @@ -285,6 +285,9 @@ so->so_gencnt = ++so_gencnt; ++numopensockets; #ifdef VIMAGE + KASSERT(vnet != NULL, ("soalloc(): NULL vnet")); + KASSERT(vnet->vnet_magic_n == VNET_MAGIC_N, + ("soalloc(): invalid vnet: %p", vnet)); ++vnet->sockcnt; /* Locked with so_global_mtx. */ so->so_vnet = vnet; #endif ==== //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#11 (text+ko) ==== @@ -48,8 +48,10 @@ #include #include #include +#include #include #include +#include #include #include @@ -79,6 +81,7 @@ struct netexport { struct netcred ne_defexported; /* Default export */ struct radix_node_head *ne_rtable[AF_MAX+1]; /* Individual exports */ + struct vnet *ne_vnet; /* vnet for this export */ }; /* @@ -139,6 +142,7 @@ } #endif + CURVNET_SET(nep->ne_vnet); i = sizeof(struct netcred) + argp->ex_addrlen + argp->ex_masklen; np = (struct netcred *) malloc(i, M_NETADDR, M_WAITOK | M_ZERO); saddr = (struct sockaddr *) (np + 1); @@ -209,9 +213,11 @@ np->netc_numsecflavors = argp->ex_numsecflavors; bcopy(argp->ex_secflavors, np->netc_secflavors, sizeof(np->netc_secflavors)); + CURVNET_RESTORE(); return (0); out: free(np, M_NETADDR); + CURVNET_RESTORE(); return (error); } @@ -278,6 +284,7 @@ MNT_IUNLOCK(mp); } vfs_free_addrlist(nep); + /* XXX TODO: unref nep->ne_vnet */ mp->mnt_export = NULL; free(nep, M_MOUNT); nep = NULL; @@ -289,6 +296,8 @@ if (nep == NULL) { nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); mp->mnt_export = nep; + nep->ne_vnet = TD_TO_VNET(curthread); + /* XXX TODO: ref nep->ne_vnet */ } if (argp->ex_flags & MNT_EXPUBLIC) { if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#7 (text+ko) ==== @@ -57,6 +57,7 @@ #include #include #include +#include #include #include @@ -508,6 +509,8 @@ nf.nf_lastmsg = now.tv_sec - ((nmp->nm_tprintf_delay) - (nmp->nm_tprintf_initial_delay)); + CURVNET_SET(nmp->nm_vnet); + /* * XXX if not already connected call nfs_connect now. Longer * term, change nfs_mount to call nfs_connect unconditionally @@ -519,6 +522,7 @@ auth = nfs_getauth(nmp, cred); if (!auth) { m_freem(mreq); + CURVNET_RESTORE(); return (EACCES); } bzero(&ext, sizeof(ext)); @@ -599,6 +603,7 @@ if (error == ENOMEM) { m_freem(mrep); AUTH_DESTROY(auth); + CURVNET_RESTORE(); return (error); } @@ -663,6 +668,7 @@ *mdp = md; *dposp = dpos; AUTH_DESTROY(auth); + CURVNET_RESTORE(); return (0); nfsmout: @@ -687,6 +693,7 @@ m_freem(mreq); if (auth) AUTH_DESTROY(auth); + CURVNET_RESTORE(); return (error); } ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_socket.c#9 (text+ko) ==== @@ -1157,6 +1157,8 @@ ((nmp->nm_tprintf_delay) - (nmp->nm_tprintf_initial_delay)); mrest_len = m_length(mrest, NULL); + CURVNET_SET(nmp->nm_vnet); + /* * Get the RPC header with authorization. */ @@ -1309,6 +1311,7 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); + CURVNET_RESTORE(); return (error); } @@ -1328,6 +1331,7 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); + CURVNET_RESTORE(); return (error); } @@ -1377,6 +1381,7 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); + CURVNET_RESTORE(); return (error); } @@ -1386,6 +1391,7 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); + CURVNET_RESTORE(); return (0); } m_freem(mrep); @@ -1394,6 +1400,7 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); + CURVNET_RESTORE(); return (error); } ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#21 (text+ko) ==== @@ -55,6 +55,7 @@ #include #include #include +#include #include #include @@ -1193,6 +1194,9 @@ vfs_getnewfsid(mp); nmp->nm_mountp = mp; mtx_init(&nmp->nm_mtx, "NFSmount lock", NULL, MTX_DEF); +#ifdef VIMAGE + nmp->nm_vnet = CRED_TO_VNET(cred); +#endif /* * V2 can only handle 32 bit filesizes. A 4GB-1 limit may be too ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfsmount.h#5 (text+ko) ==== @@ -131,6 +131,9 @@ fsid_t nm_fsid; u_int nm_lease_time; time_t nm_last_renewal; + + /* VIMAGE */ + struct vnet *nm_vnet; /* vnet this mount was created in */ }; #if defined(_KERNEL) ==== //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#10 (text+ko) ==== @@ -62,6 +62,7 @@ #include #include #include +#include #include #include @@ -458,6 +459,7 @@ * Steal the socket from userland so that it doesn't close * unexpectedly. */ + CURVNET_SET(TD_TO_VNET(td)); if (so->so_type == SOCK_DGRAM) xprt = svc_dg_create(nfsrv_pool, so, 0, 0); else @@ -469,6 +471,7 @@ svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, NULL); SVC_RELEASE(xprt); } + CURVNET_RESTORE(); return (0); } @@ -526,7 +529,9 @@ nfsrv_pool->sp_maxthreads = 4; } + CURVNET_SET(TD_TO_VNET(curthread)); svc_run(nfsrv_pool); + CURVNET_RESTORE(); #ifdef KGSSAPI rpc_gss_clear_svc_name(NFS_PROG, NFS_VER2); ==== //depot/projects/vimage-commit2/src/sys/rpc/svc.c#6 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -58,6 +59,7 @@ #include #include #include +#include #include #include @@ -791,6 +793,8 @@ /* now receive msgs from xprtprt (support batch calls) */ r = malloc(sizeof(*r), M_RPC, M_WAITOK|M_ZERO); + CURVNET_SET(TD_TO_VNET(curthread)); + msg.rm_call.cb_cred.oa_base = r->rq_credarea; msg.rm_call.cb_verf.oa_base = &r->rq_credarea[MAX_AUTH_BYTES]; r->rq_clntcred = &r->rq_credarea[2*MAX_AUTH_BYTES]; @@ -865,6 +869,7 @@ xprt_unregister(xprt); } + CURVNET_RESTORE(); return (stat); } @@ -890,7 +895,9 @@ * dispatch method - they must call * svc_freereq. */ + CURVNET_SET(TD_TO_VNET(curthread)); (*s->sc_dispatch)(rqstp, xprt); + CURVNET_RESTORE(); return; } /* found correct version */ prog_found = TRUE; From owner-p4-projects@FreeBSD.ORG Thu Jun 25 13:32:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 790501065673; Thu, 25 Jun 2009 13:32:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38946106566C for ; Thu, 25 Jun 2009 13:32:58 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 24D138FC13 for ; Thu, 25 Jun 2009 13:32:58 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PDWw9g099231 for ; Thu, 25 Jun 2009 13:32:58 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PDWw23099229 for perforce@freebsd.org; Thu, 25 Jun 2009 13:32:58 GMT (envelope-from zjriggl@FreeBSD.org) Date: Thu, 25 Jun 2009 13:32:58 GMT Message-Id: <200906251332.n5PDWw23099229@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 165159 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 13:32:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=165159 Change 165159 by zjriggl@zjriggl_tcpregression on 2009/06/25 13:32:01 Periodic commit Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#5 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#3 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#5 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/testconfig.py#5 edit Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#5 (text+ko) ==== @@ -9,49 +9,49 @@ from pcs.packets.tcpv6 import tcpv6 # Configure logging -logging.config.fileConfig("logging.conf") +logging.config.fileConfig( "logging.conf" ) -(logging.FIELD_CHANGE, +( logging.FIELD_CHANGE, logging.RESPONSE_GENERATION, logging.PACKET_TRANSMIT, logging.PACKET_RECEIVED, logging.PACKET_SENT, logging.VALIDATE, - logging.STATE_CHANGE) = range(logging.INFO-7, logging.INFO) + logging.STATE_CHANGE ) = range( logging.INFO - 7, logging.INFO ) -logging.addLevelName(logging.FIELD_CHANGE, "FIELD") -logging.addLevelName(logging.RESPONSE_GENERATION, "RESPONSE") -logging.addLevelName(logging.PACKET_TRANSMIT, "XMIT") -logging.addLevelName(logging.PACKET_RECEIVED, "RECEIVED") -logging.addLevelName(logging.PACKET_SENT, "SENT") -logging.addLevelName(logging.VALIDATE, "VALIDATE") -logging.addLevelName(logging.STATE_CHANGE, "STATE") +logging.addLevelName( logging.FIELD_CHANGE, "FIELD" ) +logging.addLevelName( logging.RESPONSE_GENERATION, "GENERATE" ) +logging.addLevelName( logging.PACKET_TRANSMIT, "XMIT" ) +logging.addLevelName( logging.PACKET_RECEIVED, "RECEIVED" ) +logging.addLevelName( logging.PACKET_SENT, "SENT" ) +logging.addLevelName( logging.VALIDATE, "VALIDATE" ) +logging.addLevelName( logging.STATE_CHANGE, "STATE" ) # Find the TCP layer in a packet. -def findTcpLayer(packet): - return findPacketLayer(packet,tcp) +def findTcpLayer( packet ): + return findPacketLayer( packet, tcp ) -def findIpLayer(packet): - return findPacketLayer(packet,ipv4) +def findIpLayer( packet ): + return findPacketLayer( packet, ipv4 ) -def findPacketLayer(packet, _class): +def findPacketLayer( packet, _class ): p = packet while p is not None: - if isinstance(p,_class): + if isinstance( p, _class ): return p p = p.data return None - - - -def inet_lton(integer): - return struct.pack(">L",integer) + + + +def inet_lton( integer ): + return struct.pack( ">L", integer ) + +def inet_ltoa( integer ): + return socket.inet_ntoa( inet_lton( integer ) ) -def inet_ltoa(integer): - return socket.inet_ntoa(inet_lton(integer)) - -def inet_ntol(byteString): - return struct.unpack(">L",byteString)[0] +def inet_ntol( byteString ): + return struct.unpack( ">L", byteString )[0] -def inet_atol(ipString): - return inet_ntol(socket.inet_aton(ipString))+def inet_atol( ipString ): + return inet_ntol( socket.inet_aton( ipString ) ) ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#3 (text+ko) ==== @@ -52,7 +52,7 @@ return htonl( unpack( "!L", self.nbo )[0] ) def getPCS( self ): - return self.getNetworkInteger() + return self.getInteger() def setPCS( self, x ): - self.setNetworkInteger( x ) + self.setInteger( x ) ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#5 (text+ko) ==== @@ -14,65 +14,68 @@ from pcsextension.networkPort import NetworkPort from pcsextension import findIpLayer, findTcpLayer -class tcpFilter(object): +class tcpFilter( object ): log = None pcapHandle = None doRead = False - - def __init__(self, interfaceName): - self.log = tcplog(self) - self.openInterface(interfaceName) + + def __init__( self, interfaceName ): + self.log = tcplog( self ) + self.openInterface( interfaceName ) - def openInterface(self, interfaceName): + def openInterface( self, interfaceName ): try: - self.pcapHandle = PcapConnector(interfaceName) + self.pcapHandle = PcapConnector( interfaceName ) # self.pcapHandle = IP4Connector(); except: - self.log.error("Could not open interface %s" % interfaceName) - - def read(self): + self.log.error( "Could not open interface %s" % interfaceName ) + + def read( self ): return self.pcapHandle.readpkt() - - def write(self,bytes): - self.pcapHandle.write(bytes,len(bytes)) - - def readFilteredByIP(self, ip): + + def write( self, bytes ): + self.pcapHandle.write( bytes, len( bytes ) ) + + def readFilteredByIP( self, ip ): """ Reads packets until a packet is found going either to or from the specified IP address is discovered. Returns the first matching packet. @param ip IpAddress or dotted-quad string @return A pcs.Packet object """ - + # if isinstance(ipAddress,int): # ipAddress = intToBytes(ipAddress) # If the IP address is a string ("127.0.0.1") or byte array ('\x7f\x00\x00\x01') # we need to convert it into an integer representation of the same. - if isinstance(ip,str): + if isinstance( ip, str ): tmp = IpAddress() - tmp.setAscii(ip) + tmp.setAscii( ip ) ip = tmp srcIP = IpAddress() dstIP = IpAddress() - + while True: packet = self.read() - - ipLayer = findIpLayer(packet) - + + ipLayer = findIpLayer( packet ) + if ipLayer == None: continue - - srcIP.setNetworkInteger(ipLayer.src) - dstIP.setNetworkInteger(ipLayer.dst) - + + srcIP.setPCS( ipLayer.src ) + dstIP.setPCS( ipLayer.dst ) + + print "Saw %s" % str( srcIP ) + print "Saw %s" % str( dstIP ) + if ipLayer.src == ip.getPCS() or ipLayer.dst == ip.getPCS(): - return packet - - def readFilteredByTuple(self, ipAddress, port): + return packet + + def readFilteredByTuple( self, ipAddress, port ): """ Reads packets until a packet is found going either to or from [1] the specified IP address and [2] the specified port. Returns the first matching packet. @@ -81,21 +84,19 @@ @return A pcs.Packet object. @see readFilteredByIP """ - - if isinstance(port,int): - tmp = NetworkPort() - tmp.setInteger(port) - port = tmp - + + if isinstance( port, int ): + port = NetworkPort( port ) + while True: - packet = self.readFilteredByIP(ipAddress) - - tcpLayer = findTcpLayer(packet) + packet = self.readFilteredByIP( ipAddress ) + + tcpLayer = findTcpLayer( packet ) if tcpLayer == None: continue - + print tcpLayer.sport print port.getNetworkInteger() - + if tcpLayer.sport == port.getInteger() or tcpLayer.dport == port.getInteger(): - return packet+ return packet ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#4 (text+ko) ==== @@ -11,10 +11,13 @@ from pcsextension.ipAddress import IpAddress from pcsextension.networkPort import NetworkPort from pcsextension.pseudoipv4 import pseudoipv4, ipv4_cksum +from pcsextension.checksum import tcpChecksum +from random import randint from socket import IPPROTO_TCP from tcpFilter import tcpFilter from tcpConstructor import tcpConstructor -from tcpstates import +from tcpstates import * +from time import time import binascii import binhex import pcs @@ -123,7 +126,7 @@ rcv_wnd = 128 * 1024 # Recv window size rcv_up = 0 # Recv urgent pointer - irs = -1 # Initial receive sequence number + irs = 0 # Initial receive sequence number rcv_nxt = irs # Expected next recv sequence # ack_nxt = 0 # Next ACK number to send. @@ -166,31 +169,27 @@ return {'doc': 'Maximum Tranmission Unit'} _mtu = testconfig.mtu + @prop def generate(): return {'doc': 'What fields of outgoing TCP packets should be auto-generated.'} _generate = {'cksum': True, 'off': True, - 'seq': True, - 'acknum': True, + 'sequence': True, + 'ack_number': True, 'sport': True, 'dport': True, 'window': True, - 'urg': True, - 'ack': True, - 'syn': True, - 'fin': True, - 'rst': True, - 'psh': True, - 'urgp': True } + 'urg_pointer': True } @prop def validate(): return {'doc': 'What fields of incoming TCP packets should be validated.'} _validate = { 'cksum': True, - 'seq': True, - 'acknum': True, + 'sequence': True, + 'ack_number': True, 'sport': True, - 'dport': True } + 'dport': True, + 'transition': True } @prop def packetsToSend(): @@ -336,10 +335,90 @@ # # return self.state == state + def open( self ): + ''' + Open the socket connection. This is synonymous with the + 'connect' function used by normal UNIX sockets. + S + ''' + if self.state == CLOSED or self.state == LISTEN: + # Reset the connection state + self.reset() + + # Send the SYN packet. + synPacket = self.newPacket( {'syn':1} ) + self.log.generated( "Sending generated SYN packet to initiate connection: %s" % synPacket ) + self.packetsToSend.append( synPacket ) + self.sendQueuedPackets() + self.state = SYN_SENT + + # Recv the SYN-ACK packet. + start = time() + while self.state == SYN_SENT: + synAck = self.recv() + + if synAck.ack and synAck.syn and synAck.ack_number == synPacket.sequence: + state = ESTABLISHED + + elif time() < ( start + testconfig.timeout ): + self.log.info( 'open() timeout after %s seconds' % testconfig.timeout ) + return False + + # Send the ACK packet. + ackPacket = self.newPacket( {'ack':1} ) + self.log.generated( "Sending generated ACK packet in response to SYN/ACK: %s" % ackPacket ) + self.packetsToSend.append( appPacket ) + self.sendQueuedPackets() + self.state = ESTABLISHED + return True + else: + self.log.error( "connection already exists" ) + return False + + # Default... + return False + + def reset( self, iss = None ): + ''' + Resets all of the internal variables, sets the state to CLOSED. + @param iss Override the default ISS. + ''' + # ...if active and the foreign socket is + # specified, issue a SYN segment. An initial send sequence number + # (ISS) is selected. A SYN segment of the form + # is sent. Set SND.UNA to ISS, SND.NXT to ISS+1, enter SYN-SENT + # state, and return. + self.log.state( "Resetting state" ) + if iss is not None: + self.iss = iss + else: + if testconfig.randomISS: + self.iss = randint( 0, ( 2 ** 32 ) - 1 ) + else: + self.iss = testconfig.staticISS + self.logGenerated( self, 'iss' ) + + self.snd_una = self.iss + self.snd_nxt = self.iss + 1 + self.snd_up = 0 + self.snd_wl1 = 0 + self.snd_wl2 = 0 + self.snd_wnd = 0xffff + + self.rcv_nxt = 0 + self.rcv_up = 0 + self.rcv_wnd = testconfig.recvWindow + + self.state = CLOSED + + def recv( self ): + self._connector.readFilteredByTuple( self.localIP, self.localPort ) + def send( self, packet ): ''' Inform the TCP State Machine about packets that have been transmitted. This is necessary to keep the state up-to-date. + @param packet pcs.Packet object to send. Must be, or contain, a TCP packet. ''' # Check the arg type validateTypes( {packet:pcs.Packet} ) @@ -349,28 +428,47 @@ if tcpLayer == None: self.log.error( "Could not find TCP layer in packet %s" % packet ) - # Update list of packets sent - self.packetsSent += [tcpLayer] + # Check the state + if self.state == CLOSED: + # Otherwise, return "error: connection does not exist". + self.log.error( "connection does not exist" ) + + if self.state == LISTEN: + # If the foreign socket is specified, then change the connection + # from passive to active, select an ISS. Send a SYN segment, set + # SND.UNA to ISS, SND.NXT to ISS+1. Enter SYN-SENT state. Data + # associated with SEND may be sent with SYN segment or queued for + # transmission after entering ESTABLISHED state. + self.open() + + if self.state == SYN_SENT or self.state == SYN_RECEIVED: + # Queue the data for transmission after entering ESTABLISHED state. + # If no space to queue, respond with "error: insufficient + # resources". + self.packetsToSend.append( tcpLayer ) - # Get the bytes... - bytes = tcpLayer.chain().bytes + if self.state == ESTABLISHED or self.state == CLOSE_WAIT: + # Segmentize the buffer and send it with a piggybacked + # acknowledgment (acknowledgment value = RCV.NXT). If there is + # insufficient space to remember this buffer, simply return "error: + # insufficient resources". + if self.generate['ack_number']: + packet.ack_number = self.rcv_nxt - # Get the data length. - dataLength = ( len( bytes ) - tcpLayer.off ) + # If the urgent flag is set, then SND.UP <- SND.NXT-1 and set the + # urgent pointer in the outgoing segments. + # TODO: Handle URG pointer. + self.packetsToSend.append( tcpLayer ) - # Log packet - self.log.pktsent( packet ) + # Are we closing the connection? + if tcpLayer.fin: + self.state = FIN_WAIT_1 - # Set the correct sequence number. - x = self.snd_nxt - if self.validate['sequence']: - # if self.isValidateSeqEnabled(): - tcpLayer.seq = self.snd_nxt - self.snd_nxt += len( tcpLayer.data.chain() ) + if self.state in [FIN_WAIT_1, FIN_WAIT_2, CLOSING, LAST_ACK, TIME_WAIT]: + self.log.error( 'connection closing' ) - # Add the packet to the outgoing queue. - self.packetsToSend += [tcpLayer] - self._sendPackets() + # Send all queued packets + self.sendQueuedPackets() def sendRawTcp( self, tcpLayer ): if not validateTypes( {tcpLayer:tcp.tcp} ): @@ -382,35 +480,35 @@ pass - def _sendPackets( self ): + def sendQueuedPackets( self ): for tcpLayer in self.packetsToSend: send = False - # If the packet is the next packet that we are supposed to send, - # and it is LARGER than the window size, send it. - if self.snd_una == tcpLayer.seq: - send = True - else: - packetLen = len( tcpLayer.chain().bytes ) - if tcpLayer.seq + packetLen > ( self.snd_una + self.snd_wnd ): - send = True + # If the packet is the next packet that we are supposed to send, send it. + if self.snd_una == tcpLayer.sequence: + # Make sure we are allowed to send it (i.e. smaller than rcv window) - if send: # Set the ACK to acknowledge any packets that we've received - if self.generate['acknum'] and self.ack_nxt > self.ack_lst: + if self.generate['ack_number'] and self.ack_nxt > self.ack_lst: # if self.isAutomaticAckEnabled() and self.ack_nxt > self.ack_lst: - tcpLayer.acknum = self.rcv_nxt + tcpLayer.ack_number = self.rcv_nxt tcpLayer.ack = 1 # Set the correct checksum if self.generate['checksum']: # if self.isChecksumValidationEnabled(): - tcpLayer.cksum = tcpChecksum( tcpLayer ) #self.generateChecksum( tcpLayer ) + tcpLayer.cksum = tcpChecksum( tcpLayer, src = self.localIP, dst = self.remoteIP ) #self.generateChecksum( tcpLayer ) self.sendRawTcp( tcpLayer ) def logGenerated( self, packet, fieldname ): self.log.generated( "Automatically set field %s to %s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) + def logField( self, packet, fieldname ): + self.log.field( "Set field %s to %s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) + + def fieldsToGenerate( self ): + return [k for k in self.generate.keys() if self.generate[k]] + def newPacket( self, fields = None ): ''' Creates a new packet with the specified fields. Any fields that @@ -421,57 +519,55 @@ t = tcp.tcp() # Generate all the fields that are set up... - t.syn = t.fin = t.rst = t.psh = t.ack = t.urg = 0 + t.syn = t.fin = t.rst = t.push = t.ack = t.urgent = 0 - # Get the defaults... - defaults = {'window': 0xffff, - 'dport': self.remotePort.getInteger(), - 'sport': self.localPort.getInteger(), - 'seq': self.snd_nxt, - 'acknum': self.rcv_nxt, - 'off': 5} + # set the defaults. don't generate the checksum yet. + for field in [k for k in self.fieldsToGenerate() if k != 'cksum']: + setattr( t, field, self.generateField( t, field ) ) + self.logGenerated( t, field ) + # setattr( t, field, value ) - # set the defaults - for ( field, value ) in defaults.items(): - if field in self.generate: + # set the user-provided values + if fields is not None: + for ( field, value ) in fields.items(): setattr( t, field, value ) - self.logGenerated( t, field ) + self.logField( t, field ) - # set the user-provided values - for ( field, value ) in fields.items(): - setattr( t, field, value ) - - # Do the checksum LAST + # Do the checksum after user-provided values if 'cksum' in self.generate: - t.cksum = tcpChecksum( t ) + t.cksum = tcpChecksum( t, src = self.localIP, dst = self.remoteIP ) self.logGenerated( t, 'cksum' ) - def generateChecksum( self, packet ): - """Calculate and store the checksum for the TCP segment - when encapsulated as an IPv4 payload with the given header.""" - raise NotImplementedError + return t - bytes = packet.chain().bytes - pip = pseudoipv4() - pip.src = self.localIP - pip.dst = self.remoteIP - pip.protocol = IPPROTO_TCP - pip.length = len( bytes ) - tmpbytes = pip.getbytes() + bytes + def generateField( self, packet, fieldname ): + if fieldname == 'cksum': + return tcpChecksum( packet, src = self.localIP, dst = self.remoteIP ) + if fieldname == 'window': + return self.snd_wl1 + if fieldname == 'dport': + return self.remotePort.getInteger() + if fieldname == 'sport': + return self.localPort.getInteger() + if fieldname == 'sequence': + return self.snd_nxt + if fieldname == 'ack_number': + return self.rcv_nxt + if fieldname == 'off': + return 5 + if fieldname == 'urg_pointer': + # TODO + return 0 - cksum = ipv4_cksum( tmpbytes ) - # Log the checksum - hexCksum = binascii.hexlify( struct.pack( "!H", cksum ) ) - self.log.debug( "Generated cksum: %s" % hexCksum ) - - return cksum - - def recv( self, packet ): + def recv( self, packet = None ): ''' Inform the TCP State Machine about packets that have been received. This is necessary to keep the state up-to-date. ''' + if packet == None: + packet = self._connector.readFilteredByTuple( self.remoteIP, self.remotePort ) + self.packetsRecvd += [packet] self.log.pktrecv( packet ) @@ -563,3 +659,4 @@ # self.packetsToSend = [] self._connector = tcpFilter( testconfig.interface ) + self.reset() ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/testconfig.py#5 (text+ko) ==== @@ -1,10 +1,11 @@ -localPort = 46001 -localIP = "127.0.0.1" + +localPort = 54321 +localIP = "172.16.0.10" localIPv6 = "::1" localMAC = "00:1b:63:06:82:b2" -remotePort = 46002 -remoteIP = "127.0.0.1" +remotePort = 12345 +remoteIP = "172.16.0.10" remoteIPv6 = "::1" remoteMAC = "00:21:29:a5:a9:3f" @@ -12,3 +13,14 @@ interface = "en1" +# Timeout for connect operations, in seconds +timeout = 5 + +# Receive window size +recvWindow = 0xffff + +# Initial sequence number randomization. If randomISS is true, +# the ISS is initialized to a random value. Otherwise, staticISS +# is used as the ISS for all communication. +randomISS = True +staticISS = 0 From owner-p4-projects@FreeBSD.ORG Thu Jun 25 15:03:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9538F1065676; Thu, 25 Jun 2009 15:03:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BD631065673 for ; Thu, 25 Jun 2009 15:03:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37AC98FC08 for ; Thu, 25 Jun 2009 15:03:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PF3cqs008386 for ; Thu, 25 Jun 2009 15:03:38 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PF3bHh008384 for perforce@freebsd.org; Thu, 25 Jun 2009 15:03:37 GMT (envelope-from jhb@freebsd.org) Date: Thu, 25 Jun 2009 15:03:37 GMT Message-Id: <200906251503.n5PF3bHh008384@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 165166 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 15:03:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165166 Change 165166 by jhb@jhb_jhbbsd on 2009/06/25 15:02:49 IFC @165164 Affected files ... .. //depot/projects/smpng/share/man/man9/Makefile#6 integrate .. //depot/projects/smpng/share/man/man9/usbdi.9#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#42 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#51 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#30 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#6 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#6 integrate .. //depot/projects/smpng/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/smpng/sys/arm/mv/orion/orion.c#6 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#60 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#57 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#57 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#57 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#58 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#61 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ipc.c#32 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_ipc.c#20 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-intel.c#6 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-jmicron.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-marvell.c#6 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-promise.c#8 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-siliconimage.c#7 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-sis.c#6 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-via.c#5 integrate .. //depot/projects/smpng/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/smpng/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#24 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.c#12 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82540.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82541.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82571.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_api.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_defines.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_hw.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_mac.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.c#3 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_phy.c#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_phy.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_regs.h#4 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.c#9 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.h#5 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#9 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.h#4 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc.c#33 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#39 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#18 integrate .. //depot/projects/smpng/sys/dev/hptmv/atapi.h#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.h#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82598.c#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.c#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.h#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_common.c#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_osdep.h#5 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.c#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.h#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_type.h#6 integrate .. //depot/projects/smpng/sys/dev/mfi/mfi.c#27 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#29 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#31 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#18 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#35 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#10 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#7 integrate .. //depot/projects/smpng/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#4 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#5 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/xfs_rw.h#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/xfs_vnodeops.c#5 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#64 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_ipc.c#14 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#94 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#128 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#74 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#74 integrate .. //depot/projects/smpng/sys/kern/subr_pcpu.c#14 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#93 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#99 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#19 integrate .. //depot/projects/smpng/sys/kern/sysv_ipc.c#19 integrate .. //depot/projects/smpng/sys/kern/sysv_msg.c#41 integrate .. //depot/projects/smpng/sys/kern/sysv_sem.c#54 integrate .. //depot/projects/smpng/sys/kern/sysv_shm.c#46 integrate .. //depot/projects/smpng/sys/modules/igb/Makefile#5 integrate .. //depot/projects/smpng/sys/modules/ixgbe/Makefile#5 integrate .. //depot/projects/smpng/sys/net/if_epair.c#1 branch .. //depot/projects/smpng/sys/net/if_media.h#26 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#42 integrate .. //depot/projects/smpng/sys/net/if_stf.c#49 integrate .. //depot/projects/smpng/sys/netatalk/aarp.c#27 integrate .. //depot/projects/smpng/sys/netatalk/at_control.c#18 integrate .. //depot/projects/smpng/sys/netatalk/at_var.h#8 integrate .. //depot/projects/smpng/sys/netatalk/ddp_input.c#21 integrate .. //depot/projects/smpng/sys/netatalk/ddp_output.c#17 integrate .. //depot/projects/smpng/sys/netatalk/ddp_pcb.c#14 integrate .. //depot/projects/smpng/sys/netatalk/ddp_usrreq.c#34 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#73 integrate .. //depot/projects/smpng/sys/netinet/in.c#57 integrate .. //depot/projects/smpng/sys/netinet/in_gif.c#29 integrate .. //depot/projects/smpng/sys/netinet/in_mcast.c#15 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#99 integrate .. //depot/projects/smpng/sys/netinet/in_var.h#28 integrate .. //depot/projects/smpng/sys/netinet/ip_carp.c#35 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.h#27 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#52 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#104 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dummynet.c#4 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#84 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#59 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#38 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#65 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#42 integrate .. //depot/projects/smpng/sys/netinet6/in6_var.h#23 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#66 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#56 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#34 integrate .. //depot/projects/smpng/sys/netinet6/vinet6.h#9 integrate .. //depot/projects/smpng/sys/netipsec/key.c#39 integrate .. //depot/projects/smpng/sys/netipx/ipx.c#17 integrate .. //depot/projects/smpng/sys/netipx/ipx_if.h#10 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#24 integrate .. //depot/projects/smpng/sys/netipx/ipx_outputfl.c#11 integrate .. //depot/projects/smpng/sys/netipx/ipx_pcb.c#24 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#90 integrate .. //depot/projects/smpng/sys/powerpc/conf/MPC85XX#10 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#14 integrate .. //depot/projects/smpng/sys/rpc/clnt_rc.c#7 integrate .. //depot/projects/smpng/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#96 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#79 integrate .. //depot/projects/smpng/sys/sys/acl.h#15 integrate .. //depot/projects/smpng/sys/sys/ata.h#31 integrate .. //depot/projects/smpng/sys/sys/ipc.h#12 integrate .. //depot/projects/smpng/sys/sys/msg.h#8 integrate .. //depot/projects/smpng/sys/sys/param.h#150 integrate .. //depot/projects/smpng/sys/sys/priv.h#22 integrate .. //depot/projects/smpng/sys/sys/sched.h#33 integrate .. //depot/projects/smpng/sys/sys/sem.h#11 integrate .. //depot/projects/smpng/sys/sys/shm.h#13 integrate .. //depot/projects/smpng/sys/sys/syscall.h#92 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#92 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#61 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#96 integrate .. //depot/projects/smpng/sys/sys/unistd.h#18 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.355 2009/06/09 23:38:19 imp Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.356 2009/06/24 17:01:17 thompsa Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -1210,55 +1210,58 @@ uidinfo.9 uihashinit.9 \ uidinfo.9 uihold.9 MLINKS+=uio.9 uiomove.9 -MLINKS+=usbdi.9 usbd_abort_default_pipe.9 \ - usbdi.9 usbd_abort_pipe.9 \ - usbdi.9 usbd_alloc_buffer.9 \ - usbdi.9 usbd_alloc_xfer.9 \ - usbdi.9 usbd_clear_endpoint_stall.9 \ - usbdi.9 usbd_clear_endpoint_stall_async.9 \ - usbdi.9 usbd_clear_endpoint_toggle.9 \ - usbdi.9 usbd_close_pipe.9 \ - usbdi.9 usbd_device2interface_handle.9 \ +MLINKS+=usbdi.9 usb_fifo_alloc_buffer.9 \ + usbdi.9 usb_fifo_attach.9 \ + usbdi.9 usb_fifo_detach.9 \ + usbdi.9 usb_fifo_free_buffer.9 \ + usbdi.9 usb_fifo_get_data.9 \ + usbdi.9 usb_fifo_get_data_buffer.9 \ + usbdi.9 usb_fifo_get_data_error.9 \ + usbdi.9 usb_fifo_get_data_linear.9 \ + usbdi.9 usb_fifo_put_bytes_max.9 \ + usbdi.9 usb_fifo_put_data.9 \ + usbdi.9 usb_fifo_put_data_buffer.9 \ + usbdi.9 usb_fifo_put_data_error.9 \ + usbdi.9 usb_fifo_put_data_linear.9 \ + usbdi.9 usb_fifo_reset.9 \ + usbdi.9 usb_fifo_softc.9 \ + usbdi.9 usb_fifo_wakeup.9 \ usbdi.9 usbd_do_request.9 \ - usbdi.9 usbd_do_request_async.9 \ usbdi.9 usbd_do_request_flags.9 \ - usbdi.9 usbd_do_request_flags_pipe.9 \ - usbdi.9 usbd_endpoint_count.9 \ usbdi.9 usbd_errstr.9 \ - usbdi.9 usbd_find_edesc.9 \ - usbdi.9 usbd_find_idesc.9 \ - usbdi.9 usbd_free_buffer.9 \ - usbdi.9 usbd_free_xfer.9 \ - usbdi.9 usbd_get_buffer.9 \ - usbdi.9 usbd_get_config.9 \ - usbdi.9 usbd_get_config_desc.9 \ - usbdi.9 usbd_get_config_desc_full.9 \ - usbdi.9 usbd_get_config_descriptor.9 \ - usbdi.9 usbd_get_device_descriptor.9 \ - usbdi.9 usbd_get_endpoint_descriptor.9 \ - usbdi.9 usbd_get_interface_altindex.9 \ - usbdi.9 usbd_get_interface_descriptor.9 \ - usbdi.9 usbd_get_no_alts.9 \ - usbdi.9 usbd_get_quirks.9 \ - usbdi.9 usbd_get_speed.9 \ - usbdi.9 usbd_get_string.9 \ - usbdi.9 usbd_get_string_desc.9 \ - usbdi.9 usbd_get_xfer_status.9 \ - usbdi.9 usbd_interface2device_handle.9 \ - usbdi.9 usbd_interface2endpoint_descriptor.9 \ - usbdi.9 usbd_interface_count.9 \ - usbdi.9 usbd_open_pipe.9 \ - usbdi.9 usbd_open_pipe_intr.9 \ - usbdi.9 usbd_pipe2device_handle.9 \ - usbdi.9 usbd_set_config_index.9 \ - usbdi.9 usbd_set_config_no.9 \ - usbdi.9 usbd_set_interface.9 \ - usbdi.9 usbd_setup_default_xfer.9 \ - usbdi.9 usbd_setup_isoc_xfer.9 \ - usbdi.9 usbd_setup_xfer.9 \ - usbdi.9 usbd_sync_transfer.9 \ - usbdi.9 usbd_transfer.9 \ - usbdi.9 usb_find_desc.9 + usbdi.9 usbd_lookup_id_by_info.9 \ + usbdi.9 usbd_lookup_id_by_uaa.9 \ + usbdi.9 usbd_transfer_clear_stall.9 \ + usbdi.9 usbd_transfer_drain.9 \ + usbdi.9 usbd_transfer_pending.9 \ + usbdi.9 usbd_transfer_poll.9 \ + usbdi.9 usbd_transfer_setup.9 \ + usbdi.9 usbd_transfer_start.9 \ + usbdi.9 usbd_transfer_stop.9 \ + usbdi.9 usbd_transfer_submit.9 \ + usbdi.9 usbd_transfer_unsetup.9 \ + usbdi.9 usbd_xfer_clr_flag.9 \ + usbdi.9 usbd_xfer_frame_data.9 \ + usbdi.9 usbd_xfer_frame_len.9 \ + usbdi.9 usbd_xfer_get_frame.9 \ + usbdi.9 usbd_xfer_get_priv.9 \ + usbdi.9 usbd_xfer_is_stalled.9 \ + usbdi.9 usbd_xfer_max_framelen.9 \ + usbdi.9 usbd_xfer_max_frames.9 \ + usbdi.9 usbd_xfer_max_len.9 \ + usbdi.9 usbd_xfer_set_flag.9 \ + usbdi.9 usbd_xfer_set_frame_data.9 \ + usbdi.9 usbd_xfer_set_frame_len.9 \ + usbdi.9 usbd_xfer_set_frame_offset.9 \ + usbdi.9 usbd_xfer_set_frames.9 \ + usbdi.9 usbd_xfer_set_interval.9 \ + usbdi.9 usbd_xfer_set_priv.9 \ + usbdi.9 usbd_xfer_set_stall.9 \ + usbdi.9 usbd_xfer_set_timeout.9 \ + usbdi.9 usbd_xfer_softc.9 \ + usbdi.9 usbd_xfer_state.9 \ + usbdi.9 usbd_xfer_state.9 \ + usbdi.9 usbd_xfer_status.9 MLINKS+=vcount.9 count_dev.9 MLINKS+=vfsconf.9 vfs_modevent.9 \ vfsconf.9 vfs_register.9 \ ==== //depot/projects/smpng/share/man/man9/usbdi.9#2 (text+ko) ==== @@ -23,1231 +23,616 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/usbdi.9,v 1.2 2006/12/14 14:33:13 mpp Exp $ -.Dd December 30, 2005 +.\" $FreeBSD: src/share/man/man9/usbdi.9,v 1.3 2009/06/24 17:01:17 thompsa Exp $ +.Dd June 24, 2009 .Os .Dt USBDI 9 .Sh NAME -.Nm usb_detach_wait , -.Nm usb_detach_wakeup , -.Nm usb_find_desc , -.Nm usbd_abort_default_pipe , -.Nm usbd_abort_pipe , -.Nm usbd_alloc_buffer , -.Nm usbd_alloc_xfer , -.Nm usbd_bulk_transfer , -.Nm usbd_clear_endpoint_stall , -.Nm usbd_clear_endpoint_stall_async , -.Nm usbd_clear_endpoint_toggle , -.Nm usbd_close_pipe , -.Nm usbd_device2interface_handle , -.Nm usbd_devinfo , +.Nm usb_fifo_alloc_buffer , +.Nm usb_fifo_attach , +.Nm usb_fifo_detach , +.Nm usb_fifo_free_buffer , +.Nm usb_fifo_get_data , +.Nm usb_fifo_get_data_buffer , +.Nm usb_fifo_get_data_error , +.Nm usb_fifo_get_data_linear , +.Nm usb_fifo_put_bytes_max , +.Nm usb_fifo_put_data , +.Nm usb_fifo_put_data_buffer , +.Nm usb_fifo_put_data_error , +.Nm usb_fifo_put_data_linear , +.Nm usb_fifo_reset , +.Nm usb_fifo_softc , +.Nm usb_fifo_wakeup , .Nm usbd_do_request , -.Nm usbd_do_request_async , .Nm usbd_do_request_flags , -.Nm usbd_do_request_flags_pipe , -.Nm usbd_dopoll , -.Nm usbd_endpoint_count , .Nm usbd_errstr , -.Nm usbd_fill_deviceinfo , -.Nm usbd_find_edesc , -.Nm usbd_find_idesc , -.Nm usbd_free_buffer , -.Nm usbd_free_xfer , -.Nm usbd_get_buffer , -.Nm usbd_get_config , -.Nm usbd_get_config_desc , -.Nm usbd_get_config_desc_full , -.Nm usbd_get_config_descriptor , -.Nm usbd_get_device_descriptor , -.Nm usbd_get_endpoint_descriptor , -.Nm usbd_get_interface_altindex , -.Nm usbd_get_interface_descriptor , -.Nm usbd_get_no_alts , -.Nm usbd_get_quirks , -.Nm usbd_get_speed , -.Nm usbd_get_string , -.Nm usbd_get_string_desc , -.Nm usbd_get_xfer_status , -.Nm usbd_interface2device_handle , -.Nm usbd_interface2endpoint_descriptor , -.Nm usbd_interface_count , -.Nm usbd_intr_transfer , -.Nm usbd_open_pipe , -.Nm usbd_open_pipe_intr , -.Nm usbd_pipe2device_handle , -.Nm usbd_ratecheck , -.Nm usbd_set_config_index , -.Nm usbd_set_config_no , -.Nm usbd_set_interface , -.Nm usbd_set_polling , -.Nm usbd_setup_default_xfer , -.Nm usbd_setup_isoc_xfer , -.Nm usbd_setup_xfer , -.Nm usbd_sync_transfer , -.Nm usbd_transfer +.Nm usbd_lookup_id_by_info , +.Nm usbd_lookup_id_by_uaa , +.Nm usbd_transfer_clear_stall , +.Nm usbd_transfer_drain , +.Nm usbd_transfer_pending , +.Nm usbd_transfer_poll , +.Nm usbd_transfer_setup , +.Nm usbd_transfer_start , +.Nm usbd_transfer_stop , +.Nm usbd_transfer_submit , +.Nm usbd_transfer_unsetup , +.Nm usbd_xfer_clr_flag , +.Nm usbd_xfer_frame_data , +.Nm usbd_xfer_frame_len , +.Nm usbd_xfer_get_frame , +.Nm usbd_xfer_get_priv , +.Nm usbd_xfer_is_stalled , +.Nm usbd_xfer_max_framelen , +.Nm usbd_xfer_max_frames , +.Nm usbd_xfer_max_len , +.Nm usbd_xfer_set_flag , +.Nm usbd_xfer_set_frame_data , +.Nm usbd_xfer_set_frame_len , +.Nm usbd_xfer_set_frame_offset , +.Nm usbd_xfer_set_frames , +.Nm usbd_xfer_set_interval , +.Nm usbd_xfer_set_priv , +.Nm usbd_xfer_set_stall , +.Nm usbd_xfer_set_timeout , +.Nm usbd_xfer_softc , +.Nm usbd_xfer_state , +.Nm usbd_xfer_state , +.Nm usbd_xfer_status .Nd Universal Serial Bus driver programming interface .Sh SYNOPSIS .In dev/usb/usb.h .In dev/usb/usbdi.h .In dev/usb/usbdi_util.h -.Pp -.Ft void -.Fn usb_detach_wait "device_ptr_t dv" -.Ft void -.Fn usb_detach_wakeup "device_ptr_t dv" -.Ft "const usb_descriptor_t *" -.Fn usb_find_desc "usbd_device_handle dev" "int type" "int subtype" -.Ft usbd_status -.Fn usbd_abort_default_pipe "usbd_device_handle dev" -.Ft usbd_status -.Fn usbd_abort_pipe "usbd_pipe_handle pipe" -.Ft "void *" -.Fn usbd_alloc_buffer "usbd_xfer_handle xfer" "u_int32_t size" -.Ft usbd_xfer_handle -.Fn usbd_alloc_xfer "usbd_device_handle dev" -.Ft usbd_status -.Fo usbd_bulk_transfer -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_pipe_handle pipe" -.Fa "u_int16_t flags" -.Fa "u_int32_t timeout" -.Fa "void *buf" -.Fa "u_int32_t *size" -.Fa "char *lbl" -.Fc -.Ft usbd_status -.Fn usbd_clear_endpoint_stall "usbd_pipe_handle pipe" -.Ft usbd_status -.Fn usbd_clear_endpoint_stall_async "usbd_pipe_handle" -.Ft void -.Fn usbd_clear_endpoint_toggle "usbd_pipe_handle pipe" -.Ft usbd_status -.Fn usbd_close_pipe "usbd_pipe_handle pipe" -.Ft usbd_status -.Fo usbd_device2interface_handle -.Fa "usbd_device_handle dev" -.Fa "u_int8_t ifaceno" -.Fa "usbd_interface_handle *iface" -.Fc -.Ft void -.Fn usbd_devinfo "usbd_device_handle dev" "int showclass" "char *cp" -.Ft usbd_status -.Fo usbd_do_request -.Fa "usbd_device_handle dev" -.Fa "usb_device_request_t *req" -.Fa "void *data" -.Fc -.Ft usbd_status -.Fo usbd_do_request_async -.Fa "usbd_device_handle dev" -.Fa "usb_device_request_t *req" -.Fa "void *data" -.Fc -.Ft usbd_status -.Fo usbd_do_request_flags -.Fa "usbd_device_handle dev" -.Fa "usb_device_request_t *req" -.Fa "void *data" -.Fa "u_int16_t flags" -.Fa "int *actlen" -.Fa "u_int32_t timo" -.Fc -.Ft usbd_status -.Fo usbd_do_request_flags_pipe -.Fa "usbd_device_handle dev" -.Fa "usbd_pipe_handle pipe" -.Fa "usb_device_request_t *req" -.Fa "void *data" -.Fa "u_int16_t flags" -.Fa "int *actlen" -.Fa "u_int32_t timeout" -.Fc -.Ft void -.Fn usbd_dopoll "usbd_interface_handle iface" -.Ft usbd_status -.Fn usbd_endpoint_count "usbd_interface_handle iface" "u_int8_t *count" -.Ft "const char *" -.Fn usbd_errstr "usbd_status err" -.Ft void -.Fo usbd_fill_deviceinfo -.Fa "usbd_device_handle dev" -.Fa "struct usb_device_info *di" -.Fa "int usedev" -.Fc -.Ft "usb_endpoint_descriptor_t *" -.Fo usbd_find_edesc -.Fa "usb_config_descriptor_t *cd" -.Fa "int ifaceidx" -.Fa "int altidx" -.Fa "int endptidx" -.Fc -.Ft "usb_interface_descriptor_t *" -.Fn usbd_find_idesc "usb_config_descriptor_t *cd" "int ifaceidx" "int altidx" -.Ft void -.Fn usbd_free_buffer "usbd_xfer_handle xfer" -.Ft usbd_status -.Fn usbd_free_xfer "usbd_xfer_handle xfer" -.Ft "void *" -.Fn usbd_get_buffer "usbd_xfer_handle xfer" -.Ft usbd_status -.Fn usbd_get_config "usbd_device_handle dev" "u_int8_t *conf" -.Ft usbd_status -.Fo usbd_get_config_desc -.Fa "usbd_device_handle dev" -.Fa "int confidx" -.Fa "usb_config_descriptor_t *d" -.Fc -.Ft usbd_status -.Fo usbd_get_config_desc_full -.Fa "usbd_device_handle dev" -.Fa "int conf" -.Fa "void *d" -.Fa "int size" -.Fc -.Ft "usb_config_descriptor_t *" -.Fn usbd_get_config_descriptor "usbd_device_handle dev" -.Ft "usb_device_descriptor_t *" -.Fn usbd_get_device_descriptor "usbd_device_handle dev" -.Ft "usb_endpoint_descriptor_t *" -.Fo usbd_get_endpoint_descriptor -.Fa "usbd_interface_handle iface" -.Fa "u_int8_t address" -.Fc -.Ft int -.Fn usbd_get_interface_altindex "usbd_interface_handle iface" -.Ft "usb_interface_descriptor_t *" -.Fn usbd_get_interface_descriptor "usbd_interface_handle iface" -.Ft int -.Fn usbd_get_no_alts "usb_config_descriptor_t *cdesc" "int ifaceno" -.Ft "const struct usbd_quirks *" -.Fn usbd_get_quirks "usbd_device_handle dev" -.Ft int -.Fn usbd_get_speed "usbd_device_handle dev" -.Ft usbd_status -.Fn usbd_get_string "usbd_device_handle dev" "int si" "char *buf" -.Ft usbd_status -.Fo usbd_get_string_desc -.Fa "usbd_device_handle dev" -.Fa "int sindex" -.Fa "int langid" -.Fa "usb_string_descriptor_t *sdesc" -.Fa "int *sizep" -.Fc -.Ft void -.Fo usbd_get_xfer_status -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_private_handle *priv" -.Fa "void **buffer" -.Fa "u_int32_t *count" -.Fa "usbd_status *status" -.Fc -.Ft void -.Fo usbd_interface2device_handle -.Fa "usbd_interface_handle iface" -.Fa "usbd_device_handle *dev" -.Fc -.Ft "usb_endpoint_descriptor_t *" -.Fo usbd_interface2endpoint_descriptor -.Fa "usbd_interface_handle iface" -.Fa "u_int8_t index" -.Fc -.Ft usbd_status -.Fn usbd_interface_count "usbd_device_handle dev" "u_int8_t *count" -.Ft usbd_status -.Fo usbd_intr_transfer -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_pipe_handle pipe" -.Fa "u_int16_t flags" -.Fa "u_int32_t timeout" -.Fa "void *buf" -.Fa "u_int32_t *size" -.Fa "char *lbl" -.Fc -.Ft usbd_status -.Fo usbd_open_pipe -.Fa "usbd_interface_handle iface" -.Fa "u_int8_t address" -.Fa "u_int8_t flags" -.Fa "usbd_pipe_handle *pipe" -.Fc -.Ft usbd_status -.Fo usbd_open_pipe_intr -.Fa "usbd_interface_handle iface" -.Fa "u_int8_t address" -.Fa "u_int8_t flags" -.Fa "usbd_pipe_handle *pipe" -.Fa "usbd_private_handle priv" -.Fa "void *buffer" -.Fa "u_int32_t len" -.Fa "usbd_callback cb" -.Fa "int ival" -.Fc -.Ft usbd_device_handle -.Fn usbd_pipe2device_handle "usbd_pipe_handle pipe" -.Ft int -.Fn usbd_ratecheck "struct timeval *last" -.Ft usbd_status -.Fn usbd_set_config_index "usbd_device_handle dev" "int index" "int msg" -.Ft usbd_status -.Fn usbd_set_config_no "usbd_device_handle dev" "int no" "int msg" -.Ft usbd_status -.Fn usbd_set_interface "usbd_interface_handle iface" "int altidx" -.Ft void -.Fn usbd_set_polling "usbd_device_handle dev" "int on" -.Ft void -.Fo usbd_setup_default_xfer -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_device_handle dev" -.Fa "usbd_private_handle priv" -.Fa "u_int32_t timeout" -.Fa "usb_device_request_t *req" -.Fa "void *buffer" -.Fa "u_int32_t length" -.Fa "u_int16_t flags" -.Fa "usbd_callback callback" -.Fc -.Ft void -.Fo usbd_setup_isoc_xfer -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_pipe_handle pipe" -.Fa "usbd_private_handle priv" -.Fa "u_int16_t *frlengths" -.Fa "u_int32_t nframes" -.Fa "u_int16_t flags" -.Fa "usbd_callback callback" -.Fc -.Ft void -.Fo usbd_setup_xfer -.Fa "usbd_xfer_handle xfer" -.Fa "usbd_pipe_handle pipe" -.Fa "usbd_private_handle priv" -.Fa "void *buffer" -.Fa "u_int32_t length" -.Fa "u_int16_t flags" -.Fa "u_int32_t timeout" -.Fa "usbd_callback callback" -.Fc -.Ft usbd_status -.Fn usbd_sync_transfer "usbd_xfer_handle xfer" -.Ft usbd_status -.Fn usbd_transfer "usbd_xfer_handle xfer" .Sh DESCRIPTION The Universal Serial Bus (USB) driver programming interface provides USB peripheral drivers with a host controller independent API for controlling and communicating with USB peripherals. +The +.Nm usb +module supports both USB Host and USB Device side mode. +. +.Sh USB KERNEL PROGRAMMING +Here is a list of commonly used functions: .Pp -Typically, drivers will first use some combination of the functions -.Fn usbd_set_config_no , -.Fn usbd_get_config_descriptor , -.Fn usbd_set_interface , -.Fn usbd_get_interface_descriptor , -.Fn usbd_device2interface_handle , -.Fn usbd_endpoint_count -and -.Fn usbd_interface2endpoint_descriptor -to query the device's properties and prepare it for use. -Drivers can then perform requests on the USB control pipe using -.Fn usbd_do_request , -they can open pipes using the functions -.Fn usbd_open_pipe -and -.Fn usbd_open_pipe_intr , -and perform transfers over these pipes using -.Fn usbd_alloc_xfer , -.Fn usbd_setup_xfer -and -.Fn usbd_transfer . -Finally, the functions -.Fn usbd_abort_pipe , -.Fn usbd_close_pipe -and -.Fn usbd_free_xfer -are used to cancel outstanding transfers, close open pipes and deallocate -transfer structures. +. +.Ft "usb_error_t" +.Fo "usbd_transfer_setup" +.Fa "udev" +.Fa "ifaces" +.Fa "pxfer" +.Fa "setup_start" +.Fa "n_setup" +.Fa "priv_sc" +.Fa "priv_mtx" +.Fc +. .Pp -The -.Fn usbd_get_device_descriptor -function returns a pointer to the USB device descriptor for -.Fa dev . -See -.Sx "USB Descriptors" -below for information about the USB device descriptor. +. +.Ft "void" +.Fo "usbd_transfer_unsetup" +.Fa "pxfer" +.Fa "n_setup" +.Fc +. .Pp -The -.Fn usbd_get_config_desc -function retrieves the specified configuration descriptor from the device. -The -.Fa confidx -parameter specifies the configuration descriptor index, which must be less -than the -.Fa bNumConfigurations -value in the device descriptor. -The function -.Fn usbd_get_config_desc_full -retrieves a full configuration descriptor, which has all related interface -and endpoint descriptors appended to a normal configuration descriptor. -The parameter -.Fa d -should point to memory that is at least -.Fa size -bytes in length, and this should be at least as long as the -.Fa wTotalLength -value from the configuration descriptor. -See -.Sx "USB Descriptors" -below for information about the USB configuration descriptor. +. +.Ft "void" +.Fo "usbd_transfer_start" +.Fa "xfer" +.Fc +. .Pp -The -.Fn usbd_get_config -function retrieves the current configuration number from the device, i.e.\& -the -.Fa bConfigurationValue -value from the configuration that is active. -If the device is unconfigured then -.Dv USB_UNCONFIG_NO -is returned. -The current configuration can be changed by calling either -.Fn usbd_set_config_index -or -.Fn usbd_set_config_no . -The difference between these functions is that -.Fn usbd_set_config_index -accepts a configuration index number that is less than the -.Fa bNumConfigurations -value from the device descriptor, whereas -.Fn usbd_set_config_no -requires the -.Fa bConfigurationValue -value of the desired configuration to be provided instead. -To unconfigure the device, supply a configuration index of -.Dv USB_UNCONFIG_INDEX -to -.Fn usbd_set_config_index , -or else specify a configuration number of -.Dv USB_UNCONFIG_NO -to -.Fn usbd_set_config_no . +. +.Ft "void" +.Fo "usbd_transfer_stop" +.Fa "xfer" +.Fc +. .Pp -The -.Fn usbd_get_config_descriptor -function returns a pointer to an in-memory copy of the full configuration -descriptor of the configuration that is currently active. -The returned pointer remains valid until the device configuration -is changed using -.Fn usbd_set_config_index -or -.Fn usbd_set_config_no . -If the device is unconfigured then -.Dv NULL -is returned instead. +. +.Ft "void" +.Fo "usbd_transfer_drain" +.Fa "xfer" +.Fc +. +. +. +.Sh USB TRANSFER MANAGEMENT FUNCTIONS +The USB standard defines four types of USB transfers. +. +Control transfers, Bulk transfers, Interrupt transfers and Isochronous +transfers. +. +All the transfer types are managed using the following five functions: +. .Pp -The function -.Fn usbd_interface_count -returns the number of interfaces available in the current device -configuration. -The -.Fn usbd_get_no_alts -function determines the number of alternate interfaces in a full -configuration descriptor by counting the interface descriptors with -.Fa bInterfaceNumber -equal to -.Fa ifaceno -(the count includes alternate index zero). -The -.Fn usbd_find_idesc -function locates an interface descriptor within a full configuration -descriptor. -The -.Fa ifaceidx -parameter specifies the interface index number, which should be less than -the number of interfaces in the configuration descriptor (i.e.\& the value -returned by -.Fn usbd_interface_count -or the -.Fa bNumInterface -field from the configuration descriptor). -An alternate interface can be specified using a non-zero -.Fa altidx , -which should be less than the value returned by -.Fn usbd_get_no_alts . -The return value is a pointer to the requested interface descriptor -within the full configuration descriptor, or -.Dv NULL -if the specified interface descriptor does not exist. -Note that the -.Fa altidx -parameter specifies the alternate setting by index number starting -at zero; it is not the alternate setting number defined in the -interface descriptor. +. +.Fn usbd_transfer_setup +This function will allocate memory for and initialise an array of USB +transfers and all required DMA memory. +. +This function can sleep or block waiting for resources to become +available. +.Fa udev +is a pointer to "struct usb_device". +.Fa ifaces +is an array of interface index numbers to use. See "if_index". +.Fa pxfer +is a pointer to an array of USB transfer pointers that are initialized +to NULL, and then pointed to allocated USB transfers. +.Fa setup_start +is a pointer to an array of USB config structures. +.Fa n_setup +is a number telling the USB system how many USB transfers should be +setup. +.Fa priv_sc +is the private softc pointer, which will be used to initialize +"xfer->priv_sc". +.Fa priv_mtx +is the private mutex protecting the transfer structure and the +softc. This pointer is used to initialize "xfer->priv_mtx". +This function returns +zero upon success. A non-zero return value indicates failure. +. .Pp -The function -.Fn usbd_find_edesc -locates an endpoint descriptor within a full configuration descriptor. -The -.Fa ifaceidx -and -.Fa altidx -parameters are the same as described for -.Fn usbd_find_idesc , -and the -.Fa endptidx -parameter is an endpoint index number that should be less than the -.Fa bNumEndpoints -field in the interface descriptor. -The return value is a pointer to the requested endpoint descriptor -within the full configuration descriptor, or -.Dv NULL -if the specified endpoint descriptor does not exist. -Note that the -.Fa altidx -and -.Fa endptidx -parameters are index numbers starting at zero; they are not the -alternate setting and endpoint address defined in the descriptors. +. +.Fn usbd_transfer_unsetup +This function will release the given USB transfers and all allocated +resources associated with these USB transfers. +.Fa pxfer +is a pointer to an array of USB transfer pointers, that may be NULL, +that should be freed by the USB system. +.Fa n_setup +is a number telling the USB system how many USB transfers should be +unsetup. +. +This function can sleep waiting for USB transfers to complete. +. +This function is NULL safe with regard to the USB transfer structure +pointer. +. +It is not allowed to call this function from the USB transfer +callback. +. .Pp -The -.Fn usbd_get_speed -function returns the device speed. -This can be -.Dv USB_SPEED_LOW , -.Dv USB_SPEED_FULL -or -.Dv USB_SPEED_HIGH . +. +.Fn usbd_transfer_start +This function will start the USB transfer pointed to by +.Fa xfer, +if not already started. +. +This function is always non-blocking and must be called with the +so-called private USB mutex locked. +. +This function is NULL safe with regard to the USB transfer structure +pointer. +. .Pp -USB devices optionally support string descriptors, which can be -retrieved using the -.Fn usbd_get_string -or -.Fn usbd_get_string_desc -functions. -Device, configuration and interface descriptors reference strings by -an index number that can be supplied to these functions. -The -.Fn usbd_get_string -function should be used unless a non-default language is required. -It requires that -.Fa buf -points to a buffer of at least -.Dv USB_MAX_STRING_LEN -bytes in size. -The -.Fa si -parameter specified which string to retrieve. +. +.Fn usbd_transfer_stop +This function will stop the USB transfer pointed to by +.Fa xfer, +if not already stopped. +. +This function is always non-blocking and must be called with the +so-called private USB mutex locked. +. +This function can return before the USB callback has been called. +. +This function is NULL safe with regard to the USB transfer structure +pointer. +. +If the transfer was in progress, the callback will called with +"USB_ST_ERROR" and "error = USB_ERR_CANCELLED". +. .Pp -The -.Fn usb_find_desc -function searches through the in-memory full configuration descriptor -for the active configuration and finds the first descriptor that has a -.Fa bDescriptorType -equal to -.Fa type , -and if -.Fa subtype -is not equal to -.Dv USBD_SUBTYPE_ANY , -the descriptor must also have a -.Fa bDescriptorSubtype >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 25 15:32:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 030F4106567E; Thu, 25 Jun 2009 15:32:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC1041065677 for ; Thu, 25 Jun 2009 15:32:09 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8E4CA8FC15 for ; Thu, 25 Jun 2009 15:32:09 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PFW93x010501 for ; Thu, 25 Jun 2009 15:32:09 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PFW9ZB010497 for perforce@freebsd.org; Thu, 25 Jun 2009 15:32:09 GMT (envelope-from trasz@freebsd.org) Date: Thu, 25 Jun 2009 15:32:09 GMT Message-Id: <200906251532.n5PFW9ZB010497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 15:32:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=165167 Change 165167 by trasz@trasz_victim on 2009/06/25 15:31:59 Add support for rule addition and removal. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#15 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#11 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#15 (text+ko) ==== @@ -107,7 +107,6 @@ MALLOC_DEFINE(M_HRL, "hrl", "Hierarchical Resource Limits"); -#define notyet #if 0 #undef KASSERT #define KASSERT(exp,msg) do { \ @@ -482,34 +481,7 @@ mtx_unlock(&hrl_lock); } -/* - * System calls. - */ - -#if 0 static int -hrl_check(struct hrl_rule *limits, int nlimits) -{ - int i; - - for (i = 0; i < nlimits; i++) { - if (limits[i].hr_subject <= 0 || limits[i].hr_subject > HRL_SUBJECT_MAX) - return (EINVAL); - if (limits[i].hr_per <= 0 || limits[i].hr_per > HRL_SUBJECT_MAX) - return (EINVAL); - if (limits[i].hr_resource <= 0 || limits[i].hr_resource > HRL_RESOURCE_MAX) - return (EINVAL); - if (limits[i].hr_action <= 0 || limits[i].hr_action > HRL_ACTION_MAX) - return (EINVAL); - if (limits[i].hr_amount <= 0) - return (EINVAL); - } - - return (0); -} -#endif - -static int hrl_get_rules(struct thread *td, void *bufp, size_t buflen) { int error = 0, copied = 0; @@ -558,6 +530,113 @@ } static int +hrl_rule_add(struct hrl_rule *rule) +{ + struct hrl_node *node, *existing; + + node = uma_zalloc(hrl_zone, M_WAITOK); + node->hn_rule = *rule; + + mtx_lock(&hrl_lock); + existing = RB_INSERT(hrl_tree, &hrls, node); + if (existing != NULL) + existing->hn_rule.hr_amount = rule->hr_amount; + mtx_unlock(&hrl_lock); + + if (existing != NULL) + uma_zfree(hrl_zone, node); + + return (0); +} + +static int +hrl_rule_remove(struct hrl_rule *rule) +{ + struct hrl_node searched, *node; + + node = uma_zalloc(hrl_zone, M_WAITOK); + searched.hn_rule = *rule; + + mtx_lock(&hrl_lock); + node = RB_FIND(hrl_tree, &hrls, &searched); + if (node != NULL) { + node = RB_REMOVE(hrl_tree, &hrls, node); + KASSERT(node != NULL, ("hrl_adjust: node removal failed")); + } + mtx_unlock(&hrl_lock); + + uma_zfree(hrl_zone, node); + + return (0); +} + +static int +hrl_rule_check(struct hrl_rule *rule) +{ + + if (rule.hr_subject <= 0 || rule.hr_subject > HRL_SUBJECT_MAX) + return (EINVAL); + if (rule.hr_per <= 0 || rule.hr_per > HRL_SUBJECT_MAX) + return (EINVAL); + if (rule.hr_resource <= 0 || rule.hr_resource > HRL_RESOURCE_MAX) + return (EINVAL); + if (rule.hr_action <= 0 || rule.hr_action > HRL_ACTION_MAX) + return (EINVAL); + if (rule.hr_amount <= 0) + return (EINVAL); + + return (0); +} + +static int +hrl_add_rule(struct thread *td, const void *bufp, size_t buflen) +{ + int error; + struct hrl_rule rule; + + error = priv_check(td, PRIV_HRL_SET); + if (error) + return (error); + + if (buflen != sizeof(rule)) + return (EINVAL); + + error = copyin(bufp, &rule, buflen); + if (error) + return (error); + + error = hrl_rule_check(&rule); + if (error) + return (error); + + error = hrl_rule_add(&rule); + + return (0); +} + +static int +hrl_remove_rule(struct thread *td, const void *bufp, size_t buflen) +{ + int error; + struct hrl_rule rule; + + error = priv_check(td, PRIV_HRL_SET); + if (error) + return (error); + + if (buflen != sizeof(rule)) + return (EINVAL); + + error = copyin(bufp, &rule, buflen); + if (error) + return (error); + + error = hrl_rule_remove(&rule); + + return (0); +} + +static int hrl_get_acc_pid(struct thread *td, id_t pid, void *bufp, size_t buflen) { int error; @@ -643,6 +722,10 @@ switch (uap->op) { case HRL_OP_GET_RULES: return (hrl_get_rules(td, uap->outbufp, uap->outbuflen)); + case HRL_OP_ADD_RULE: + return (hrl_add_rule(td, uap->inbufp, uap->inbuflen)); + case HRL_OP_REMOVE_RULE: + return (hrl_remove_rule(td, uap->inbufp, uap->inbuflen)); case HRL_OP_GET_ACC_PID: return (hrl_get_acc_pid(td, id, uap->outbufp, uap->outbuflen)); case HRL_OP_GET_ACC_UID: ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#11 (text+ko) ==== @@ -93,6 +93,8 @@ #define HRL_MAX_LIMITS 1024 #define HRL_OP_GET_RULES 1 +#define HRL_OP_ADD_RULE 6 +#define HRL_OP_REMOVE_RULE 7 #define HRL_OP_GET_ACC_PID 2 #define HRL_OP_GET_ACC_UID 3 #define HRL_OP_GET_ACC_GID 4 From owner-p4-projects@FreeBSD.ORG Thu Jun 25 15:36:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE7AC106567C; Thu, 25 Jun 2009 15:36:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88ECF1065672 for ; Thu, 25 Jun 2009 15:36:14 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5C3B08FC19 for ; Thu, 25 Jun 2009 15:36:14 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PFaEXB010898 for ; Thu, 25 Jun 2009 15:36:14 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PFaERD010896 for perforce@freebsd.org; Thu, 25 Jun 2009 15:36:14 GMT (envelope-from trasz@freebsd.org) Date: Thu, 25 Jun 2009 15:36:14 GMT Message-Id: <200906251536.n5PFaERD010896@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165169 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 15:36:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165169 Change 165169 by trasz@trasz_victim on 2009/06/25 15:36:02 Fix flag checking. Submitted by: antoine@ Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#21 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#21 (text+ko) ==== @@ -844,7 +844,7 @@ #ifdef UFS_ACL MNT_ILOCK(mp); - if (mp->mnt_flag | MNT_NFS4ACLS) + if (mp->mnt_flag & MNT_NFS4ACLS) printf("WARNING: ACLs flag on fs conflicts with nfs4acls mount option; flag ignored\n"); else mp->mnt_flag |= MNT_ACLS; From owner-p4-projects@FreeBSD.ORG Thu Jun 25 15:45:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A8501065679; Thu, 25 Jun 2009 15:45:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5ABB81065675 for ; Thu, 25 Jun 2009 15:45:29 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 478478FC0C for ; Thu, 25 Jun 2009 15:45:29 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PFjTGq011631 for ; Thu, 25 Jun 2009 15:45:29 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PFjT63011629 for perforce@freebsd.org; Thu, 25 Jun 2009 15:45:29 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 25 Jun 2009 15:45:29 GMT Message-Id: <200906251545.n5PFjT63011629@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165172 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 15:45:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=165172 Change 165172 by anchie@anchie_malimis on 2009/06/25 15:44:49 Added m_tags for outgoing NS/NA/Redirect packets that must be sent to sendd in the userspace. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#12 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#10 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#3 edit .. //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#4 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#12 (text+ko) ==== @@ -768,12 +768,18 @@ /* give up local */ /* send incoming SeND-protected/ND packet to sendd */ - - nd6_rs_input(m, off, icmp6len); + if (send_output_hook != NULL) { + send_output_hook(in, ifp, m, ip6len); + } else { + nd6_rs_input(m, off, icmp6len); + } m = NULL; goto freeit; } - nd6_rs_input(n, off, icmp6len); + if (send_output_hook != NULL) + send_output_hook(in, ifp, n, ip6len); + else + nd6_rs_input(n, off, icmp6len); /* m stays. */ break; @@ -786,13 +792,19 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* send incoming SeND-protected/ND packet to sendd */ - - /* give up local */ - nd6_ra_input(m, off, icmp6len); + if (send_output_hook != NULL) { + send_output_hook(in, ifp, m, ip6len); + } else { + /* give up local */ + nd6_ra_input(m, off, icmp6len); + } m = NULL; goto freeit; } - nd6_ra_input(n, off, icmp6len); + if (send_output_hook != NULL) + send_output_hook(in, ifp, n, ip6len); + else + nd6_ra_input(n, off, icmp6len); /* m stays. */ break; @@ -805,25 +817,20 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* send incoming SeND-protected/ND packet to sendd */ - /* ip6len should be the same as icmp6len + off! */ if (send_output_hook != NULL) { - printf("%s %d: send_output_hook != NULL\n", __FUNCTION__, __LINE__); send_output_hook(in, ifp, m, ip6len); /* nd6_ns_input() will be called in X_send_input_hook() */ } else { /* give up local */ - printf("%s %d: send_output_hook == NULL\n", __FUNCTION__, __LINE__); nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } if (send_output_hook != NULL) { - printf("%s %d: send_output_hook != NULL \n", __FUNCTION__, __LINE__); send_output_hook(in, ifp, n, ip6len); /* nd6_ns_input() will be called in X_send_input_hook() */ } else { - printf("%s %d: send_output_hook == NULL \n", __FUNCTION__, __LINE__); nd6_ns_input(n, off, icmp6len); } /* m stays. */ @@ -838,13 +845,19 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* send incoming SeND-protected/ND packet to sendd */ - - /* give up local */ - nd6_na_input(m, off, icmp6len); + if (send_output_hook != NULL) { + send_output_hook(in, ifp, m, ip6len); + } else { + /* give up local */ + nd6_na_input(m, off, icmp6len); + } m = NULL; goto freeit; } - nd6_na_input(n, off, icmp6len); + if (send_output_hook != NULL) + send_output_hook(in, ifp, n, ip6len); + else + nd6_na_input(n, off, icmp6len); /* m stays. */ break; @@ -857,13 +870,19 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* send incoming SeND-protected/ND packet to sendd */ - - /* give up local */ - icmp6_redirect_input(m, off); + if (send_output_hook != NULL) { + send_output_hook(in, ifp, m, ip6len); + } else { + /* give up local */ + icmp6_redirect_input(m, off); + } m = NULL; goto freeit; } - icmp6_redirect_input(n, off); + if (send_output_hook != NULL) + send_output_hook(in, ifp, n, ip6len); + else + icmp6_redirect_input(n, off); /* m stays. */ break; @@ -2520,6 +2539,7 @@ struct in6_addr *router_ll6; struct ip6_hdr *sip6; /* m0 as struct ip6_hdr */ struct mbuf *m = NULL; /* newly allocated one */ + struct m_tag *mtag; struct ip6_hdr *ip6; /* m as struct ip6_hdr */ struct nd_redirect *nd_rd; struct llentry *ln = NULL; @@ -2779,6 +2799,14 @@ nd_rd->nd_rd_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), ntohs(ip6->ip6_plen)); + if (send_output_hook != NULL) { + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + if (mtag == NULL) + goto fail; + *(unsigned short *)(mtag + 1) = nd_rd->nd_rd_type; + m_tag_prepend(m, mtag); + } + /* send the packet to outside... */ ip6_output(m, NULL, NULL, 0, NULL, &outif, NULL); if (outif) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#10 (text+ko) ==== @@ -1728,7 +1728,7 @@ int error = 0; int flags = 0; int ip6len; - unsigned short nd_type; + unsigned short *nd_type; printf("%s %d\n", __FUNCTION__, __LINE__); @@ -1911,12 +1911,15 @@ #endif /* send outgoing NS/NA/RS/RA/REDIRECT packet to sendd. */ - mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); - if (mtag != NULL) { - printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); - /*nd_type = (unsigned short *)(mtag + 1);*/ - if (send_output_hook != NULL) { - send_output_hook(0, ifp, m, ip6len); + if (send_output_hook != NULL) { + mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); + if (mtag != NULL) { + printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); + nd_type = (unsigned short *)(mtag + 1); + } else + return(error); + + send_output_hook(0, ifp, m, ip6len); } else { /* ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/*- +/* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * @@ -74,6 +74,7 @@ #include #include #include +#include #include #ifdef DEV_CARP @@ -563,11 +564,15 @@ nd_ns->nd_ns_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len); - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); - if (mtag == NULL) - goto bad; - /* *(unsigned short *)(mtag + 1) = nd_ns->nd_ns_type;*/ - m_tag_prepend(m, mtag); + if (send_output_hook != NULL) { + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + if (mtag == NULL) + goto bad; + else + printf("%s: PACKET_TAG_ND_OUTGOING added.\n", __FUNCTION__); + *(unsigned short *)(mtag + 1) = nd_ns->nd_ns_type; + m_tag_prepend(m, mtag); + } ip6_output(m, NULL, &ro, dad ? IPV6_UNSPECSRC : 0, &im6o, NULL, NULL); icmp6_ifstat_inc(ifp, ifs6_out_msg); @@ -884,7 +889,6 @@ * we assume ifp is not a loopback here, so just set * the 2nd argument as the 1st one. */ - printf("%s %d: before ned6_output_lle()\n", __FUNCTION__, __LINE__); nd6_output_lle(ifp, ifp, m_hold, L3_ADDR_SIN6(ln), NULL, ln, &chain); } } @@ -930,6 +934,7 @@ { INIT_VNET_INET6(ifp->if_vnet); struct mbuf *m; + struct m_tag *mtag; struct ip6_hdr *ip6; struct nd_neighbor_advert *nd_na; struct ip6_moptions im6o; @@ -1074,6 +1079,14 @@ nd_na->nd_na_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len); + if (send_output_hook != NULL) { + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + if (mtag == NULL) + goto bad; + *(unsigned short *)(mtag + 1) = nd_na->nd_na_type; + m_tag_prepend(m, mtag); + } + ip6_output(m, NULL, &ro, 0, &im6o, NULL, NULL); icmp6_ifstat_inc(ifp, ifs6_out_msg); icmp6_ifstat_inc(ifp, ifs6_out_neighboradvert); ==== //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#4 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Thu Jun 25 18:41:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B994C10656A7; Thu, 25 Jun 2009 18:41:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73A6910656A4 for ; Thu, 25 Jun 2009 18:41:45 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5653A8FC18 for ; Thu, 25 Jun 2009 18:41:45 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PIfjDm068509 for ; Thu, 25 Jun 2009 18:41:45 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PIfjcD068507 for perforce@freebsd.org; Thu, 25 Jun 2009 18:41:45 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 25 Jun 2009 18:41:45 GMT Message-Id: <200906251841.n5PIfjcD068507@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165190 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 18:41:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165190 Change 165190 by jona@jona-trustedbsd-belle-vmware on 2009/06/25 18:41:04 Added (and used and tested) ua_open() Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#13 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#5 (text+ko) ==== @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -116,9 +117,7 @@ angel = -1; return -1; } - free(hello_datum); - printf("Got server hello: \"%s\"\n", hello); // validate server 'hello' message if(strncmp(hello, "user_angel", 10)) @@ -151,6 +150,89 @@ +int ua_open(const char *path, int flags) +{ + if(angel < 0) angel = ua_find(); + if(angel < 0) return -1; + + cap_rights_t rights = CAP_SEEK | CAP_FSYNC; + + if((flags & O_RDONLY) || (flags & O_RDWR)) rights |= CAP_READ; + if((flags & O_WRONLY) || (flags & O_RDWR)) + rights |= CAP_WRITE | CAP_FTRUNCATE; + + if(flags & O_EXEC) rights |= CAP_FEXECVE; + + + struct ua_datum *data[4]; + data[0] = ua_marshall_int(UA_OPEN_PATH); + data[1] = ua_marshall_string(path, strlen(path)); + data[2] = ua_marshall_int(flags); + data[3] = ua_marshall_int(rights); + + + for(int i = 0; i < 4; i++) + if(ua_send(angel, data[i], NULL, 0) < 0) + { + sprintf(errmsg, "Error sending request message: %s", + ua_protocol_error()); + return -1; + } + + free(data[0]); + free(data[1]); + free(data[2]); + free(data[3]); + + + + // retrieve the file descriptor(s) + struct ua_datum *fdcountd = ua_recv(angel, NULL, NULL); + if(!fdcountd) + { + sprintf(errmsg, "Error receiving FD count: %s", + ua_protocol_error()); + return -1; + } + + int fdcount; + if(ua_unmarshall_int(fdcountd, &fdcount) < 0) + { + fprintf(stderr, "Error unmarshalling FD count: %s\n", + ua_protocol_error()); + return -1; + } + + if(fdcount != 1) + { + sprintf(errmsg, "Receiving %i FDs, only asked for 1", fdcount); + return -1; + } + + int32_t fd; + unsigned int fdlen = 1; + struct ua_datum *fd_datum = ua_recv(angel, &fd, &fdlen); + if(!fd_datum) + { + sprintf(errmsg, "Error receiving FD: %s", + ua_protocol_error()); + return -1; + } + + unsigned int namelen = 80; + char name[namelen]; + if(ua_unmarshall_string(fd_datum, name, &namelen) < 0) + { + sprintf(errmsg, "Error unmarshalling FD name: %s", + ua_protocol_error()); + return -1; + } + + return fd; +} + + + int ua_send(int sock, datum *d, int32_t fds[], int32_t fdlen) { // the datum is the I/O vector ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#4 (text+ko) ==== @@ -45,6 +45,9 @@ /** The last angel/sandbox protocol error */ const char* ua_protocol_error(void); +/** Open a file via the User Angel */ +int ua_open(const char *path, int flags); + /** Find the user angel (at $HOME/.user-angel or the like) */ int ua_find(void); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#13 (text+ko) ==== @@ -16,7 +16,7 @@ void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights); void open_powerbox(int fd_angel, const char *path, const char *filter, int parent); -void test_fd(int fd, char *name); +void test_fd(int fd, const char *name); int main(int argc, char *argv[]) @@ -30,13 +30,7 @@ } printf("Connected to user angel via FD %i\n", fd_angel); - int proc; - pid_t pid = pdfork(&proc); - printf("PID: %i, proc: %i\n", pid, proc); - if (pid < 0) err(EX_SOFTWARE, "Error in pdfork()"); - else if(pid == 0) return 0; - // enter capability mode if(cap_enter()) err(EX_SOFTWARE, "Failed to enter capability mode"); else printf("Now operating in capability mode\n"); @@ -49,10 +43,23 @@ + // try to some files + int fd; + fd = ua_open("/etc/group", O_RDONLY); + test_fd(fd, "/etc/group"); + close(fd); + + fd = ua_open("/etc/passwd", O_RDONLY); + lc_limitfd(fd, CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK); + test_fd(fd, "/etc/passwd"); + close(fd); + fd = ua_open("/home/jon/test.txt", O_RDWR); + lc_limitfd(fd, CAP_FSTAT | CAP_READ | CAP_SEEK); + test_fd(fd, "/home/jon/test.txt"); + if(write(fd, "OVERWRITING", 12) < 0) perror("Error overwriting file"); + close(fd); - open_file(fd_angel, "/etc/group", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_SEEK); - open_file(fd_angel, "/etc/passwd", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK); open_powerbox(fd_angel, "~/Desktop/", "*.txt", 0x2a00003); return 0; @@ -60,63 +67,7 @@ -void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights) -{ - // get the user angel to open the file for us - struct ua_datum *data[4]; - data[0] = ua_marshall_int(UA_OPEN_PATH); - data[1] = ua_marshall_string(path, strlen(path)); - data[2] = ua_marshall_int(flags); - data[3] = ua_marshall_int(rights); - - - for(int i = 0; i < 4; i++) - if(ua_send(fd_angel, data[i], NULL, 0) < 0) - err(EX_IOERR, "Error sending request message"); - free(data[0]); - free(data[1]); - free(data[2]); - free(data[3]); - - - - // retrieve the file descriptor(s) - struct ua_datum *fdcountd = ua_recv(fd_angel, NULL, NULL); - if(!fdcountd) err(EX_IOERR, "Error receiving FD count"); - - int fdcount; - if(ua_unmarshall_int(fdcountd, &fdcount) < 0) - { - fprintf(stderr, "Error unmarshalling FD count: %s\n", - ua_protocol_error()); - return; - } - - for(int i = 0; i < fdcount; i++) - { - int32_t fd; - unsigned int fdlen = 1; - struct ua_datum *fd_datum = ua_recv(fd_angel, &fd, &fdlen); - if(!fd_datum) err(EX_IOERR, "Error receiving FD %i of %i", i, fdcount); - - unsigned int namelen = 80; - char name[namelen]; - if(ua_unmarshall_string(fd_datum, name, &namelen) < 0) - err(EX_SOFTWARE, "Error unmarshalling FD name"); - - if(fdlen != 1) - { - fprintf(stderr, "fdlen is %i, not 1\n", fdlen); - return; - } - - test_fd(fd, name); - close(fd); - } -} - - void open_powerbox(int fd_angel, const char *path, const char *filter, int parent) { struct ua_powerbox_options options; @@ -187,7 +138,7 @@ } -void test_fd(int fd, char *name) +void test_fd(int fd, const char *name) { printf("FD %i: %s\n", fd, name); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 18:44:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 959E51065675; Thu, 25 Jun 2009 18:44:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54D561065670 for ; Thu, 25 Jun 2009 18:44:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 413568FC1E for ; Thu, 25 Jun 2009 18:44:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PIinSn068722 for ; Thu, 25 Jun 2009 18:44:49 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PIimPl068720 for perforce@freebsd.org; Thu, 25 Jun 2009 18:44:48 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 18:44:48 GMT Message-Id: <200906251844.n5PIimPl068720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165191 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 18:44:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=165191 Change 165191 by mav@mav_mavbook on 2009/06/25 18:44:22 IFC Affected files ... .. //depot/projects/scottl-camlock/src/bin/sh/exec.c#4 integrate .. //depot/projects/scottl-camlock/src/bin/sh/expand.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/sh.1#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/Symbol.map#5 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/include/compat.h#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/Symbol.map#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_add_perm.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_calc_mask.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_copy.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_create_entry.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_delete_entry.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_entry.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_support.h#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_valid.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/rpc/getnetconfig.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#5 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/pathconf.2#3 integrate .. //depot/projects/scottl-camlock/src/release/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/dummynet.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/ipfw2.h#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/Makefile#6 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/bridge.4#1 branch .. //depot/projects/scottl-camlock/src/share/man/man4/epair.4#1 branch .. //depot/projects/scottl-camlock/src/share/man/man4/if_bridge.4#5 delete .. //depot/projects/scottl-camlock/src/share/man/man8/picobsd.8#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man8/yp.8#2 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/pmap.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/vm_machdep.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#23 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ipc.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_ipc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#36 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_irq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_drv.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_irq.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/radeon_cp.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/radeon_irq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_igb.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hptmv/atapi.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge_var.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_zyd.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clvnops.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_rw.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_vnodeops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/intr_machdep.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/io_apic.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_ipc.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_sysent.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_intr.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_jail.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_switch.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_pcpu.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/systrace_args.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_ipc.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_msg.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_sem.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_shm.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_epair.c#1 branch .. //depot/projects/scottl-camlock/src/sys/net/if_media.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_spppsubr.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_stf.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/aarp.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_control.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/at_var.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_input.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_output.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_pcb.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_usrreq.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/if_ether.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_gif.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_mcast.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_var.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_carp.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_dummynet.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_icmp.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_input.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/raw_ip.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_ifattach.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_pcb.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_src.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_var.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_input.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6_rtr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/vinet6.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/netipsec/key.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_if.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_input.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_outputfl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netipx/ipx_pcb.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/MPC85XX#7 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/mp_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/GENERIC#21 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/acl.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ata.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ipc.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/msg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#25 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sched.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sem.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/shm.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.mk#18 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysctl.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysproto.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/sys/unistd.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/vnode.h#19 integrate .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/command5.0.stdout#2 integrate .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/eval2.0#1 branch .. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/expansion/ifs1.0#1 branch .. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/nanobsd.sh#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/gzip/gzip.1#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/gzip/gzip.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/gzip/zuncompress.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ipcs/ipcs.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ypcat/ypcat.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ypmatch/ypmatch.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ypwhich/ypwhich.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/cxgbtool/cxgbtool.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/fdcontrol/fdcontrol.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/fdformat/fdformat.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/fdread/fdread.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/fdwrite/fdwrite.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/devices.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/dispatch.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/label.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/media.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/menus.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/options.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/sysinstall.h#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/usb.c#1 branch .. //depot/projects/scottl-camlock/src/usr.sbin/ypserv/Makefile.yp#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/ypserv/yp_access.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/ypserv/ypserv.8#3 integrate Differences ... ==== //depot/projects/scottl-camlock/src/bin/sh/exec.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.33 2009/06/01 11:11:46 rse Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.34 2009/06/24 22:04:04 jilles Exp $"); #include #include @@ -756,6 +756,7 @@ if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { entry.cmdtype = cmdp->cmdtype; entry.u = cmdp->param; + entry.special = cmdp->special; } else { /* Finally use brute force */ @@ -804,6 +805,9 @@ case CMDBUILTIN: if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); + else if (entry.special) + out1fmt("%s is a special shell builtin\n", + argv[i]); else out1fmt("%s is a shell builtin\n", argv[i]); break; ==== //depot/projects/scottl-camlock/src/bin/sh/expand.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.53 2008/05/15 19:55:27 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.55 2009/06/25 17:14:06 jilles Exp $"); #include #include @@ -82,7 +82,7 @@ struct ifsregion *next; /* next region in list */ int begoff; /* offset of start of region */ int endoff; /* offset of end of region */ - int nulonly; /* search for nul bytes only */ + int inquotes; /* search for nul bytes only */ }; @@ -936,13 +936,19 @@ */ STATIC void -recordregion(int start, int end, int nulonly) +recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; if (ifslastp == NULL) { ifsp = &ifsfirst; } else { + if (ifslastp->endoff == start + && ifslastp->inquotes == inquotes) { + /* extend previous area */ + ifslastp->endoff = end; + return; + } ifsp = (struct ifsregion *)ckmalloc(sizeof (struct ifsregion)); ifslastp->next = ifsp; } @@ -950,7 +956,7 @@ ifslastp->next = NULL; ifslastp->begoff = start; ifslastp->endoff = end; - ifslastp->nulonly = nulonly; + ifslastp->inquotes = inquotes; } @@ -969,75 +975,89 @@ char *p; char *q; char *ifs; - int ifsspc; - int nulonly; + const char *ifsspc; + int had_param_ch = 0; + + start = string; + + if (ifslastp == NULL) { + /* Return entire argument, IFS doesn't apply to any of it */ + sp = (struct strlist *)stalloc(sizeof *sp); + sp->text = start; + *arglist->lastp = sp; + arglist->lastp = &sp->next; + return; + } + ifs = ifsset() ? ifsval() : " \t\n"; - start = string; - ifsspc = 0; - nulonly = 0; - if (ifslastp != NULL) { - ifsp = &ifsfirst; - do { - p = string + ifsp->begoff; - nulonly = ifsp->nulonly; - ifs = nulonly ? nullstr : - ( ifsset() ? ifsval() : " \t\n" ); - ifsspc = 0; - while (p < string + ifsp->endoff) { - q = p; - if (*p == CTLESC) + for (ifsp = &ifsfirst; ifsp != NULL; ifsp = ifsp->next) { + p = string + ifsp->begoff; + while (p < string + ifsp->endoff) { + q = p; + if (*p == CTLESC) + p++; + if (ifsp->inquotes) { + /* Only NULs (should be from "$@") end args */ + had_param_ch = 1; + if (*p != 0) { + p++; + continue; + } + ifsspc = NULL; + } else { + if (!strchr(ifs, *p)) { + had_param_ch = 1; p++; - if (strchr(ifs, *p)) { - if (!nulonly) - ifsspc = (strchr(" \t\n", *p) != NULL); - /* Ignore IFS whitespace at start */ - if (q == start && ifsspc) { - p++; - start = p; - continue; - } - *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + continue; + } + ifsspc = strchr(" \t\n", *p); + + /* Ignore IFS whitespace at start */ + if (q == start && ifsspc != NULL) { p++; - if (!nulonly) { - for (;;) { - if (p >= string + ifsp->endoff) { - break; - } - q = p; - if (*p == CTLESC) - p++; - if (strchr(ifs, *p) == NULL ) { - p = q; - break; - } else if (strchr(" \t\n",*p) == NULL) { - if (ifsspc) { - p++; - ifsspc = 0; - } else { - p = q; - break; - } - } else - p++; - } - } start = p; - } else - p++; + continue; + } + had_param_ch = 0; } - } while ((ifsp = ifsp->next) != NULL); - if (*start || (!ifsspc && start > string)) { + + /* Save this argument... */ + *q = '\0'; sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; arglist->lastp = &sp->next; + p++; + + if (ifsspc != NULL) { + /* Ignore further trailing IFS whitespace */ + for (; p < string + ifsp->endoff; p++) { + q = p; + if (*p == CTLESC) + p++; + if (strchr(ifs, *p) == NULL) { + p = q; + break; + } + if (strchr(" \t\n", *p) == NULL) { + p++; + break; + } + } + } + start = p; } - } else { + } + + /* + * Save anything left as an argument. + * Traditionally we have treated 'IFS=':'; set -- x$IFS' as + * generating 2 arguments, the second of which is empty. + * Some recent clarification of the Posix spec say that it + * should only generate one.... + */ + if (had_param_ch || *start != 0) { sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; ==== //depot/projects/scottl-camlock/src/bin/sh/sh.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.129 2009/06/07 15:04:43 jilles Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.130 2009/06/24 22:04:04 jilles Exp $ .\" .Dd May 31, 2009 .Dt SH 1 @@ -606,6 +606,12 @@ .Pp Shell built-in commands are executed internally to the shell, without spawning a new process. +There are two kinds of built-in commands: regular and special. +Assignments before special builtins persist after they finish +executing and assignment errors, redirection errors and certain +operand errors cause a script to be aborted. +Both regular and special builtins can affect the shell in ways +normal programs cannot. .Pp Otherwise, if the command name does not match a function or built-in command, the command is searched for as a normal @@ -885,7 +891,7 @@ The .Ic continue command continues with the next iteration of the innermost loop. -These are implemented as built-in commands. +These are implemented as special built-in commands. .Pp The syntax of the .Ic case @@ -1001,7 +1007,7 @@ nested function, sourced script, or shell instance, in that order. The .Ic return -command is implemented as a built-in command. +command is implemented as a special built-in command. .Ss Variables and Parameters The shell maintains a set of parameters. A parameter @@ -1590,6 +1596,7 @@ is either the path name to .Ar utility , +a special shell builtin, a shell builtin, a shell function, a shell keyword @@ -2114,7 +2121,8 @@ .Ar name as a command and print the resolution of the command search. Possible resolutions are: -shell keyword, alias, shell built-in command, command, tracked alias +shell keyword, alias, special shell builtin, shell builtin, command, +tracked alias and not found. For aliases the alias expansion is printed; for commands and tracked aliases ==== //depot/projects/scottl-camlock/src/lib/libc/gen/Symbol.map#5 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.20 2009/05/07 13:49:48 ed Exp $ + * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.21 2009/06/24 21:10:52 jhb Exp $ */ FBSD_1.0 { @@ -247,7 +247,6 @@ sem_timedwait; sem_post; sem_getvalue; - semctl; setdomainname; sethostname; longjmperror; @@ -362,6 +361,7 @@ posix_spawnattr_setsigdefault; posix_spawnattr_setsigmask; posix_spawnp; + semctl; tcgetsid; tcsetsid; }; ==== //depot/projects/scottl-camlock/src/lib/libc/gen/semctl.c#2 (text+ko) ==== @@ -27,7 +27,9 @@ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/semctl.c,v 1.9 2003/02/16 17:29:09 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/semctl.c,v 1.10 2009/06/24 21:10:52 jhb Exp $"); + +#define _WANT_SEMUN_OLD #include #include @@ -35,9 +37,11 @@ #include #include -extern int __semctl(int semid, int semnum, int cmd, union semun *arg); +int __semctl(int semid, int semnum, int cmd, union semun *arg); +int freebsd7___semctl(int semid, int semnum, int cmd, union semun_old *arg); -int semctl(int semid, int semnum, int cmd, ...) +int +semctl(int semid, int semnum, int cmd, ...) { va_list ap; union semun semun; @@ -55,3 +59,25 @@ return (__semctl(semid, semnum, cmd, semun_ptr)); } + +int +freebsd7_semctl(int semid, int semnum, int cmd, ...) +{ + va_list ap; + union semun_old semun; + union semun_old *semun_ptr; + + va_start(ap, cmd); + if (cmd == IPC_SET || cmd == IPC_STAT || cmd == GETALL + || cmd == SETVAL || cmd == SETALL) { + semun = va_arg(ap, union semun_old); + semun_ptr = &semun; + } else { + semun_ptr = NULL; + } + va_end(ap); + + return (freebsd7___semctl(semid, semnum, cmd, semun_ptr)); +} + +__sym_compat(semctl, freebsd7_semctl, FBSD_1.0); ==== //depot/projects/scottl-camlock/src/lib/libc/posix1e/Makefile.inc#3 (text+ko) ==== @@ -1,55 +1,77 @@ -# $FreeBSD: src/lib/libc/posix1e/Makefile.inc,v 1.20 2009/05/22 15:56:43 trasz Exp $ +# $FreeBSD: src/lib/libc/posix1e/Makefile.inc,v 1.21 2009/06/25 12:46:59 trasz Exp $ .PATH: ${.CURDIR}/posix1e CFLAGS+=-D_ACL_PRIVATE -SRCS+= acl_calc_mask.c \ +# Copy kern/subr_acl_nfs4.c to the libc object directory. +subr_acl_nfs4.c: ${.CURDIR}/../../sys/kern/subr_acl_nfs4.c + cat ${.ALLSRC} > ${.TARGET} + +SRCS+= acl_branding.c \ + acl_calc_mask.c \ acl_copy.c \ acl_compat.c \ acl_delete.c \ acl_delete_entry.c \ acl_entry.c \ + acl_flag.c \ acl_free.c \ acl_from_text.c \ + acl_from_text_nfs4.c \ acl_get.c \ acl_init.c \ acl_perm.c \ acl_set.c \ + acl_strip.c \ acl_support.c \ + acl_support_nfs4.c \ acl_to_text.c \ + acl_to_text_nfs4.c \ acl_valid.c \ extattr.c \ mac.c \ mac_exec.c \ mac_get.c \ - mac_set.c + mac_set.c \ + subr_acl_nfs4.c SYM_MAPS+=${.CURDIR}/posix1e/Symbol.map MAN+= acl.3 \ + acl_add_flag_np.3 \ acl_add_perm.3 \ acl_calc_mask.3 \ + acl_clear_flags_np.3 \ acl_clear_perms.3 \ acl_copy_entry.3 \ acl_create_entry.3 \ acl_delete.3 \ acl_delete_entry.3 \ + acl_delete_flag_np.3 \ acl_delete_perm.3 \ acl_dup.3 \ acl_free.3 \ acl_from_text.3 \ acl_get.3 \ + acl_get_brand_np.3 \ acl_get_entry.3 \ + acl_get_entry_type_np.3 \ + acl_get_flagset_np.3 \ + acl_get_flag_np.3 \ acl_get_permset.3 \ acl_get_perm_np.3 \ acl_get_qualifier.3 \ acl_get_tag_type.3 \ acl_init.3 \ + acl_is_trivial_np.3 \ acl_set.3 \ + acl_set_entry_type_np.3 \ + acl_set_flagset_np.3 \ acl_set_permset.3 \ acl_set_qualifier.3 \ acl_set_tag_type.3 \ + acl_strip_np.3 \ acl_to_text.3 \ acl_valid.3 \ extattr.3 \ @@ -63,15 +85,18 @@ mac_text.3 \ posix1e.3 -MLINKS+=acl_delete.3 acl_delete_def_file.3 \ +MLINKS+=acl_create_entry.3 acl_create_entry_np.3\ + acl_delete.3 acl_delete_def_file.3 \ acl_delete.3 acl_delete_file_np.3 \ acl_delete.3 acl_delete_fd_np.3 \ + acl_delete_entry.3 acl_delete_entry_np.3\ acl_get.3 acl_get_file.3 \ acl_get.3 acl_get_fd.3 \ acl_get.3 acl_get_fd_np.3 \ acl_set.3 acl_set_file.3 \ acl_set.3 acl_set_fd.3 \ acl_set.3 acl_set_fd_np.3 \ + acl_to_text.3 acl_to_text_np.3 \ acl_valid.3 acl_valid_file_np.3 \ acl_valid.3 acl_valid_fd_np.3 \ extattr.3 extattr_namespace_to_string.3 \ ==== //depot/projects/scottl-camlock/src/lib/libc/posix1e/Symbol.map#3 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/posix1e/Symbol.map,v 1.4 2009/05/22 15:56:43 trasz Exp $ + * $FreeBSD: src/lib/libc/posix1e/Symbol.map,v 1.5 2009/06/25 12:46:59 trasz Exp $ */ FBSD_1.0 { @@ -66,7 +66,21 @@ }; FBSD_1.1 { + acl_add_flag_np; acl_add_perm; + acl_clear_flags_np; + acl_create_entry_np; + acl_delete_entry_np; + acl_delete_flag_np; acl_delete_perm; + acl_get_brand_np; + acl_get_entry_type_np; + acl_get_flag_np; + acl_get_flagset_np; acl_get_perm_np; + acl_is_trivial_np; + acl_set_entry_type_np; + acl_set_flagset_np; + acl_strip_np; + acl_to_text_np; }; ==== //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl.3#3 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/posix1e/acl.3,v 1.23 2009/05/23 13:51:05 trasz Exp $ +.\" $FreeBSD: src/lib/libc/posix1e/acl.3,v 1.26 2009/06/25 16:34:29 trasz Exp $ .\" -.Dd December 18, 2002 +.Dd June 25, 2009 .Dt ACL 3 .Os .Sh NAME @@ -59,6 +59,10 @@ .Pp Available functions, sorted by behavior, include: .Bl -tag -width indent +.It Fn acl_add_flag_np +This function is described in +.Xr acl_add_flag_np 3 , +and may be used to add flags to a flagset. .It Fn acl_add_perm This function is described in .Xr acl_add_perm 3 , @@ -70,6 +74,10 @@ the .Dv ACL_MASK entry. +.It Fn acl_clear_flags_np +This function is described in +.Xr acl_clear_flags_np 3 , +and may be used to clear all flags from a flagset. .It Fn acl_clear_perms This function is described in .Xr acl_clear_perms 3 , @@ -78,8 +86,11 @@ This function is described in .Xr acl_copy_entry 3 , and may be used to copy the contents of an ACL entry. -.It Fn acl_create_entry -This function is described in +.It Xo +.Fn acl_create_entry , +.Fn acl_create_entry_np +.Xc +These functions are described in .Xr acl_create_entry 3 , and may be used to create an empty entry in an ACL. .It Xo @@ -92,10 +103,17 @@ These functions are described in .Xr acl_delete 3 , and may be used to delete ACLs from file system objects. -.It Fn acl_delete_entry -This function is described in +.It Xo +.Fn acl_delete_entry , +.Fn acl_delete_entry_np , +.Xc +This functions are described in .Xr acl_delete_entry 3 , and may be used to delete an entry from an ACL. +.It Fn acl_delete_flag_np +This function is described in +.Xr acl_delete_flag_np 3 , +and may be used to delete flags from a flagset. .It Fn acl_delete_perm This function is described in .Xr acl_delete_perm 3 , @@ -112,7 +130,7 @@ This function is described in .Xr acl_from_text 3 , and may be used to convert a text-form ACL into working ACL state, if -the ACL has POSIX.1e semantics. +the ACL has POSIX.1e or NFSv4 semantics. .It Fn acl_get_entry This function is described in .Xr acl_get_entry 3 , @@ -126,6 +144,14 @@ These functions are described in .Xr acl_get 3 , and may be used to retrieve ACLs from file system objects. +.It Fn acl_get_entry_type_np +This function is described in +.Xr acl_get_entry_type_np 3 , +and may be used to retrieve an ACL type from an ACL entry. +.It Fn acl_get_flagset_np +This function is described in +.Xr acl_get_flagset_np 3 , +and may be used to retrieve a flagset from an ACL entry. .It Fn acl_get_permset This function is described in .Xr acl_get_permset 3 , @@ -142,6 +168,10 @@ This function is described in .Xr acl_init 3 , and may be used to allocate a fresh (empty) ACL structure. +.It Fn acl_is_trivial_np +This function is described in +.Xr acl_is_trivial_np 3 , +and may be used to find out whether ACL is trivial. .It Xo .Fn acl_set_fd , .Fn acl_set_fd_np , @@ -151,6 +181,14 @@ These functions are described in .Xr acl_set 3 , and may be used to assign an ACL to a file system object. +.It Fn acl_set_entry_type_np +This function is described in +.Xr acl_set_entry_type_np 3 , +and may be used to set the ACL type of an ACL entry. +.It Fn acl_set_flagset_np +This function is described in +.Xr acl_set_flagset_np 3 , +and may be used to set the flags of an ACL entry from a flagset. .It Fn acl_set_permset This function is described in .Xr acl_set_permset 3 , @@ -163,10 +201,17 @@ This function is described in .Xr acl_set_tag_type 3 , and may be used to set the tag type of an ACL. -.It Fn acl_to_text -This function is described in +.It Fn acl_strip_np +This function is describe din +.Xr acl-strip_np 3 , +and may be used to remove extended entries from an ACL. +.It Xo +.Fn acl_to_text , +.Fn acl_to_text_np +.Xc +These functions are described in .Xr acl_to_text 3 , -and may be used to generate a text-form of a POSIX.1e semantics ACL. +and may be used to generate a text-form of a POSIX.1e or NFSv4 semantics ACL. .It Xo .Fn acl_valid , .Fn acl_valid_fd_np , @@ -189,25 +234,34 @@ .Sh SEE ALSO .Xr getfacl 1 , .Xr setfacl 1 , +.Xr acl_add_flag_np 3 , .Xr acl_add_perm 3 , .Xr acl_calc_mask 3 , +.Xr acl_clear_flags_np 3 , .Xr acl_clear_perms 3 , .Xr acl_copy_entry 3 , .Xr acl_create_entry 3 , .Xr acl_delete_entry 3 , +.Xr acl_delete_flag_np 3 , .Xr acl_delete_perm 3 , .Xr acl_dup 3 , .Xr acl_free 3 , .Xr acl_from_text 3 , .Xr acl_get 3 , +.Xr acl_get_entry_type_np 3 , +.Xr acl_get_flagset_np 3 , .Xr acl_get_permset 3 , .Xr acl_get_qualifier 3 , .Xr acl_get_tag_type 3 , .Xr acl_init 3 , +.Xr acl_is_trivial_np 3 , .Xr acl_set 3 , +.Xr acl_set_entry_type_np 3 , +.Xr acl_set_flagset_np 3 , .Xr acl_set_permset 3 , .Xr acl_set_qualifier 3 , .Xr acl_set_tag_type 3 , +.Xr acl_strip_np 3 , .Xr acl_to_text 3 , .Xr acl_valid 3 , .Xr posix1e 3 , ==== //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_add_perm.3#3 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/posix1e/acl_add_perm.3,v 1.8 2009/05/23 13:51:05 trasz Exp $ +.\" $FreeBSD: src/lib/libc/posix1e/acl_add_perm.3,v 1.10 2009/06/25 12:53:50 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_ADD_PERM 3 .Os .Sh NAME @@ -52,11 +52,43 @@ .Pp For POSIX.1e ACLs, valid values are: .Pp -.Bl -column -offset 3n "ACL_EXECUTE" +.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS" .It ACL_EXECUTE Execute permission .It ACL_WRITE Write permission .It ACL_READ Read permission .El +.Pp +For NFSv4 ACLs, valid values are: +.Pp +.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS" +.It ACL_READ_DATA Read permission +.It ACL_LIST_DIRECTORY Same as ACL_READ_DATA +.It ACL_WRITE_DATA Write permission, or permission to create files +.It ACL_ADD_FILE Same as ACL_READ_DATA +.It ACL_APPEND_DATA Permission to create directories. Ignored for files +.It ACL_ADD_SUBDIRECTORY Same as ACL_APPEND_DATA +.It ACL_READ_NAMED_ATTRS Ignored +.It ACL_WRITE_NAMED_ATTRS Ignored +.It ACL_EXECUTE Execute permission +.It ACL_DELETE_CHILD Permission to delete files and subdirectories +.It ACL_READ_ATTRIBUTES Permission to read basic attributes +.It ACL_WRITE_ATTRIBUTES Permission to change basic attributes +.It ACL_DELETE Permission to delete the object this ACL is placed on +.It ACL_READ_ACL Permission to read ACL +.It ACL_WRITE_ACL Permission to change the ACL and file mode +.It ACL_SYNCHRONIZE Ignored +.El +.Pp +Calling +.Fn acl_add_perm +with +.Fa perm +equal to ACL_WRITE or ACL_READ brands the ACL as POSIX. +Calling it with ACL_READ_DATA, ACL_LIST_DIRECTORY, ACL_WRITE_DATA, +ACL_ADD_FILE, ACL_APPEND_DATA, ACL_ADD_SUBDIRECTORY, ACL_READ_NAMED_ATTRS, +ACL_WRITE_NAMED_ATTRS, ACL_DELETE_CHILD, ACL_READ_ATTRIBUTES, +ACL_WRITE_ATTRIBUTES, ACL_DELETE, ACL_READ_ACL, ACL_WRITE_ACL +or ACL_SYNCHRONIZE brands the ACL as NFSv4. .Sh RETURN VALUES .Rv -std acl_add_perm .Sh ERRORS @@ -73,11 +105,13 @@ does not contain a valid .Vt acl_perm_t value. +ACL is already branded differently. .El .Sh SEE ALSO .Xr acl 3 , .Xr acl_clear_perms 3 , .Xr acl_delete_perm 3 , +.Xr acl_get_brand_np 3 , .Xr acl_get_permset 3 , .Xr acl_set_permset 3 , .Xr posix1e 3 ==== //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_calc_mask.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_calc_mask.c,v 1.9 2008/11/04 00:20:43 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_calc_mask.c,v 1.10 2009/06/25 12:46:59 trasz Exp $"); #include #include "namespace.h" @@ -35,6 +35,8 @@ #include #include +#include "acl_support.h" + /* * acl_calc_mask() (23.4.2): calculate and set the permissions * associated with the ACL_MASK ACL entry. If the ACL already @@ -48,6 +50,12 @@ acl_t acl_new; int i, mask_mode, mask_num; + if (!_acl_brand_may_be(*acl_p, ACL_BRAND_POSIX)) { + errno = EINVAL; + return (-1); + } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 25 19:10:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E55EE1065674; Thu, 25 Jun 2009 19:10:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1B251065672 for ; Thu, 25 Jun 2009 19:10:17 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9017C8FC1E for ; Thu, 25 Jun 2009 19:10:17 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PJAHGu071885 for ; Thu, 25 Jun 2009 19:10:17 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PJAH2s071883 for perforce@freebsd.org; Thu, 25 Jun 2009 19:10:17 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 25 Jun 2009 19:10:17 GMT Message-Id: <200906251910.n5PJAH2s071883@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165195 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 19:10:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=165195 Change 165195 by syl@syl_atuin on 2009/06/25 19:10:06 Remove useless and buggy GET_XFER macro. (on Hans Petter Selasky advices). Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#45 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#10 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#45 (text+ko) ==== @@ -660,14 +660,19 @@ libusb_clear_halt(libusb_device_handle * devh, unsigned char endpoint) { struct libusb20_transfer *xfer; + struct libusb20_device *pdev; libusb_context *ctx; int ret; ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); - - GET_XFER(xfer, endpoint, devh->os_priv); + + pdev = devh->os_priv; + xfer = libusb20_tr_get_pointer(pdev, + ((endpoint / 0x40) | (endpoint * 4)) % (16 * 4)); + if (xfer == NULL) + return (LIBUSB_ERROR_NO_MEM); pthread_mutex_lock(&libusb20_lock); ret = libusb20_tr_open(xfer, 0, 0, endpoint); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#10 (text+ko) ==== @@ -61,14 +61,6 @@ &pos->member != (head); \ pos = n, n = LIST_ENT(n->member.next, typeof(*n), member)) -/* fetch libusb20_transfer from libusb20_device */ -#define GET_XFER(xfer, endpoint, pdev)\ - xfer = libusb20_tr_get_pointer(pdev, \ - (2 *endpoint)|(endpoint/0x80)); \ - if (xfer == NULL) \ - return (LIBUSB_ERROR_OTHER); - - static int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out); static int handle_timeouts(struct libusb_context *ctx); static int handle_events(struct libusb_context *ctx, struct timeval *tv); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 19:11:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 488D71065676; Thu, 25 Jun 2009 19:11:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6301106566C for ; Thu, 25 Jun 2009 19:11:18 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D259D8FC0C for ; Thu, 25 Jun 2009 19:11:18 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PJBIRa071981 for ; Thu, 25 Jun 2009 19:11:18 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PJBIWZ071979 for perforce@freebsd.org; Thu, 25 Jun 2009 19:11:18 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 19:11:18 GMT Message-Id: <200906251911.n5PJBIWZ071979@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 19:11:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165196 Change 165196 by mav@mav_mavbook on 2009/06/25 19:10:54 IFC Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_target.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/midi/midi.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/midi/sequencer.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/speaker/spkr.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/pseudofs/pseudofs_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_lockf.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tap.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/sys/conf.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/sys/uio.h#8 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_target.c#16 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.77 2009/06/10 20:59:32 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.78 2009/06/25 18:46:30 kib Exp $"); #include @@ -552,7 +552,7 @@ softc = (struct targ_softc *)dev->si_drv1; write_len = error = 0; CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, - ("write - uio_resid %d\n", uio->uio_resid)); + ("write - uio_resid %zd\n", uio->uio_resid)); while (uio->uio_resid >= sizeof(user_ccb) && error == 0) { union ccb *ccb; ==== //depot/projects/scottl-camlock/src/sys/dev/iscsi/initiator/isc_soc.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iscsi/initiator/isc_soc.c,v 1.5 2008/11/25 07:17:11 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iscsi/initiator/isc_soc.c,v 1.6 2009/06/25 18:46:30 kib Exp $"); #include "opt_iscsi_initiator.h" @@ -322,12 +322,12 @@ error = soreceive(sp->soc, NULL, uio, 0, 0, &flags); if(error) - debug(2, "error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd", + debug(2, "error=%d so_error=%d uio->uio_resid=%zd iov.iov_len=%zd", error, sp->soc->so_error, uio->uio_resid, iov->iov_len); if(!error && (uio->uio_resid > 0)) { error = EPIPE; // was EAGAIN - debug(2, "error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd so_state=%x", + debug(2, "error=%d so_error=%d uio->uio_resid=%zd iov.iov_len=%zd so_state=%x", error, sp->soc->so_error, uio->uio_resid, iov->iov_len, sp->soc->so_state); } @@ -442,7 +442,7 @@ } mp = NULL; - sdebug(4, "uio_resid=0x%x itt=0x%x bp=%p bo=%x len=%x/%x", + sdebug(4, "uio_resid=0x%zx itt=0x%x bp=%p bo=%x len=%x/%x", uio->uio_resid, ntohl(pq->pdu.ipdu.bhs.itt), csio->data_ptr, ntohl(rcmd->bo), ntohl(cmd->edtlen), pq->pdu.ds_len); ==== //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ******************************************************************************/ -/*$FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.12 2009/06/25 17:16:26 jfv Exp $*/ +/*$FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.13 2009/06/25 18:40:27 jfv Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -2156,7 +2156,8 @@ ** Bind the msix vector, and thus the ** ring to the corresponding cpu. */ - bus_bind_intr(dev, txr->res, i); + if (adapter->num_queues > 1) + bus_bind_intr(dev, txr->res, i); TASK_INIT(&txr->tx_task, 0, ixgbe_handle_tx, txr); txr->tq = taskqueue_create_fast("ixgbe_txq", M_NOWAIT, @@ -2192,7 +2193,8 @@ ** Bind the msix vector, and thus the ** ring to the corresponding cpu. */ - bus_bind_intr(dev, rxr->res, i); + if (adapter->num_queues > 1) + bus_bind_intr(dev, rxr->res, i); TASK_INIT(&rxr->rx_task, 0, ixgbe_handle_rx, rxr); rxr->tq = taskqueue_create_fast("ixgbe_rxq", M_NOWAIT, ==== //depot/projects/scottl-camlock/src/sys/dev/sound/midi/midi.c#11 (text) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.27 2009/06/11 09:06:09 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.28 2009/06/25 18:46:30 kib Exp $"); #include #include @@ -852,7 +852,7 @@ used = MIN(MIDIQ_AVAIL(m->outq), uio->uio_resid); used = MIN(used, MIDI_WSIZE); - MIDI_DEBUG(5, printf("midiout: resid %d len %jd avail %jd\n", + MIDI_DEBUG(5, printf("midiout: resid %zd len %jd avail %jd\n", uio->uio_resid, (intmax_t)MIDIQ_LEN(m->outq), (intmax_t)MIDIQ_AVAIL(m->outq))); ==== //depot/projects/scottl-camlock/src/sys/dev/sound/midi/sequencer.c#13 (text) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sound/midi/sequencer.c,v 1.31 2009/06/07 19:12:08 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sound/midi/sequencer.c,v 1.32 2009/06/25 18:46:30 kib Exp $"); #include #include @@ -878,7 +878,7 @@ if (scp == NULL) return ENXIO; - SEQ_DEBUG(7, printf("seq_read: unit %d, resid %d.\n", + SEQ_DEBUG(7, printf("seq_read: unit %d, resid %zd.\n", scp->unit, uio->uio_resid)); mtx_lock(&scp->seq_lock); @@ -936,7 +936,7 @@ retval = 0; err1: mtx_unlock(&scp->seq_lock); - SEQ_DEBUG(6, printf("seq_read: ret %d, resid %d.\n", + SEQ_DEBUG(6, printf("seq_read: ret %d, resid %zd.\n", retval, uio->uio_resid)); return retval; @@ -950,7 +950,7 @@ int retval; int used; - SEQ_DEBUG(7, printf("seq_write: unit %d, resid %d.\n", + SEQ_DEBUG(7, printf("seq_write: unit %d, resid %zd.\n", scp->unit, uio->uio_resid)); if (scp == NULL) @@ -995,7 +995,7 @@ used = MIN(uio->uio_resid, 4); - SEQ_DEBUG(8, printf("seqout: resid %d len %jd avail %jd\n", + SEQ_DEBUG(8, printf("seqout: resid %zd len %jd avail %jd\n", uio->uio_resid, (intmax_t)MIDIQ_LEN(scp->out_q), (intmax_t)MIDIQ_AVAIL(scp->out_q))); @@ -1115,7 +1115,7 @@ err0: SEQ_DEBUG(6, - printf("seq_write done: leftover buffer length %d retval %d\n", + printf("seq_write done: leftover buffer length %zd retval %d\n", uio->uio_resid, retval)); mtx_unlock(&scp->seq_lock); return retval; ==== //depot/projects/scottl-camlock/src/sys/dev/speaker/spkr.c#5 (text+ko) ==== @@ -7,7 +7,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/speaker/spkr.c,v 1.78 2009/01/25 09:20:59 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/speaker/spkr.c,v 1.79 2009/06/25 18:46:30 kib Exp $"); #include #include @@ -439,7 +439,7 @@ int ioflag; { #ifdef DEBUG - printf("spkrwrite: entering with dev = %s, count = %d\n", + printf("spkrwrite: entering with dev = %s, count = %zd\n", devtoname(dev), uio->uio_resid); #endif /* DEBUG */ ==== //depot/projects/scottl-camlock/src/sys/fs/coda/coda_psdev.c#2 (text+ko) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/fs/coda/coda_psdev.c,v 1.48 2008/02/17 14:33:28 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/coda/coda_psdev.c,v 1.49 2009/06/25 18:46:30 kib Exp $"); #include #include @@ -331,7 +331,7 @@ * Get the rest of the data. */ if (vmp->vm_outSize < uiop->uio_resid) { - myprintf(("vcwrite: more data than asked for (%d < %d)\n", + myprintf(("vcwrite: more data than asked for (%d < %zd)\n", vmp->vm_outSize, uiop->uio_resid)); /* ==== //depot/projects/scottl-camlock/src/sys/fs/coda/coda_vnops.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/fs/coda/coda_vnops.c,v 1.100 2009/02/13 18:18:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/coda/coda_vnops.c,v 1.101 2009/06/25 18:46:30 kib Exp $"); #include #include @@ -331,7 +331,7 @@ int error = 0; MARK_ENTRY(CODA_RDWR_STATS); - CODADEBUG(CODA_RDWR, myprintf(("coda_rdwr(%d, %p, %d, %lld, %d)\n", + CODADEBUG(CODA_RDWR, myprintf(("coda_rdwr(%d, %p, %zd, %lld, %d)\n", rw, (void *)uiop->uio_iov->iov_base, uiop->uio_resid, (long long)uiop->uio_offset, uiop->uio_segflg));); @@ -1470,7 +1470,7 @@ int opened_internally = 0; MARK_ENTRY(CODA_READDIR_STATS); - CODADEBUG(CODA_READDIR, myprintf(("coda_readdir(%p, %d, %lld, %d)\n", + CODADEBUG(CODA_READDIR, myprintf(("coda_readdir(%p, %zd, %lld, %d)\n", (void *)uiop->uio_iov->iov_base, uiop->uio_resid, (long long)uiop->uio_offset, uiop->uio_segflg));); ==== //depot/projects/scottl-camlock/src/sys/fs/pseudofs/pseudofs_vnops.c#14 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/fs/pseudofs/pseudofs_vnops.c,v 1.78 2009/06/10 13:57:36 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/pseudofs/pseudofs_vnops.c,v 1.79 2009/06/25 18:46:30 kib Exp $"); #include "opt_pseudofs.h" @@ -622,9 +622,9 @@ VOP_UNLOCK(vn, 0); if (pn->pn_flags & PFS_RAWRD) { - PFS_TRACE(("%lu resid", (unsigned long)uio->uio_resid)); + PFS_TRACE(("%zd resid", uio->uio_resid)); error = pn_fill(curthread, proc, pn, NULL, uio); - PFS_TRACE(("%lu resid", (unsigned long)uio->uio_resid)); + PFS_TRACE(("%zd resid", uio->uio_resid)); goto ret; } ==== //depot/projects/scottl-camlock/src/sys/kern/kern_lockf.c#11 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.73 2009/06/17 12:43:04 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.74 2009/06/25 18:54:56 kib Exp $"); #include "opt_debug_lockf.h" @@ -1937,9 +1937,14 @@ * make sure it doesn't go away before we are finished. */ STAILQ_INIT(&locks); + VI_LOCK(vp); ls = vp->v_lockf; - if (!ls) + if (!ls) { + VI_UNLOCK(vp); return (0); + } + ls->ls_threads++; + VI_UNLOCK(vp); sx_xlock(&ls->ls_lock); LIST_FOREACH(lf, &ls->ls_active, lf_link) { @@ -1960,6 +1965,10 @@ STAILQ_INSERT_TAIL(&locks, ldesc, link); } sx_xunlock(&ls->ls_lock); + VI_LOCK(vp); + ls->ls_threads--; + wakeup(ls); + VI_UNLOCK(vp); /* * Call the iterator function for each lock in turn. If the ==== //depot/projects/scottl-camlock/src/sys/net/if_tap.c#16 (text+ko) ==== @@ -31,7 +31,7 @@ */ /* - * $FreeBSD: src/sys/net/if_tap.c,v 1.80 2009/06/10 20:59:32 kib Exp $ + * $FreeBSD: src/sys/net/if_tap.c,v 1.81 2009/06/25 18:46:30 kib Exp $ * $Id: if_tap.c,v 0.21 2000/07/23 21:46:02 max Exp $ */ @@ -934,7 +934,7 @@ return (0); if ((uio->uio_resid < 0) || (uio->uio_resid > TAPMRU)) { - TAPDEBUG("%s invalid packet len = %d, minor = %#x\n", + TAPDEBUG("%s invalid packet len = %zd, minor = %#x\n", ifp->if_xname, uio->uio_resid, dev2unit(dev)); return (EIO); ==== //depot/projects/scottl-camlock/src/sys/net/if_tun.c#18 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.181 2009/06/17 15:01:01 bz Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.182 2009/06/25 18:46:30 kib Exp $ */ #include "opt_atalk.h" @@ -888,7 +888,7 @@ return (0); if (uio->uio_resid < 0 || uio->uio_resid > TUNMRU) { - TUNDEBUG(ifp, "len=%d!\n", uio->uio_resid); + TUNDEBUG(ifp, "len=%zd!\n", uio->uio_resid); return (EIO); } ==== //depot/projects/scottl-camlock/src/sys/sys/conf.h#14 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)conf.h 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/sys/conf.h,v 1.250 2009/06/01 21:32:52 jhb Exp $ + * $FreeBSD: src/sys/sys/conf.h,v 1.251 2009/06/25 18:44:05 jhb Exp $ */ #ifndef _SYS_CONF_H_ @@ -141,8 +141,6 @@ vm_size_t size, struct vm_object **object, int nprot); typedef void d_purge_t(struct cdev *dev); -typedef int d_spare2_t(struct cdev *dev); - typedef int dumper_t( void *_priv, /* Private to the driver. */ void *_virtual, /* Virtual (mapped) address. */ ==== //depot/projects/scottl-camlock/src/sys/sys/uio.h#8 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)uio.h 8.5 (Berkeley) 2/22/94 - * $FreeBSD: src/sys/sys/uio.h,v 1.41 2009/03/14 19:07:58 das Exp $ + * $FreeBSD: src/sys/sys/uio.h,v 1.42 2009/06/25 18:46:30 kib Exp $ */ #ifndef _SYS_UIO_H_ @@ -64,7 +64,7 @@ struct iovec *uio_iov; /* scatter/gather list */ int uio_iovcnt; /* length of scatter/gather list */ off_t uio_offset; /* offset in target object */ - int uio_resid; /* remaining bytes to process */ + ssize_t uio_resid; /* remaining bytes to process */ enum uio_seg uio_segflg; /* address space */ enum uio_rw uio_rw; /* operation */ struct thread *uio_td; /* owner */ From owner-p4-projects@FreeBSD.ORG Thu Jun 25 19:48:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA05C1065672; Thu, 25 Jun 2009 19:48:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 718BA106566C for ; Thu, 25 Jun 2009 19:48:02 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5FE858FC13 for ; Thu, 25 Jun 2009 19:48:02 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PJm0Su075114 for ; Thu, 25 Jun 2009 19:48:00 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PJm0Ew075104 for perforce@freebsd.org; Thu, 25 Jun 2009 19:48:00 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 19:48:00 GMT Message-Id: <200906251948.n5PJm0Ew075104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165201 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 19:48:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=165201 Change 165201 by zec@zec_amdx4 on 2009/06/25 19:47:34 Reshuffle CURVNET_SET() / CURVNET_RESTORE() placement so that no recursion on curvnet happens in neither nfsserver nor nfsclient. Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#8 edit .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#11 edit .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_vc.c#7 edit .. //depot/projects/vimage-commit2/src/sys/rpc/rpc_generic.c#3 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc.c#7 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc_vc.c#8 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#8 (text+ko) ==== @@ -509,8 +509,6 @@ nf.nf_lastmsg = now.tv_sec - ((nmp->nm_tprintf_delay) - (nmp->nm_tprintf_initial_delay)); - CURVNET_SET(nmp->nm_vnet); - /* * XXX if not already connected call nfs_connect now. Longer * term, change nfs_mount to call nfs_connect unconditionally @@ -522,7 +520,6 @@ auth = nfs_getauth(nmp, cred); if (!auth) { m_freem(mreq); - CURVNET_RESTORE(); return (EACCES); } bzero(&ext, sizeof(ext)); @@ -603,7 +600,6 @@ if (error == ENOMEM) { m_freem(mrep); AUTH_DESTROY(auth); - CURVNET_RESTORE(); return (error); } @@ -668,7 +664,6 @@ *mdp = md; *dposp = dpos; AUTH_DESTROY(auth); - CURVNET_RESTORE(); return (0); nfsmout: @@ -693,7 +688,6 @@ m_freem(mreq); if (auth) AUTH_DESTROY(auth); - CURVNET_RESTORE(); return (error); } ==== //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#11 (text+ko) ==== @@ -464,6 +464,7 @@ xprt = svc_dg_create(nfsrv_pool, so, 0, 0); else xprt = svc_vc_create(nfsrv_pool, so, 0, 0); + CURVNET_RESTORE(); if (xprt) { fp->f_ops = &badfileops; fp->f_data = NULL; @@ -471,7 +472,6 @@ svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, NULL); SVC_RELEASE(xprt); } - CURVNET_RESTORE(); return (0); } @@ -529,9 +529,7 @@ nfsrv_pool->sp_maxthreads = 4; } - CURVNET_SET(TD_TO_VNET(curthread)); svc_run(nfsrv_pool); - CURVNET_RESTORE(); #ifdef KGSSAPI rpc_gss_clear_svc_name(NFS_PROG, NFS_VER2); ==== //depot/projects/vimage-commit2/src/sys/rpc/clnt_vc.c#7 (text+ko) ==== @@ -70,6 +70,8 @@ #include #include #include +#include + #include #include @@ -217,8 +219,11 @@ } } - if (!__rpc_socket2sockinfo(so, &si)) + CURVNET_SET(so->so_vnet); + if (!__rpc_socket2sockinfo(so, &si)) { + CURVNET_RESTORE(); goto err; + } if (so->so_proto->pr_flags & PR_CONNREQUIRED) { bzero(&sopt, sizeof(sopt)); @@ -239,6 +244,7 @@ sopt.sopt_valsize = sizeof(one); sosetopt(so, &sopt); } + CURVNET_RESTORE(); ct->ct_closeit = FALSE; ==== //depot/projects/vimage-commit2/src/sys/rpc/rpc_generic.c#3 (text+ko) ==== @@ -55,6 +55,7 @@ #include #include #include +#include #include #include @@ -822,6 +823,7 @@ sa->sa_len = salen; if (*portp == 0) { + CURVNET_SET(so->so_vnet); bzero(&opt, sizeof(opt)); opt.sopt_dir = SOPT_GET; opt.sopt_level = proto; @@ -829,12 +831,15 @@ opt.sopt_val = &old; opt.sopt_valsize = sizeof(old); error = sogetopt(so, &opt); - if (error) + if (error) { + CURVNET_RESTORE(); goto out; + } opt.sopt_dir = SOPT_SET; opt.sopt_val = &portlow; error = sosetopt(so, &opt); + CURVNET_RESTORE(); if (error) goto out; } @@ -845,7 +850,9 @@ if (error) { opt.sopt_dir = SOPT_SET; opt.sopt_val = &old; + CURVNET_SET(so->so_vnet); sosetopt(so, &opt); + CURVNET_RESTORE(); } } out: ==== //depot/projects/vimage-commit2/src/sys/rpc/svc.c#7 (text+ko) ==== @@ -793,8 +793,6 @@ /* now receive msgs from xprtprt (support batch calls) */ r = malloc(sizeof(*r), M_RPC, M_WAITOK|M_ZERO); - CURVNET_SET(TD_TO_VNET(curthread)); - msg.rm_call.cb_cred.oa_base = r->rq_credarea; msg.rm_call.cb_verf.oa_base = &r->rq_credarea[MAX_AUTH_BYTES]; r->rq_clntcred = &r->rq_credarea[2*MAX_AUTH_BYTES]; @@ -869,7 +867,6 @@ xprt_unregister(xprt); } - CURVNET_RESTORE(); return (stat); } @@ -895,9 +892,7 @@ * dispatch method - they must call * svc_freereq. */ - CURVNET_SET(TD_TO_VNET(curthread)); (*s->sc_dispatch)(rqstp, xprt); - CURVNET_RESTORE(); return; } /* found correct version */ prog_found = TRUE; ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_vc.c#8 (text+ko) ==== @@ -58,6 +58,8 @@ #include #include #include +#include + #include #include @@ -625,8 +627,10 @@ uio.uio_td = curthread; m = NULL; rcvflag = MSG_DONTWAIT; + CURVNET_SET(xprt->xp_socket->so_vnet); error = soreceive(xprt->xp_socket, NULL, &uio, &m, NULL, &rcvflag); + CURVNET_RESTORE(); if (error == EWOULDBLOCK) { /* From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:03:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 500381065673; Thu, 25 Jun 2009 20:03:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 100B0106564A for ; Thu, 25 Jun 2009 20:03:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F22CF8FC12 for ; Thu, 25 Jun 2009 20:03:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PK3H7M077094 for ; Thu, 25 Jun 2009 20:03:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PK3HLK077092 for perforce@freebsd.org; Thu, 25 Jun 2009 20:03:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 25 Jun 2009 20:03:17 GMT Message-Id: <200906252003.n5PK3HLK077092@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 165202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:03:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=165202 Change 165202 by hselasky@hselasky_laptop001 on 2009/06/25 20:02:42 USB sound: - fix recent regression issue. umidi is not Giant locked. Affected files ... .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#50 edit Differences ... ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#50 (text+ko) ==== @@ -3671,24 +3671,24 @@ if (usb_fifo_alloc_buffer(fifo, 4, (1024 / 4))) { return (ENOMEM); } - mtx_lock(&Giant); + mtx_lock(&chan->mtx); chan->read_open_refcount++; sub->read_open = 1; - mtx_unlock(&Giant); + mtx_unlock(&chan->mtx); } if (fflags & FWRITE) { if (usb_fifo_alloc_buffer(fifo, 32, (1024 / 32))) { return (ENOMEM); } /* clear stall first */ - mtx_lock(&Giant); + mtx_lock(&chan->mtx); chan->flags |= UMIDI_FLAG_WRITE_STALL; chan->write_open_refcount++; sub->write_open = 1; /* reset */ sub->state = UMIDI_ST_UNKNOWN; - mtx_unlock(&Giant); + mtx_unlock(&chan->mtx); } return (0); /* success */ } From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:05:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82A7A1065675; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42874106566C for ; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 166198FC13 for ; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PK5JJw077315 for ; Thu, 25 Jun 2009 20:05:19 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PK5Jps077313 for perforce@freebsd.org; Thu, 25 Jun 2009 20:05:19 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 20:05:19 GMT Message-Id: <200906252005.n5PK5Jps077313@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165203 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:05:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=165203 Change 165203 by mav@mav_mavbook on 2009/06/25 20:04:58 Add missing variable initialization. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#23 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#23 (text+ko) ==== @@ -1161,6 +1161,7 @@ scan_info->request_ccb = request_ccb; scan_info->cpi = &work_ccb->cpi; scan_info->found = 0x8001; + scan_info->counter = 0; /* Report SIM that we have no knowledge about PM presence. */ bzero(&cts, sizeof(cts)); xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:05:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AC5F1065738; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 536F91065673 for ; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4215F8FC1A for ; Thu, 25 Jun 2009 20:05:20 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PK5KDc077320 for ; Thu, 25 Jun 2009 20:05:20 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PK5K0T077318 for perforce@freebsd.org; Thu, 25 Jun 2009 20:05:20 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 20:05:20 GMT Message-Id: <200906252005.n5PK5K0T077318@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165204 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:05:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=165204 Change 165204 by zec@zec_amdx4 on 2009/06/25 20:05:15 Reduce diff against head. Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#27 edit .. //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#12 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#27 (text+ko) ==== @@ -285,9 +285,6 @@ so->so_gencnt = ++so_gencnt; ++numopensockets; #ifdef VIMAGE - KASSERT(vnet != NULL, ("soalloc(): NULL vnet")); - KASSERT(vnet->vnet_magic_n == VNET_MAGIC_N, - ("soalloc(): invalid vnet: %p", vnet)); ++vnet->sockcnt; /* Locked with so_global_mtx. */ so->so_vnet = vnet; #endif ==== //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#12 (text+ko) ==== @@ -81,7 +81,6 @@ struct netexport { struct netcred ne_defexported; /* Default export */ struct radix_node_head *ne_rtable[AF_MAX+1]; /* Individual exports */ - struct vnet *ne_vnet; /* vnet for this export */ }; /* @@ -142,7 +141,7 @@ } #endif - CURVNET_SET(nep->ne_vnet); + CURVNET_SET(TD_TO_VNET(curthread)); /* XXX revisit */ i = sizeof(struct netcred) + argp->ex_addrlen + argp->ex_masklen; np = (struct netcred *) malloc(i, M_NETADDR, M_WAITOK | M_ZERO); saddr = (struct sockaddr *) (np + 1); @@ -284,7 +283,6 @@ MNT_IUNLOCK(mp); } vfs_free_addrlist(nep); - /* XXX TODO: unref nep->ne_vnet */ mp->mnt_export = NULL; free(nep, M_MOUNT); nep = NULL; @@ -296,8 +294,6 @@ if (nep == NULL) { nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); mp->mnt_export = nep; - nep->ne_vnet = TD_TO_VNET(curthread); - /* XXX TODO: ref nep->ne_vnet */ } if (argp->ex_flags & MNT_EXPUBLIC) { if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:12:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7B561065673; Thu, 25 Jun 2009 20:12:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31FEA106564A for ; Thu, 25 Jun 2009 20:12:28 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 209BA8FC14 for ; Thu, 25 Jun 2009 20:12:28 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PKCSU6077796 for ; Thu, 25 Jun 2009 20:12:28 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PKCR5R077794 for perforce@freebsd.org; Thu, 25 Jun 2009 20:12:27 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 20:12:27 GMT Message-Id: <200906252012.n5PKCR5R077794@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165205 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:12:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165205 Change 165205 by zec@zec_amdx4 on 2009/06/25 20:11:46 Garbage collection. Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_socket.c#10 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#22 edit .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfsmount.h#6 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_socket.c#10 (text+ko) ==== @@ -1157,8 +1157,6 @@ ((nmp->nm_tprintf_delay) - (nmp->nm_tprintf_initial_delay)); mrest_len = m_length(mrest, NULL); - CURVNET_SET(nmp->nm_vnet); - /* * Get the RPC header with authorization. */ @@ -1311,7 +1309,6 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); - CURVNET_RESTORE(); return (error); } @@ -1331,7 +1328,6 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); - CURVNET_RESTORE(); return (error); } @@ -1381,7 +1377,6 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); - CURVNET_RESTORE(); return (error); } @@ -1391,7 +1386,6 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); - CURVNET_RESTORE(); return (0); } m_freem(mrep); @@ -1400,7 +1394,6 @@ m_freem(rep->r_mreq); mtx_destroy(&rep->r_mtx); free((caddr_t)rep, M_NFSREQ); - CURVNET_RESTORE(); return (error); } ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#22 (text+ko) ==== @@ -1194,9 +1194,6 @@ vfs_getnewfsid(mp); nmp->nm_mountp = mp; mtx_init(&nmp->nm_mtx, "NFSmount lock", NULL, MTX_DEF); -#ifdef VIMAGE - nmp->nm_vnet = CRED_TO_VNET(cred); -#endif /* * V2 can only handle 32 bit filesizes. A 4GB-1 limit may be too ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfsmount.h#6 (text+ko) ==== @@ -131,9 +131,6 @@ fsid_t nm_fsid; u_int nm_lease_time; time_t nm_last_renewal; - - /* VIMAGE */ - struct vnet *nm_vnet; /* vnet this mount was created in */ }; #if defined(_KERNEL) From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:42:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6619C106567A; Thu, 25 Jun 2009 20:42:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 208AB1065673 for ; Thu, 25 Jun 2009 20:42:01 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E6E18FC0C for ; Thu, 25 Jun 2009 20:42:01 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PKg0MT078756 for ; Thu, 25 Jun 2009 20:42:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PKg0ld078754 for perforce@freebsd.org; Thu, 25 Jun 2009 20:42:00 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 25 Jun 2009 20:42:00 GMT Message-Id: <200906252042.n5PKg0ld078754@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 165209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:42:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165209 Change 165209 by hselasky@hselasky_laptop001 on 2009/06/25 20:41:36 USB CORE: - add missing get timestamp function Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#158 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#158 (text+ko) ==== @@ -2995,3 +2995,14 @@ break; } } + +/* + * The following function returns in milliseconds when the isochronous + * transfer was completed by the hardware. The returned value wraps + * around 65536 milliseconds. + */ +uint16_t +usbd_xfer_get_timestamp(struct usb_xfer *xfer) +{ + return (xfer->isoc_time_complete); +} ==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#9 (text+ko) ==== @@ -487,6 +487,7 @@ int usbd_xfer_is_stalled(struct usb_xfer *xfer); void usbd_xfer_set_flag(struct usb_xfer *xfer, int flag); void usbd_xfer_clr_flag(struct usb_xfer *xfer, int flag); +uint16_t usbd_xfer_get_timestamp(struct usb_xfer *xfer); void usbd_copy_in(struct usb_page_cache *cache, usb_frlength_t offset, const void *ptr, usb_frlength_t len); From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:46:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC5E31065672; Thu, 25 Jun 2009 20:46:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB8B6106564A for ; Thu, 25 Jun 2009 20:46:05 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9A4578FC1C for ; Thu, 25 Jun 2009 20:46:05 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PKk5kQ078863 for ; Thu, 25 Jun 2009 20:46:05 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PKk5wb078861 for perforce@freebsd.org; Thu, 25 Jun 2009 20:46:05 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 20:46:05 GMT Message-Id: <200906252046.n5PKk5wb078861@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165210 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:46:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=165210 Change 165210 by zec@zec_amdx4 on 2009/06/25 20:45:39 Workaround for the panic in nfs_create(). Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#22 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#22 (text+ko) ==== @@ -1552,11 +1552,12 @@ *tl = txdr_unsigned(NFSV3CREATE_EXCLUSIVE); tl = nfsm_build(u_int32_t *, NFSX_V3CREATEVERF); #ifdef INET - INIT_VNET_INET(curvnet); +#ifndef VIMAGE if (!TAILQ_EMPTY(&V_in_ifaddrhead)) *tl++ = IA_SIN(TAILQ_FIRST(&V_in_ifaddrhead))->sin_addr.s_addr; else #endif +#endif *tl++ = create_verf; *tl = ++create_verf; } else { From owner-p4-projects@FreeBSD.ORG Thu Jun 25 20:50:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0D3810656BA; Thu, 25 Jun 2009 20:50:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F2E11065698 for ; Thu, 25 Jun 2009 20:50:10 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4BBF08FC0A for ; Thu, 25 Jun 2009 20:50:10 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PKoApE088969 for ; Thu, 25 Jun 2009 20:50:10 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PKoAMF088967 for perforce@freebsd.org; Thu, 25 Jun 2009 20:50:10 GMT (envelope-from jhb@freebsd.org) Date: Thu, 25 Jun 2009 20:50:10 GMT Message-Id: <200906252050.n5PKoAMF088967@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 165211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 20:50:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=165211 Change 165211 by jhb@jhb_jhbbsd on 2009/06/25 20:49:23 IFC @165208 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#34 integrate .. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#24 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#12 integrate .. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#19 integrate .. //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#6 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#28 integrate .. //depot/projects/smpng/sys/conf/files#246 integrate .. //depot/projects/smpng/sys/dev/cas/if_cas.c#3 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.c#13 integrate .. //depot/projects/smpng/sys/dev/drm/i915_dma.c#16 integrate .. //depot/projects/smpng/sys/dev/drm/i915_drv.h#11 integrate .. //depot/projects/smpng/sys/dev/drm/i915_irq.c#12 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_cp.c#24 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_irq.c#13 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#10 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_soc.c#5 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#7 integrate .. //depot/projects/smpng/sys/dev/sound/midi/midi.c#19 integrate .. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#24 integrate .. //depot/projects/smpng/sys/dev/speaker/spkr.c#7 integrate .. //depot/projects/smpng/sys/fs/coda/coda_psdev.c#4 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vnops.c#8 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#60 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#5 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#35 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#26 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#12 integrate .. //depot/projects/smpng/sys/i386/include/intr_machdep.h#21 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#99 integrate .. //depot/projects/smpng/sys/kern/kern_lockf.c#30 integrate .. //depot/projects/smpng/sys/kern/sysv_shm.c#47 integrate .. //depot/projects/smpng/sys/net/if_tap.c#52 integrate .. //depot/projects/smpng/sys/net/if_tun.c#64 integrate .. //depot/projects/smpng/sys/netinet/ip_carp.c#36 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#60 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#39 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#43 integrate .. //depot/projects/smpng/sys/netinet6/in6_var.h#24 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#67 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#57 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#35 integrate .. //depot/projects/smpng/sys/netipsec/key.c#40 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#17 integrate .. //depot/projects/smpng/sys/sys/conf.h#60 integrate .. //depot/projects/smpng/sys/sys/uio.h#25 integrate .. //depot/projects/smpng/sys/sys/vnode.h#102 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#35 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#77 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#45 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#100 integrate .. //depot/projects/smpng/sys/vm/vm_map.h#44 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#79 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#110 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#39 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#73 integrate .. //depot/projects/smpng/sys/vm/vm_pager.c#28 integrate .. //depot/projects/smpng/sys/vm/vm_pager.h#16 integrate .. //depot/projects/smpng/sys/vm/vnode_pager.c#75 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#34 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.43 2009/06/25 18:13:46 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,12 +290,12 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int @@ -317,9 +310,9 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (0); #else @@ -378,7 +371,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - sx_init(&intr_table_lock, "intr sources"); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -435,19 +428,28 @@ static cpumask_t intr_cpus = (1 << 0); static int current_cpu; -static void -intr_assign_next_cpu(struct intsrc *isrc) +/* + * Return the CPU that the next interrupt source should use. For now + * this just returns the next local APIC according to round-robin. + */ +u_int +intr_next_cpu(void) { + u_int apic_id; - /* - * Assign this source to a local APIC in a round-robin fashion. - */ - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[current_cpu]); + /* Leave all interrupts on the BSP during boot. */ + if (!assign_cpu) + return (cpu_apic_ids[0]); + + mtx_lock(&intr_table_lock); + apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); + mtx_unlock(&intr_table_lock); + return (apic_id); } /* Attempt to bind the specified IRQ to the specified CPU. */ @@ -487,6 +489,7 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; + u_int apic_id; int i; /* Don't bother on UP. */ @@ -494,7 +497,7 @@ return; /* Round-robin assign a CPU to each enabled source. */ - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { isrc = interrupt_sources[i]; @@ -505,13 +508,13 @@ * of picking one via round-robin. */ if (isrc->is_event->ie_cpu != NOCPU) - isrc->is_pic->pic_assign_cpu(isrc, - cpu_apic_ids[isrc->is_event->ie_cpu]); + apic_id = isrc->is_event->ie_cpu; else - intr_assign_next_cpu(isrc); + apic_id = intr_next_cpu(); + isrc->is_pic->pic_assign_cpu(isrc, apic_id); } } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL); ==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#24 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.32 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); #include "opt_isa.h" @@ -372,7 +372,7 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, pcpu_find(0)->pc_apic_id); + ioapic_assign_cpu(isrc, intr_next_cpu()); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#12 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); #include #include @@ -161,8 +161,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - if (msi->msi_vector == 0) - msi_assign_cpu(isrc, 0); apic_enable_vector(msi->msi_cpu, msi->msi_vector); } @@ -208,10 +206,11 @@ /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; - if (old_vector && old_id == apic_id) + if (old_id == apic_id) return; - if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + if (!msi->msi_msix && msi->msi_first->msi_count > 1) return; + /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) @@ -223,15 +222,14 @@ msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); + /* * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) - apic_free_vector(old_id, old_vector, msi->msi_irq); + apic_free_vector(old_id, old_vector, msi->msi_irq); } - void msi_init(void) { @@ -287,7 +285,8 @@ msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; - int cnt, i; + u_int cpu; + int cnt, i, vector; if (!msi_enabled) return (ENXIO); @@ -333,12 +332,25 @@ /* Ok, we now have the IRQs allocated. */ KASSERT(cnt == count, ("count mismatch")); + /* Allocate 'count' IDT vectors. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vectors(cpu, irqs, count, maxcount); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } + /* Assign IDT vectors and make these messages owned by 'dev'. */ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: routing MSI IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, msi->msi_cpu, msi->msi_vector); msi->msi_first = fsrc; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI has handlers")); @@ -391,18 +403,14 @@ KASSERT(msi->msi_dev == first->msi_dev, ("owner mismatch")); msi->msi_first = NULL; msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, - msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; } /* Clear out the first message. */ first->msi_first = NULL; first->msi_dev = NULL; - if (first->msi_vector) - apic_free_vector(first->msi_cpu, first->msi_vector, - first->msi_irq); + apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; @@ -451,7 +459,8 @@ msix_alloc(device_t dev, int *irq) { struct msi_intsrc *msi; - int i; + u_int cpu; + int i, vector; if (!msi_enabled) return (ENXIO); @@ -486,9 +495,17 @@ goto again; } + /* Allocate an IDT vector. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vector(cpu, i); + if (bootverbose) + printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, cpu, vector); + /* Setup source. */ + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector; msi->msi_msix = 1; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); @@ -520,8 +537,7 @@ /* Clear out the message. */ msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; ==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#19 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.21 2009/02/03 09:01:45 jkoshy Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.22 2009/06/25 18:13:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -152,6 +152,9 @@ int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); +#ifdef SMP +u_int intr_next_cpu(void); +#endif struct intsrc *intr_lookup_source(int vector); int intr_register_pic(struct pic *pic); int intr_register_source(struct intsrc *isrc); ==== //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.9 2009/06/22 23:22:38 sam Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.10 2009/06/25 18:07:19 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -14,16 +14,16 @@ # NB: no UART1 on ixp435 # optional GPS serial port -hint.uart.1.at="ixp0" -hint.uart.1.addr=0x53fc0000 -hint.uart.1.irq=20 -hint.uart.1.ier_rxbits=0x1 -hint.uart.1.rclk=1843200 +#hint.uart.1.at="ixp0" +#hint.uart.1.addr=0x53fc0000 +#hint.uart.1.irq=20 +#hint.uart.1.ier_rxbits=0x1 +#hint.uart.1.rclk=1843200 # optional RS485 serial port -hint.uart.2.at="ixp0" -hint.uart.2.addr=0x53f80000 -hint.uart.2.irq=21 -hint.uart.2.rclk=1843200 +#hint.uart.2.at="ixp0" +#hint.uart.2.addr=0x53f80000 +#hint.uart.2.irq=21 +#hint.uart.2.rclk=1843200 # NPE Hardware Queue Manager hint.ixpqmgr.0.at="ixp0" ==== //depot/projects/smpng/sys/cam/scsi/scsi_target.c#28 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.77 2009/06/10 20:59:32 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.78 2009/06/25 18:46:30 kib Exp $"); #include @@ -552,7 +552,7 @@ softc = (struct targ_softc *)dev->si_drv1; write_len = error = 0; CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, - ("write - uio_resid %d\n", uio->uio_resid)); + ("write - uio_resid %zd\n", uio->uio_resid)); while (uio->uio_resid >= sizeof(user_ccb) && error == 0) { union ccb *ccb; ==== //depot/projects/smpng/sys/conf/files#246 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1445 2009/06/24 15:38:17 raj Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1446 2009/06/25 18:09:23 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -489,10 +489,10 @@ # dev/ata/ata_if.m optional ata | atacore dev/ata/ata-all.c optional ata | atacore +dev/ata/ata-dma.c optional ata | atacore dev/ata/ata-lowlevel.c optional ata | atacore dev/ata/ata-queue.c optional ata | atacore -dev/ata/ata-dma.c optional ata | atadma -dev/ata/ata-sata.c optional ata | atasata +dev/ata/ata-sata.c optional ata | atacore dev/ata/ata-card.c optional ata pccard | atapccard dev/ata/ata-cbus.c optional ata pc98 | atapc98 dev/ata/ata-isa.c optional ata isa | ataisa ==== //depot/projects/smpng/sys/dev/cas/if_cas.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cas/if_cas.c,v 1.2 2009/06/24 20:56:06 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cas/if_cas.c,v 1.3 2009/06/25 16:38:16 marius Exp $"); /* * driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 @@ -1697,14 +1697,16 @@ refcount_acquire(&rxds->rxds_refcount); bus_dmamap_sync(sc->sc_rdmatag, rxds->rxds_dmamap, BUS_DMASYNC_POSTREAD); +#if __FreeBSD_version < 800016 MEXTADD(m, (caddr_t)rxds->rxds_buf + off * 256 + ETHER_ALIGN, len, cas_free, -#if __FreeBSD_version < 800016 - rxds, + rxds, M_RDONLY, EXT_NET_DRV); #else + MEXTADD(m, (caddr_t)rxds->rxds_buf + + off * 256 + ETHER_ALIGN, len, cas_free, sc, (void *)(uintptr_t)idx, + M_RDONLY, EXT_NET_DRV); #endif - M_RDONLY, EXT_NET_DRV); if ((m->m_flags & M_EXT) == 0) { m_freem(m); m = NULL; @@ -1740,14 +1742,16 @@ m->m_len = min(CAS_PAGE_SIZE - off, len); bus_dmamap_sync(sc->sc_rdmatag, rxds->rxds_dmamap, BUS_DMASYNC_POSTREAD); +#if __FreeBSD_version < 800016 MEXTADD(m, (caddr_t)rxds->rxds_buf + off, - m->m_len, cas_free, -#if __FreeBSD_version < 800016 - rxds, + m->m_len, cas_free, rxds, M_RDONLY, + EXT_NET_DRV); #else - sc, (void *)(uintptr_t)idx, + MEXTADD(m, (caddr_t)rxds->rxds_buf + off, + m->m_len, cas_free, sc, + (void *)(uintptr_t)idx, M_RDONLY, + EXT_NET_DRV); #endif - M_RDONLY, EXT_NET_DRV); if ((m->m_flags & M_EXT) == 0) { m_freem(m); m = NULL; @@ -1774,14 +1778,16 @@ bus_dmamap_sync(sc->sc_rdmatag, rxds2->rxds_dmamap, BUS_DMASYNC_POSTREAD); +#if __FreeBSD_version < 800016 + MEXTADD(m2, (caddr_t)rxds2->rxds_buf, + m2->m_len, cas_free, rxds2, + M_RDONLY, EXT_NET_DRV); +#else MEXTADD(m2, (caddr_t)rxds2->rxds_buf, m2->m_len, cas_free, -#if __FreeBSD_version < 800016 - rxds2, -#else sc, (void *)(uintptr_t)idx2, + M_RDONLY, EXT_NET_DRV); #endif - M_RDONLY, EXT_NET_DRV); if ((m2->m_flags & M_EXT) == 0) { m_freem(m2); m2 = NULL; ==== //depot/projects/smpng/sys/dev/drm/drm_irq.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_irq.c,v 1.18 2009/06/25 14:15:45 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_irq.c,v 1.21 2009/06/25 15:47:32 rnoland Exp $"); /** @file drm_irq.c * Support code for handling setup/teardown of interrupt handlers and @@ -89,7 +89,7 @@ return; for (i = 0; i < dev->num_crtcs; i++) { - if (atomic_read(&dev->vblank[i].refcount) == 0 && + if (dev->vblank[i].refcount == 0 && dev->vblank[i].enabled && !dev->vblank[i].inmodeset) { DRM_DEBUG("disabling vblank on crtc %d\n", i); dev->vblank[i].last = @@ -136,13 +136,14 @@ DRM_DEBUG("\n"); /* Zero per-crtc vblank stuff */ + DRM_SPINLOCK(&dev->vbl_lock); for (i = 0; i < num_crtcs; i++) { DRM_INIT_WAITQUEUE(&dev->vblank[i].queue); - atomic_set(&dev->vblank[i].count, 0); - atomic_set(&dev->vblank[i].refcount, 0); + dev->vblank[i].refcount = 0; + atomic_set_rel_32(&dev->vblank[i].count, 0); } - dev->vblank_disable_allowed = 0; + DRM_SPINUNLOCK(&dev->vbl_lock); return 0; @@ -275,7 +276,7 @@ u32 drm_vblank_count(struct drm_device *dev, int crtc) { - return atomic_read(&dev->vblank[crtc].count); + return atomic_load_acq_32(&dev->vblank[crtc].count); } static void drm_update_vblank_count(struct drm_device *dev, int crtc) @@ -301,45 +302,48 @@ DRM_DEBUG("enabling vblank interrupts on crtc %d, missed %d\n", crtc, diff); - atomic_add(diff, &dev->vblank[crtc].count); + atomic_add_rel_32(&dev->vblank[crtc].count, diff); } int drm_vblank_get(struct drm_device *dev, int crtc) { int ret = 0; - DRM_SPINLOCK(&dev->vbl_lock); + /* Make sure that we are called with the lock held */ + mtx_assert(&dev->vbl_lock, MA_OWNED); + /* Going from 0->1 means we have to enable interrupts again */ - atomic_add_acq_int(&dev->vblank[crtc].refcount, 1); - if (dev->vblank[crtc].refcount == 1 && + if (++dev->vblank[crtc].refcount == 1 && !dev->vblank[crtc].enabled) { ret = dev->driver->enable_vblank(dev, crtc); DRM_DEBUG("enabling vblank on crtc %d, ret: %d\n", crtc, ret); if (ret) - atomic_dec(&dev->vblank[crtc].refcount); + --dev->vblank[crtc].refcount; else { dev->vblank[crtc].enabled = 1; drm_update_vblank_count(dev, crtc); } } - DRM_SPINUNLOCK(&dev->vbl_lock); + + if (dev->vblank[crtc].enabled) + dev->vblank[crtc].last = + dev->driver->get_vblank_counter(dev, crtc); return ret; } void drm_vblank_put(struct drm_device *dev, int crtc) { - KASSERT(atomic_read(&dev->vblank[crtc].refcount) > 0, + /* Make sure that we are called with the lock held */ + mtx_assert(&dev->vbl_lock, MA_OWNED); + + KASSERT(dev->vblank[crtc].refcount > 0, ("invalid refcount")); /* Last user schedules interrupt disable */ - atomic_subtract_acq_int(&dev->vblank[crtc].refcount, 1); - - DRM_SPINLOCK(&dev->vbl_lock); - if (dev->vblank[crtc].refcount == 0) + if (--dev->vblank[crtc].refcount == 0) callout_reset(&dev->vblank_disable_timer, 5 * DRM_HZ, (timeout_t *)vblank_disable_fn, (void *)dev); - DRM_SPINUNLOCK(&dev->vbl_lock); } int drm_modeset_ctl(struct drm_device *dev, void *data, @@ -348,13 +352,11 @@ struct drm_modeset_ctl *modeset = data; int crtc, ret = 0; - DRM_DEBUG("num_crtcs=%d\n", dev->num_crtcs); /* If drm_vblank_init() hasn't been called yet, just no-op */ if (!dev->num_crtcs) goto out; crtc = modeset->crtc; - DRM_DEBUG("crtc=%d\n", crtc); if (crtc >= dev->num_crtcs) { ret = EINVAL; goto out; @@ -369,25 +371,25 @@ */ switch (modeset->cmd) { case _DRM_PRE_MODESET: - DRM_DEBUG("pre-modeset\n"); + DRM_DEBUG("pre-modeset, crtc %d\n", crtc); + DRM_SPINLOCK(&dev->vbl_lock); if (!dev->vblank[crtc].inmodeset) { dev->vblank[crtc].inmodeset = 0x1; if (drm_vblank_get(dev, crtc) == 0) dev->vblank[crtc].inmodeset |= 0x2; } + DRM_SPINUNLOCK(&dev->vbl_lock); break; case _DRM_POST_MODESET: - DRM_DEBUG("post-modeset\n"); + DRM_DEBUG("post-modeset, crtc %d\n", crtc); + DRM_SPINLOCK(&dev->vbl_lock); if (dev->vblank[crtc].inmodeset) { - DRM_SPINLOCK(&dev->vbl_lock); - dev->vblank_disable_allowed = 1; - DRM_SPINUNLOCK(&dev->vbl_lock); - if (dev->vblank[crtc].inmodeset & 0x2) drm_vblank_put(dev, crtc); - dev->vblank[crtc].inmodeset = 0; } + dev->vblank_disable_allowed = 1; + DRM_SPINUNLOCK(&dev->vbl_lock); break; default: ret = EINVAL; @@ -421,7 +423,9 @@ if (crtc >= dev->num_crtcs) return EINVAL; + DRM_SPINLOCK(&dev->vbl_lock); ret = drm_vblank_get(dev, crtc); + DRM_SPINUNLOCK(&dev->vbl_lock); if (ret) { DRM_ERROR("failed to acquire vblank counter, %d\n", ret); return ret; @@ -478,13 +482,16 @@ } done: + DRM_SPINLOCK(&dev->vbl_lock); drm_vblank_put(dev, crtc); + DRM_SPINUNLOCK(&dev->vbl_lock); + return ret; } void drm_handle_vblank(struct drm_device *dev, int crtc) { - atomic_inc(&dev->vblank[crtc].count); + atomic_add_rel_32(&dev->vblank[crtc].count, 1); DRM_WAKEUP(&dev->vblank[crtc].queue); } ==== //depot/projects/smpng/sys/dev/drm/i915_dma.c#16 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/i915_dma.c,v 1.19 2009/06/20 16:45:14 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/i915_dma.c,v 1.20 2009/06/25 19:23:25 rnoland Exp $"); #include "dev/drm/drmP.h" #include "dev/drm/drm.h" @@ -644,18 +644,17 @@ return -EFAULT; } } - DRM_LOCK(); ret = i915_dispatch_batchbuffer(dev, batch); - if (sarea_priv) - sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); - - DRM_UNLOCK(); if (batch->num_cliprects) vsunlock(batch->cliprects, cliplen); + DRM_LOCK(); + if (sarea_priv) + sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); + return ret; } @@ -697,10 +696,9 @@ return -EFAULT; } } - DRM_LOCK(); ret = i915_dispatch_cmdbuffer(dev, cmdbuf); - DRM_UNLOCK(); + if (cmdbuf->num_cliprects) { vsunlock(cmdbuf->buf, cmdbuf->sz); vsunlock(cmdbuf->cliprects, cliplen); ==== //depot/projects/smpng/sys/dev/drm/i915_drv.h#11 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/i915_drv.h,v 1.12 2009/06/20 16:45:14 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/i915_drv.h,v 1.13 2009/06/25 18:27:08 rnoland Exp $"); #ifndef _I915_DRV_H_ #define _I915_DRV_H_ @@ -129,7 +129,6 @@ int page_flipping; wait_queue_head_t irq_queue; - atomic_t irq_received; /** Protects user_irq_refcount and irq_mask_reg */ DRM_SPINTYPE user_irq_lock; /** Refcount for i915_user_irq_get() versus i915_user_irq_put(). */ ==== //depot/projects/smpng/sys/dev/drm/i915_irq.c#12 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/i915_irq.c,v 1.14 2009/06/20 16:45:14 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/i915_irq.c,v 1.15 2009/06/25 18:27:08 rnoland Exp $"); #include "dev/drm/drmP.h" #include "dev/drm/drm.h" @@ -53,12 +53,6 @@ #define I915_INTERRUPT_ENABLE_MASK (I915_INTERRUPT_ENABLE_FIX | \ I915_INTERRUPT_ENABLE_VAR) -#define I915_PIPE_VBLANK_STATUS (PIPE_START_VBLANK_INTERRUPT_STATUS |\ - PIPE_VBLANK_INTERRUPT_STATUS) - -#define I915_PIPE_VBLANK_ENABLE (PIPE_START_VBLANK_INTERRUPT_ENABLE |\ - PIPE_VBLANK_INTERRUPT_ENABLE) - #define DRM_I915_VBLANK_PIPE_ALL (DRM_I915_VBLANK_PIPE_A | \ DRM_I915_VBLANK_PIPE_B) @@ -154,7 +148,7 @@ low_frame = pipe ? PIPEBFRAMEPIXEL : PIPEAFRAMEPIXEL; if (!i915_pipe_enabled(dev, pipe)) { - DRM_ERROR("trying to get vblank count for disabled pipe %d\n", pipe); + DRM_DEBUG("trying to get vblank count for disabled pipe %d\n", pipe); return 0; } @@ -183,7 +177,7 @@ int reg = pipe ? PIPEB_FRMCOUNT_GM45 : PIPEA_FRMCOUNT_GM45; if (!i915_pipe_enabled(dev, pipe)) { - DRM_ERROR("trying to get vblank count for disabled pipe %d\n", pipe); + DRM_DEBUG("trying to get vblank count for disabled pipe %d\n", pipe); return 0; } @@ -200,12 +194,10 @@ u32 vblank_enable; int irq_received; - atomic_inc(&dev_priv->irq_received); - iir = I915_READ(IIR); if (IS_I965G(dev)) { - vblank_status = I915_START_VBLANK_INTERRUPT_STATUS; + vblank_status = PIPE_START_VBLANK_INTERRUPT_STATUS; vblank_enable = PIPE_START_VBLANK_INTERRUPT_ENABLE; } else { vblank_status = I915_VBLANK_INTERRUPT_STATUS; @@ -305,9 +297,12 @@ { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + if (dev->irq_enabled == 0) + return; + DRM_DEBUG("\n"); DRM_SPINLOCK(&dev_priv->user_irq_lock); - if (dev->irq_enabled && (++dev_priv->user_irq_refcount == 1)) + if (++dev_priv->user_irq_refcount == 1) i915_enable_irq(dev_priv, I915_USER_INTERRUPT); DRM_SPINUNLOCK(&dev_priv->user_irq_lock); } @@ -316,12 +311,13 @@ { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + if (dev->irq_enabled == 0) + return; + DRM_SPINLOCK(&dev_priv->user_irq_lock); - if (dev->irq_enabled) { - KASSERT(dev_priv->user_irq_refcount > 0, ("invalid refcount")); - if (--dev_priv->user_irq_refcount == 0) - i915_disable_irq(dev_priv, I915_USER_INTERRUPT); - } + KASSERT(dev_priv->user_irq_refcount > 0, ("invalid refcount")); + if (--dev_priv->user_irq_refcount == 0) + i915_disable_irq(dev_priv, I915_USER_INTERRUPT); DRM_SPINUNLOCK(&dev_priv->user_irq_lock); } @@ -408,11 +404,8 @@ int i915_enable_vblank(struct drm_device *dev, int pipe) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - int pipeconf_reg = (pipe == 0) ? PIPEACONF : PIPEBCONF; - u32 pipeconf; - pipeconf = I915_READ(pipeconf_reg); - if (!(pipeconf & PIPEACONF_ENABLE)) + if (!i915_pipe_enabled(dev, pipe)) return -EINVAL; DRM_SPINLOCK(&dev_priv->user_irq_lock); @@ -500,8 +493,6 @@ { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 25 21:04:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B7F11065676; Thu, 25 Jun 2009 21:04:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFE4D106564A for ; Thu, 25 Jun 2009 21:04:26 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 943EA8FC1A for ; Thu, 25 Jun 2009 21:04:26 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PL4QsI090328 for ; Thu, 25 Jun 2009 21:04:26 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PL4P0s090326 for perforce@freebsd.org; Thu, 25 Jun 2009 21:04:25 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 21:04:25 GMT Message-Id: <200906252104.n5PL4P0s090326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 21:04:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=165212 Change 165212 by zec@zec_amdx4 on 2009/06/25 21:03:52 Garbage collect. Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#23 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#23 (text+ko) ==== @@ -55,7 +55,6 @@ #include #include #include -#include #include #include From owner-p4-projects@FreeBSD.ORG Thu Jun 25 21:05:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 097A91065675; Thu, 25 Jun 2009 21:05:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDEFC106566C for ; Thu, 25 Jun 2009 21:05:27 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 927788FC19 for ; Thu, 25 Jun 2009 21:05:27 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PL5RbV090535 for ; Thu, 25 Jun 2009 21:05:27 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PL5RvU090533 for perforce@freebsd.org; Thu, 25 Jun 2009 21:05:27 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 21:05:27 GMT Message-Id: <200906252105.n5PL5RvU090533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 21:05:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165213 Change 165213 by zec@zec_amdx4 on 2009/06/25 21:04:45 Garbage collect. Affected files ... .. //depot/projects/vimage-commit2/src/sys/rpc/svc.c#8 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/rpc/svc.c#8 (text+ko) ==== @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include @@ -59,7 +58,6 @@ #include #include #include -#include #include #include From owner-p4-projects@FreeBSD.ORG Thu Jun 25 21:18:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18173106567E; Thu, 25 Jun 2009 21:18:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C56BE106568D for ; Thu, 25 Jun 2009 21:18:42 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 992828FC18 for ; Thu, 25 Jun 2009 21:18:42 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PLIg61091287 for ; Thu, 25 Jun 2009 21:18:42 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PLIgsh091285 for perforce@freebsd.org; Thu, 25 Jun 2009 21:18:42 GMT (envelope-from zec@fer.hr) Date: Thu, 25 Jun 2009 21:18:42 GMT Message-Id: <200906252118.n5PLIgsh091285@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165215 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 21:18:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165215 Change 165215 by zec@zec_amdx4 on 2009/06/25 21:17:56 More of noise reduction. Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#9 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#9 (text+ko) ==== @@ -57,7 +57,6 @@ #include #include #include -#include #include #include From owner-p4-projects@FreeBSD.ORG Thu Jun 25 21:20:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 138741065670; Thu, 25 Jun 2009 21:20:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C758F106564A for ; Thu, 25 Jun 2009 21:20:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA35F8FC14 for ; Thu, 25 Jun 2009 21:20:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PLKiOY091494 for ; Thu, 25 Jun 2009 21:20:44 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PLKi27091492 for perforce@freebsd.org; Thu, 25 Jun 2009 21:20:44 GMT (envelope-from jhb@freebsd.org) Date: Thu, 25 Jun 2009 21:20:44 GMT Message-Id: <200906252120.n5PLKi27091492@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 165216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 21:20:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165216 Change 165216 by jhb@jhb_jhbbsd on 2009/06/25 21:20:32 IFC @165214 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#35 integrate .. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#20 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_logging.c#13 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#30 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#36 integrate .. //depot/projects/smpng/sys/i386/include/intr_machdep.h#22 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#33 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#35 (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.43 2009/06/25 18:13:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ */ /* @@ -518,4 +518,14 @@ } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL); +#else +/* + * Always route interrupts to the current processor in the UP case. + */ +u_int +intr_next_cpu(void) +{ + + return (PCPU_GET(apic_id)); +} #endif ==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#20 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.22 2009/06/25 18:13:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -152,9 +152,7 @@ int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); -#ifdef SMP u_int intr_next_cpu(void); -#endif struct intsrc *intr_lookup_source(int vector); int intr_register_pic(struct pic *pic); int intr_register_source(struct intsrc *isrc); ==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_logging.c#13 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_logging.c,v 1.14 2008/12/15 14:41:55 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_logging.c,v 1.15 2009/06/25 20:59:37 attilio Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -552,6 +553,12 @@ int error; struct proc *p; + /* + * As long as it is possible to get a LOR between pmc_sx lock and + * proctree/allproc sx locks used for adding a new process, assure + * the former is not held here. + */ + sx_assert(&pmc_sx, SA_UNLOCKED); PMCDBG(LOG,CFG,1, "config po=%p logfd=%d", po, logfd); p = po->po_owner; ==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#30 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.42 2008/12/13 13:07:12 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.43 2009/06/25 20:59:37 attilio Exp $"); #include #include @@ -2663,7 +2663,7 @@ static int pmc_syscall_handler(struct thread *td, void *syscall_args) { - int error, is_sx_downgraded, op; + int error, is_sx_downgraded, is_sx_locked, op; struct pmc_syscall_args *c; void *arg; @@ -2672,6 +2672,7 @@ DROP_GIANT(); is_sx_downgraded = 0; + is_sx_locked = 1; c = (struct pmc_syscall_args *) syscall_args; @@ -2720,9 +2721,11 @@ * a log file configured, flush its buffers and * de-configure it. */ - if (cl.pm_logfd >= 0) + if (cl.pm_logfd >= 0) { + sx_xunlock(&pmc_sx); + is_sx_locked = 0; error = pmclog_configure_log(md, po, cl.pm_logfd); - else if (po->po_flags & PMC_PO_OWNS_LOGFILE) { + } else if (po->po_flags & PMC_PO_OWNS_LOGFILE) { pmclog_process_closelog(po); error = pmclog_flush(po); if (error == 0) { @@ -3772,10 +3775,12 @@ break; } - if (is_sx_downgraded) - sx_sunlock(&pmc_sx); - else - sx_xunlock(&pmc_sx); + if (is_sx_locked != 0) { + if (is_sx_downgraded) + sx_sunlock(&pmc_sx); + else + sx_xunlock(&pmc_sx); + } if (error) atomic_add_int(&pmc_stats.pm_syscall_errors, 1); ==== //depot/projects/smpng/sys/i386/i386/intr_machdep.c#36 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.39 2009/06/25 18:13:46 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.40 2009/06/25 20:35:46 jhb Exp $ */ /* @@ -491,4 +491,14 @@ } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL); +#else +/* + * Always route interrupts to the current processor in the UP case. + */ +u_int +intr_next_cpu(void) +{ + + return (PCPU_GET(apic_id)); +} #endif ==== //depot/projects/smpng/sys/i386/include/intr_machdep.h#22 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.23 2009/06/25 18:13:46 jhb Exp $ + * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.24 2009/06/25 20:35:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -139,9 +139,7 @@ int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); -#ifdef SMP u_int intr_next_cpu(void); -#endif struct intsrc *intr_lookup_source(int vector); int intr_register_pic(struct pic *pic); int intr_register_source(struct intsrc *isrc); ==== //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#33 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_dirhash.c,v 1.32 2009/06/17 18:55:29 snb Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_dirhash.c,v 1.33 2009/06/25 20:40:13 snb Exp $"); #include "opt_ufs.h" @@ -348,9 +348,12 @@ int dirblocks, i, j, memreqd, nblocks, narrays, nslots, slot; /* Take care of a decreased sysctl value. */ - while (ufs_dirhashmem > ufs_dirhashmaxmem) + while (ufs_dirhashmem > ufs_dirhashmaxmem) { if (ufsdirhash_recycle(0) != 0) return (-1); + /* Recycled enough memory, so unlock the list. */ + DIRHASHLIST_UNLOCK(); + } /* Check if we can/should use dirhash. */ if (ip->i_size < ufs_mindirhashsize || OFSFMT(ip->i_vnode) || From owner-p4-projects@FreeBSD.ORG Thu Jun 25 22:38:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B7151065673; Thu, 25 Jun 2009 22:38:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF306106564A for ; Thu, 25 Jun 2009 22:38:11 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BC3898FC13 for ; Thu, 25 Jun 2009 22:38:11 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5PMcBsL097928 for ; Thu, 25 Jun 2009 22:38:11 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5PMcBmn097926 for perforce@freebsd.org; Thu, 25 Jun 2009 22:38:11 GMT (envelope-from mav@freebsd.org) Date: Thu, 25 Jun 2009 22:38:11 GMT Message-Id: <200906252238.n5PMcBmn097926@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165221 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jun 2009 22:38:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=165221 Change 165221 by mav@mav_mavbook on 2009/06/25 22:37:55 Implement ATA disk cache flushing same way as for SCSI. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#14 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#14 (text+ko) ==== @@ -256,6 +256,7 @@ { struct cam_periph *periph; struct ada_softc *softc; + union ccb *ccb; int error; periph = (struct cam_periph *)dp->d_drv1; @@ -270,6 +271,37 @@ } softc = (struct ada_softc *)periph->softc; + /* We only sync the cache if the drive is capable of it. */ + if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) { + + ccb = cam_periph_getccb(periph, /*priority*/1); + ccb->ccb_h.ccb_state = ADA_CCB_DUMP; + cam_fill_ataio(&ccb->ataio, + 1, + adadone, + CAM_DIR_NONE, + 0, + NULL, + 0, + ada_default_timeout*1000); + + if (softc->flags & ADA_FLAG_CAN_48BIT) + ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE48, 0, 0, 0); + else + ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0); + xpt_polled_action(ccb); + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) + xpt_print(periph->path, "Synchronize cache failed\n"); + + if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) + cam_release_devq(ccb->ccb_h.path, + /*relsim_flags*/0, + /*reduction*/0, + /*timeout*/0, + /*getcount_only*/0); + xpt_release_ccb(ccb); + } softc->flags &= ~ADA_FLAG_OPEN; cam_periph_unhold(periph); @@ -340,7 +372,7 @@ struct cam_periph *periph; struct ada_softc *softc; u_int secsize; - struct ccb_ataio ataio; + union ccb ccb; struct disk *dp; uint64_t lba; uint16_t count; @@ -362,9 +394,9 @@ if (length > 0) { periph->flags |= CAM_PERIPH_POLLED; - xpt_setup_ccb(&ataio.ccb_h, periph->path, /*priority*/1); - ataio.ccb_h.ccb_state = ADA_CCB_DUMP; - cam_fill_ataio(&ataio, + xpt_setup_ccb(&ccb.ccb_h, periph->path, /*priority*/1); + ccb.ccb_h.ccb_state = ADA_CCB_DUMP; + cam_fill_ataio(&ccb.ataio, 0, adadone, CAM_DIR_OUT, @@ -375,15 +407,15 @@ if ((softc->flags & ADA_FLAG_CAN_48BIT) && (lba + count >= ATA_MAX_28BIT_LBA || count >= 256)) { - ata_48bit_cmd(&ataio, ATA_WRITE_DMA48, + ata_48bit_cmd(&ccb.ataio, ATA_WRITE_DMA48, 0, lba, count); } else { - ata_36bit_cmd(&ataio, ATA_WRITE_DMA, + ata_36bit_cmd(&ccb.ataio, ATA_WRITE_DMA, 0, lba, count); } - xpt_polled_action((union ccb *)&ataio); + xpt_polled_action(&ccb); - if ((ataio.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + if ((ccb.ataio.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { printf("Aborting dump due to I/O error.\n"); cam_periph_unlock(periph); return(EIO); @@ -391,6 +423,36 @@ cam_periph_unlock(periph); return(0); } + + if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) { + xpt_setup_ccb(&ccb.ccb_h, periph->path, /*priority*/1); + + ccb.ccb_h.ccb_state = ADA_CCB_DUMP; + cam_fill_ataio(&ccb.ataio, + 1, + adadone, + CAM_DIR_NONE, + 0, + NULL, + 0, + ada_default_timeout*1000); + + if (softc->flags & ADA_FLAG_CAN_48BIT) + ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); + else + ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); + xpt_polled_action(&ccb); + + if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) + xpt_print(periph->path, "Synchronize cache failed\n"); + + if ((ccb.ccb_h.status & CAM_DEV_QFRZN) != 0) + cam_release_devq(ccb.ccb_h.path, + /*relsim_flags*/0, + /*reduction*/0, + /*timeout*/0, + /*getcount_only*/0); + } periph->flags &= ~CAM_PERIPH_POLLED; cam_periph_unlock(periph); return (0); @@ -1026,17 +1088,16 @@ struct ada_softc *softc; TAILQ_FOREACH(periph, &adadriver.units, unit_links) { -// union ccb ccb; + union ccb ccb; cam_periph_lock(periph); softc = (struct ada_softc *)periph->softc; -#if 0 /* * We only sync the cache if the drive is still open, and * if the drive is capable of it.. */ - if (((softc->flags & ADA_FLAG_OPEN) == 0) - || (softc->quirks & ADA_Q_NO_SYNC_CACHE)) { + if (((softc->flags & ADA_FLAG_OPEN) == 0) || + (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) == 0) { cam_periph_unlock(periph); continue; } @@ -1044,44 +1105,30 @@ xpt_setup_ccb(&ccb.ccb_h, periph->path, /*priority*/1); ccb.ccb_h.ccb_state = ADA_CCB_DUMP; - scsi_synchronize_cache(&ccb.csio, - /*retries*/1, - /*cbfcnp*/adadone, - 0,//MSG_SIMPLE_Q_TAG, - /*begin_lba*/0, /* whole disk */ - /*lb_count*/0, - SSD_FULL_SIZE, - 60 * 60 * 1000); + cam_fill_ataio(&ccb.ataio, + 1, + adadone, + CAM_DIR_NONE, + 0, + NULL, + 0, + ada_default_timeout*1000); + if (softc->flags & ADA_FLAG_CAN_48BIT) + ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); + else + ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); xpt_polled_action(&ccb); - if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { - if (((ccb.ccb_h.status & CAM_STATUS_MASK) == - CAM_SCSI_STATUS_ERROR) - && (ccb.csio.scsi_status == SCSI_STATUS_CHECK_COND)){ - int error_code, sense_key, asc, ascq; + if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) + xpt_print(periph->path, "Synchronize cache failed\n"); - scsi_extract_sense(&ccb.csio.sense_data, - &error_code, &sense_key, - &asc, &ascq); - - if (sense_key != SSD_KEY_ILLEGAL_REQUEST) - scsi_sense_print(&ccb.csio); - } else { - xpt_print(periph->path, "Synchronize " - "cache failed, status == 0x%x, scsi status " - "== 0x%x\n", ccb.ccb_h.status, - ccb.csio.scsi_status); - } - } - if ((ccb.ccb_h.status & CAM_DEV_QFRZN) != 0) cam_release_devq(ccb.ccb_h.path, /*relsim_flags*/0, /*reduction*/0, /*timeout*/0, /*getcount_only*/0); -#endif cam_periph_unlock(periph); } } From owner-p4-projects@FreeBSD.ORG Fri Jun 26 03:42:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59AE71065674; Fri, 26 Jun 2009 03:42:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0ED28106566C for ; Fri, 26 Jun 2009 03:42:46 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E75488FC0A for ; Fri, 26 Jun 2009 03:42:45 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5Q3gjkp035847 for ; Fri, 26 Jun 2009 03:42:45 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5Q3gjOh035845 for perforce@freebsd.org; Fri, 26 Jun 2009 03:42:45 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 26 Jun 2009 03:42:45 GMT Message-Id: <200906260342.n5Q3gjOh035845@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165231 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 03:42:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165231 Change 165231 by pgj@petymeg-current on 2009/06/26 03:42:23 Introduce spcblist sysctl(8) variable for unix domain sockets, a stream format version of passing pcb lists from kernel to user applications. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#35 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#3 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#3 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#35 (text+ko) ==== @@ -51,6 +51,7 @@ { "_tcbinfo", "_udbinfo", "_divcbinfo", "_ripcbinfo" }; static void extract_xunpcb_data(struct xunpcb *, struct socket_type *); +static void extract_unpcb_data(struct unpcb_data *, struct socket_type *); static void extract_inet_data(struct tcpcb *, struct inpcb *, struct xsocket *, struct socket_type *); @@ -75,15 +76,19 @@ net_local_pcblist_sysctl(int family, int type, struct socket_type_list *list, __unused int flags) { - char *buf; + char *buf, *p; size_t len; char mibvar[64]; - struct xunpgen *xug, *oxug; - struct xunpcb *xunp; + int count, i; + unp_gen_t gencnt; + + struct unpcb_stream *usp; + struct unpcb_data *udp; struct socket_type *stp; - sprintf(mibvar, "net.local.%s.pcblist", socktype[type]); + /* XXX: Should "spcblist" be renamed to "pcblist"? */ + sprintf(mibvar, "net.local.%s.spcblist", socktype[type]); len = 0; if (sysctlbyname(mibvar, 0, &len, 0, 0) < 0) { @@ -100,20 +105,36 @@ free(buf); return (-2); } + if (len < sizeof(*usp)) { + list->stl_error = NETSTAT_ERROR_VERSION; + free(buf); + return (-2); + } + + p = buf; + usp = (struct unpcb_stream *)p; + p += sizeof(*usp); + + if (usp->us_version != UNPCB_STREAM_VERSION) { + list->stl_error = NETSTAT_ERROR_VERSION; + free(buf); + return (-1); + } - oxug = xug = (struct xunpgen *)buf; - for (xug = (struct xunpgen *)((char *)xug + xug->xug_len); - xug->xug_len > sizeof(struct xunpgen); - xug = (struct xunpgen *)((char *)xug + xug->xug_len)) { - xunp = (struct xunpcb *)xug; + count = usp->us_count; + gencnt = usp->us_gencnt; + + for (i = 0; i < count; i++) { + udp = (struct unpcb_data *)p; + p += sizeof(*udp); /* Keep active PCBs only. */ - if (xunp->xu_unp.unp_gencnt <= oxug->xug_gen) { + if (udp->ud_gencnt <= usp->us_gencnt) { stp = _netstat_st_allocate(list, family, type, socktype[type]); - extract_xunpcb_data(xunp, stp); + extract_unpcb_data(udp, stp); } } - + free(buf); return (0); } @@ -234,7 +255,6 @@ #define KREAD(off, buf, len) do { \ if (kread(kvm, (uintptr_t)(off), (buf), (len)) != 0) { \ - list->stl_error = NETSTAT_ERROR_UNDEFINED; \ return (-1); \ } \ } while (0); @@ -396,7 +416,6 @@ #define NPCB_KVM(proc, family, type, list, kvm, nl, flags) do { \ if (net_##proc##_pcblist_kvm((family), (type), (list), (kvm), (nl), \ (flags)) != 0) { \ - list->stl_error = NETSTAT_ERROR_UNDEFINED; \ return (-1); \ } \ } while (0) @@ -404,7 +423,6 @@ #define NPCB_SCT(proc, family, type, list, flags) do { \ if (net_##proc##_pcblist_sysctl((family), (type), (list), \ (flags)) != 0) { \ - list->stl_error = NETSTAT_ERROR_UNDEFINED; \ return (-1); \ } \ } while (0) @@ -619,6 +637,46 @@ } void +extract_unpcb_data(struct unpcb_data *udp, struct socket_type *stp) +{ + strlcpy(stp->st_extname, stp->st_name, SOCKTYPE_MAXNAME); + stp->st_qlen = udp->ud_qlen; + stp->st_incqlen = udp->ud_incqlen; + stp->st_qlimit = udp->ud_qlimit; + stp->st_snd.sbt_cc = udp->ud_snd_cc; + stp->st_snd.sbt_mcnt = udp->ud_snd_mcnt; + stp->st_snd.sbt_ccnt = udp->ud_snd_ccnt; + stp->st_snd.sbt_hiwat = udp->ud_snd_hiwat; + stp->st_snd.sbt_lowat = udp->ud_snd_lowat; + stp->st_snd.sbt_mbcnt = udp->ud_snd_mbcnt; + stp->st_snd.sbt_mbmax = udp->ud_snd_mbmax; + stp->st_rcv.sbt_cc = udp->ud_rcv_cc; + stp->st_rcv.sbt_mcnt = udp->ud_rcv_mcnt; + stp->st_rcv.sbt_ccnt = udp->ud_rcv_ccnt; + stp->st_rcv.sbt_hiwat = udp->ud_rcv_hiwat; + stp->st_rcv.sbt_lowat = udp->ud_rcv_lowat; + stp->st_rcv.sbt_mbcnt = udp->ud_rcv_mbcnt; + stp->st_rcv.sbt_mbmax = udp->ud_rcv_mbmax; + stp->st_pcb = udp->ud_pcb; + stp->st_vnode = udp->ud_vnode; + stp->st_conn = udp->ud_conn; + stp->st_refs = udp->ud_refs; + stp->st_reflink = udp->ud_reflink; + stp->st_flags = SOCKTYPE_VNODE | SOCKTYPE_CONN | SOCKTYPE_REFS; + stp->st_addrcnt = 0; + if (udp->ud_address_len > 0) { + stp->st_address[stp->st_addrcnt] = + _netstat_at_allocate(stp, NETSTAT_ADDRTYPE_LOCAL, + udp->ud_address, NULL, 0); + stp->st_address[stp->st_addrcnt]->at_port = 0; + strcpy(stp->st_address[stp->st_addrcnt]->at_portname, "*"); + stp->st_address[stp->st_addrcnt]->at_numeric[0] = '\0'; + stp->st_addrcnt += 1; + } + stp->st_tcpstate[0] = '\0'; +} + +void extract_inet_data(struct tcpcb *tp, struct inpcb *inp, struct xsocket *so, struct socket_type *stp) { ==== //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#3 (text+ko) ==== @@ -71,6 +71,7 @@ #include #include #include +#include #include #include #include @@ -79,6 +80,7 @@ #include #include #include +#include #include #include #include @@ -1485,6 +1487,125 @@ (caddr_t)(long)SOCK_STREAM, 0, unp_pcblist, "S,xunpcb", "List of active local stream sockets"); +static int +unp_spcblist(SYSCTL_HANDLER_ARGS) +{ + struct unpcb_stream us; + struct unpcb_data ud; + struct sbuf sbuf; + int error, i, buflen; + int freeunp; + char *buffer; + + struct unpcb *unp, **unp_list; + struct unp_head *head; + struct socket *sock; + + error = 0; + head = ((intptr_t)arg1 == SOCK_DGRAM ? &unp_dhead : &unp_shead); + + bzero(&us, sizeof(us)); + us.us_version = UNPCB_STREAM_VERSION; + + UNP_LIST_LOCK(); + us.us_gencnt = unp_gencnt; + us.us_count = unp_count; + UNP_LIST_UNLOCK(); + + unp_list = malloc(us.us_count * sizeof(*unp_list), M_TEMP, M_WAITOK); + + UNP_LIST_LOCK(); + for (unp = LIST_FIRST(head), i = 0; (unp != NULL) && (i < us.us_count); + unp = LIST_NEXT(unp, unp_link)) { + UNP_PCB_LOCK(unp); + if (unp->unp_gencnt <= us.us_gencnt) { + if (cr_cansee(req->td->td_ucred, + unp->unp_socket->so_cred) == 0) { + unp_list[i++] = unp; + unp->unp_refcount++; + } + } + UNP_PCB_UNLOCK(unp); + } + UNP_LIST_UNLOCK(); + us.us_count = i; + + buflen = sizeof(us) + us.us_count * sizeof(ud) + 1; + buffer = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + sbuf_new(&sbuf, buffer, buflen, SBUF_FIXEDLEN); + + if (sbuf_bcat(&sbuf, &us, sizeof(us)) < 0) { + error = ENOMEM; + goto out; + } + + for (i = 0; i < us.us_count; i++) { + unp = unp_list[i]; + UNP_PCB_LOCK(unp); + unp->unp_refcount--; + if (unp->unp_refcount != 0 && unp->unp_gencnt <= us.us_gencnt) { + bzero(&ud, sizeof(ud)); + sock = unp->unp_socket; + ud.ud_gencnt = unp->unp_gencnt; + ud.ud_qlen = sock->so_qlen; + ud.ud_incqlen = sock->so_incqlen; + ud.ud_qlimit = sock->so_qlimit; + ud.ud_snd_cc = sock->so_snd.sb_cc; + ud.ud_snd_mcnt = sock->so_snd.sb_mcnt; + ud.ud_snd_ccnt = sock->so_snd.sb_ccnt; + ud.ud_snd_hiwat = sock->so_snd.sb_hiwat; + ud.ud_snd_lowat = sock->so_snd.sb_lowat; + ud.ud_snd_mbcnt = sock->so_snd.sb_mbcnt; + ud.ud_snd_mbmax = sock->so_snd.sb_mbmax; + ud.ud_rcv_cc = sock->so_rcv.sb_cc; + ud.ud_rcv_mcnt = sock->so_rcv.sb_mcnt; + ud.ud_rcv_ccnt = sock->so_rcv.sb_ccnt; + ud.ud_rcv_hiwat = sock->so_rcv.sb_hiwat; + ud.ud_rcv_lowat = sock->so_rcv.sb_lowat; + ud.ud_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + ud.ud_rcv_mbmax = sock->so_rcv.sb_mbmax; + ud.ud_pcb = (u_long)sock->so_pcb; + ud.ud_vnode = (u_long)unp->unp_vnode; + ud.ud_conn = (u_long)unp->unp_conn; + ud.ud_refs = (u_long)LIST_FIRST(&unp->unp_refs); + ud.ud_reflink = (u_long)LIST_NEXT(unp, unp_reflink); + ud.ud_address_len = (unp->unp_addr != NULL) ? + unp->unp_addr->sun_len : 0; + if (ud.ud_address_len > 0) { + bcopy(ud.ud_address, unp->unp_addr, + ud.ud_address_len); + } + UNP_PCB_UNLOCK(unp); + if (sbuf_bcat(&sbuf, &ud, sizeof(ud)) < 0) { + error = ENOMEM; + goto uout; + } + } else { + freeunp = (unp->unp_refcount == 0); + UNP_PCB_UNLOCK(unp); + if (freeunp) { + UNP_PCB_LOCK_DESTROY(unp); + uma_zfree(unp_zone, unp); + } + } + } + sbuf_finish(&sbuf); + error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); +uout: + free(unp_list, M_TEMP); +out: + free(buffer, M_TEMP); + return (error); +} + +SYSCTL_PROC(_net_local_dgram, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + (caddr_t)(long)SOCK_DGRAM, 0, unp_spcblist, "s,struct unpcb_data", + "List of active local datagram sockets (stream)"); + +SYSCTL_PROC(_net_local_stream, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + (caddr_t)(long)SOCK_STREAM, 0, unp_spcblist, "s,struct unpcb_data", + "List of active local stream sockets (stream)"); + static void unp_shutdown(struct unpcb *unp) { ==== //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#3 (text+ko) ==== @@ -151,27 +151,17 @@ #define UNPCB_STREAM_VERSION 0x00000001 -/* - * Stream structure: - * (unpcb_stream) (unpcb_gen) (unpcb_data [unpcb_address]) ... (unpcb_gen) - * - */ - struct unpcb_stream { u_int32_t us_version; /* Stream format version. */ - u_int32_t us_count; /* Number of records. */ - u_int32_t _us_pad[2]; /* Padding. */ + u_int32_t us_count; + u_int64_t us_gencnt; }; -struct unpcb_gen { - u_int64_t ug_gen; - u_int64_t ug_sogen; - u_int64_t _ug_pad[6]; -}; - /* Exported data for user applications (not complete) */ struct unpcb_data { - uint16_t ud_address_len; /* 0: no address associated. */ + u_int64_t ud_gencnt; + uint8_t ud_address_len; + char ud_address[104]; uint16_t ud_qlen; uint16_t ud_incqlen; uint16_t ud_qlimit; @@ -194,7 +184,6 @@ u_int64_t ud_conn; u_int64_t ud_refs; u_int64_t ud_reflink; - uint16_t _ud_pad[22]; }; #endif /* _SYS_UNPCB_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Jun 26 06:21:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA91E1065673; Fri, 26 Jun 2009 06:21:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A5EB106564A for ; Fri, 26 Jun 2009 06:21:40 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 88EAF8FC08 for ; Fri, 26 Jun 2009 06:21:40 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5Q6LeHj060603 for ; Fri, 26 Jun 2009 06:21:40 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5Q6LeCv060601 for perforce@freebsd.org; Fri, 26 Jun 2009 06:21:40 GMT (envelope-from mav@freebsd.org) Date: Fri, 26 Jun 2009 06:21:40 GMT Message-Id: <200906260621.n5Q6LeCv060601@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 06:21:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165238 Change 165238 by mav@mav_mavbook on 2009/06/26 06:21:14 Log real AHCI channel number inside controller. There can be holes from uniplemented ports. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#37 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#37 (text+ko) ==== @@ -468,6 +468,19 @@ return (0); } +static int +ahci_print_child(device_t dev, device_t child) +{ + int retval; + + retval = bus_print_child_header(dev, child); + retval += printf(" at channel %d", + (int)(intptr_t)device_get_ivars(child)); + retval += bus_print_child_footer(dev, child); + + return (retval); +} + devclass_t ahci_devclass; static device_method_t ahci_methods[] = { DEVMETHOD(device_probe, ahci_probe), @@ -475,6 +488,7 @@ DEVMETHOD(device_detach, ahci_detach), DEVMETHOD(device_suspend, ahci_suspend), DEVMETHOD(device_resume, ahci_resume), + DEVMETHOD(bus_print_child, ahci_print_child), DEVMETHOD(bus_alloc_resource, ahci_alloc_resource), DEVMETHOD(bus_release_resource, ahci_release_resource), DEVMETHOD(bus_setup_intr, ahci_setup_intr), From owner-p4-projects@FreeBSD.ORG Fri Jun 26 12:10:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B9F41065674; Fri, 26 Jun 2009 12:10:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49B2C106567D for ; Fri, 26 Jun 2009 12:10:28 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 378638FC17 for ; Fri, 26 Jun 2009 12:10:28 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QCASVZ002186 for ; Fri, 26 Jun 2009 12:10:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QCAS4c002184 for perforce@freebsd.org; Fri, 26 Jun 2009 12:10:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Fri, 26 Jun 2009 12:10:28 GMT Message-Id: <200906261210.n5QCAS4c002184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165245 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 12:10:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165245 Change 165245 by zhaoshuai@zhaoshuai on 2009/06/26 12:10:17 add fifo sigio test Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#7 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/sigio.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#7 (text+ko) ==== @@ -1,5 +1,5 @@ OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select poll \ - kqueue pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ + kqueue sigio pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ pr_76525 all : $(OBJS) @@ -13,6 +13,7 @@ select : select.c poll : poll.c kqueue : kqueue.c +sigio : sigio.c pr_74242_speak : pr_74242_speak.c pr_74242_tick : pr_74242_tick.c pr_76144 : pr_76144.c From owner-p4-projects@FreeBSD.ORG Fri Jun 26 13:46:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 622F51065674; Fri, 26 Jun 2009 13:46:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1EF531065670 for ; Fri, 26 Jun 2009 13:46:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AA1E8FC14 for ; Fri, 26 Jun 2009 13:46:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QDkeFJ020173 for ; Fri, 26 Jun 2009 13:46:40 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QDkPR1020159 for perforce@freebsd.org; Fri, 26 Jun 2009 13:46:25 GMT (envelope-from trasz@freebsd.org) Date: Fri, 26 Jun 2009 13:46:25 GMT Message-Id: <200906261346.n5QDkPR1020159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165249 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 13:46:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165249 Change 165249 by trasz@trasz_victim on 2009/06/26 13:46:18 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/MAINTAINERS#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#27 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#32 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/chflags/chflags.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/df/df.1#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/df/df.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/hostname/hostname.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/eval.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/eval.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/exec.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/expand.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/histedit.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/input.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/input.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/main.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/miscbltin.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/output.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/parser.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/redir.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/sh.1#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/trap.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/trap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/var.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/CHANGES#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/check/named-checkzone.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/dnssec/dnssec-signzone.8#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/dnssec/dnssec-signzone.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/dnssec/dnssec-signzone.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/bin/dnssec/dnssectool.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM.ch06.html#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM.ch07.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM.ch08.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM.ch09.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/Bv9ARM.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.dig.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.dnssec-keygen.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.dnssec-signzone.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.host.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.named-checkconf.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.named-checkzone.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.named.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.rndc-confgen.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.rndc.conf.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/doc/arm/man.rndc.html#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/bind9/api#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/bind9/check.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/api#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/include/dns/dnssec.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/include/dns/keyvalues.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/resolver.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/version#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsfile.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/gdb/gdb/stack.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/tools/ipfcomp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ntp/ntpd/ntp_crypto.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/config.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/ssh_namespace.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/CHANGES#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head_FIPS#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/Configure#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/FAQ#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/INSTALL#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/LICENSE#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/Makefile.org#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/Makefile.shared#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/NEWS#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/README#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/apps.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/apps.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/asn1pars.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/ca.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/cms.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/crl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/dsa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/ec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/engine.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/gendsa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/genpkey.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/genrsa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/md4.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/nseq.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/ocsp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/openssl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/pkcs12.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/pkcs8.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/pkey.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/pkeyparam.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/pkeyutl.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/progs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/progs.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/rand.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/req.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/rsa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/rsautl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/s_apps.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/s_cb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/s_client.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/s_server.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/smime.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/speed.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/spkac.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/ts.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/tsget#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/version.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/apps/x509.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/README.RootCerts#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/RegTP-5R.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/RegTP-6R.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/aol1.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/aol2.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/aoltw1.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/aoltw2.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/argena.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/argeng.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/demo/nortelCA.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/demo/timCA.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/demo/tjhCA.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/demo/vsigntca.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/eng1.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/eng2.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/eng3.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/eng4.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/eng5.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/ICE-CA.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/ICE-root.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/ICE-user.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/RegTP-4R.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/factory.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/rsa-cca.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/rsa-ssca.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/vsign2.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/expired/vsign3.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/thawteCb.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/thawteCp.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/vsign1.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/vsign3.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/vsignss.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/certs/wellsfgo.pem#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/config#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes_cbc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes_core.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes_ige.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes_wrap.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/aes_x86core.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-586.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-armv4.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-ia64.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-ppc.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-s390x.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/aes/asm/aes-x86_64.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_bytes.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_mbstr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_object.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_sign.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_strex.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_strnid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_type.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/a_verify.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/ameth_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1_err.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1_gen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1_locl.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1_par.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn1t.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn_mime.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn_moid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/asn_pack.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/bio_asn1.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/bio_ndef.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/nsseq.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/p5_pbe.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/p5_pbev2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/p8_pkey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_bitst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_crl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_req.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_spki.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_x509.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/t_x509a.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_dec.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_fre.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_new.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_prn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_typ.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/tasn_utl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_algor.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_bignum.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_crl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_exten.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_long.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_name.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_nx509.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/asn1/x_x509a.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bf/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bf/bf_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bf/blowfish.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/b_print.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/b_sock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bio.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bss_bio.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bss_dgram.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bss_file.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bss_mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bio/bss_sock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/alpha-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/armv4-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/ia64.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/mips3-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/mo-586.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/ppc-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/ppc64-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/s390x-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/s390x.S#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/via-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/x86-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/asm/x86_64-mont.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_blind.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_div.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_exp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_gcd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_gf2m.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_lcl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_mont.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_mul.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_nist.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_opt.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_prime.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_prime.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_prime.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_rand.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_shift.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bn_x931p.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/bn/bntest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/buffer/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/buffer/buf_str.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/buffer/buffer.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/camellia/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/camellia/asm/cmll-x86.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/camellia/camellia.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/camellia/cmll_misc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cast/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cast/c_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cast/cast.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_asn1.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_att.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_cd.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_dd.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_enc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_env.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_err.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_ess.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_io.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_lcl.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_sd.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cms/cms_smime.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/comp/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/comp/c_zlib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/comp/comp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/comp/comp_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/conf.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/conf_api.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/conf_mall.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/conf_mod.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/conf/conf_sap.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cryptlib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/cryptlib.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/crypto.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/asm/des_enc.m4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/des.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/des_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/des_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/des_old.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/des_old.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/ecb_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/enc_read.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/enc_writ.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/set_key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/times/usparc.cc#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/des/xcbc_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh_asn1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh_check.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh_gen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dh/dh_key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_asn1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_gen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_ossl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_sign.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_utl.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dsa/dsa_vrf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dso/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/dyn_lck.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/ec.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/ec_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/ec_key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/ec_mult.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ec/ectest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ecdh/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ecdh/ecdhtest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ecdsa/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ecdsa/ecdsatest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ecdsa/ecs_ossl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_all.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_cnf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_int.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_padlock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_pkey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/eng_table.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/engine.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/engine/enginetest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err_all.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err_bio.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err_def.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err_prn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/err_str.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/err/openssl.ec#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/bio_md.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/c_allc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/dig_eng.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/digest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_aes.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_camellia.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_des.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_des3.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_null.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_rc4.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/e_seed.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/enc_min.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_acnf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_cnf.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_pbe.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_pkey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evp_test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/evptests.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_dss.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_dss1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_md2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_md4.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_md5.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_mdc2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_sha.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/m_sha1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/names.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/p5_crpt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/p5_crpt2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/p_sign.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/evp/p_verify.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ex_data.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/fips_err.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/fips_err.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/hmac/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/hmac/hmac.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/hmac/hmac.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/idea/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/idea/i_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/idea/idea.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/jpake/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/jpake/jpake.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/jpake/jpake.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/jpake/jpake_err.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/jpake/jpaketest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/krb5/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/lhash/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md2/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md2/md2.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md2/md2_dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md32_common.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md4/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md4/md4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md4/md4_dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md4/md4_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md4/md4test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/asm/md5-586.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/asm/md5-sparcv9.S#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/asm/md5-x86_64.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/md5.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/md5_dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/md5_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/md5/md5test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mdc2/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mdc2/mdc2.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mdc2/mdc2dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mem_clr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/mem_dbg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/o_init.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/o_str.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/obj_dat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/obj_dat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/obj_dat.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/obj_mac.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/obj_mac.num#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/objects/objects.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp_asn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp_ht.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp_srv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ocsp/ocsp_vfy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/opensslconf.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/opensslconf.h.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/opensslv.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ossl_typ.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem_all.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem_info.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem_x509.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pem/pem_xaux.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/perlasm/x86_64-xlate.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/perlasm/x86ms.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/perlasm/x86nasm.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/perlasm/x86unix.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_add.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_asn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_attr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_crpt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_crt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_decr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_init.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_kiss.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_mutl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_npas.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_p8d.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_p8e.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/p12_utl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs12/pkcs12.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs7/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs7/pk7_asn1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs7/pk7_attr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs7/pk7_mime.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pkcs7/pk7_smime.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ppccpuid.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pqueue/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/pqueue/pq_compat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/md_rand.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_eng.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_lcl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_nw.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/rand_unix.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rand/randfile.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc2/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc2/rc2.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc2/rc2_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/asm/rc4-586.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/asm/rc4-ia64.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/rc4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/rc4_fblk.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc4/rc4_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc5/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc5/rc5.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rc5/rc5_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/README#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/asm/rmd-586.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/ripemd.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/rmd_dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/rmd_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ripemd/rmdtest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_asn1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_eay.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_eng.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_gen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_null.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_oaep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_pss.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_sign.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_ssl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_x931.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/rsa/rsa_x931g.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/s390xcpuid.S#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed_cbc.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed_cfb.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed_ecb.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed_locl.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/seed/seed_ofb.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/asm/sha1-586.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/asm/sha1-ia64.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/asm/sha512-ia64.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha1_one.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha1dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha1test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha256.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha512.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha_dgst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/sha_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sha/shatest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/sparcv9cap.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/stack/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/stack/safestack.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/store/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/store/str_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/symhacks.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/txt_db/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ui/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ui/ui_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/ui/ui_openssl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/by_dir.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_att.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_cmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_trs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_txt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_vfy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509_vpm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509cset.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509/x509spki.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/ext_dat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_cache.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_data.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_int.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_map.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_node.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/pcy_tree.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/tabtest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_addr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_akey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_akeya.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_alt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_asid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_bcons.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_bitst.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_conf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_cpols.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_crld.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_enum.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_extku.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_genn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_ia5.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_info.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_int.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_ncons.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_ocsp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_pcons.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_pku.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_pmaps.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_prn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_purp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_skey.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_sxnet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3_utl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3conf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/v3prin.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x509v3/x509v3.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x86_64cpuid.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/crypto/x86cpuid.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/asn1/ocsp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/engines/zencod/hw_zencod_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/jpake/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/demos/jpake/jpakedemo.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/ciphers.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/dgst.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/enc.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/ocsp.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/openssl.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/rand.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/rsautl.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/s_client.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/s_server.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/verify.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/apps/x509.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/c-indentation.el#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/DH_set_method.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/DSA_set_method.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/OPENSSL_ia32cap.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/RAND_bytes.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/RAND_egd.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/RAND_set_rand_method.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/RSA_set_method.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/des_modes.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/crypto/engine.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_SESSION_free.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_free.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssl/SSL_read.pod#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/ssleay.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/doc/standards.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/e_os.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_4758cca_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_aep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_aep_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_atalla_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_capi.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_capi.ec#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_capi_err.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_capi_err.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_chil.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_chil_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_chil_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_cswift_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_gmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_gmp_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_nuron_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_sureware_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_ubsec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/engines/e_ubsec_err.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/aes/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/aes/fips_aes_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/aes/fips_aesavs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/des/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/des/fips_des_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/des/fips_desmovs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/dh_gen.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/fips_dh_check.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/fips_dh_gen.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/fips_dh_key.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dh/fips_dh_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_gen.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_key.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_ossl.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsa_sign.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dsatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/dsa/fips_dssvs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips-nodiff.txt#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_canister.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_locl.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_premain.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_premain.c.sha1#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_test_suite.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fips_utl.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fipsalgtest.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fipsld#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/fipstests.sh#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/hmac/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/hmac/fips_hmac.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/hmac/fips_hmac_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/hmac/fips_hmactest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/mkfipsscr.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/openssl_fips_fingerprint#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/fips_rand.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/fips_rand.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/fips_rand_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/fips_randtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rand/fips_rngvs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_eay.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_gen.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_lib.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_sign.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsa_x931g.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsagtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsastest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/rsa/fips_rsavtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/sha/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/sha/fips_sha1_selftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/sha/fips_shatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/fips/sha/fips_standalone_sha1.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/openssl.spec#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_both.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_clnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_pkt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/d1_srvr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/dtls1.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/kssl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s23_clnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s23_srvr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s2_clnt.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s2_srvr.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s3_clnt.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s3_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s3_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s3_pkt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/s3_srvr.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl3.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_algs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_asn1.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_cert.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_ciph.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_err.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_locl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_rsa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_sess.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_stat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssl_txt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/ssltest.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/t1_enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/t1_lib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/ssl/tls1.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/CAss.cnf#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/SHAmix.r#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/SHAmix.x#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/Uss.cnf#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/bftest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/bntest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/casttest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/cms-examples.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/cms-test.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/destest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/dhtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/dsatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/ecdhtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/ecdsatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/ectest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/enginetest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/evp_test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/evptests.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/exptest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_aesavs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_desmovs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_dsatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_dssvs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_hmactest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_randtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_rngvs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_rsagtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_rsastest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_rsavtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_shatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/fips_test_suite.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/hmactest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/ideatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/igetest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/jpaketest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/md2test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/md4test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/md5test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/mdc2test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/randtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/rc2test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/rc4test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/rc5test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/rmdtest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/rsa_test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/sha1test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/sha256t.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/sha512t.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/shatest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smcont.txt#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smdsa1.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smdsa2.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smdsa3.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smdsap.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smroot.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smrsa1.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smrsa2.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/smime-certs/smrsa3.pem#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/ssltest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/testfipsssl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/test/times#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/arx.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/clean-depend.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/copy.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/domd#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/fipslink.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/libeay.num#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mk1mf.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mkdef.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mkerr.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mkfiles.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mklink.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/mksdef.pl#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/opensslwrap.sh#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/pl/VC-32.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/pl/netware.pl#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/shlib_wrap.sh#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssl/util/ssleay.num#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/Makefile#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/crontab#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/defaults/rc.conf#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.amd64/ttys#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.arm/ttys#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.i386/ttys#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.ia64/ttys#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.mips/ttys#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.powerpc/ttys#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/etc.sparc64/ttys#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/login.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.local.dist#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/network.subr#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/ntp.conf#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/NETWORKING#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/fsck#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/ipfw#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/jail#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/netif#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/pf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/syslog.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/termcap.small#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes-o.real#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libgcov/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/groff/tmac/mdoc.local#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/man/apropos/apropos.sh#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/svc_dg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/stdio.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/unistd.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/include/config.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libroken/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/Makefile#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/arm/string/strncmp.S#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/btree/bt_split.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/mpool/mpool.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Symbol.map#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/fmtcheck.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/initgroups.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/stdlib/abs.S#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/stdlib/div.S#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/stdlib/labs.S#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/stdlib/ldiv.S#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/include/compat.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_flag_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_perm.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_flags_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_create_entry.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_flag_np.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_brand_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry_type_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flag_np.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flagset_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_is_trivial_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_entry_type_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_flagset_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_tag_type.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/auth_unix.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/getnetconfig.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/netname.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/netnamer.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_dg.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/Makefile.inc#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdtime/strftime.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/close.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/closefrom.2#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getgroups.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getrlimit.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/jail.2#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/pathconf.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/revoke.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/setgroups.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libdisk/change.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libjail/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libjail/jail.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libjail/jail.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libjail/jail.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libjail/jail_getid.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkiconv/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkiconv/xlat16_sysctl.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jun 26 14:13:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81ACC1065672; Fri, 26 Jun 2009 14:13:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4135C106566C for ; Fri, 26 Jun 2009 14:13:10 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2FABD8FC0C for ; Fri, 26 Jun 2009 14:13:10 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QEDARo023015 for ; Fri, 26 Jun 2009 14:13:10 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QED9j7023013 for perforce@freebsd.org; Fri, 26 Jun 2009 14:13:09 GMT (envelope-from zec@fer.hr) Date: Fri, 26 Jun 2009 14:13:09 GMT Message-Id: <200906261413.n5QED9j7023013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 14:13:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=165251 Change 165251 by zec@zec_amdx4 on 2009/06/26 14:13:00 Allow for rpc.statd and rpc.lockd to be started, but without doing any functional testing. Introduce a lot curvnet recursions triggered by the above daemons that have to be looked into and resolved. Affected files ... .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 (text+ko) ==== @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -197,11 +198,14 @@ return (NULL); } + CURVNET_SET(so->so_vnet); if (!__rpc_socket2sockinfo(so, &si)) { rpc_createerr.cf_stat = RPC_TLIERROR; rpc_createerr.cf_error.re_errno = 0; + CURVNET_RESTORE(); return (NULL); } + CURVNET_RESTORE(); /* * Find the receive and the send size ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 (text+ko) ==== @@ -56,6 +56,7 @@ #include #include #include +#include #include @@ -101,8 +102,10 @@ struct sockaddr* sa; int error; + CURVNET_SET(so->so_vnet); if (!__rpc_socket2sockinfo(so, &si)) { printf(svc_dg_str, svc_dg_err1); + CURVNET_RESTORE(); return (NULL); } /* @@ -112,6 +115,7 @@ recvsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)recvsize); if ((sendsize == 0) || (recvsize == 0)) { printf(svc_dg_str, svc_dg_err2); + CURVNET_RESTORE(); return (NULL); } @@ -142,6 +146,7 @@ if (xprt) { svc_xprt_free(xprt); } + CURVNET_RESTORE(); return (NULL); } From owner-p4-projects@FreeBSD.ORG Fri Jun 26 16:19:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FE801065674; Fri, 26 Jun 2009 16:19:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D44761065672 for ; Fri, 26 Jun 2009 16:19:28 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A86F58FC0C for ; Fri, 26 Jun 2009 16:19:28 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QGJStT034117 for ; Fri, 26 Jun 2009 16:19:28 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QGJS8t034115 for perforce@freebsd.org; Fri, 26 Jun 2009 16:19:28 GMT (envelope-from mav@freebsd.org) Date: Fri, 26 Jun 2009 16:19:28 GMT Message-Id: <200906261619.n5QGJS8t034115@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165256 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 16:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=165256 Change 165256 by mav@mav_mavbook on 2009/06/26 16:19:23 Add ahci(4) man page. Affected files ... .. //depot/projects/scottl-camlock/src/share/man/man4/Makefile#7 edit .. //depot/projects/scottl-camlock/src/share/man/man4/ahci.4#1 add Differences ... ==== //depot/projects/scottl-camlock/src/share/man/man4/Makefile#7 (text+ko) ==== @@ -23,6 +23,7 @@ aha.4 \ ahb.4 \ ahc.4 \ + ahci.4 \ ahd.4 \ aio.4 \ alc.4 \ From owner-p4-projects@FreeBSD.ORG Fri Jun 26 16:25:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C2991065676; Fri, 26 Jun 2009 16:25:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B2481065670 for ; Fri, 26 Jun 2009 16:25:36 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 171248FC17 for ; Fri, 26 Jun 2009 16:25:36 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QGPZvG034711 for ; Fri, 26 Jun 2009 16:25:35 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QGPZwB034709 for perforce@freebsd.org; Fri, 26 Jun 2009 16:25:35 GMT (envelope-from mav@freebsd.org) Date: Fri, 26 Jun 2009 16:25:35 GMT Message-Id: <200906261625.n5QGPZwB034709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165257 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 16:25:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=165257 Change 165257 by mav@mav_mavbook on 2009/06/26 16:25:14 IFC Affected files ... .. //depot/projects/scottl-camlock/src/UPDATING#7 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/CHANGES#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssectool.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.html#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dig.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.host.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named-checkconf.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named-checkzone.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc-confgen.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc.conf.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/api#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/check.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/api#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dnssec.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dnssec.h#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/keyvalues.h#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/resolver.c#4 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/version#4 integrate .. //depot/projects/scottl-camlock/src/etc/network.subr#5 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/NETWORKING#4 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/ipfw#5 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/netif#5 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/pf#6 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/pflog#5 integrate .. //depot/projects/scottl-camlock/src/etc/rc.d/pfsync#5 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_get.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/posix1e/acl_set.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libjail/jail.c#2 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/ipfw.8#5 integrate .. //depot/projects/scottl-camlock/src/share/doc/bind9/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/share/misc/bsd-family-tree#3 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/at91/if_ate.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/if_npe.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/biosdisk.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ndis/subr_usbd.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/age/if_age.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/asmc/asmc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/asmc/asmcvar.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/if_ath.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bce/if_bce.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bfe/if_bfe.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_cas.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cs/if_cs.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/sys/mvec.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/sys/uipc_mvec.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/dc/if_dc.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/de/if_de.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/i915_dma.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_em.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_igb.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ed/if_ed.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/et/if_et.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ex/if_ex.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fe/if_fe.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fxp/if_fxp.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gem.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hme/if_hme.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hwpmc/hwpmc_logging.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hwpmc/hwpmc_mod.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ie/if_ie.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgb/if_ixgb.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/le/lance.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/lge/if_lge.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mge/if_mge.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/msk/if_msk.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/dev/my/if_my.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nfe/if_nfe.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nge/if_nge.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nve/if_nve.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pdq/pdq_ifsubr.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/re/if_re.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sis/if_sis.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sk/if_sk.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sn/if_sn.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/snc/dp83932.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/stge/if_stge.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ti/if_ti.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/tx/if_tx.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/txp/if_txp.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_aue.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_axe.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cue.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_kue.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_rue.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_udav.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_zyd.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/vge/if_vge.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/vr/if_vr.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/wi/if_wi.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/dev/wl/if_wl.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/xe/if_xe.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/xl/if_xl.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/intr_machdep.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/kern/kern_mbuf.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/mips/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/net/if.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_stf.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_var.h#20 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_eiface.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_ether.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_iface.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_divert.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_fw2.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_rl.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC#11 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/pmap.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_dirhash.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_contig.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_kern.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_mmap.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_object.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_object.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_pageout.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_pager.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_pager.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_phys.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_phys.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vnode_pager.c#15 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/help/usage.hlp#2 integrate Differences ... ==== //depot/projects/scottl-camlock/src/UPDATING#7 (text+ko) ==== @@ -80,12 +80,6 @@ rebuilt. Bump __FreeBSD_version to 800096. -20090531: - For those who use ipfw and especially pf, those two firewalls - are now started BEFORE the network is initialized (i.e., before - rc.d/netif). Please review your rules to make sure that your - interfaces will be properly described. - 20090530: Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no more valid. @@ -1624,4 +1618,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.621 2009/06/22 17:48:16 bz Exp $ +$FreeBSD: src/UPDATING,v 1.622 2009/06/26 01:10:10 dougb Exp $ ==== //depot/projects/scottl-camlock/src/contrib/bind9/CHANGES#4 (text+ko) ==== @@ -1,4 +1,23 @@ + --- 9.6.1 released --- + +2607. [bug] named could incorrectly delete NSEC3 records for + empty nodes when processing a update request. + [RT #19749] + +2606. [bug] "delegation-only" was not being accepted in + delegation-only type zones. [RT #19717] + +2605. [bug] Accept DS responses from delegation only zones. + [RT # 19296] + +2603. [port] win32: handle .exe extension of named-checkzone and + named-comilezone argv[0] names under windows. + [RT #19767] + +2602. [port] win32: fix debugging command line build of libisccfg. + [RT #19767] + --- 9.6.1rc1 released --- 2599. [bug] Address rapid memory growth when validation fails. ==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.51.34.2 2009/02/16 23:47:15 tbox Exp $ */ +/* $Id: named-checkzone.c,v 1.51.34.3 2009/05/29 02:17:43 marka Exp $ */ /*! \file */ @@ -123,9 +123,13 @@ */ if (strncmp(prog_name, "lt-", 3) == 0) prog_name += 3; - if (strcmp(prog_name, "named-checkzone") == 0) + +#define PROGCMP(X) \ + (strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0) + + if (PROGCMP("named-checkzone")) progmode = progmode_check; - else if (strcmp(prog_name, "named-compilezone") == 0) + else if (PROGCMP("named-compilezone")) progmode = progmode_compile; else INSIST(0); ==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#4 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2003 Internet Software Consortium. .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -13,275 +13,163 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-signzone.8,v 1.47 2008/10/15 01:11:35 tbox Exp $ +.\" $Id: dnssec-signzone.8,v 1.47.44.4 2009/06/09 01:47:19 each Exp $ .\" .hy 0 .ad l -.\" Title: dnssec\-signzone -.\" Author: -.\" Generator: DocBook XSL Stylesheets v1.71.1 -.\" Date: June 30, 2000 -.\" Manual: BIND9 -.\" Source: BIND9 -.\" -.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.SH "NAME" -dnssec\-signzone \- DNSSEC zone signing tool +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "DNSSEC-SIGNZONE" 8 "June 08, 2009" "" "" +.SH NAME +dnssec-signzone \- DNSSEC zone signing tool .SH "SYNOPSIS" .HP 16 -\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] +\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fIclass\fR\fR] [\fB\-d\ \fIdirectory\fR\fR] [\fB\-e\ \fIend\-time\fR\fR] [\fB\-f\ \fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fIkey\fR\fR] [\fB\-l\ \fIdomain\fR\fR] [\fB\-i\ \fIinterval\fR\fR] [\fB\-I\ \fIinput\-format\fR\fR] [\fB\-j\ \fIjitter\fR\fR] [\fB\-N\ \fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fIorigin\fR\fR] [\fB\-O\ \fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fIrandomdev\fR\fR] [\fB\-s\ \fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fIsalt\fR\fR] [\fB\-H\ \fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] .SH "DESCRIPTION" .PP -\fBdnssec\-signzone\fR -signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a -\fIkeyset\fR -file for each child zone. +\fBdnssec\-signzone\fR signs a zone\&. It generates NSEC and RRSIG records and produces a signed version of the zone\&. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a \fIkeyset\fR file for each child zone\&. .SH "OPTIONS" -.PP +.TP \-a -.RS 4 -Verify all generated signatures. -.RE -.PP +Verify all generated signatures\&. +.TP \-c \fIclass\fR -.RS 4 -Specifies the DNS class of the zone. -.RE -.PP +Specifies the DNS class of the zone\&. +.TP \-k \fIkey\fR -.RS 4 -Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times. -.RE -.PP +Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&. +.TP \-l \fIdomain\fR -.RS 4 -Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records. -.RE -.PP +Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&. +.TP \-d \fIdirectory\fR -.RS 4 -Look for -\fIkeyset\fR -files in -\fBdirectory\fR -as the directory -.RE -.PP +Look for \fIkeyset\fR files in \fBdirectory\fR as the directory +.TP \-g -.RS 4 -Generate DS records for child zones from keyset files. Existing DS records will be removed. -.RE -.PP +Generate DS records for child zones from keyset files\&. Existing DS records will be removed\&. +.TP \-s \fIstart\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no -\fBstart\-time\fR -is specified, the current time minus 1 hour (to allow for clock skew) is used. -.RE -.PP +Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no \fBstart\-time\fR is specified, the current time minus 1 hour (to allow for clock skew) is used\&. +.TP \-e \fIend\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records expire. As with -\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation. A time relative to the start time is indicated with +N, which is N seconds from the start time. A time relative to the current time is indicated with now+N. If no -\fBend\-time\fR -is specified, 30 days from the start time is used as a default. -.RE -.PP +Specify the date and time when the generated RRSIG records expire\&. As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBend\-time\fR is specified, 30 days from the start time is used as a default\&. +.TP \-f \fIoutput\-file\fR -.RS 4 -The name of the output file containing the signed zone. The default is to append -\fI.signed\fR -to the input filename. -.RE -.PP +The name of the output file containing the signed zone\&. The default is to append \fI\&.signed\fR to the input filename\&. +.TP \-h -.RS 4 -Prints a short summary of the options and arguments to -\fBdnssec\-signzone\fR. -.RE -.PP +Prints a short summary of the options and arguments to \fBdnssec\-signzone\fR\&. +.TP \-i \fIinterval\fR -.RS 4 -When a previously\-signed zone is passed as input, records may be resigned. The -\fBinterval\fR -option specifies the cycle interval as an offset from the current time (in seconds). If a RRSIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced. -.sp -The default cycle interval is one quarter of the difference between the signature end and start times. So if neither -\fBend\-time\fR -or -\fBstart\-time\fR -are specified, -\fBdnssec\-signzone\fR -generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing RRSIG records are due to expire in less than 7.5 days, they would be replaced. -.RE -.PP +When a previously\-signed zone is passed as input, records may be resigned\&. The \fBinterval\fR option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&. +The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither \fBend\-time\fR or \fBstart\-time\fR are specified, \fBdnssec\-signzone\fR generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&. +.TP \-I \fIinput\-format\fR -.RS 4 -The format of the input zone file. Possible formats are -\fB"text"\fR -(default) and -\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly. The use of this option does not make much sense for non\-dynamic zones. -.RE -.PP +The format of the input zone file\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&. +.TP \-j \fIjitter\fR -.RS 4 -When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously. If the zone is incrementally signed, i.e. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time. The -\fBjitter\fR -option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time. -.sp -Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time. -.RE -.PP +When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The \fBjitter\fR option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&. +Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&. +.TP \-n \fIncpus\fR -.RS 4 -Specifies the number of threads to use. By default, one thread is started for each detected CPU. -.RE -.PP +Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&. +.TP \-N \fIsoa\-serial\-format\fR -.RS 4 -The SOA serial number format of the signed zone. Possible formats are +The SOA serial number format of the signed zone\&. Possible formats are \fB"keep"\fR (default), \fB"increment"\fR and \fB"unixtime"\fR\&. +.RS +.TP \fB"keep"\fR -(default), +Do not modify the SOA serial number\&. +.TP \fB"increment"\fR -and -\fB"unixtime"\fR. -.RS 4 -.PP -\fB"keep"\fR -.RS 4 -Do not modify the SOA serial number. -.RE -.PP -\fB"increment"\fR -.RS 4 -Increment the SOA serial number using RFC 1982 arithmetics. -.RE -.PP +Increment the SOA serial number using RFC 1982 arithmetics\&. +.TP \fB"unixtime"\fR -.RS 4 -Set the SOA serial number to the number of seconds since epoch. +Set the SOA serial number to the number of seconds since epoch\&. .RE -.RE -.RE -.PP +.IP +.TP \-o \fIorigin\fR -.RS 4 -The zone origin. If not specified, the name of the zone file is assumed to be the origin. -.RE -.PP +The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. +.TP \-O \fIoutput\-format\fR -.RS 4 -The format of the output file containing the signed zone. Possible formats are -\fB"text"\fR -(default) and -\fB"raw"\fR. -.RE -.PP +The format of the output file containing the signed zone\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. +.TP \-p -.RS 4 -Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited. -.RE -.PP +Use pseudo\-random data when signing the zone\&. This is faster, but less secure, than using real random data\&. This option may be useful when signing large zones or when the entropy source is limited\&. +.TP \-r \fIrandomdev\fR -.RS 4 -Specifies the source of randomness. If the operating system does not provide a -\fI/dev/random\fR -or equivalent device, the default source of randomness is keyboard input. -\fIrandomdev\fR -specifies the name of a character device or file containing random data to be used instead of the default. The special value -\fIkeyboard\fR -indicates that keyboard input should be used. -.RE -.PP +Specifies the source of randomness\&. If the operating system does not provide a \fI/dev/random\fR or equivalent device, the default source of randomness is keyboard input\&. \fIrandomdev\fR specifies the name of a character device or file containing random data to be used instead of the default\&. The special value \fIkeyboard\fR indicates that keyboard input should be used\&. +.TP \-t -.RS 4 -Print statistics at completion. -.RE -.PP +Print statistics at completion\&. +.TP \-v \fIlevel\fR -.RS 4 -Sets the debugging level. -.RE -.PP +Sets the debugging level\&. +.TP \-z -.RS 4 -Ignore KSK flag on key when determining what to sign. -.RE -.PP +Ignore KSK flag on key when determining what to sign\&. +.TP \-3 \fIsalt\fR -.RS 4 -Generate a NSEC3 chain with the given hex encoded salt. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain. -.RE -.PP +Generate a NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&. +.TP \-H \fIiterations\fR -.RS 4 -When generating a NSEC3 chain use this many interations. The default is 100. -.RE -.PP +When generating a NSEC3 chain use this many interations\&. The default is 100\&. +.TP \-A -.RS 4 -When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations. -.RE -.PP +When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&. +.TP zonefile -.RS 4 -The file containing the zone to be signed. -.RE -.PP +The file containing the zone to be signed\&. +.TP key -.RS 4 -Specify which keys should be used to sign the zone. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex. If these are found and there are matching private keys, in the current directory, then these will be used for signing. -.RE +Specify which keys should be used to sign the zone\&. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex\&. If these are found and there are matching private keys, in the current directory, then these will be used for signing\&. .SH "EXAMPLE" .PP -The following command signs the -\fBexample.com\fR -zone with the DSA key generated by -\fBdnssec\-keygen\fR -(Kexample.com.+003+17247). The zone's keys must be in the master file (\fIdb.example.com\fR). This invocation looks for -\fIkeyset\fR -files, in the current directory, so that DS records can be generated from them (\fB\-g\fR). -.sp -.RS 4 +The following command signs the \fBexample\&.com\fR zone with the DSA key generated by \fBdnssec\-keygen\fR (Kexample\&.com\&.+003+17247)\&. The zone's keys must be in the master file (\fIdb\&.example\&.com\fR)\&. This invocation looks for \fIkeyset\fR files, in the current directory, so that DS records can be generated from them (\fB\-g\fR)\&. .nf -% dnssec\-signzone \-g \-o example.com db.example.com \\ -Kexample.com.+003+17247 -db.example.com.signed +% dnssec\-signzone \-g \-o example\&.com db\&.example\&.com \\ +Kexample\&.com\&.+003+17247 +db\&.example\&.com\&.signed % .fi -.RE .PP -In the above example, -\fBdnssec\-signzone\fR -creates the file -\fIdb.example.com.signed\fR. This file should be referenced in a zone statement in a -\fInamed.conf\fR -file. +In the above example, \fBdnssec\-signzone\fR creates the file \fIdb\&.example\&.com\&.signed\fR\&. This file should be referenced in a zone statement in a \fInamed\&.conf\fR file\&. .PP -This example re\-signs a previously signed zone with default parameters. The private keys are assumed to be in the current directory. -.sp -.RS 4 +This example re\-signs a previously signed zone with default parameters\&. The private keys are assumed to be in the current directory\&. .nf -% cp db.example.com.signed db.example.com -% dnssec\-signzone \-o example.com db.example.com -db.example.com.signed +% cp db\&.example\&.com\&.signed db\&.example\&.com +% dnssec\-signzone \-o example\&.com db\&.example\&.com +db\&.example\&.com\&.signed % .fi -.RE +.SH "KNOWN BUGS" +.PP + \fBdnssec\-signzone\fR was designed so that it could sign a zone partially, using only a subset of the DNSSEC keys needed to produce a fully\-signed zone\&. This permits a zone administrator, for example, to sign a zone with one key on one machine, move the resulting partially\-signed zone to a second machine, and sign it again with a second key\&. +.PP +An unfortunate side\-effect of this flexibility is that \fBdnssec\-signzone\fR does not check to make sure it's signing a zone with any valid keys at all\&. An attempt to sign a zone without any keys will appear to succeed, producing a "signed" zone with no signatures\&. There is no warning issued when a zone is not fully signed\&. +.PP +This will be corrected in a future release\&. In the meantime, ISC recommends examining the output of \fBdnssec\-signzone\fR to confirm that the zone is properly signed by all keys before using it\&. .SH "SEE ALSO" .PP -\fBdnssec\-keygen\fR(8), -BIND 9 Administrator Reference Manual, -RFC 4033. +\fBdnssec\-keygen\fR(8), BIND 9 Administrator Reference Manual, RFC 4033\&. .SH "AUTHOR" .PP -Internet Systems Consortium -.SH "COPYRIGHT" -Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC") -.br -Copyright \(co 2000\-2003 Internet Software Consortium. -.br +Internet Systems Consortium ==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-signzone.c,v 1.209.12.3 2009/01/18 23:25:15 marka Exp $ */ +/* $Id: dnssec-signzone.c,v 1.209.12.8 2009/06/08 22:23:06 each Exp $ */ /*! \file */ ==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#4 (text+ko) ==== @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []> - + - June 30, 2000 + June 08, 2009 @@ -42,6 +42,7 @@ 2006 2007 2008 + 2009 Internet Systems Consortium, Inc. ("ISC") @@ -490,6 +491,33 @@ + KNOWN BUGS + + dnssec-signzone was designed so that it could + sign a zone partially, using only a subset of the DNSSEC keys + needed to produce a fully-signed zone. This permits a zone + administrator, for example, to sign a zone with one key on one + machine, move the resulting partially-signed zone to a second + machine, and sign it again with a second key. + + + An unfortunate side-effect of this flexibility is that + dnssec-signzone does not check to make sure + it's signing a zone with any valid keys at all. An attempt to + sign a zone without any keys will appear to succeed, producing + a "signed" zone with no signatures. There is no warning issued + when a zone is not fully signed. + + + + This will be corrected in a future release. In the meantime, ISC + recommends examining the output of dnssec-signzone + to confirm that the zone is properly signed by all keys before + using it. + + + + SEE ALSO dnssec-keygen8 ==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#4 (text+ko) ==== @@ -1,5 +1,5 @@ - + dnssec-signzone - +
@@ -32,7 +32,7 @@

dnssec-signzone [-a] [-c class] [-d directory] [-e end-time] [-f output-file] [-g] [-h] [-k key] [-l domain] [-i interval] [-I input-format] [-j jitter] [-N soa-seria l-format] [-o origin] [-O output-format] [-p] [-r randomdev] [-s start-time] [-t] [-v level] [-z] [-3 salt] [-H iterations] [-A] {zonefile} [key...]

-

DESCRIPTION

+

DESCRIPTION

dnssec-signzone signs a zone. It generates NSEC and RRSIG records and produces a signed version of the @@ -43,7 +43,7 @@

-

OPTIONS

+

OPTIONS

-a

@@ -258,7 +258,7 @@

-

EXAMPLE

+

EXAMPLE

The following command signs the example.com zone with the DSA key generated by dnssec-keygen @@ -287,14 +287,39 @@ %

-

SEE ALSO

+

KNOWN BUGS

+

+ dnssec-signzone was designed so that it could + sign a zone partially, using only a subset of the DNSSEC keys + needed to produce a fully-signed zone. This permits a zone + administrator, for example, to sign a zone with one key on one + machine, move the resulting partially-signed zone to a second + machine, and sign it again with a second key. +

+

+ An unfortunate side-effect of this flexibility is that + dnssec-signzone does not check to make sure + it's signing a zone with any valid keys at all. An attempt to + sign a zone without any keys will appear to succeed, producing + a "signed" zone with no signatures. There is no warning issued + when a zone is not fully signed. +

+

+ This will be corrected in a future release. In the meantime, ISC + recommends examining the output of dnssec-signzone + to confirm that the zone is properly signed by all keys before + using it. +

+
+
+

SEE ALSO

dnssec-keygen(8), BIND 9 Administrator Reference Manual, RFC 4033.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

==== //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssectool.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000, 2001, 2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssectool.c,v 1.45 2007/06/19 23:46:59 tbox Exp $ */ +/* $Id: dnssectool.c,v 1.45.334.4 2009/06/08 23:47:00 tbox Exp $ */ /*! \file */ @@ -222,7 +222,7 @@ int usekeyboard = ISC_ENTROPY_KEYBOARDMAYBE; REQUIRE(ectx != NULL); - + if (*ectx == NULL) { result = isc_entropy_create(mctx, ectx); if (result != ISC_R_SUCCESS) ==== //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -4333,16 +4333,16 @@ delegation-only - - - Delegation only. Logs queries that have - been forced to NXDOMAIN as the result of a - delegation-only zone or - a delegation-only in a - hint or stub zone declaration. - - - + + + Delegation only. Logs queries that have been + forced to NXDOMAIN as the result of a + delegation-only zone or a + delegation-only in a hint + or stub zone declaration. + + + edns-disabled @@ -5116,17 +5116,45 @@
- + root-delegation-only - Turn on enforcement of delegation-only in TLDs (top level domains) and root zones - with an optional - exclude list. + Turn on enforcement of delegation-only in TLDs + (top level domains) and root zones with an optional + exclude list. + + DS queries are expected to be made to and be answered by + delegation only zones. Such queries and responses are + treated as a exception to delegation-only processing + and are not converted to NXDOMAIN responses provided + a CNAME is not discovered at the query name. + + + If a delegation only zone server also serves a child + zone it is not always possible to determine whether + a answer comes from the delegation only zone or the + child zone. SOA NS and DNSKEY records are apex + only records and a matching response that contains + these records or DS is treated as coming from a + child zone. RRSIG records are also examined to see + if they are signed by a child zone or not. The + authority section is also examined to see if there + is evidence that the answer is from the child zone. + Answers that are determined to be from a child zone + are not converted to NXDOMAIN responses. Despite + all these checks there is still a possibility of + false negatives when a child zone is being served. + + + Similarly false positives can arise from empty nodes + (no records at the name) in the delegation only zone + when the query type is not ANY. + - Note some TLDs are not delegation only (e.g. "DE", "LV", "US" - and "MUSEUM"). + Note some TLDs are not delegation only (e.g. "DE", "LV", + "US" and "MUSEUM"). This list is not exhaustive. @@ -9027,20 +9055,22 @@
- This is used to enforce the delegation-only - status of infrastructure zones (e.g. COM, NET, ORG). - Any answer that - is received without an explicit or implicit delegation - in the authority - section will be treated as NXDOMAIN. This does not - apply to the zone - apex. This should not be applied to leaf zones. + This is used to enforce the delegation-only + status of infrastructure zones (e.g. COM, + NET, ORG). Any answer that is received + without an explicit or implicit delegation + in the authority section will be treated + as NXDOMAIN. This does not apply to the + zone apex. This should not be applied to + leaf zones. delegation-only has no - effect on answers received - from forwarders. + effect on answers received from forwarders. + + See caveats in . + @@ -9299,9 +9329,11 @@ The flag only applies to hint and stub zones. If set to yes, then the zone will also be - treated as if it - is also a delegation-only type zone. + treated as if it is also a delegation-only type zone. + + See caveats in . + ==== //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jun 26 17:27:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD90A1065686; Fri, 26 Jun 2009 17:27:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 758DE106567A for ; Fri, 26 Jun 2009 17:27:44 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6164A8FC14 for ; Fri, 26 Jun 2009 17:27:44 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QHRivR050157 for ; Fri, 26 Jun 2009 17:27:44 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QHRiDf050155 for perforce@freebsd.org; Fri, 26 Jun 2009 17:27:44 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 26 Jun 2009 17:27:44 GMT Message-Id: <200906261727.n5QHRiDf050155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165260 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 17:27:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165260 Change 165260 by pgj@beehive on 2009/06/26 17:27:14 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#9 integrate .. //depot/projects/docproj_hu/www/en/donations/donors.sgml#16 integrate .. //depot/projects/docproj_hu/www/en/donations/wantlist.sgml#11 integrate .. //depot/projects/docproj_hu/www/en/internal/bylaws.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/releng/index.sgml#29 integrate .. //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#14 integrate .. //depot/projects/docproj_hu/www/share/sgml/notices.xml#4 integrate .. //depot/projects/docproj_hu/www/share/sgml/press.xml#18 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#9 (text+ko) ==== @@ -1,7 +1,7 @@ + - $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.47 2009/06/18 09:06:49 remko Exp $ + $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.48 2009/06/22 20:27:16 jkois Exp $ @@ -704,6 +704,23 @@ + + pair Networks, Inc. + http://www.pair.com + + pair Networks, a global FreeBSD-based Web hosting and + domain name registration company, headquartered in Pittsburgh, PA, + hosts hundreds of thousands of Web sites for businesses, + bloggers, artists, educational institutions and non-profit + organizations from around the world. pair Networks first went + online in January 1996 and has experienced strong growth year + after year. All pair Networks' Web servers run the reliable + FreeBSD operating system. For more information contact us via e-mail + or phone. + + + PPG Network Solutions http://www.ppgnetworksolutions.com ==== //depot/projects/docproj_hu/www/share/sgml/notices.xml#4 (text+ko) ==== @@ -2,7 +2,7 @@ - $FreeBSD: www/share/sgml/notices.xml,v 1.13 2009/03/23 00:10:01 cperciva Exp $ + $FreeBSD: www/share/sgml/notices.xml,v 1.14 2009/06/24 05:45:57 cperciva Exp $ @@ -10,6 +10,26 @@ 2009 + 6 + + + 24 + + + FreeBSD-EN-09:04.fork + + + + FreeBSD-EN-09:03.fxp + + + + FreeBSD-EN-09:02.bce + + + + + 3 ==== //depot/projects/docproj_hu/www/share/sgml/press.xml#18 (text+ko) ==== @@ -9,7 +9,7 @@ - $FreeBSD: www/share/sgml/press.xml,v 1.83 2009/06/04 03:16:41 jkoshy Exp $ + $FreeBSD: www/share/sgml/press.xml,v 1.84 2009/06/24 01:19:43 jkoshy Exp $ @@ -29,6 +29,16 @@

Three of the top five hosting providers in Netcraft's list run FreeBSD.

+ + + Securing Network Services with FreeBSD Jails + http://www.packtpub.com/article/securing-network-services-with-freebsd-jails + Packt Publishing + http://www.packtpub.com/ + June 2009 + Christer Edwards +

An article on using FreeBSD's jails to safely run network services.

+
From owner-p4-projects@FreeBSD.ORG Fri Jun 26 17:35:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA4521065674; Fri, 26 Jun 2009 17:35:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7FAA1065672 for ; Fri, 26 Jun 2009 17:35:53 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95F8D8FC16 for ; Fri, 26 Jun 2009 17:35:53 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QHZrlo050786 for ; Fri, 26 Jun 2009 17:35:53 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QHZrdu050784 for perforce@freebsd.org; Fri, 26 Jun 2009 17:35:53 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 26 Jun 2009 17:35:53 GMT Message-Id: <200906261735.n5QHZrdu050784@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 17:35:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165262 Change 165262 by pgj@petymeg-current on 2009/06/26 17:35:05 Fix passing of unix socket addresses Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#4 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#4 (text+ko) ==== @@ -1500,6 +1500,7 @@ struct unpcb *unp, **unp_list; struct unp_head *head; struct socket *sock; + struct sockaddr_un *sa; error = 0; head = ((intptr_t)arg1 == SOCK_DGRAM ? &unp_dhead : &unp_shead); @@ -1569,10 +1570,11 @@ ud.ud_conn = (u_long)unp->unp_conn; ud.ud_refs = (u_long)LIST_FIRST(&unp->unp_refs); ud.ud_reflink = (u_long)LIST_NEXT(unp, unp_reflink); - ud.ud_address_len = (unp->unp_addr != NULL) ? - unp->unp_addr->sun_len : 0; - if (ud.ud_address_len > 0) { - bcopy(ud.ud_address, unp->unp_addr, + if (unp->unp_addr != NULL) { + sa = unp->unp_addr; + ud.ud_address_len = sa->sun_len + - offsetof(struct sockaddr_un, sun_path); + bcopy(sa->sun_path, ud.ud_address, ud.ud_address_len); } UNP_PCB_UNLOCK(unp); From owner-p4-projects@FreeBSD.ORG Fri Jun 26 17:41:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A10E6106568C; Fri, 26 Jun 2009 17:40:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A3731065689 for ; Fri, 26 Jun 2009 17:40:59 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 487548FC21 for ; Fri, 26 Jun 2009 17:40:59 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QHexvo051112 for ; Fri, 26 Jun 2009 17:40:59 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QHex5O051110 for perforce@freebsd.org; Fri, 26 Jun 2009 17:40:59 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 26 Jun 2009 17:40:59 GMT Message-Id: <200906261740.n5QHex5O051110@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165263 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 17:41:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165263 Change 165263 by pgj@beehive on 2009/06/26 17:40:37 MFen (www): 1.83 -> 1.84 hu/share/sgml/press.xml Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#15 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#15 (text+ko) ==== @@ -5,7 +5,7 @@ @@ -34,6 +34,20 @@ közül három a &os; rendszerét használja.

+ + + Hálózati szolgáltatások + védelme &os; jailekkel + http://www.packtpub.com/article/securing-network-services-with-freebsd-jails + Packt Publishing + http://www.packtpub.com/ + 2009. június + Christer Edwards +

A cikkbõl megtudhatjuk, hogy miként + alkalmazhatunk &os; jaileket hálózati + szolgáltatások biztonságosabbá + tételére.

+
From owner-p4-projects@FreeBSD.ORG Fri Jun 26 18:05:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88A621065717; Fri, 26 Jun 2009 18:05:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4507C1065712 for ; Fri, 26 Jun 2009 18:05:26 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 334998FC1B for ; Fri, 26 Jun 2009 18:05:26 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QI5Qa3053806 for ; Fri, 26 Jun 2009 18:05:26 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QI5Qdq053804 for perforce@freebsd.org; Fri, 26 Jun 2009 18:05:26 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 18:05:26 GMT Message-Id: <200906261805.n5QI5Qdq053804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165265 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 18:05:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165265 Change 165265 by truncs@aditya on 2009/06/26 18:04:46 Rename ext2fs_* to ext2_* to avoid confusion. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#12 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#12 (text+ko) ==== @@ -56,8 +56,8 @@ static ino_t ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); -static daddr_t ext2fs_nodealloccg(struct inode *, int, daddr_t. int); -static daddr_t ext2fs_mapsearch(struct m_ext2fs *, char *, daddr_t); +static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t. int); +static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); /* * Linux calls this functions at the following locations: @@ -548,7 +548,7 @@ * free inodes, the one with the smallest number of directories. */ static ino_t -ext2fs_dirpref(struct m_ext2fs *fs) +ext2_dirpref(struct m_ext2fs *fs) { int maxspace, avgifree; ino_t cg, mincg; @@ -574,7 +574,7 @@ * 3) brute force search for a free block. */ static ino_t -ext2fs_hashalloc(struct inode *ip, int cg, long pref, int size, +ext2_hashalloc(struct inode *ip, int cg, long pref, int size, daddr_t (*allocator)(struct inode *, int, daddr_t, int)) { struct m_ext2fs *fs; @@ -768,7 +768,7 @@ */ static daddr_t -ext2fs_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) +ext2_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) { daddr_t bno; int start, len, loc, i, map; From owner-p4-projects@FreeBSD.ORG Fri Jun 26 18:26:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14E821065673; Fri, 26 Jun 2009 18:26:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8C53106566C for ; Fri, 26 Jun 2009 18:26:49 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B73A58FC15 for ; Fri, 26 Jun 2009 18:26:49 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QIQnUZ055379 for ; Fri, 26 Jun 2009 18:26:49 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QIQnr3055377 for perforce@freebsd.org; Fri, 26 Jun 2009 18:26:49 GMT (envelope-from syl@FreeBSD.org) Date: Fri, 26 Jun 2009 18:26:49 GMT Message-Id: <200906261826.n5QIQnr3055377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 18:26:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=165267 Change 165267 by syl@syl_atuin on 2009/06/26 18:26:27 Remove a memory leak. Spotted by Hans Petter Selasky. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#46 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#46 (text+ko) ==== @@ -177,6 +177,11 @@ ddesc = libusb20_dev_get_device_desc(pdev); dev = malloc(sizeof(*dev)); if (dev == NULL) { + while (i != 0) { + libusb_unref_device((*list)[i - 1]); + free((*list)[i - 1]); + i--; + } free(*list); libusb20_be_free(usb_backend); return (LIBUSB_ERROR_NO_MEM); From owner-p4-projects@FreeBSD.ORG Fri Jun 26 18:53:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 630EF1065673; Fri, 26 Jun 2009 18:53:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22E1F106564A for ; Fri, 26 Jun 2009 18:53:19 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 10FEA8FC13 for ; Fri, 26 Jun 2009 18:53:19 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QIrInD057267 for ; Fri, 26 Jun 2009 18:53:18 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QIrIff057265 for perforce@freebsd.org; Fri, 26 Jun 2009 18:53:18 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 18:53:18 GMT Message-Id: <200906261853.n5QIrIff057265@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165269 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 18:53:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165269 Change 165269 by truncs@aditya on 2009/06/26 18:52:37 FreeBSD's brelse take only one argument that is buffer pointer. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#13 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#13 (text+ko) ==== @@ -639,7 +639,7 @@ fs->e2fs_gd[cg].ext2bgd_b_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { - brelse(bp, 0); + brelse(bp); return (0); } bbp = (char *)bp->b_data; @@ -724,7 +724,7 @@ fs->e2fs_gd[cg].ext2bgd_i_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { - brelse(bp, 0); + brelse(bp); return (0); } ibp = (char *)bp->b_data; From owner-p4-projects@FreeBSD.ORG Fri Jun 26 19:07:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 131A31065677; Fri, 26 Jun 2009 19:07:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C604A106564A; Fri, 26 Jun 2009 19:07:03 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe08.swip.net [212.247.154.225]) by mx1.freebsd.org (Postfix) with ESMTP id 226B88FC14; Fri, 26 Jun 2009 19:07:02 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=We6oJ_Wk5WwA:10 a=hlIU1J3LQChSjWV/CGRL5g==:17 a=UBIc9ooZm2HJw9nS1kEA:9 a=4trDuMpcJlOruTlE089q1D-Djj0A:4 Received: from [193.217.167.6] (account mc467741@c2i.net HELO laptop.adsl.tele2.no) by mailfe08.swip.net (CommuniGate Pro SMTP 5.2.13) with ESMTPA id 1266801639; Fri, 26 Jun 2009 21:07:01 +0200 From: Hans Petter Selasky To: Sylvestre Gallon Date: Fri, 26 Jun 2009 21:06:32 +0200 User-Agent: KMail/1.11.4 (FreeBSD/8.0-CURRENT; KDE/4.2.4; i386; ; ) References: <200906261826.n5QIQnr3055377@repoman.freebsd.org> In-Reply-To: <200906261826.n5QIQnr3055377@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906262106.32635.hselasky@c2i.net> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 165267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 19:07:04 -0000 On Friday 26 June 2009 20:26:49 Sylvestre Gallon wrote: > + libusb_unref_device((*list)[i - 1]); > + free((*list)[i - 1]); Is the free() required? Doesn't libusb_unref_device() do the free? --HPS From owner-p4-projects@FreeBSD.ORG Fri Jun 26 19:19:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CC4E1065675; Fri, 26 Jun 2009 19:19:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 132E21065673 for ; Fri, 26 Jun 2009 19:19:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 013588FC1D for ; Fri, 26 Jun 2009 19:19:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QJJlR7060112 for ; Fri, 26 Jun 2009 19:19:47 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QJJlhL060110 for perforce@freebsd.org; Fri, 26 Jun 2009 19:19:47 GMT (envelope-from syl@FreeBSD.org) Date: Fri, 26 Jun 2009 19:19:47 GMT Message-Id: <200906261919.n5QJJlhL060110@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165272 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 19:19:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165272 Change 165272 by syl@syl_atuin on 2009/06/26 19:18:47 Fix problem spotted by Hans Petter Selasky : - Add a missing break for libusb_open_device_with_vid_pid(). - Call libusb20_dev_close before libusb_unref_device(). - Implement libusb_set_configuration() funtion the right way. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#47 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#47 (text+ko) ==== @@ -444,9 +444,11 @@ pdev = (struct libusb20_device *)devs[j]->os_priv; pdesc = libusb20_dev_get_device_desc(pdev); if (pdesc->idVendor == vendor_id && - pdesc->idProduct == product_id) + pdesc->idProduct == product_id) { if (libusb_open(devs[j], &devh) < 0) devh = NULL; + break ; + } } libusb_free_device_list(devs, 1); @@ -483,8 +485,8 @@ pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); + libusb20_dev_close(pdev); libusb_unref_device(devh->dev); - libusb20_dev_close(pdev); free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -500,8 +502,8 @@ pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); + libusb20_dev_close(pdev); libusb_unref_device(devh->dev); - libusb20_dev_close(pdev); free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -547,10 +549,6 @@ return (0); } -/* - * XXX this code is wrong. need update. - */ - int libusb_set_configuration(libusb_device_handle * devh, int configuration) { @@ -566,8 +564,7 @@ pdev = (struct libusb20_device *)devh->dev->os_priv; - libusb20_dev_set_alt_index(pdev, libusb20_dev_get_config_index(pdev), - configuration); + libusb20_dev_set_config_index(pdev, configuration); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Jun 26 19:27:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87980106566C; Fri, 26 Jun 2009 19:27:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47E601065672 for ; Fri, 26 Jun 2009 19:27:57 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1C10F8FC08 for ; Fri, 26 Jun 2009 19:27:57 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QJRug5060731 for ; Fri, 26 Jun 2009 19:27:57 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QJRupK060729 for perforce@freebsd.org; Fri, 26 Jun 2009 19:27:56 GMT (envelope-from syl@FreeBSD.org) Date: Fri, 26 Jun 2009 19:27:56 GMT Message-Id: <200906261927.n5QJRupK060729@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 19:27:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165274 Change 165274 by syl@syl_atuin on 2009/06/26 19:27:51 Remove a double free. Spotted by Hans Petter Selasky. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#48 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#48 (text+ko) ==== @@ -179,7 +179,6 @@ if (dev == NULL) { while (i != 0) { libusb_unref_device((*list)[i - 1]); - free((*list)[i - 1]); i--; } free(*list); From owner-p4-projects@FreeBSD.ORG Fri Jun 26 20:04:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1EAF1065675; Fri, 26 Jun 2009 20:04:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EFB3106566C for ; Fri, 26 Jun 2009 20:04:41 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5C3A18FC0A for ; Fri, 26 Jun 2009 20:04:41 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QK4fU4065028 for ; Fri, 26 Jun 2009 20:04:41 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QK4ffY065026 for perforce@freebsd.org; Fri, 26 Jun 2009 20:04:41 GMT (envelope-from syl@FreeBSD.org) Date: Fri, 26 Jun 2009 20:04:41 GMT Message-Id: <200906262004.n5QK4ffY065026@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165280 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 20:04:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165280 Change 165280 by syl@syl_atuin on 2009/06/26 20:04:31 Changes suggested by Hans Petter Selasky. - Move static inline to global functions(). - Create a macro for UNEXPORTED functions. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#49 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#11 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#17 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#49 (text+ko) ==== @@ -44,6 +44,28 @@ /* Library initialisation / deinitialisation */ +UNEXPORTED void +dprintf(libusb_context *ctx, int debug, char *str) +{ + if (ctx->debug != debug) + return ; + + switch (ctx->debug) { + case LIBUSB_DEBUG_NO: + break ; + case LIBUSB_DEBUG_FUNCTION: + printf("LIBUSB FUNCTION : %s\n", str); + break ; + case LIBUSB_DEBUG_TRANSFER: + printf("LIBUSB TRANSFER : %s\n", str); + break ; + default: + printf("LIBUSB UNKNOW DEBUG\n"); + break ; + } + return ; +} + void libusb_set_debug(libusb_context * ctx, int level) { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#11 (text+ko) ==== @@ -74,28 +74,7 @@ #define MAX(a,b) (((a)>(b))?(a):(b)) #define USB_TIMED_OUT (1<<0) - -static inline void -dprintf(libusb_context *ctx, int debug, char *str) -{ - if (ctx->debug != debug) - return ; - - switch (ctx->debug) { - case LIBUSB_DEBUG_NO: - break ; - case LIBUSB_DEBUG_FUNCTION: - printf("LIBUSB FUNCTION : %s\n", str); - break ; - case LIBUSB_DEBUG_TRANSFER: - printf("LIBUSB TRANSFER : %s\n", str); - break ; - default: - printf("LIBUSB UNKNOW DEBUG\n"); - break ; - } - return ; -} +#define UNEXPORTED __attribute__((__visibility__("hidden"))) struct usb_pollfd { struct libusb_pollfd pollfd; @@ -110,127 +89,11 @@ uint8_t flags; }; -static inline int -usb_add_pollfd(libusb_context *ctx, int fd, short events) -{ - struct usb_pollfd *pollfd; - - if (ctx == NULL) - return (LIBUSB_ERROR_INVALID_PARAM); - - pollfd = malloc(sizeof(*pollfd)); - if (pollfd == NULL) - return (LIBUSB_ERROR_NO_MEM); - - pollfd->pollfd.fd = fd; - pollfd->pollfd.events = events; - - pthread_mutex_lock(&ctx->pollfds_lock); - LIST_ADD_TAIL(&pollfd->list, &ctx->pollfds); - pthread_mutex_unlock(&ctx->pollfds_lock); - - if (ctx->fd_added_cb) - ctx->fd_added_cb(fd, events, ctx->fd_cb_user_data); - return (0); -} - -static inline void -usb_remove_pollfd(libusb_context *ctx, int fd) -{ - struct usb_pollfd *pollfd; - int found; - - found = 0; - pthread_mutex_lock(&ctx->pollfds_lock); - - LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) { - if (pollfd->pollfd.fd == fd) { - found = 1; - break ; - } - } - - if (found == 0) { - pthread_mutex_unlock(&ctx->pollfds_lock); - return ; - } - - LIST_DEL(&pollfd->list); - pthread_mutex_unlock(&ctx->pollfds_lock); - free(pollfd); - - if (ctx->fd_removed_cb) - ctx->fd_removed_cb(fd, ctx->fd_cb_user_data); -} - -static inline void -usb_handle_transfer_completion(struct usb_transfer *uxfer, - enum libusb_transfer_status status) -{ - libusb_transfer *xfer; - libusb_context *ctx; - int len; - - xfer = (struct libusb_transfer *) ((uint8_t *)uxfer + - sizeof(struct usb_transfer)); - ctx = xfer->dev_handle->dev->ctx; - - pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&uxfer->list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); - - if (status == LIBUSB_TRANSFER_COMPLETED && xfer->flags & - LIBUSB_TRANSFER_SHORT_NOT_OK) { - len = xfer->length; - if (xfer->type == LIBUSB_TRANSFER_TYPE_CONTROL) - len -= sizeof(libusb_control_setup); - if (len != uxfer->transferred) { - status = LIBUSB_TRANSFER_ERROR; - } - } - - xfer->status = status; - xfer->actual_length = uxfer->transferred; - - if (xfer->callback) - xfer->callback(xfer); - if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER) - libusb_free_transfer(xfer); - - pthread_mutex_lock(&ctx->event_waiters_lock); - pthread_cond_broadcast(&ctx->event_waiters_cond); - pthread_mutex_unlock(&ctx->event_waiters_lock); -} - -static inline void -usb_handle_disconnect(struct libusb_device_handle *devh) -{ - struct libusb_context *ctx; - struct libusb_transfer *xfer; - struct usb_transfer *cur; - struct usb_transfer *to_cancel; - - ctx = devh->dev->ctx; - - while (1) { - pthread_mutex_lock(&ctx->flying_transfers_lock); - to_cancel = NULL; - LIST_FOREACH_ENTRY(cur, &ctx->flying_transfers, list) { - xfer = (struct libusb_transfer *) ((uint8_t *)cur + - sizeof(struct usb_transfer)); - if (xfer->dev_handle == devh) { - to_cancel = cur; - break ; - } - } - pthread_mutex_unlock(&ctx->flying_transfers_lock); - - if (to_cancel == NULL) - break ; - - usb_handle_transfer_completion(to_cancel, LIBUSB_TRANSFER_NO_DEVICE); - } - return ; -} +UNEXPORTED void dprintf(libusb_context *ctx, int debug, char *str); +UNEXPORTED int usb_add_pollfd(libusb_context *ctx, int fd, short events); +UNEXPORTED void usb_remove_pollfd(libusb_context *ctx, int fd); +UNEXPORTED void usb_handle_transfer_completion(struct usb_transfer *uxfer, + enum libusb_transfer_status status); +UNEXPORTED void usb_handle_disconnect(struct libusb_device_handle *devh); #endif /*__LIBUSB10_H__*/ ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#17 (text+ko) ==== @@ -38,7 +38,130 @@ #include "libusb.h" #include "libusb10.h" -static int +UNEXPORTED int +usb_add_pollfd(libusb_context *ctx, int fd, short events) +{ + struct usb_pollfd *pollfd; + + if (ctx == NULL) + return (LIBUSB_ERROR_INVALID_PARAM); + + pollfd = malloc(sizeof(*pollfd)); + if (pollfd == NULL) + return (LIBUSB_ERROR_NO_MEM); + + pollfd->pollfd.fd = fd; + pollfd->pollfd.events = events; + + pthread_mutex_lock(&ctx->pollfds_lock); + LIST_ADD_TAIL(&pollfd->list, &ctx->pollfds); + pthread_mutex_unlock(&ctx->pollfds_lock); + + if (ctx->fd_added_cb) + ctx->fd_added_cb(fd, events, ctx->fd_cb_user_data); + return (0); +} + +UNEXPORTED void +usb_remove_pollfd(libusb_context *ctx, int fd) +{ + struct usb_pollfd *pollfd; + int found; + + found = 0; + pthread_mutex_lock(&ctx->pollfds_lock); + + LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) { + if (pollfd->pollfd.fd == fd) { + found = 1; + break ; + } + } + + if (found == 0) { + pthread_mutex_unlock(&ctx->pollfds_lock); + return ; + } + + LIST_DEL(&pollfd->list); + pthread_mutex_unlock(&ctx->pollfds_lock); + free(pollfd); + + if (ctx->fd_removed_cb) + ctx->fd_removed_cb(fd, ctx->fd_cb_user_data); +} + +UNEXPORTED void +usb_handle_transfer_completion(struct usb_transfer *uxfer, + enum libusb_transfer_status status) +{ + libusb_transfer *xfer; + libusb_context *ctx; + int len; + + xfer = (struct libusb_transfer *) ((uint8_t *)uxfer + + sizeof(struct usb_transfer)); + ctx = xfer->dev_handle->dev->ctx; + + pthread_mutex_lock(&ctx->flying_transfers_lock); + LIST_DEL(&uxfer->list); + pthread_mutex_unlock(&ctx->flying_transfers_lock); + + if (status == LIBUSB_TRANSFER_COMPLETED && xfer->flags & + LIBUSB_TRANSFER_SHORT_NOT_OK) { + len = xfer->length; + if (xfer->type == LIBUSB_TRANSFER_TYPE_CONTROL) + len -= sizeof(libusb_control_setup); + if (len != uxfer->transferred) { + status = LIBUSB_TRANSFER_ERROR; + } + } + + xfer->status = status; + xfer->actual_length = uxfer->transferred; + + if (xfer->callback) + xfer->callback(xfer); + if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER) + libusb_free_transfer(xfer); + + pthread_mutex_lock(&ctx->event_waiters_lock); + pthread_cond_broadcast(&ctx->event_waiters_cond); + pthread_mutex_unlock(&ctx->event_waiters_lock); +} + +UNEXPORTED void +usb_handle_disconnect(struct libusb_device_handle *devh) +{ + struct libusb_context *ctx; + struct libusb_transfer *xfer; + struct usb_transfer *cur; + struct usb_transfer *to_cancel; + + ctx = devh->dev->ctx; + + while (1) { + pthread_mutex_lock(&ctx->flying_transfers_lock); + to_cancel = NULL; + LIST_FOREACH_ENTRY(cur, &ctx->flying_transfers, list) { + xfer = (struct libusb_transfer *) ((uint8_t *)cur + + sizeof(struct usb_transfer)); + if (xfer->dev_handle == devh) { + to_cancel = cur; + break ; + } + } + pthread_mutex_unlock(&ctx->flying_transfers_lock); + + if (to_cancel == NULL) + break ; + + usb_handle_transfer_completion(to_cancel, LIBUSB_TRANSFER_NO_DEVICE); + } + return ; +} + +UNEXPORTED int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out) { struct timeval timeout; @@ -60,7 +183,7 @@ return (0); } -static int +UNEXPORTED int handle_timeouts(struct libusb_context *ctx) { struct timespec sys_ts; @@ -103,7 +226,7 @@ return (ret); } -static int +UNEXPORTED int handle_events(struct libusb_context *ctx, struct timeval *tv) { struct libusb_pollfd *tmppollfd; From owner-p4-projects@FreeBSD.ORG Fri Jun 26 20:35:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 866291065675; Fri, 26 Jun 2009 20:35:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 450DE1065670 for ; Fri, 26 Jun 2009 20:35:23 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 30BAA8FC0A for ; Fri, 26 Jun 2009 20:35:23 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QKZNwV068240 for ; Fri, 26 Jun 2009 20:35:23 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QKZFmp068230 for perforce@freebsd.org; Fri, 26 Jun 2009 20:35:15 GMT (envelope-from syl@FreeBSD.org) Date: Fri, 26 Jun 2009 20:35:15 GMT Message-Id: <200906262035.n5QKZFmp068230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 20:35:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=165285 Change 165285 by syl@syl_atuin on 2009/06/26 20:35:02 MFC. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libarchive/archive_read.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/arm/string/strncmp.S#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/db/btree/bt_split.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/db/mpool/mpool.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/Symbol.map#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/initgroups.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/i386/stdlib/abs.S#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/i386/stdlib/div.S#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/i386/stdlib/labs.S#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/i386/stdlib/ldiv.S#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/include/compat.h#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/Symbol.map#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_add_perm.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_calc_mask.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_copy.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_create_entry.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_entry.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_set.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_support.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/posix1e/acl_valid.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/auth_unix.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/getnetconfig.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/netname.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/netnamer.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/svc_dg.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/syl_usb/src/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/Makefile.inc#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/Symbol.map#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/close.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/closefrom.2#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/getgroups.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/getrlimit.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/jail.2#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/pathconf.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/revoke.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/setgroups.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libdisk/change.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libjail/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libjail/jail.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libjail/jail.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libjail/jail.h#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libjail/jail_getid.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libkiconv/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_proc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libpam/modules/pam_unix/pam_unix.8#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/Makefile#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.3#7 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20.3#1 branch .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20_ugen20.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getvmmap.3#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/ncurses/ncurses/pathnames.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/machdep.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/conf/GENERIC.hints#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/pmap.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/include/pmap.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mvreg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cam/cam_periph.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_ioctl.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/subr_usbd.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/svr4/svr4_sockio.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/NOTES#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files.i386#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files.powerpc#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/options#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/age/if_age.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/asmc/asmc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-sata.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-usb.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-acard.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-nvidia.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-promise.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-siliconimage.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_multiq.c#4 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_em.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_em.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_igb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_usb.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/malo/if_malo.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/md/md.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mge/if_mge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/if_mxge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/if_mxge_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nge/if_nge.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pci/pci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sis/if_sis.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_rate.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/scterm-teken.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/teken/teken.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci_atmelarm.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_mbus.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uhci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/usb_controller.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/uhid.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ukbd.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ums.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/misc/udbp.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/misc/ufm.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_axe.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_cue.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_kue.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_rue.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_udav.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/usb_ethernet.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/u3g.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uark.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ubsa.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ubser.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uchcom.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ucycom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ufoma.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uftdi.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ugensa.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uipaq.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ulpt.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umct.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umodem.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umoscom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uplcom.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/usb_serial.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uslcom.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uvisor.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uvscom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/umass.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/urio.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/ustorage_fs.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_busdma.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_busdma.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_controller.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_core.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_defs.h#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dev.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dev.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dynamic.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hid.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hid.h#4 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hub.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_lookup.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_lookup.h#5 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mbuf.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mbuf.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_msctest.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_parse.h#4 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_process.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_request.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_request.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_revision.h#5 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_util.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdi.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdi_util.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbhid.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_rum.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_uath.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_ural.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_zyd.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/vge/if_vge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/vr/if_vr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wi/if_wi.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/xl/if_xl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfs/nfs.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfs/nfsport.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clbio.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clkrpc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clvnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsserver/nfs_nfsdport.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nullfs/null_vnops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/pseudofs/pseudofs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/ext2fs/ext2_lookup.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/ext2fs/ext2_vnops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/local_apic.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/msi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/cpufunc.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/pmap.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/specialreg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/xen/mp_machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/ia64/elf_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/kern/init_sysent.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_acct.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_alq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_cpuset.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exec.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exit.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_jail.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_lock.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_poll.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_proc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_prot.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_resource.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_sig.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/link_elf.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/link_elf_obj.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sched_ule.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/subr_pcpu.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/subr_stack.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_process.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/syscalls.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/syscalls.master#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/systrace_args.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sysv_shm.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/tty.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_shm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_cache.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_default.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_export.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_vnops.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vnode_if.src#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/libkern/iconv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/adm5120/if_admsw.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/mips/idt/idtpci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/idt/if_kr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/elf_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/pmap.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/Makefile#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/acpi/acpi/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/modules/cas/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/ixgbe/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/modules/wlan/Makefile#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/bpf.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/bridgestp.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/fddi.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/firewire.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/flowtable.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/flowtable.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_arc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_arcsubr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_ef.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_enc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_epair.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_fddisubr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_fwsubr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_gre.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_iso88025subr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_media.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_mib.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_stf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_tap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_tun.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_var.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_vlan.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/iso88025.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/netisr.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/raw_cb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/raw_usrreq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/route.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/route.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/rtsock.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/vnet.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ddb.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_wds.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/aarp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/at_control.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/at_var.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/ddp_input.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/atm/ng_atm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ether.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_iface.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/if_ether.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/igmp.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_gif.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_mcast.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_proto.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_rmx.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_carp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_dummynet.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_input.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_mroute.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_mroute.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_options.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_output.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_dummynet.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_fw2.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/raw_ip.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/sctp.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/sctp_indata.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/sctp_input.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/sctp_output.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_hostcache.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_output.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/vinet.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/frag6.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/icmp6.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_proto.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_rmx.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_input.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_mroute.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_output.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/raw_ip6.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/scope6.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/vinet6.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/key.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/xform_tcp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/README#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_outputfl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/spx.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/spx_usrreq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/spx_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvkrpc.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvsock.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvsubs.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/pci/if_rl.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/aim/mmu_oea.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/booke/pmap.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/conf/MPC85XX#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/conf/NOTES#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/include/spr.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powerpc/cpu.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powerpc/mp_machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/clnt_rc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc_auth.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc_auth_unix.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc_generic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc_vc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/include/pcpu.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/acl.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/ata.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/conf.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/cpuset.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/fcntl.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/iconv.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/ipc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/jail.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/ktr.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/linker.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/lock.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/lock_profile.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/mbuf.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/msg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/mutex.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/param.h#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/pcpu.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/priv.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/resource.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/resourcevar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sched.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sem.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/shm.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/socketvar.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sockio.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/stack.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sx.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/syscall.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/syscall.mk#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sysctl.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/syslimits.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/sysproto.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/tty.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/ucred.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/uio.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/unistd.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/user.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/vimage.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/vnode.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ufs/ufs_dirhash.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/default_pager.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/device_pager.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/phys_pager.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/swap_pager.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/uma_core.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_contig.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_extern.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_fault.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_kern.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_map.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_map.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_object.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_object.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_page.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_pager.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_pager.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_phys.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_phys.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.236 2009/03/09 17:38:14 thompsa Exp $ +# $FreeBSD: src/lib/Makefile,v 1.237 2009/06/24 18:18:35 jamie Exp $ .include @@ -35,8 +35,8 @@ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \ ${_libgssapi} ${_librpcsec_gss} libipsec \ - ${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \ - ${_libncp} ${_libngatm} libopie libpam libpcap \ + ${_libipx} libjail libkiconv libmagic libmemstat ${_libmilter} \ + ${_libmp} ${_libncp} ${_libngatm} libopie libpam libpcap \ ${_libpmc} libproc librt ${_libsdp} ${_libsm} ${_libsmb} \ ${_libsmdb} \ ${_libsmutil} libstand ${_libtelnet} ${_libthr} libthread_db libufs \ ==== //depot/projects/soc2009/syl_usb/src/lib/libarchive/archive_read.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.49 2009/04/27 17:42:02 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.50 2009/06/20 06:02:21 kientzle Exp $"); #ifdef HAVE_ERRNO_H #include @@ -117,6 +117,7 @@ struct archive_read *a; struct archive_format_descriptor *format; char key[64], val[64]; + char *valp; size_t i; int len, r; @@ -135,10 +136,10 @@ while ((len = __archive_parse_options(s, format->name, sizeof(key), key, sizeof(val), val)) > 0) { - if (val[0] == '\0') - r = format->options(a, key, NULL); - else - r = format->options(a, key, val); + valp = val[0] == '\0' ? NULL : val; + a->format = format; + r = format->options(a, key, valp); + a->format = NULL; if (r == ARCHIVE_FATAL) return (r); s += len; ==== //depot/projects/soc2009/syl_usb/src/lib/libc/arm/string/strncmp.S#3 (text+ko) ==== @@ -30,16 +30,19 @@ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/string/strncmp.S,v 1.4 2009/05/06 01:50:04 sam Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/string/strncmp.S,v 1.6 2009/06/21 13:15:56 stas Exp $"); ENTRY(strncmp) -/* if ((len - 1) < 0) return 0 */ - subs r2, r2, #1 - movmi r0, #0 - movmi pc, lr +/* if (len == 0) return 0 */ + cmp r2, #0 + moveq r0, #0 + moveq pc, lr /* ip == last src address to compare */ - add ip, r0, r2 + adds ip, r0, r2 +/* Use last possible address on overflow. */ + movcs ip, #0 + sub ip, ip, #1 1: ldrb r2, [r0], #1 ldrb r3, [r1], #1 ==== //depot/projects/soc2009/syl_usb/src/lib/libc/db/btree/bt_split.c#2 (text+ko) ==== @@ -31,10 +31,10 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)bt_split.c 8.9 (Berkeley) 7/26/94"; +static char sccsid[] = "@(#)bt_split.c 8.10 (Berkeley) 1/9/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_split.c,v 1.12 2009/03/28 05:45:29 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_split.c,v 1.14 2009/06/24 01:15:10 delphij Exp $"); #include @@ -644,8 +644,8 @@ * where we decide to try and copy too much onto the left page. * Make sure that doesn't happen. */ - if ((skip <= off && used + nbytes + sizeof(indx_t) >= full) - || nxt == top - 1) { + if ((skip <= off && used + nbytes + sizeof(indx_t) >= full) || + nxt == top - 1) { --off; break; } ==== //depot/projects/soc2009/syl_usb/src/lib/libc/db/mpool/mpool.c#2 (text+ko) ==== @@ -28,10 +28,10 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)mpool.c 8.5 (Berkeley) 7/26/94"; +static char sccsid[] = "@(#)mpool.c 8.7 (Berkeley) 11/2/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.18 2009/03/28 07:44:08 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.19 2009/06/24 01:15:10 delphij Exp $"); #include "namespace.h" #include ==== //depot/projects/soc2009/syl_usb/src/lib/libc/gen/Symbol.map#3 (text) ==== @@ -1,5 +1,5 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jun 26 20:57:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44C421065673; Fri, 26 Jun 2009 20:57:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 041A61065670 for ; Fri, 26 Jun 2009 20:57:48 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E60298FC12 for ; Fri, 26 Jun 2009 20:57:47 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QKvlIf080535 for ; Fri, 26 Jun 2009 20:57:47 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QKvlkQ080533 for perforce@freebsd.org; Fri, 26 Jun 2009 20:57:47 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 20:57:47 GMT Message-Id: <200906262057.n5QKvlkQ080533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165288 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 20:57:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165288 Change 165288 by truncs@aditya on 2009/06/26 20:57:45 Super block locking. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#14 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#14 (text+ko) ==== @@ -635,11 +635,13 @@ fs = ip->i_e2fs; if (fs->e2fs_gd[cg].ext2bgd_nbfree == 0) return (0); + lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, fs->e2fs_gd[cg].ext2bgd_b_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); + unlock_super(DEVVP(ip)); return (0); } bbp = (char *)bp->b_data; @@ -681,8 +683,10 @@ } bno = ext2fs_mapsearch(fs, bbp, bpref); - if (bno < 0) + if (bno < 0){ + unlock_super(DEVVP(ip)); return (0); + } gotit: #ifdef DIAGNOSTIC if (isset(bbp, (daddr_t)bno)) { @@ -696,7 +700,7 @@ fs->e2fs_gd[cg].ext2bgd_nbfree--; mark_buffer_dirty(bp); fs->e2fs_fmod = 1; - + unlock_super(DEVVP(ip)); return (cg * fs->e2fs.e2fs_fpg + fs->e2fs.e2fs_first_dblock + bno); } @@ -720,11 +724,13 @@ fs = ip->i_e2fs; if (fs->e2fs_gd[cg].ext2bgd_nifree == 0) return (0); + lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, fs->e2fs_gd[cg].ext2bgd_i_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); + unlock_super(DEVVP(ip)); return (0); } ibp = (char *)bp->b_data; @@ -757,6 +763,7 @@ fs->e2fs_gd[cg].ext2bgd_ndirs++; } mark_buffer_dirty(bp); + unlock_buffer(DEVVP(ip)); return (cg * fs->e2fs.e2fs_ipg + ipref +1); } From owner-p4-projects@FreeBSD.ORG Fri Jun 26 21:02:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D86C10656C2; Fri, 26 Jun 2009 21:02:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD1A31065691 for ; Fri, 26 Jun 2009 21:02:53 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9150C8FC13 for ; Fri, 26 Jun 2009 21:02:53 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QL2rAU081047 for ; Fri, 26 Jun 2009 21:02:53 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QL2rls081045 for perforce@freebsd.org; Fri, 26 Jun 2009 21:02:53 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 21:02:53 GMT Message-Id: <200906262102.n5QL2rls081045@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165289 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 21:02:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165289 Change 165289 by truncs@aditya on 2009/06/26 21:01:57 Fixed Typo. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#15 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#15 (text+ko) ==== @@ -763,7 +763,7 @@ fs->e2fs_gd[cg].ext2bgd_ndirs++; } mark_buffer_dirty(bp); - unlock_buffer(DEVVP(ip)); + unlock_super(DEVVP(ip)); return (cg * fs->e2fs.e2fs_ipg + ipref +1); } From owner-p4-projects@FreeBSD.ORG Fri Jun 26 21:14:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 548DF1065674; Fri, 26 Jun 2009 21:14:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1588A106564A for ; Fri, 26 Jun 2009 21:14:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 036E38FC08 for ; Fri, 26 Jun 2009 21:14:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QLE5il083176 for ; Fri, 26 Jun 2009 21:14:05 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QLE5EO083174 for perforce@freebsd.org; Fri, 26 Jun 2009 21:14:05 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 21:14:05 GMT Message-Id: <200906262114.n5QLE5EO083174@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165291 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 21:14:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=165291 Change 165291 by truncs@aditya on 2009/06/26 21:13:33 It should return a cylinder group that is u_long and not ino_t. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#16 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#16 (text+ko) ==== @@ -51,7 +51,7 @@ #include static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); -static ino_t ext2_dirpref(struct m_ext2fs *); +static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static ino_t ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, @@ -547,11 +547,11 @@ * among those cylinder groups with above the average number of * free inodes, the one with the smallest number of directories. */ -static ino_t +static u_long ext2_dirpref(struct m_ext2fs *fs) { - int maxspace, avgifree; - ino_t cg, mincg; + int cg, maxspace, mincg, avgifree; + avgifree = fs->e2fs.e2fs_ficount / fs->e2fs_ncg; maxspace = 0; mincg = -1; From owner-p4-projects@FreeBSD.ORG Fri Jun 26 21:31:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DE53106567C; Fri, 26 Jun 2009 21:31:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DCE8106564A for ; Fri, 26 Jun 2009 21:31:25 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFD888FC18 for ; Fri, 26 Jun 2009 21:31:24 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QLVOov084988 for ; Fri, 26 Jun 2009 21:31:24 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QLVOjd084986 for perforce@freebsd.org; Fri, 26 Jun 2009 21:31:24 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 21:31:24 GMT Message-Id: <200906262131.n5QLVOjd084986@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165292 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 21:31:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165292 Change 165292 by truncs@aditya on 2009/06/26 21:30:27 Introduce new functions in the code. Check whether a directory has to be allocated if yes obtain a cylinder group based on ext2_dirpref else try to place it in the same cylinder group. The preferred inode will always be the next inode. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#17 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#17 (text+ko) ==== @@ -369,17 +369,24 @@ struct inode *pip; struct m_ext2fs *fs; struct inode *ip; - ino_t ino; - int i, error; + ino_t ino, ipref; + int i, error, cg; *vpp = NULL; pip = VTOI(pvp); fs = pip->i_e2fs; if (fs->e2fs->e2fs_ficount == 0) goto noinodes; - - /* call the Linux routine - it returns the inode number only */ - ino = ext2_new_inode(pip, mode); + /* + * If it is a directory then obtain a cylinder group based on ext2_dirpref + * else the preferred inode is the next inode. + */ + if((mode & IFMT) == IFDIR) + cg = ext2_dirpref(fs); + else + cg = ino_to_cg(fs, pip->i_number); + ipref = cg * fs->e2fs.e2fs_ipg + 1; + ino = ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); if (ino == 0) goto noinodes; From owner-p4-projects@FreeBSD.ORG Fri Jun 26 21:33:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B659E1065674; Fri, 26 Jun 2009 21:33:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76A36106564A for ; Fri, 26 Jun 2009 21:33:27 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 64B5B8FC0A for ; Fri, 26 Jun 2009 21:33:27 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QLXRTP085220 for ; Fri, 26 Jun 2009 21:33:27 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QLXRKa085218 for perforce@freebsd.org; Fri, 26 Jun 2009 21:33:27 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 26 Jun 2009 21:33:27 GMT Message-Id: <200906262133.n5QLXRKa085218@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165294 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 21:33:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165294 Change 165294 by truncs@aditya on 2009/06/26 21:32:50 The comment was slightly misleading. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#18 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#18 (text+ko) ==== @@ -378,8 +378,9 @@ if (fs->e2fs->e2fs_ficount == 0) goto noinodes; /* - * If it is a directory then obtain a cylinder group based on ext2_dirpref - * else the preferred inode is the next inode. + * If it is a directory then obtain a cylinder group based on ext2_dirpref + * else obtain it using ino_to_cg. The preferred inode is always the next + * inode. */ if((mode & IFMT) == IFDIR) cg = ext2_dirpref(fs); From owner-p4-projects@FreeBSD.ORG Fri Jun 26 21:47:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 278581065676; Fri, 26 Jun 2009 21:47:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB9BB1065674 for ; Fri, 26 Jun 2009 21:47:34 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outP.internet-mail-service.net (outp.internet-mail-service.net [216.240.47.239]) by mx1.freebsd.org (Postfix) with ESMTP id C09B58FC22 for ; Fri, 26 Jun 2009 21:47:34 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id B9556D392; Fri, 26 Jun 2009 14:47:52 -0700 (PDT) X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e Received: from julian-mac.elischer.org (unknown [64.244.102.2]) by idiom.com (Postfix) with ESMTP id 210C92D6011; Fri, 26 Jun 2009 14:47:34 -0700 (PDT) Message-ID: <4A4541F5.1050301@elischer.org> Date: Fri, 26 Jun 2009 15:47:33 -0600 From: Julian Elischer User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Marko Zec References: <200906261413.n5QED9j7023013@repoman.freebsd.org> In-Reply-To: <200906261413.n5QED9j7023013@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 165251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 21:47:36 -0000 Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=165251 > > Change 165251 by zec@zec_amdx4 on 2009/06/26 14:13:00 > > Allow for rpc.statd and rpc.lockd to be started, but > without doing any functional testing. Introduce a lot > curvnet recursions triggered by the above daemons that > have to be looked into and resolved. > > Affected files ... > > .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 edit > .. //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 edit > > Differences ... > > ==== //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 (text+ko) ==== > > @@ -56,6 +56,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -197,11 +198,14 @@ > return (NULL); > } > > + CURVNET_SET(so->so_vnet); > if (!__rpc_socket2sockinfo(so, &si)) { > rpc_createerr.cf_stat = RPC_TLIERROR; > rpc_createerr.cf_error.re_errno = 0; > + CURVNET_RESTORE(); > return (NULL); > } > + CURVNET_RESTORE(); > > /* > * Find the receive and the send size > > ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 (text+ko) ==== > > @@ -56,6 +56,7 @@ > #include > #include > #include > +#include > > #include > > @@ -101,8 +102,10 @@ > struct sockaddr* sa; > int error; > > + CURVNET_SET(so->so_vnet); > if (!__rpc_socket2sockinfo(so, &si)) { > printf(svc_dg_str, svc_dg_err1); > + CURVNET_RESTORE(); > return (NULL); > } > /* > @@ -112,6 +115,7 @@ > recvsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)recvsize); > if ((sendsize == 0) || (recvsize == 0)) { > printf(svc_dg_str, svc_dg_err2); > + CURVNET_RESTORE(); > return (NULL); > } > > @@ -142,6 +146,7 @@ > if (xprt) { > svc_xprt_free(xprt); > } > + CURVNET_RESTORE(); > return (NULL); > } > while leaving all your virtualization clues in place can we make it so that the nfs code always works on vnet0? I putr it to you that NFS itself should be virtualized as a separate major group than vnet.. but until that is done, use vnet0. From owner-p4-projects@FreeBSD.ORG Fri Jun 26 22:38:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 693DE1065672; Fri, 26 Jun 2009 22:38:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2965E106564A for ; Fri, 26 Jun 2009 22:38:39 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 177FD8FC19 for ; Fri, 26 Jun 2009 22:38:39 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5QMccl0092890 for ; Fri, 26 Jun 2009 22:38:38 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5QMccgM092888 for perforce@freebsd.org; Fri, 26 Jun 2009 22:38:38 GMT (envelope-from jona@FreeBSD.org) Date: Fri, 26 Jun 2009 22:38:38 GMT Message-Id: <200906262238.n5QMccgM092888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jun 2009 22:38:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165298 Change 165298 by jona@jona-trustedbsd-belle-vmware on 2009/06/26 22:38:37 __BEGIN_DECLS, not #ifdef __cplusplus Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#5 (text+ko) ==== @@ -34,8 +34,11 @@ #ifndef _LIBUSERANGEL_H_ #define _LIBUSERANGEL_H_ +#include #include +__BEGIN_DECLS + /* High-level API */ @@ -101,6 +104,7 @@ int ua_unmarshall_error(const struct ua_datum *d, int *errnum, char *msg, int *msglen); int ua_unmarshall_powerbox(const struct ua_datum *d, struct ua_powerbox_options *options); +__END_DECLS #endif /* !_LIBUSERANGEL_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Jun 27 05:16:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 022521065670; Sat, 27 Jun 2009 05:16:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6072106564A for ; Sat, 27 Jun 2009 05:16:53 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 928718FC0A for ; Sat, 27 Jun 2009 05:16:53 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5R5Grx9061035 for ; Sat, 27 Jun 2009 05:16:53 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5R5GrdH061033 for perforce@freebsd.org; Sat, 27 Jun 2009 05:16:53 GMT (envelope-from dforsyth@FreeBSD.org) Date: Sat, 27 Jun 2009 05:16:53 GMT Message-Id: <200906270516.n5R5GrdH061033@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165300 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 05:16:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165300 Change 165300 by dforsyth@squirrel on 2009/06/27 05:16:29 Building pkg_sub. Build with errors, mock pkg_info does nothing because iteration functions aren't built. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#27 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#26 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#12 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#10 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#6 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_old.c#2 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_old.h#3 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/old/pkgdb_hierdb_pkgdb_sub.c#1 add .. //depot/projects/soc2009/dforsyth_libpkg/old/pkgdb_hierdb_pkgdb_sub.h#1 add .. //depot/projects/soc2009/dforsyth_libpkg/old/pkgdb_old.c#1 add .. //depot/projects/soc2009/dforsyth_libpkg/old/pkgdb_old.h#1 add .. //depot/projects/soc2009/dforsyth_libpkg/tests/test.h#1 add Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#9 (text+ko) ==== @@ -1,8 +1,8 @@ LIB= pkg INCS= pkg.h WARNS= 6 -SRCS= pkgdb.c pkgdb_hierdb.c pkgdb_hierdb_pkgdb_sub.c pkg.c pkg_util.c \ - pkg_file.c pkg_dep.c pkg_cfl.c pkg_plist.c +SRCS= pkgdb.c pkgdb_hierdb.c pkg.c pkg_util.c pkg_file.c \ + pkg_dep.c pkg_cfl.c pkg_plist.c pkg_sub.c NO_MAN= yes .include ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#27 (text+ko) ==== @@ -9,7 +9,6 @@ #include "pkg_file.h" #include "pkg_cfl.h" #include "pkg_plist.h" -#include "pkgdb_hierdb_pkgdb_sub.h" #include "pkgdb_hierdb.h" #include "pkgdb.h" #include "pkg_private.h" ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#26 (text+ko) ==== @@ -25,6 +25,7 @@ #define DB_NOT_OPEN 0x40000000 #define DB_OPEN 0x80000000 #define DB_NO_PKG 0x01000000 +#define DB_MEMORY_ERR 0x02000000 /* These should probably go to _private */ #define SUB_OK 0x00000000 @@ -36,6 +37,7 @@ #define SUB_NO_REQUIRED_BY 0x02000000 #define SUB_NO_FILE 0x04000000 #define SUB_EMPTY_FILE 0x08000000 +#define SUB_MEMORY_ERR 0x00100000 /* PKG Errors. */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#17 (text+ko) ==== @@ -1,6 +1,8 @@ #ifndef __PKG_PLIST_H__ #define __PKG_PLIST_H__ +#include + /* Make these visible to the client. */ enum plist_elem { ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#2 (text+ko) ==== @@ -3,57 +3,68 @@ #include #include -#include +#include #include #include +#include "pkg_private.h" +#include "pkg_util.h" #include "pkg_plist.h" #include "pkg.h" #include "pkg_sub.h" -struct pkg_sub { - /* directory name, path. */ - char *ident; - char *path; - - /* parsed plist. */ - struct pkg_plist *pl; - - /* relevant text. */ - char *comment_text; - char *contents_text; - char *desc_text; - char *display_text; - char *mtree_dirs_text; - char *required_by_text; - - /* status and error. */ - short dirty; - int error; -} - int pkg_sub_mark_dirty(struct pkg_sub *ps) { - if (!VALID_PKG_SUB(ps)) + if (ps == NULL) arg_rage_quit(__func__, "Not a valid package directory.", RAGE_AT_LIBPKG); - dir->dirty = 1; + ps->dirty = 1; return (PKG_SUB_OK); } int pkg_sub_mark_clean(struct pkg_sub *ps) { - if (!VALID_PKG_SUB(ps)) + if (ps == NULL) arg_rage_quit(__func__, "Not a valid package directory.", RAGE_AT_LIBPKG); - dir->dirty = 0; + ps->dirty = 0; return (PKG_SUB_OK); } +const char * +pkg_sub_file_id(enum pkg_sub_file_ident id) +{ + const char *ret; + switch (id) { + case (COMMENT_FILE_ID): + ret = COMMENT_FILE; + break; + case (CONTENTS_FILE_ID): + ret = CONTENTS_FILE; + break; + case (DESC_FILE_ID): + ret = DESC_FILE; + break; + case (DISPLAY_FILE_ID): + ret = DISPLAY_FILE; + break; + case (MTREE_DIRS_FILE_ID): + ret = MTREE_DIRS_FILE; + break; + case (REQUIRED_BY_FILE_ID): + ret = REQUIRED_BY_FILE; + break; + default: + ret = NULL; + } + + return (ret); +} + int pkg_sub_read_file_to_text(struct pkg_sub *ps, enum pkg_sub_file_ident id) { @@ -62,9 +73,11 @@ char *path; char *text; const char *filename; - struct stat db; + struct stat sb; - filename = pkg_sub_id(id); + filename = pkg_sub_file_id(id); + if (filename == NULL) + return (PKG_SUB_NOT_OK); path = path_build(ps->path, filename); s = lstat(path, &sb); if (s < 0 || !S_ISREG(sb.st_mode)) { @@ -72,14 +85,14 @@ return (PKG_SUB_NOT_OK | PKG_SUB_NO_FILE); } if (sb.st_size == 0) { - free(path) + free(path); return (PKG_SUB_NOT_OK | PKG_SUB_EMPTY_FILE); } fd = open(path, O_RDONLY); free(path); if (fd < 0) - return (PKG_SUB_NOT_OK | PKG_SUB_COULD_NOT_OPEN); + return (PKG_SUB_NOT_OK | PKG_SUB_COULD_NOT_OPEN_FILE); text = malloc(sb.st_size + 1); if (text == NULL) { @@ -113,7 +126,7 @@ case REQUIRED_BY_FILE_ID: ps->required_by_text = text; break; - default + default: free(text); return (PKG_SUB_NO_FILE); } @@ -121,37 +134,66 @@ return (PKG_SUB_OK); } + +/* Read all files into memory at once. */ + +int +pkg_sub_read_files(struct pkg_sub *ps) +{ + int status; + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + status = PKG_SUB_OK; + status |= pkg_sub_read_file_to_text(ps, COMMENT_FILE_ID); + status |= pkg_sub_read_file_to_text(ps, CONTENTS_FILE_ID); + status |= pkg_sub_read_file_to_text(ps, DESC_FILE_ID); + status |= pkg_sub_read_file_to_text(ps, DISPLAY_FILE_ID); + status |= pkg_sub_read_file_to_text(ps, MTREE_DIRS_FILE_ID); + status |= pkg_sub_read_file_to_text(ps, REQUIRED_BY_FILE_ID); + + + return (status); +} + +int +pkg_sub_reset(struct pkg_sub *ps) +{ + if (ps) ;; + return (PKG_SUB_OK); +} + /* Initialize a pkg_sub in a pkgdb. */ + int -pkg_sub_init(struct pkgdb *db, struct pkg_sub *ps, const char *ident) +pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident) { - char *identp; char *pathp; - if (!VALID_PKGDB(db) || !VALID_PKG_SUB(ps) || ident == NULL) + if (db == NULL || ps == NULL || ident == NULL) arg_rage_quit(__func__, "", RAGE_AT_LIBPKG); - identp = strdup(ident); + pkg_sub_reset(ps); + pkg_sub_set_ident(ps, ident); pathp = path_build(pkgdb_db_root(db), ident); - if (identp == NULL || pathp == NULL) { - free(identp); + if (pathp == NULL) { free(pathp); return (PKG_SUB_NOT_OK | PKG_SUB_MEMORY_ERR); } - ps->ident = identp; ps->path = pathp; - + +/* pkg_plist_delete(ps->pl); ps->pl = NULL; - +*/ free(ps->comment_text); free(ps->contents_text); free(ps->desc_text); free(ps->display_text); - free(ps->mtree_text); - free(ps->required_text); + free(ps->mtree_dirs_text); + free(ps->required_by_text); ps->comment_text = NULL; ps->contents_text = NULL; ps->desc_text = NULL; @@ -165,12 +207,15 @@ return (PKG_SUB_OK); } +int +pkg_sub_set_ident(struct pkg_sub *ps, const char *ident) +{ + if (ps == NULL || ident == NULL) + return (PKG_SUB_NOT_OK); - return (OK); -} + ps->ident = strdup(ident); + if (ps->ident == NULL) + return (PKG_SUB_NOT_OK | PKG_SUB_MEMORY_ERR); -int -pkg_sub_set_plist(struct pkg_sub *ps, struct pkg_plist *pl) -{ - return (OK); + return (PKG_SUB_OK); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#2 (text+ko) ==== @@ -1,10 +1,91 @@ #ifndef __PKG_DIR_H__ #define __PKG_DIR_H__ +#include "pkgdb.h" + +#define PKG_SUB_MEM_ERR(x) x & SUB_MEMORY_ERR + +#define PKG_SUB_OK 0x00000000 +#define PKG_SUB_NOT_OK 0x10000000 +#define PKG_SUB_MEMORY_ERR 0x20000000 +#define PKG_SUB_NO_FILE 0x40000000 +#define PKG_SUB_COULD_NOT_OPEN_FILE 0x80000000 +#define PKG_SUB_EMPTY_FILE 0x01000000 + +struct pkg_sub { + /* directory name, path. */ + char *ident; + char *path; + + /* parsed plist. */ + struct pkg_plist *pl; + + /* relevant text. */ + char *comment_text; + char *contents_text; + char *desc_text; + char *display_text; + char *mtree_dirs_text; + char *required_by_text; + + /* status and error. */ + short dirty; + int error; +}; + +enum pkg_sub_file_ident { + COMMENT_FILE_ID, + CONTENTS_FILE_ID, + DESC_FILE_ID, + DISPLAY_FILE_ID, + MTREE_DIRS_FILE_ID, + REQUIRED_BY_FILE_ID +}; + struct pkg_sub; int pkg_sub_mark_dirty(struct pkg_sub *ps); int pkg_sub_mark_clean(struct pkg_sub *ps); +int pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident); + +int pkg_sub_reset(struct pkg_sub *ps); + +const char *pkg_sub_file_id(enum pkg_sub_file_ident id); + +int pkg_sub_read_file_to_text(struct pkg_sub *ps, + enum pkg_sub_file_ident id); + +int pkg_sub_read_files(struct pkg_sub *ps); + +const char *pkg_sub_ident(struct pkg_sub *ps); + +int pkg_sub_set_ident(struct pkg_sub *ps, const char *ident); + +const char *pkg_sub_contents(struct pkg_sub *ps); + +int pkg_sub_set_contents(struct pkg_sub *ps, const char *contents); + +const char *pkg_sub_comment(struct pkg_sub *ps); + +int pkg_sub_set_comment(struct pkg_sub *ps, const char *comment); + +const char *pkg_sub_desc(struct pkg_sub *ps); + +int pkg_sub_set_desc(struct pkg_sub *ps, const char *desc); + +const char *pkg_sub_display(struct pkg_sub *ps); + +int pkg_sub_set_display(struct pkg_sub *ps, const char *display); + +const char *pkg_sub_mtree_dirs(struct pkg_sub *ps); + +int pkg_sub_set_mtree_dirs(struct pkg_sub *ps, const char *mtree_dirs); + +const char *pkg_sub_required_by(struct pkg_sub *ps); + +int pkg_sub_set_required_by(struct pkg_sub *ps, const char *required_by); + + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#18 (text+ko) ==== @@ -4,7 +4,7 @@ #include #include "pkg_util.h" -#include "pkgdb_hierdb_pkgdb_sub.h" +#include "pkg_sub.h" #include "pkgdb_hierdb.h" #include "pkgdb_private.h" #include "pkgdb.h" @@ -65,7 +65,7 @@ if (!db->open) return (DB_NOT_OPEN); - pkgdb_pkgdb_sub_list_free(db); /* Should set sub_count to 0. */ + pkgdb_pkg_sub_list_free(db); /* Should set sub_count to 0. */ free(db->db_root); db->open = 0; @@ -88,7 +88,7 @@ pkgdb_pkg_next(struct pkgdb *db, struct pkg *p) { int status; - struct pkgdb_sub *sub; + struct pkg_sub *ps; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); @@ -100,123 +100,108 @@ * can have multiple copies of a package which do not share a state. * Is this a terrible idea? Stay tuned to find out. */ pkg_reset(p); - sub = pkgdb_pkgdb_sub_list_next(db); - if (sub == NULL) { + ps = pkgdb_pkg_sub_list_next(db); + if (ps == NULL) { return (DB_NO_PKG); /* Already at the end. */ } status = OK; - status |=pkg_set_ident(p, pkgdb_sub_ident(sub)); - /* Status should be pointless to check here, because the init loop - * doesn't bother with subdirectories that don't have a plist. */ - status |= pkg_set_contents(p, pkgdb_sub_contents(sub)); - status |= pkg_set_comment(p, pkgdb_sub_comment(sub)); - status |= pkg_set_description(p, pkgdb_sub_desc(sub)); - status |= pkg_set_display(p, pkgdb_sub_display(sub)); - status |= pkg_set_mtree_dirs(p, pkgdb_sub_mtree_dirs(sub)); - status |= pkg_set_required_by(p, pkgdb_sub_required_by(sub)); - /* I'm not sure all of these have to be loaded, but we can make a - * decision about that later. */ + - /* Error codes to the client. */ return (status); } -#if 0 int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident) { /* TODO: Write this function. */ int status; + struct pkg_sub *ps; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (ident == NULL) + arg_rage_quit(__func__, "Not a valid identifier.", + RAGE_AT_CLIENT); status = PKG_OK; pkg_reset(p); - - return (OK); + ps = pkgdb_pkg_sub_get(db, ident); + if (ps == NULL) + return (DB_NO_PKG); + status = pkg_sub_read_files(ps); + if (status == NOT_OK) { + /* might have to free some things in here. */ + return (NOT_OK); + } + + return (status); } -/* Grab a specific sub out of the pkgdb_sub list. */ -struct pkgdb_sub * -pkgdb_pkgdb_sub_get(struct pkgdb *db, const char *ident) +struct pkg_sub * +pkgdb_pkg_sub_get(struct pkgdb *db, const char *ident) { - /* TODO: Write this function. */ - return (NULL); + struct pkg_sub *ps; + + if (db || ident) + ;; + + ps = NULL; + + return (ps); } -#endif void -pkgdb_pkgdb_sub_list_free(struct pkgdb *db) -{ - struct pkgdb_sub *sub1; - struct pkgdb_sub *sub2; - - if (db == NULL) - arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - - pkgdb_pkgdb_sub_list_init(db); - sub1 = pkgdb_pkgdb_sub_list_first(db); - while (sub1 != NULL) { - sub2 = pkgdb_pkgdb_sub_list_next(db); - pkgdb_sub_reset(sub1); - sub1 = sub2; - } +pkgdb_pkg_sub_list_free(struct pkgdb *db) +{ + if (db) return; + return; } -struct pkgdb_sub * -pkgdb_pkgdb_sub_list_next(struct pkgdb *db) +struct pkg_sub * +pkgdb_pkg_sub_list_next(struct pkgdb *db) { - struct pkgdb_sub *sub; + struct pkg_sub *ps; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - if (db->sub_curr == NULL) - sub = pkgdb_pkgdb_sub_list_first(db); - else - sub = TAILQ_NEXT(db->sub_curr, next); - - if (sub != NULL) - db->sub_curr = sub; - - return (sub); + ps = NULL; + return (ps); } -struct pkgdb_sub * -pkgdb_pkgdb_sub_list_first(struct pkgdb *db) +struct pkg_sub * +pkgdb_pkg_sub_list_first(struct pkgdb *db) { - struct pkgdb_sub *sub; + struct pkg_sub *ps; if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - - sub = TAILQ_FIRST(&db->sub_head); - return (sub); + + ps = db->ps_list + 0; + return (ps); } void -pkgdb_pkgdb_sub_list_append(struct pkgdb *db, struct pkgdb_sub *sub) +pkgdb_pkg_sub_list_append(struct pkgdb *db, struct pkg_sub *ps) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - if (sub == NULL) + if (ps == NULL) arg_rage_quit(__func__, "Not a valid sub directory.", RAGE_AT_LIBPKG); - - TAILQ_INSERT_TAIL(&db->sub_head, sub, next); + return; } void -pkgdb_pkgdb_sub_list_init(struct pkgdb *db) +pkgdb_pkg_sub_list_init(struct pkgdb *db) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - TAILQ_INIT(&db->sub_head); + db->ps_curr = NULL; } char * ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#12 (text+ko) ==== @@ -5,15 +5,18 @@ struct pkgdb; -void pkgdb_pkgdb_sub_list_free(struct pkgdb *db); +void pkgdb_pkg_sub_list_free(struct pkgdb *db); + +void pkgdb_pkg_sub_list_init(struct pkgdb *db); + +void pkgdb_pkg_sub_list_reset_iter(struct pkgdb *db); -void pkgdb_pkgdb_sub_list_init(struct pkgdb *db); +struct pkg_sub *pkgdb_pkg_sub_list_next(struct pkgdb *db); -struct pkgdb_sub *pkgdb_pkgdb_sub_list_next(struct pkgdb *db); +struct pkg_sub *pkgdb_pkg_sub_list_first(struct pkgdb *db); -struct pkgdb_sub *pkgdb_pkgdb_sub_list_first(struct pkgdb *db); +void pkgdb_pkg_sub_list_append(struct pkgdb *db, struct pkg_sub *sub); -void pkgdb_pkgdb_sub_list_append(struct pkgdb *db, struct pkgdb_sub *sub); +struct pkg_sub *pkgdb_pkg_sub_get(struct pkgdb *db, const char *ident); -struct pkgdb_sub *pkgdb_pkgdb_sub_get(struct pkgdb *db, const char *ident); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#9 (text+ko) ==== @@ -12,7 +12,6 @@ #include "pkgdb.h" #include "pkgdb_private.h" #include "pkgdb_hierdb.h" -#include "pkgdb_hierdb_pkgdb_sub.h" #include "pkg_sub.h" int @@ -43,9 +42,8 @@ db->dirty = 1; db->open = 1; - db->sub_curr = NULL; - db->sub_count = 0; - + db->ps_curr = NULL; + db->ps_count = 0; return (OK); } @@ -57,11 +55,8 @@ int c; int cnt; int status; - struct pkgdb_sub *sub; struct dirent **ents; -#if 0 - struct pkg_dir *pkg_list; -#endif + struct pkg_sub *ps_list; #if 0 if (!VALID_DB(db)) #endif @@ -74,95 +69,70 @@ if (c < 1) return (NOT_OK | MEMORY_ERR); -#if 0 - pkg_list = calloc(c, sizeof(*pkg_list)); - if (pkg_list = NULL) + ps_list = calloc(c, sizeof(*ps_list)); + if (ps_list == NULL) return (NOT_OK | MEMORY_ERR); - for i = 0, cnt = 0; i < c; ++i) { - status |= pkg_sub_init(db, pkg_list[i], ents[i]->d_name); - if (PKG_SUB_MEMORY_ERR(status)) { + for (i = 0, cnt = 0; i < c; ++i) { + if (ents[i]->d_type != DT_DIR) { + --cnt; + continue; + } + status |= pkg_sub_init(ps_list + i, db, ents[i]->d_name); + if (PKG_SUB_MEM_ERR(status)) { pkgdb_pkg_sub_list_free(db); for (; i < c; ++i) free(ents[i]); free(ents); - return (PKGDB_NOT_OK | PKGDB_MEMORY_ERR); + return (DB_NOT_OK | DB_MEMORY_ERR); } free(ents[i]); } free(ents); -#endif - - pkgdb_pkgdb_sub_list_init(db); - for (i = 0, cnt = 0; i < c; ++i) { - sub = pkgdb_sub_new(); - status = pkgdb_hierdb_read_pkgdb_sub(db, sub, ents[i]->d_name); - if (MEMORY_ERR & status) { - /* Ruh roh Shaggy! */ - pkgdb_pkgdb_sub_list_free(db); - for (; i < c; ++i) - free(ents[i]); - free(ents); - return (MEMORY_ERR); - } else if ((SUB_NO_CONTENTS & status) || (BAD_IDENT & status)) - /* - * This is a directory that is of no use to us. I am - * enforcing strict rules on what is and isn't a package. If - * there is no plist, or the plist is empty, this is not a - * package, and we don't care about it. - */ - pkgdb_sub_delete(sub); - else { - pkgdb_pkgdb_sub_list_append(db, sub); - cnt++; - } - free(ents[i]); - } - free(ents); + db->ps_list = ps_list; - db->sub_curr = NULL; - db->sub_count = cnt; + db->ps_curr = NULL; + db->ps_count = cnt; db->dirty = 0; return (OK); } -/* This function will properly initialize a pkgdb_sub for a pkgdb to use. - * This includes setting db as the owner of dbs. */ int -pkgdb_hierdb_read_pkgdb_sub(struct pkgdb *db, struct pkgdb_sub *sub, +pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps, const char *ident) { int status; #if 0 /* The client doesn't know about the functions in this file. */ if (!VALID_DB(x)) +#endif + if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); if (ident == NULL) arg_rage_quit(__func__, "Not a valid identification string.", RAGE_AT_CLIENT); -#endif - pkgdb_sub_reset(sub); + pkg_sub_reset(ps); status = OK; - status |= pkgdb_sub_set_ident(sub, ident); + status |= pkg_sub_set_ident(ps, ident); /* Directory is verified here. */ - status |= pkgdb_sub_set_assign_db(db, sub); + // status |= pkgdb_sub_set_assign_db(db, ps); if ((MEMORY_ERR & status) || (BAD_IDENT & status)) return (status); /* Hope you have your reading glasses on... */ status = OK; - status |= pkgdb_sub_read_file_to_text(sub, COMMENT_FILE) & + status |= pkg_sub_read_file_to_text(ps, COMMENT_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_COMMENT : OK; - status |= pkgdb_sub_read_file_to_text(sub, CONTENTS_FILE) & + status |= pkg_sub_read_file_to_text(ps, CONTENTS_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_CONTENTS : OK; - status |= pkgdb_sub_read_file_to_text(sub, DESC_FILE) & + status |= pkg_sub_read_file_to_text(ps, DESC_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DESC : OK; - status |= pkgdb_sub_read_file_to_text(sub, DISPLAY_FILE) & + status |= pkg_sub_read_file_to_text(ps, DISPLAY_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DISPLAY : OK; - status |= pkgdb_sub_read_file_to_text(sub, MTREE_DIRS_FILE) & + status |= pkg_sub_read_file_to_text(ps, MTREE_DIRS_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_MTREE_DIRS : OK; - status |= pkgdb_sub_read_file_to_text(sub, REQUIRED_BY_FILE) & + status |= pkg_sub_read_file_to_text(ps, REQUIRED_BY_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_REQUIRED_BY : OK; return (status); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#5 (text+ko) ==== @@ -2,12 +2,13 @@ #define __PKGDB_HIERDB_H__ #include "pkg.h" +#include "pkg_sub.h" int pkgdb_hierdb_db_open(struct pkgdb *db, const char *db_root); int pkgdb_hierdb_db_init(struct pkgdb *db); -int pkgdb_hierdb_read_pkgdb_sub(struct pkgdb *db, struct pkgdb_sub *dbs, +int pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps, const char *ident); /* int pkgdb_hierdb_db_close(struct pkgdb *db); */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#3 (text+ko) ==== @@ -3,8 +3,6 @@ #include -#include "pkgdb_hierdb_pkgdb_sub.h" - struct pkgdb { int open; int type; @@ -13,13 +11,15 @@ char *db_root; - int sub_count; - struct pkgdb_sub *sub_curr; - - TAILQ_HEAD(sub_head, pkgdb_sub) sub_head; + int ps_count; + + struct pkg_sub *ps_curr; + struct pkg_sub *ps_list; int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); int (*pkgdb_db_init) (struct pkgdb *db); + int (*pkgdb_db_read_sub) (struct pkgdb *db, struct pkg_sub *ps, + const char *ident); int (*pkgdb_db_close) (struct pkgdb *db); int (*pkgdb_db_sync) (struct pkgdb *db); }; From owner-p4-projects@FreeBSD.ORG Sat Jun 27 12:36:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D87BC1065670; Sat, 27 Jun 2009 12:36:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 968CC106564A for ; Sat, 27 Jun 2009 12:36:46 +0000 (UTC) (envelope-from zec@freebsd.org) Received: from xaqua.tel.fer.hr (xaqua.tel.fer.hr [161.53.19.25]) by mx1.freebsd.org (Postfix) with ESMTP id 2B16C8FC12 for ; Sat, 27 Jun 2009 12:36:45 +0000 (UTC) (envelope-from zec@freebsd.org) Received: by xaqua.tel.fer.hr (Postfix, from userid 20006) id B7D4A9B645; Sat, 27 Jun 2009 14:14:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on xaqua.tel.fer.hr X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL autolearn=unavailable version=3.1.7 Received: from localhost (imunes.tel.fer.hr [161.53.19.8]) by xaqua.tel.fer.hr (Postfix) with ESMTP id 6FE4A9B646; Sat, 27 Jun 2009 14:14:10 +0200 (CEST) From: Marko Zec To: Julian Elischer Date: Sat, 27 Jun 2009 14:14:09 +0200 User-Agent: KMail/1.9.10 References: <200906261413.n5QED9j7023013@repoman.freebsd.org> <4A4541F5.1050301@elischer.org> In-Reply-To: <4A4541F5.1050301@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906271414.09094.zec@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 165251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 12:36:47 -0000 On Friday 26 June 2009 23:47:33 Julian Elischer wrote: > Marko Zec wrote: > > http://perforce.freebsd.org/chv.cgi?CH=165251 > > > > Change 165251 by zec@zec_amdx4 on 2009/06/26 14:13:00 > > > > Allow for rpc.statd and rpc.lockd to be started, but > > without doing any functional testing. Introduce a lot > > curvnet recursions triggered by the above daemons that > > have to be looked into and resolved. > > > > Affected files ... > > > > .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 edit > > .. //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 edit > > > > Differences ... > > > > ==== //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 (text+ko) > > ==== > > > > @@ -56,6 +56,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -197,11 +198,14 @@ > > return (NULL); > > } > > > > + CURVNET_SET(so->so_vnet); > > if (!__rpc_socket2sockinfo(so, &si)) { > > rpc_createerr.cf_stat = RPC_TLIERROR; > > rpc_createerr.cf_error.re_errno = 0; > > + CURVNET_RESTORE(); > > return (NULL); > > } > > + CURVNET_RESTORE(); > > > > /* > > * Find the receive and the send size > > > > ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 (text+ko) > > ==== > > > > @@ -56,6 +56,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > > > @@ -101,8 +102,10 @@ > > struct sockaddr* sa; > > int error; > > > > + CURVNET_SET(so->so_vnet); > > if (!__rpc_socket2sockinfo(so, &si)) { > > printf(svc_dg_str, svc_dg_err1); > > + CURVNET_RESTORE(); > > return (NULL); > > } > > /* > > @@ -112,6 +115,7 @@ > > recvsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)recvsize); > > if ((sendsize == 0) || (recvsize == 0)) { > > printf(svc_dg_str, svc_dg_err2); > > + CURVNET_RESTORE(); > > return (NULL); > > } > > > > @@ -142,6 +146,7 @@ > > if (xprt) { > > svc_xprt_free(xprt); > > } > > + CURVNET_RESTORE(); > > return (NULL); > > } > > while leaving all your virtualization clues in place can we make it so > that the nfs code always works on vnet0? > I putr it to you that NFS itself should be virtualized as a separate > major group than vnet.. but until that is done, use vnet0. Well in this particular case using CURVNET_SET(vnet0) instead of CURVNET_SET(so->so_vnet) would be wrong, because so->so_vnet has already been set, possibly to vnet0, possibly to another vnet. I think that we should use some other mechanism to (if we want to) enforce that NFS export / mount capabilities are available only to vnet0, possibly using priv(). I.e. if we'd allow for mount_nfs to be executed from within a non-default vnet, while hardcoding NFS to always work on vnet0, this would be clearly more dangerous than the current model that doesn't do any special casing re. in which vnet does a particular NFS mount / export exist. Marko From owner-p4-projects@FreeBSD.ORG Sat Jun 27 12:42:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C9AD106566C; Sat, 27 Jun 2009 12:41:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CB841065670 for ; Sat, 27 Jun 2009 12:41:59 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B1158FC0C for ; Sat, 27 Jun 2009 12:41:59 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RCfwCe019674 for ; Sat, 27 Jun 2009 12:41:58 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RCfwre019672 for perforce@freebsd.org; Sat, 27 Jun 2009 12:41:58 GMT (envelope-from syl@FreeBSD.org) Date: Sat, 27 Jun 2009 12:41:58 GMT Message-Id: <200906271241.n5RCfwre019672@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165305 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 12:42:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165305 Change 165305 by syl@syl_atuin on 2009/06/27 12:41:45 Add missing prototype. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#13 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#13 (text+ko) ==== @@ -359,6 +359,7 @@ void libusb_free_device_list(libusb_device ** list, int unref_devices); uint8_t libusb_get_bus_number(libusb_device * dev); uint8_t libusb_get_device_address(libusb_device * dev); +int libusb_clear_halt(libusb_device_handle *devh, unsigned char endpoint); int libusb_get_max_packet_size(libusb_device * dev, unsigned char endpoint); libusb_device *libusb_ref_device(libusb_device * dev); void libusb_unref_device(libusb_device * dev); From owner-p4-projects@FreeBSD.ORG Sat Jun 27 14:17:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABC4A1065670; Sat, 27 Jun 2009 14:17:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50CB1106564A for ; Sat, 27 Jun 2009 14:17:53 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3C6678FC15 for ; Sat, 27 Jun 2009 14:17:53 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5REHrxf038429 for ; Sat, 27 Jun 2009 14:17:53 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5REHhud038419 for perforce@freebsd.org; Sat, 27 Jun 2009 14:17:43 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 14:17:43 GMT Message-Id: <200906271417.n5REHhud038419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165307 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 14:17:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165307 Change 165307 by zec@zec_tpx32 on 2009/06/27 14:17:26 IFC @ 165304 Affected files ... .. //depot/projects/vimage-commit/src/sys/amd64/acpica/OsdEnvironment.c#3 integrate .. //depot/projects/vimage-commit/src/sys/amd64/acpica/acpi_machdep.c#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/acpica/acpi_wakeup.c#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/local_apic.c#8 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#13 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/msi.c#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#12 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/DEFAULTS#7 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#14 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC.hints#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/MAC#3 delete .. //depot/projects/vimage-commit/src/sys/amd64/conf/NOTES#7 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/intr_machdep.h#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/param.h#8 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#8 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/vimage-commit/src/sys/amd64/isa/clock.c#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/linux32/linux.h#9 integrate .. //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/elf_machdep.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/elf_trampoline.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/intr.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/locore.S#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91.c#8 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91_cfata.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91_mci.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91_twi.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/if_ate.c#7 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/AVILA.hints#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/DB-78XXX#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/DB-88F5XXX#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/DB-88F6XXX#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/include/intr.h#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/include/pmap.h#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/include/vm.h#1 branch .. //depot/projects/vimage-commit/src/sys/arm/mv/common.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/files.mv#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/ic.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/vimage-commit/src/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/vimage-commit/src/sys/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/sa11x0/sa11x0_irqhandler.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/i80321.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/iq31244_machdep.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i8134x/crb_machdep.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/i8134x/i81342.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/avila_ata.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/avila_led.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/avila_machdep.c#6 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/if_npe.c#7 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425_iic.c#5 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425_npereg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425var.h#4 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/pxa/pxa_icu.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/pxa/pxa_machdep.c#6 integrate .. //depot/projects/vimage-commit/src/sys/boot/common/boot.c#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/forth/loader.conf#11 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/Makefile#5 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/biosacpi.c#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/biosdisk.c#6 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/biospnp.c#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/ia64/ski/acpi_stub.c#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/powerpc/uboot/version#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/uboot/lib/disk.c#5 integrate .. //depot/projects/vimage-commit/src/sys/cam/cam.c#3 integrate .. //depot/projects/vimage-commit/src/sys/cam/cam_periph.c#5 integrate .. //depot/projects/vimage-commit/src/sys/cam/cam_periph.h#4 integrate .. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/vimage-commit/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#6 integrate .. //depot/projects/vimage-commit/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/vimage-commit/src/sys/cddl/compat/opensolaris/sys/vnode.h#7 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#4 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#6 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#9 integrate .. //depot/projects/vimage-commit/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#5 integrate .. //depot/projects/vimage-commit/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#3 integrate .. //depot/projects/vimage-commit/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#3 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_ipc.h#3 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_misc.c#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_proto.h#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_syscall.h#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_syscalls.c#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_sysent.c#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/syscalls.master#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/linprocfs/linprocfs.c#12 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_file.c#7 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#9 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_getcwd.c#5 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_ioctl.c#13 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_ipc.c#4 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_misc.c#16 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_socket.c#15 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_stats.c#6 integrate .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_uid16.c#3 integrate .. //depot/projects/vimage-commit/src/sys/compat/ndis/kern_ndis.c#6 integrate .. //depot/projects/vimage-commit/src/sys/compat/ndis/subr_ndis.c#6 integrate .. //depot/projects/vimage-commit/src/sys/compat/ndis/subr_usbd.c#7 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_ipc.c#3 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_misc.c#6 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_sockio.c#11 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_stat.c#11 integrate .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_sysent.c#4 integrate .. //depot/projects/vimage-commit/src/sys/conf/NOTES#21 integrate .. //depot/projects/vimage-commit/src/sys/conf/files#29 integrate .. //depot/projects/vimage-commit/src/sys/conf/files.amd64#10 integrate .. //depot/projects/vimage-commit/src/sys/conf/files.i386#16 integrate .. //depot/projects/vimage-commit/src/sys/conf/files.powerpc#11 integrate .. //depot/projects/vimage-commit/src/sys/conf/kmod.mk#5 integrate .. //depot/projects/vimage-commit/src/sys/conf/options#18 integrate .. //depot/projects/vimage-commit/src/sys/contrib/altq/altq/altq_subr.c#10 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/CHANGES.txt#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acapps.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acconfig.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acdebug.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acdisasm.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acdispat.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acefi.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acenv.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acevents.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acexcep.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acfreebsd.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acgcc.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acglobal.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/achware.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acinterp.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/aclocal.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acmacros.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acnames.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acnamesp.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acobject.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acopcode.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acoutput.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acparser.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acpi.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acpica_prep.sh#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acpiosxf.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acpixf.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acresrc.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acstruct.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/actables.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/actbl.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/actbl1.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/actbl2.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/actypes.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/acutils.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/aecommon.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/amlcode.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/amlresrc.h#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/adfile.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/adisasm.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/adwalk.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/dmrestag.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/dmtable.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/dmtbdump.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/dmtbinfo.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/common/getopt.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslanalyze.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslcodegen.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslcompile.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslcompiler.h#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslcompiler.l#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslcompiler.y#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asldefine.h#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslerror.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslfiles.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslfold.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslglobal.h#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asllength.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asllisting.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslload.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asllookup.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslmain.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslmap.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslopcodes.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asloperands.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslopt.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslresource.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslrestype1.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslrestype2.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslstubs.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asltransform.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asltree.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/asltypes.h#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/compiler/aslutils.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbcmds.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbdisply.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbexec.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbfileio.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbhistry.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbinput.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbstats.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dbxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmbuffer.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmnames.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmobject.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmopcode.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmresrc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmresrcl.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmresrcs.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dmwalk.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsfield.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsinit.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsmethod.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsmthdat.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsobject.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsopcode.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dsutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dswexec.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dswload.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dswscope.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/dswstate.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evevent.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evgpe.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evgpeblk.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evmisc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evregion.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evrgnini.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evsci.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evxfevnt.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/evxfregn.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exconfig.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exconvrt.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/excreate.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exdump.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exfield.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exfldio.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exmisc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exmutex.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exnames.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exoparg1.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exoparg2.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exoparg3.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exoparg6.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exprep.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exregion.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exresnte.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exresolv.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exresop.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exstore.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exstoren.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exstorob.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exsystem.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/exutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hwacpi.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hwgpe.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hwregs.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hwsleep.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/hwtimer.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsaccess.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsalloc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsdump.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsdumpdv.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nseval.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsinit.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsload.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsnames.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsobject.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsparse.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nssearch.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nswalk.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsxfeval.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsxfname.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/nsxfobj.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/osunixxf.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psargs.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psloop.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psopcode.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psparse.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psscope.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/pstree.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/pswalk.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/psxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsaddr.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rscalc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rscreate.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsdump.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsinfo.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsio.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsirq.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rslist.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsmemory.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsmisc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/rsxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbfadt.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbfind.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbinstal.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbutils.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tbxfroot.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utalloc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utcache.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utclib.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utcopy.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utdebug.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utdelete.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/uteval.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utglobal.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utinit.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utmath.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utmisc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utmutex.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utobject.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utresrc.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utstate.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/uttrack.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/acpica/utxface.c#3 delete .. //depot/projects/vimage-commit/src/sys/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/vimage-commit/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#3 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/if_pflog.c#5 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf.c#10 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf_if.c#7 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf_ioctl.c#9 integrate .. //depot/projects/vimage-commit/src/sys/contrib/rdma/rdma_addr.c#4 integrate .. //depot/projects/vimage-commit/src/sys/contrib/rdma/rdma_cma.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_aiboost.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_asus.c#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_fujitsu.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_panasonic.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_sony.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_toshiba.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdDebug.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdHardware.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdMemory.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdStream.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/Osd/OsdTable.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_acad.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_button.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_cmbat.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_cpu.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_dock.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_if.m#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_isab.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_lid.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_package.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_pci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_pcib.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_pcib_acpi.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_perf.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_powerres.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_quirk.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_resource.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_smbat.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_throttle.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_timer.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_video.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpivar.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ae/if_ae.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/age/if_age.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_ali.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_amd.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_ati.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_nvidia.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/agp/agp_sis.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/Makefile#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_gram.y#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_scan.l#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/ale/if_ale.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/asmc/asmc.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-all.h#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-dma.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-pci.h#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-usb.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-ahci.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-intel.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-jmicron.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-marvell.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-nvidia.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-promise.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-siliconimage.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-sis.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/chipsets/ata-via.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ath/ath_rate/sample/sample.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ath/if_ath.c#11 integrate .. //depot/projects/vimage-commit/src/sys/dev/bce/if_bce.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/bce/if_bcereg.h#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/bfe/if_bfe.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/bge/if_bge.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/bm/if_bm.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/bwi/if_bwi.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/ce/if_ce.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/cfi/cfi_core.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cp/if_cp.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/cs/if_cs.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ctau/if_ct.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/cx/if_cx.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_multiq.c#7 delete .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_sge.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/sys/cxgb_support.c#4 delete .. //depot/projects/vimage-commit/src/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 integrate .. //depot/projects/vimage-commit/src/sys/dev/dc/if_dc.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/de/if_de.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drmP.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drm_bufs.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drm_context.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drm_drv.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drm_irq.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/drm_sysctl.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/i915_dma.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/i915_drv.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/i915_drv.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/i915_irq.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/radeon_cp.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/drm/radeon_irq.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82540.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82541.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82571.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82575.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_82575.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_api.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_defines.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_hw.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_ich8lan.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_ich8lan.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_mac.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_osdep.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_phy.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_phy.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/e1000_regs.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.c#13 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_igb.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/e1000/if_igb.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/eisa/eisaconf.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/et/if_et.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ex/if_ex.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/fdc/fdc.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/fdc/fdc_acpi.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/fe/if_fe.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/firewire/firewire.c#13 integrate .. //depot/projects/vimage-commit/src/sys/dev/firewire/fwdev.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/fxp/if_fxp.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/fxp/if_fxpvar.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/hme/if_hme.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/hptmv/atapi.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/hwpmc/hwpmc_logging.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/hwpmc/hwpmc_mod.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/ic/ns16550.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ie/if_ie.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis.c#13 integrate .. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis_pccard.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis_pci.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis_usb.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/iir/iir.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/iir/iir_ctrl.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ipmi/ipmi_acpi.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/iscsi/initiator/isc_soc.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgb/if_ixgb.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_82598.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_api.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_api.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_common.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_osdep.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_phy.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_phy.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/ixgbe/ixgbe_type.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/kbd/kbd.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/kbdmux/kbdmux.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/ksyms/ksyms.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/le/lance.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/lge/if_lge.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mca/mca_bus.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/md/md.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mfi/mfi.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/mge/if_mge.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/e1000phy.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/e1000phyreg.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/miidevs#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/nsgphy.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/msk/if_mskreg.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/mwl/if_mwl.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/mwldiag.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/mwlhal.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/mwlhal.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mwl/mwlreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/mxge/eth_z8e.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/ethp_z8e.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/if_mxge_var.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/rss_eth_z8e.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/mxge/rss_ethp_z8e.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/my/if_my.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ncv/ncr53c500_pccard.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/nge/if_nge.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/nmdm/nmdm.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/nsp/nsp_pccard.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/nve/if_nve.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/nxge/if_nxge.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_bus_subr.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_bus_subr.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_disk.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofw_standard.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/openfirm.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/openfirm.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ofw/openfirmio.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcf.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcfvar.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pci.c#11 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pcivar.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pdq/if_fpa.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/pdq/pdq_ifsubr.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/puc/pucdata.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/re/if_re.c#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/sec/sec.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sec/sec.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sf/if_sf.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/sk/if_sk.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/smc/if_smc.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/smc/if_smcvar.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/dp83932.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/if_snc.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/if_sncvar.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/clone.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/driver.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/ad1816.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/ess.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/gusc.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/mss.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/sb16.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/sb8.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/sbc.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/isa/sndbuf_dma.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/midi/mpu401.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/midi/sequencer.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/midi/sequencer.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/als4000.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/atiixp.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/aureal.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/cmi.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/csa.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/csapcm.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/emu10kx-midi.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/emu10kx-pcm.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/emu10kx.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/envy24.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/envy24ht.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/es137x.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/fm801.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/maestro.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/maestro3.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/neomagic.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/solo.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/spicds.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/t4dwave.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/via8233.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/via82c686.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/vibes.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/ac97.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/ac97_patch.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/buffer.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/channel.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/channel.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/channel_if.m#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/dsp.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/dsp.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/fake.c#3 delete .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_fmt.c#3 delete .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/feeder_volume.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/mixer.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/mixer.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/sound.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/sound.h#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/vchan.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/pcm/vchan.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/sbus/cs4231.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/unit.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/usb/uaudio.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/usb/uaudio.h#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/usb/uaudio_pcm.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/speaker/spkr.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/spibus/spibus.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/ste/if_ste.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/stg/tmc18c30.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/stg/tmc18c30_subr.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/stge/if_stge.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/daemon/daemon_saver.c#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/sequences#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/teken.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/teken.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/teken/teken_subr_compat.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/tl/if_tl.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/tsec/if_tsec.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/tx/if_tx.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ubsec/ubsec.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci_atmelarm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci_atmelarm.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/avr32dci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_ixp4xx.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_mbus.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_pci.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg_atmelarm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci_atmelarm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci_pci.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci_pci.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/usb_controller.c#9 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci_atmelarm.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/input/uhid.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/input/ukbd.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/input/ums.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/misc/udbp.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/misc/ufm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_aue.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_axe.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_cdce.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_cue.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_kue.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_rue.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_udav.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/net/usb_ethernet.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/u3g.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uark.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ubsa.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ubser.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uchcom.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ucycom.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ufoma.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uftdi.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ugensa.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uipaq.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ulpt.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umct.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umodem.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umoscom.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uplcom.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/usb_serial.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uslcom.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uvisor.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uvscom.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/storage/umass.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/storage/urio.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/storage/ustorage_fs.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb.h#8 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_bus.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_busdma.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_compat_linux.c#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_compat_linux.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_controller.h#7 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_core.h#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_defs.h#3 delete .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dev.c#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dev.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.c#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.h#10 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dynamic.c#5 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_endian.h#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_error.h#2 delete .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_freebsd.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jun 27 14:19:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06A5C1065670; Sat, 27 Jun 2009 14:19:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B72401065675 for ; Sat, 27 Jun 2009 14:19:55 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A52A18FC1F for ; Sat, 27 Jun 2009 14:19:55 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5REJtCI038544 for ; Sat, 27 Jun 2009 14:19:55 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5REJtva038542 for perforce@freebsd.org; Sat, 27 Jun 2009 14:19:55 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 14:19:55 GMT Message-Id: <200906271419.n5REJtva038542@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 14:19:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165308 Change 165308 by zec@zec_amdx4 on 2009/06/27 14:19:06 Reshuffle CURVNET_SET() / CURVNET_RESTORE() placement in order to mitigate recursion on curvnet and the associated console noise. Affected files ... .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#12 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#5 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc_generic.c#4 edit .. //depot/projects/vimage-commit2/src/sys/rpc/svc_vc.c#9 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#12 (text+ko) ==== @@ -45,7 +45,6 @@ #include #include #include -#include #include #include #include @@ -62,7 +61,6 @@ #include #include #include -#include #include #include @@ -459,12 +457,10 @@ * Steal the socket from userland so that it doesn't close * unexpectedly. */ - CURVNET_SET(TD_TO_VNET(td)); if (so->so_type == SOCK_DGRAM) xprt = svc_dg_create(nfsrv_pool, so, 0, 0); else xprt = svc_vc_create(nfsrv_pool, so, 0, 0); - CURVNET_RESTORE(); if (xprt) { fp->f_ops = &badfileops; fp->f_data = NULL; ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#5 (text+ko) ==== @@ -128,6 +128,7 @@ xprt->xp_ops = &svc_dg_ops; error = so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa); + CURVNET_RESTORE(); if (error) goto freedata; @@ -146,7 +147,6 @@ if (xprt) { svc_xprt_free(xprt); } - CURVNET_RESTORE(); return (NULL); } ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_generic.c#4 (text+ko) ==== @@ -48,6 +48,7 @@ #include "opt_inet6.h" #include +#include #include #include #include @@ -59,6 +60,7 @@ #include #include #include +#include #include #include @@ -228,11 +230,14 @@ /* * It is an open socket. Get the transport info. */ + CURVNET_SET(so->so_vnet); if (!__rpc_socket2sockinfo(so, &si)) { printf( "svc_tli_create: could not get transport information\n"); + CURVNET_RESTORE(); return (NULL); } + CURVNET_RESTORE(); } /* @@ -259,7 +264,9 @@ "svc_tli_create: could not bind to requested address\n"); goto freedata; } + CURVNET_SET(so->so_vnet); solisten(so, (int)bindaddr->qlen, curthread); + CURVNET_RESTORE(); } } ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_vc.c#9 (text+ko) ==== @@ -153,9 +153,12 @@ xprt->xp_p2 = NULL; xprt->xp_ops = &svc_vc_rendezvous_ops; + CURVNET_SET(so->so_vnet); error = so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa); - if (error) + if (error) { + CURVNET_RESTORE(); goto cleanup_svc_vc_create; + } memcpy(&xprt->xp_ltaddr, sa, sa->sa_len); free(sa, M_SONAME); @@ -163,6 +166,7 @@ xprt_register(xprt); solisten(so, SOMAXCONN, curthread); + CURVNET_RESTORE(); SOCKBUF_LOCK(&so->so_rcv); xprt->xp_upcallset = 1; @@ -195,9 +199,12 @@ opt.sopt_name = SO_KEEPALIVE; opt.sopt_val = &one; opt.sopt_valsize = sizeof(one); + CURVNET_SET(so->so_vnet); error = sosetopt(so, &opt); - if (error) + if (error) { + CURVNET_RESTORE(); return (NULL); + } if (so->so_proto->pr_protocol == IPPROTO_TCP) { bzero(&opt, sizeof(struct sockopt)); @@ -207,9 +214,12 @@ opt.sopt_val = &one; opt.sopt_valsize = sizeof(one); error = sosetopt(so, &opt); - if (error) + if (error) { + CURVNET_RESTORE(); return (NULL); + } } + CURVNET_RESTORE(); cd = mem_alloc(sizeof(*cd)); cd->strm_stat = XPRT_IDLE; From owner-p4-projects@FreeBSD.ORG Sat Jun 27 14:31:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E37B1065676; Sat, 27 Jun 2009 14:31:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CB3E1065670 for ; Sat, 27 Jun 2009 14:31:15 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 48A588FC18 for ; Sat, 27 Jun 2009 14:31:15 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5REVFs6039374 for ; Sat, 27 Jun 2009 14:31:15 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5REV7Ea039368 for perforce@freebsd.org; Sat, 27 Jun 2009 14:31:07 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 14:31:07 GMT Message-Id: <200906271431.n5REV7Ea039368@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165309 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 14:31:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165309 Change 165309 by zec@zec_amdx4 on 2009/06/27 14:30:23 IFC @ 165304 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/msi.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/elf_machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/pmap.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/DB-78XXX#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/DB-88F5XXX#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/conf/DB-88F6XXX#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/arm/mv/discovery/discovery.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/files.mv#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/kirkwood/kirkwood.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mv_machdep.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/vimage-commit2/src/sys/arm/mv/mvreg.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/orion/orion.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/if_npe.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/ixp425.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/pxa/pxa_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/boot/i386/libi386/biosdisk.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_target.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#17 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#17 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#17 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linprocfs/linprocfs.c#23 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_ioctl.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_sockio.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#33 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#46 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.amd64#13 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.i386#20 integrate .. //depot/projects/vimage-commit2/src/sys/conf/kmod.mk#5 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/altq/altq/altq_subr.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/pf/net/pf_if.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/pf/net/pf_ioctl.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/rdma/rdma_addr.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/rdma/rdma_cma.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/age/if_age.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/asmc/asmc.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/asmc/asmcvar.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-all.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-dma.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-pci.h#16 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-cyrix.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-intel.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-jmicron.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-marvell.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-national.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-promise.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-serverworks.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-siliconimage.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-sis.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-via.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bce/if_bce.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bce/if_bcereg.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bfe/if_bfe.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bge/if_bge.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bm.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cs/if_cs.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_adapter.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/dc/if_dc.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/de/if_de.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drmP.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_drv.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_irq.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_sysctl.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_dma.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_drv.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_drv.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/i915_irq.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/radeon_cp.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/drm/radeon_irq.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82540.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82541.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82571.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82575.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_82575.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_api.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_defines.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_hw.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_ich8lan.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_ich8lan.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_mac.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_osdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_phy.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_phy.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/e1000_regs.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_igb.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_igb.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/et/if_et.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ex/if_ex.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fdc/fdc.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fxp/if_fxp.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/gem/if_gem.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_logging.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_mod.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ie/if_ie.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_82598.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_api.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_api.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_common.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_osdep.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_phy.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_phy.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe_type.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/le/lance.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/malo/if_malo.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/md/md.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/msk/if_msk.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/eth_z8e.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/ethp_z8e.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/if_mxge_var.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/rss_eth_z8e.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mxge/rss_ethp_z8e.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/my/if_my.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/nve/if_nve.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pcn/if_pcn.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/re/if_re.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/snc/dp83932.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/midi/midi.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/midi/sequencer.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pcm/feeder_rate.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/speaker/spkr.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/tsec/if_tsec.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/tx/if_tx.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_aue.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_axe.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cue.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_kue.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_rue.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_udav.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#28 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdi.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdi_util.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_upgt.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/vge/if_vge.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xl/if_xl.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/fs/coda/coda_vnops.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clvnops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/procfs/procfs_map.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/fs/pseudofs/pseudofs_vnops.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/fs/tmpfs/tmpfs_subr.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/gnu/fs/xfs/xfs_vnodeops.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/conf/NOTES#17 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/elf_machdep.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/intr_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/local_apic.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/machdep.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/msi.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/intr_machdep.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/xen/mp_machdep.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/elf_machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/kern/init_sysent.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_cpuset.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_descrip.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_intr.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#28 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_lockf.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_mbuf.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_poll.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_resource.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_sig.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_switch.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_uuid.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#56 integrate .. //depot/projects/vimage-commit2/src/sys/kern/link_elf.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/link_elf_obj.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/makesyscalls.sh#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sched_ule.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_pcpu.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_stack.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sys_process.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/syscalls.master#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/systrace_args.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sysv_msg.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sysv_sem.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sysv_shm.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty.c#28 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_shm.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/mips/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/mips/mips/elf_machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/mips/mips/mp_machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/mips/mips/pmap.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/igb/Makefile#4 integrate .. //depot/projects/vimage-commit2/src/sys/modules/ixgbe/Makefile#4 integrate .. //depot/projects/vimage-commit2/src/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/bridgestp.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/net/if.c#79 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_ef.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_epair.c#1 branch .. //depot/projects/vimage-commit2/src/sys/net/if_ethersubr.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_fddisubr.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_media.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_mib.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_spppsubr.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_stf.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_tap.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_tun.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_var.h#34 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_vlan.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/net/netisr.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/net/raw_cb.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/net/raw_usrreq.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/net/route.c#45 integrate .. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#32 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ddb.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/aarp.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_control.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/at_var.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_input.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_output.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_pcb.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_usrreq.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/atm/ng_atm.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_eiface.c#28 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_ether.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_iface.c#24 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.c#38 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#43 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_gif.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_mcast.c#25 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#44 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.h#21 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_rmx.c#34 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_var.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_carp.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_divert.c#32 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_dummynet.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_icmp.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#47 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_mroute.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_options.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#34 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ipfw/ip_dummynet.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ipfw/ip_fw2.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/raw_ip.c#34 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_hostcache.c#29 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#40 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_offload.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_usrreq.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/frag6.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#23 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#32 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_rmx.c#35 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_src.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_var.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#36 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_mroute.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_output.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_var.h#11 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#25 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/nd6.c#38 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_nbr.c#26 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_rtr.c#29 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#28 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/scope6.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/udp6_usrreq.c#24 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/vinet6.h#26 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/key.c#35 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_if.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_outputfl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_pcb.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_diskless.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#23 integrate .. //depot/projects/vimage-commit2/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/pc98/pc98/machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/pci/if_rl.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/aim/mmu_oea.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/booke/pmap.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/MPC85XX#8 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/elf_machdep.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/mp_machdep.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_rc.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_biba/mac_biba.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/security/mac_lomac/mac_lomac.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/conf/GENERIC#15 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/include/pcpu.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/elf_machdep.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/machdep.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/mp_machdep.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/conf/GENERIC#9 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/include/pcpu.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sun4v/sun4v/machdep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/sun4v/mp_machdep.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/acl.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ata.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/conf.h#11 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ipc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/jail.h#14 integrate .. //depot/projects/vimage-commit2/src/sys/sys/linker.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/msg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#48 integrate .. //depot/projects/vimage-commit2/src/sys/sys/pcpu.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/sys/priv.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/sys/resource.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/resourcevar.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sched.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sem.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/shm.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/stack.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscall.mk#9 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysctl.h#23 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/sys/tty.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/sys/uio.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/unistd.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/vnode.h#16 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_dirhash.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/vm/default_pager.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/device_pager.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/vm/phys_pager.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/swap_pager.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_contig.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_extern.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_fault.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_kern.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_map.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_map.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_mmap.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_object.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_object.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_pageout.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_pager.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_pager.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_phys.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_phys.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vnode_pager.c#12 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,12 +290,12 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int @@ -317,9 +310,9 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (0); #else @@ -378,7 +371,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - sx_init(&intr_table_lock, "intr sources"); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -435,19 +428,28 @@ static cpumask_t intr_cpus = (1 << 0); static int current_cpu; -static void -intr_assign_next_cpu(struct intsrc *isrc) +/* + * Return the CPU that the next interrupt source should use. For now + * this just returns the next local APIC according to round-robin. + */ +u_int +intr_next_cpu(void) { + u_int apic_id; - /* - * Assign this source to a local APIC in a round-robin fashion. - */ - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[current_cpu]); + /* Leave all interrupts on the BSP during boot. */ + if (!assign_cpu) + return (cpu_apic_ids[0]); + + mtx_lock(&intr_table_lock); + apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); + mtx_unlock(&intr_table_lock); + return (apic_id); } /* Attempt to bind the specified IRQ to the specified CPU. */ @@ -487,6 +489,7 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; + u_int apic_id; int i; /* Don't bother on UP. */ @@ -494,7 +497,7 @@ return; /* Round-robin assign a CPU to each enabled source. */ - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { isrc = interrupt_sources[i]; @@ -505,14 +508,24 @@ * of picking one via round-robin. */ if (isrc->is_event->ie_cpu != NOCPU) - isrc->is_pic->pic_assign_cpu(isrc, - cpu_apic_ids[isrc->is_event->ie_cpu]); + apic_id = isrc->is_event->ie_cpu; else - intr_assign_next_cpu(isrc); + apic_id = intr_next_cpu(); + isrc->is_pic->pic_assign_cpu(isrc, apic_id); } } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL); +#else +/* + * Always route interrupts to the current processor in the UP case. + */ +u_int +intr_next_cpu(void) +{ + + return (PCPU_GET(apic_id)); +} #endif ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/io_apic.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.32 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); #include "opt_isa.h" @@ -372,7 +372,7 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, pcpu_find(0)->pc_apic_id); + ioapic_assign_cpu(isrc, intr_next_cpu()); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#10 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.56 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -897,6 +897,7 @@ apic_free_vector(u_int apic_id, u_int vector, u_int irq) { struct thread *td; + KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL && vector <= APIC_IO_INTS + APIC_NUM_IOINTS, ("Vector %u does not map to an IRQ line", vector)); ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/machdep.c#12 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.702 2009/06/09 04:17:36 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1501,6 +1501,8 @@ wrmsr(MSR_KGSBASE, 0); /* User value while in the kernel */ pcpu_init(pc, 0, sizeof(struct pcpu)); + dpcpu_init((void *)(physfree + KERNBASE), 0); + physfree += DPCPU_SIZE; PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.308 2009/05/14 17:43:00 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -93,9 +93,10 @@ /* Free these after use */ void *bootstacks[MAXCPU]; -/* Temporary holder for double fault stack */ +/* Temporary variables for init_secondary() */ char *doublefault_stack; char *nmi_stack; +void *dpcpu; /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -590,6 +591,7 @@ /* prime data page for it to use */ pcpu_init(pc, cpu, sizeof(struct pcpu)); + dpcpu_init(dpcpu, cpu); pc->pc_apic_id = cpu_apic_ids[cpu]; pc->pc_prvspace = pc; pc->pc_curthread = 0; @@ -885,6 +887,7 @@ bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); nmi_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); + dpcpu = (void *)kmem_alloc(kernel_map, DPCPU_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/msi.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); #include #include @@ -161,8 +161,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - if (msi->msi_vector == 0) - msi_assign_cpu(isrc, 0); apic_enable_vector(msi->msi_cpu, msi->msi_vector); } @@ -208,10 +206,11 @@ /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; - if (old_vector && old_id == apic_id) + if (old_id == apic_id) return; - if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + if (!msi->msi_msix && msi->msi_first->msi_count > 1) return; + /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) @@ -223,15 +222,14 @@ msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); + /* * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) - apic_free_vector(old_id, old_vector, msi->msi_irq); + apic_free_vector(old_id, old_vector, msi->msi_irq); } - void msi_init(void) { @@ -287,7 +285,8 @@ msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; - int cnt, i; + u_int cpu; + int cnt, i, vector; if (!msi_enabled) return (ENXIO); @@ -333,12 +332,25 @@ /* Ok, we now have the IRQs allocated. */ KASSERT(cnt == count, ("count mismatch")); + /* Allocate 'count' IDT vectors. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vectors(cpu, irqs, count, maxcount); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } + /* Assign IDT vectors and make these messages owned by 'dev'. */ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: routing MSI IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, msi->msi_cpu, msi->msi_vector); msi->msi_first = fsrc; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI has handlers")); @@ -391,18 +403,14 @@ KASSERT(msi->msi_dev == first->msi_dev, ("owner mismatch")); msi->msi_first = NULL; msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, - msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; } /* Clear out the first message. */ first->msi_first = NULL; first->msi_dev = NULL; - if (first->msi_vector) - apic_free_vector(first->msi_cpu, first->msi_vector, - first->msi_irq); + apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; @@ -451,7 +459,8 @@ msix_alloc(device_t dev, int *irq) { struct msi_intsrc *msi; - int i; + u_int cpu; + int i, vector; if (!msi_enabled) return (ENXIO); @@ -486,9 +495,17 @@ goto again; } + /* Allocate an IDT vector. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vector(cpu, i); + if (bootverbose) + printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, cpu, vector); + /* Setup source. */ + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector; msi->msi_msix = 1; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); @@ -520,8 +537,7 @@ /* Clear out the message. */ msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; ==== //depot/projects/vimage-commit2/src/sys/amd64/include/intr_machdep.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.21 2009/02/03 09:01:45 jkoshy Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -152,6 +152,7 @@ int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); +u_int intr_next_cpu(void); struct intsrc *intr_lookup_source(int vector); int intr_register_pic(struct pic *pic); int intr_register_source(struct intsrc *isrc); ==== //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#6 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jun 27 14:43:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A57191065674; Sat, 27 Jun 2009 14:43:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61DE51065670 for ; Sat, 27 Jun 2009 14:43:36 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4DD238FC08 for ; Sat, 27 Jun 2009 14:43:36 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5REhZMS040329 for ; Sat, 27 Jun 2009 14:43:35 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5REhSRi040317 for perforce@freebsd.org; Sat, 27 Jun 2009 14:43:28 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 14:43:28 GMT Message-Id: <200906271443.n5REhSRi040317@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 14:43:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=165310 Change 165310 by zec@zec_amdx4 on 2009/06/27 14:42:56 IFC @ 165304 Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#13 integrate .. //depot/projects/vimage/src/share/man/man4/acpi_hp.4#1 branch .. //depot/projects/vimage/src/share/man/man4/acpi_wmi.4#1 branch .. //depot/projects/vimage/src/share/man/man4/ata.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/bridge.4#1 branch .. //depot/projects/vimage/src/share/man/man4/epair.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/gem.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/if_bridge.4#4 delete .. //depot/projects/vimage/src/share/man/man4/pcm.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/usb.4#4 integrate .. //depot/projects/vimage/src/share/man/man7/tuning.7#4 integrate .. //depot/projects/vimage/src/share/man/man8/picobsd.8#2 integrate .. //depot/projects/vimage/src/share/man/man8/yp.8#2 integrate .. //depot/projects/vimage/src/share/man/man9/Makefile#10 integrate .. //depot/projects/vimage/src/share/man/man9/stack.9#2 integrate .. //depot/projects/vimage/src/share/man/man9/usbdi.9#2 integrate .. //depot/projects/vimage/src/share/man/man9/vm_map.9#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/intr_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/io_apic.c#6 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#20 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#20 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#24 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/msi.c#10 integrate .. //depot/projects/vimage/src/sys/amd64/include/intr_machdep.h#8 integrate .. //depot/projects/vimage/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/amd64/isa/clock.c#14 integrate .. //depot/projects/vimage/src/sys/arm/arm/elf_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/arm/arm/pmap.c#21 integrate .. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#10 integrate .. //depot/projects/vimage/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/arm/at91/if_ate.c#15 integrate .. //depot/projects/vimage/src/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-78XXX#6 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-88F5XXX#6 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-88F6XXX#6 integrate .. //depot/projects/vimage/src/sys/arm/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/arm/mv/discovery/discovery.c#5 integrate .. //depot/projects/vimage/src/sys/arm/mv/files.mv#6 integrate .. //depot/projects/vimage/src/sys/arm/mv/kirkwood/kirkwood.c#5 integrate .. //depot/projects/vimage/src/sys/arm/mv/mv_machdep.c#5 integrate .. //depot/projects/vimage/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/vimage/src/sys/arm/mv/mvreg.h#6 integrate .. //depot/projects/vimage/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/vimage/src/sys/arm/mv/orion/orion.c#5 integrate .. //depot/projects/vimage/src/sys/arm/sa11x0/assabet_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i80321/ep80219_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_ata.c#6 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_machdep.c#16 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/if_npe.c#15 integrate .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425.c#13 integrate .. //depot/projects/vimage/src/sys/arm/xscale/pxa/pxa_machdep.c#5 integrate .. //depot/projects/vimage/src/sys/boot/i386/libi386/biosdisk.c#9 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_target.c#8 integrate .. //depot/projects/vimage/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/vimage/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#22 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#23 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#23 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#23 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#24 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#24 integrate .. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#38 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#24 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ipc.c#5 integrate .. //depot/projects/vimage/src/sys/compat/ndis/subr_usbd.c#11 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_sockio.c#13 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#57 integrate .. //depot/projects/vimage/src/sys/conf/files#74 integrate .. //depot/projects/vimage/src/sys/conf/files.amd64#25 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#33 integrate .. //depot/projects/vimage/src/sys/conf/kmod.mk#11 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_subr.c#21 integrate .. //depot/projects/vimage/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#18 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#25 integrate .. //depot/projects/vimage/src/sys/contrib/rdma/rdma_addr.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/rdma/rdma_cma.c#8 integrate .. //depot/projects/vimage/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/vimage/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/vimage/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/vimage/src/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/vimage/src/sys/dev/age/if_age.c#9 integrate .. //depot/projects/vimage/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/vimage/src/sys/dev/asmc/asmc.c#6 integrate .. //depot/projects/vimage/src/sys/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-all.h#16 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-dma.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#26 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-acard.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-cyrix.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-intel.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-jmicron.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-marvell.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-national.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-promise.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-serverworks.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-siliconimage.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-sis.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-via.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#41 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#24 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcereg.h#16 integrate .. //depot/projects/vimage/src/sys/dev/bfe/if_bfe.c#9 integrate .. //depot/projects/vimage/src/sys/dev/bge/if_bge.c#23 integrate .. //depot/projects/vimage/src/sys/dev/bm/if_bm.c#7 integrate .. //depot/projects/vimage/src/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/vimage/src/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cs/if_cs.c#5 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#19 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#29 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#26 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/sys/mvec.h#8 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#12 integrate .. //depot/projects/vimage/src/sys/dev/dc/if_dc.c#14 integrate .. //depot/projects/vimage/src/sys/dev/de/if_de.c#6 integrate .. //depot/projects/vimage/src/sys/dev/drm/drmP.h#11 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_drv.c#15 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_irq.c#9 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_sysctl.c#6 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_dma.c#13 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_drv.c#8 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_drv.h#8 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_irq.c#9 integrate .. //depot/projects/vimage/src/sys/dev/drm/radeon_cp.c#11 integrate .. //depot/projects/vimage/src/sys/dev/drm/radeon_irq.c#8 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82540.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82541.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_api.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_defines.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_hw.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_osdep.c#3 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_regs.h#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#12 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_em.h#5 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.c#10 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ed/if_ed.c#8 integrate .. //depot/projects/vimage/src/sys/dev/et/if_et.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ex/if_ex.c#4 integrate .. //depot/projects/vimage/src/sys/dev/fdc/fdc.c#6 integrate .. //depot/projects/vimage/src/sys/dev/fe/if_fe.c#5 integrate .. //depot/projects/vimage/src/sys/dev/fxp/if_fxp.c#18 integrate .. //depot/projects/vimage/src/sys/dev/gem/if_gem.c#12 integrate .. //depot/projects/vimage/src/sys/dev/gem/if_gem_pci.c#7 integrate .. //depot/projects/vimage/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/vimage/src/sys/dev/gem/if_gemreg.h#6 integrate .. //depot/projects/vimage/src/sys/dev/gem/if_gemvar.h#8 integrate .. //depot/projects/vimage/src/sys/dev/hme/if_hme.c#5 integrate .. //depot/projects/vimage/src/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_logging.c#10 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_mod.c#14 integrate .. //depot/projects/vimage/src/sys/dev/ie/if_ie.c#7 integrate .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#30 integrate .. //depot/projects/vimage/src/sys/dev/iscsi/initiator/isc_soc.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ixgb/if_ixgb.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.h#8 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82598.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.h#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_osdep.h#6 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.h#7 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_type.h#7 integrate .. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#8 integrate .. //depot/projects/vimage/src/sys/dev/le/lance.c#4 integrate .. //depot/projects/vimage/src/sys/dev/lge/if_lge.c#7 integrate .. //depot/projects/vimage/src/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/vimage/src/sys/dev/md/md.c#13 integrate .. //depot/projects/vimage/src/sys/dev/mfi/mfi.c#18 integrate .. //depot/projects/vimage/src/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/vimage/src/sys/dev/mpt/mpt_cam.c#14 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#20 integrate .. //depot/projects/vimage/src/sys/dev/mxge/eth_z8e.h#7 integrate .. //depot/projects/vimage/src/sys/dev/mxge/ethp_z8e.h#7 integrate .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge.c#18 integrate .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge_var.h#13 integrate .. //depot/projects/vimage/src/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/vimage/src/sys/dev/mxge/rss_eth_z8e.h#5 integrate .. //depot/projects/vimage/src/sys/dev/mxge/rss_ethp_z8e.h#5 integrate .. //depot/projects/vimage/src/sys/dev/my/if_my.c#7 integrate .. //depot/projects/vimage/src/sys/dev/nfe/if_nfe.c#13 integrate .. //depot/projects/vimage/src/sys/dev/nge/if_nge.c#6 integrate .. //depot/projects/vimage/src/sys/dev/nve/if_nve.c#9 integrate .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.c#5 integrate .. //depot/projects/vimage/src/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/vimage/src/sys/dev/pdq/pdq_ifsubr.c#3 integrate .. //depot/projects/vimage/src/sys/dev/re/if_re.c#27 integrate .. //depot/projects/vimage/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sk/if_sk.c#10 integrate .. //depot/projects/vimage/src/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/vimage/src/sys/dev/snc/dp83932.c#4 integrate .. //depot/projects/vimage/src/sys/dev/sound/midi/midi.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sound/midi/sequencer.c#8 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#35 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/feeder_rate.c#6 integrate .. //depot/projects/vimage/src/sys/dev/speaker/spkr.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/vimage/src/sys/dev/stge/if_stge.c#8 integrate .. //depot/projects/vimage/src/sys/dev/ti/if_ti.c#7 integrate .. //depot/projects/vimage/src/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/vimage/src/sys/dev/tsec/if_tsec.c#6 integrate .. //depot/projects/vimage/src/sys/dev/tx/if_tx.c#6 integrate .. //depot/projects/vimage/src/sys/dev/txp/if_txp.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_aue.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_axe.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_cue.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_kue.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_rue.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/net/if_udav.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/umass.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#52 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi.h#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi_util.h#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#14 integrate .. //depot/projects/vimage/src/sys/dev/vge/if_vge.c#8 integrate .. //depot/projects/vimage/src/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/vimage/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#18 integrate .. //depot/projects/vimage/src/sys/dev/wl/if_wl.c#3 integrate .. //depot/projects/vimage/src/sys/dev/xe/if_xe.c#5 integrate .. //depot/projects/vimage/src/sys/dev/xl/if_xl.c#6 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_vnops.c#7 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvnops.c#6 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_map.c#10 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs_vnops.c#14 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_subr.c#14 integrate .. //depot/projects/vimage/src/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/vimage/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#3 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#4 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/xfs_vnodeops.c#4 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#32 integrate .. //depot/projects/vimage/src/sys/i386/i386/elf_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/i386/i386/intr_machdep.c#10 integrate .. //depot/projects/vimage/src/sys/i386/i386/io_apic.c#6 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#20 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#23 integrate .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#23 integrate .. //depot/projects/vimage/src/sys/i386/i386/msi.c#10 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/vimage/src/sys/i386/include/intr_machdep.h#8 integrate .. //depot/projects/vimage/src/sys/i386/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/i386/isa/clock.c#12 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/i386/xen/mp_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/elf_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/mp_machdep.c#10 integrate .. //depot/projects/vimage/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/kern/init_sysent.c#14 integrate .. //depot/projects/vimage/src/sys/kern/kern_cpuset.c#9 integrate .. //depot/projects/vimage/src/sys/kern/kern_descrip.c#29 integrate .. //depot/projects/vimage/src/sys/kern/kern_fork.c#29 integrate .. //depot/projects/vimage/src/sys/kern/kern_intr.c#16 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#32 integrate .. //depot/projects/vimage/src/sys/kern/kern_lockf.c#12 integrate .. //depot/projects/vimage/src/sys/kern/kern_mbuf.c#15 integrate .. //depot/projects/vimage/src/sys/kern/kern_poll.c#22 integrate .. //depot/projects/vimage/src/sys/kern/kern_resource.c#16 integrate .. //depot/projects/vimage/src/sys/kern/kern_sig.c#20 integrate .. //depot/projects/vimage/src/sys/kern/kern_switch.c#16 integrate .. //depot/projects/vimage/src/sys/kern/kern_uuid.c#17 integrate .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#99 integrate .. //depot/projects/vimage/src/sys/kern/link_elf.c#13 integrate .. //depot/projects/vimage/src/sys/kern/link_elf_obj.c#14 integrate .. //depot/projects/vimage/src/sys/kern/makesyscalls.sh#7 integrate .. //depot/projects/vimage/src/sys/kern/sched_ule.c#32 integrate .. //depot/projects/vimage/src/sys/kern/subr_pcpu.c#10 integrate .. //depot/projects/vimage/src/sys/kern/subr_stack.c#7 integrate .. //depot/projects/vimage/src/sys/kern/sys_process.c#12 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.c#13 integrate .. //depot/projects/vimage/src/sys/kern/syscalls.master#14 integrate .. //depot/projects/vimage/src/sys/kern/systrace_args.c#12 integrate .. //depot/projects/vimage/src/sys/kern/sysv_ipc.c#5 integrate .. //depot/projects/vimage/src/sys/kern/sysv_msg.c#9 integrate .. //depot/projects/vimage/src/sys/kern/sysv_sem.c#10 integrate .. //depot/projects/vimage/src/sys/kern/sysv_shm.c#10 integrate .. //depot/projects/vimage/src/sys/kern/tty.c#40 integrate .. //depot/projects/vimage/src/sys/kern/uipc_shm.c#8 integrate .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#29 integrate .. //depot/projects/vimage/src/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/vimage/src/sys/mips/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/mips/mips/elf_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/mips/mips/mp_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/mips/mips/pmap.c#14 integrate .. //depot/projects/vimage/src/sys/modules/acpi/Makefile#4 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/igb/Makefile#4 integrate .. //depot/projects/vimage/src/sys/modules/ixgbe/Makefile#6 integrate .. //depot/projects/vimage/src/sys/modules/mxge/mxge/Makefile#3 integrate .. //depot/projects/vimage/src/sys/net/bridgestp.c#22 integrate .. //depot/projects/vimage/src/sys/net/if.c#88 integrate .. //depot/projects/vimage/src/sys/net/if_ef.c#15 integrate .. //depot/projects/vimage/src/sys/net/if_epair.c#7 integrate .. //depot/projects/vimage/src/sys/net/if_ethersubr.c#45 integrate .. //depot/projects/vimage/src/sys/net/if_fddisubr.c#13 integrate .. //depot/projects/vimage/src/sys/net/if_media.h#8 integrate .. //depot/projects/vimage/src/sys/net/if_mib.c#17 integrate .. //depot/projects/vimage/src/sys/net/if_spppsubr.c#18 integrate .. //depot/projects/vimage/src/sys/net/if_stf.c#19 integrate .. //depot/projects/vimage/src/sys/net/if_tap.c#14 integrate .. //depot/projects/vimage/src/sys/net/if_tun.c#20 integrate .. //depot/projects/vimage/src/sys/net/if_var.h#42 integrate .. //depot/projects/vimage/src/sys/net/if_vlan.c#20 integrate .. //depot/projects/vimage/src/sys/net/netisr.c#21 integrate .. //depot/projects/vimage/src/sys/net/raw_cb.c#15 integrate .. //depot/projects/vimage/src/sys/net/raw_usrreq.c#14 integrate .. //depot/projects/vimage/src/sys/net/route.c#55 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#40 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211.c#38 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#28 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.c#7 integrate .. //depot/projects/vimage/src/sys/netatalk/at_control.c#5 integrate .. //depot/projects/vimage/src/sys/netatalk/at_extern.h#4 integrate .. //depot/projects/vimage/src/sys/netatalk/at_rmx.c#3 integrate .. //depot/projects/vimage/src/sys/netatalk/at_var.h#4 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_input.c#7 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_output.c#6 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_pcb.c#5 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_usrreq.c#7 integrate .. //depot/projects/vimage/src/sys/netgraph/atm/ng_atm.c#13 integrate .. //depot/projects/vimage/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#31 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ether.c#29 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#47 integrate .. //depot/projects/vimage/src/sys/netinet/igmp.c#44 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#38 integrate .. //depot/projects/vimage/src/sys/netinet/in_gif.c#22 integrate .. //depot/projects/vimage/src/sys/netinet/in_mcast.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#62 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.h#35 integrate .. //depot/projects/vimage/src/sys/netinet/in_rmx.c#38 integrate .. //depot/projects/vimage/src/sys/netinet/in_var.h#21 integrate .. //depot/projects/vimage/src/sys/netinet/ip_carp.c#24 integrate .. //depot/projects/vimage/src/sys/netinet/ip_divert.c#35 integrate .. //depot/projects/vimage/src/sys/netinet/ip_dummynet.h#8 integrate .. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#62 integrate .. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#25 integrate .. //depot/projects/vimage/src/sys/netinet/ip_options.c#22 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#41 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dummynet.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw2.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_nat.c#3 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#51 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#41 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#57 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_offload.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#37 integrate .. //depot/projects/vimage/src/sys/netinet6/frag6.c#29 integrate .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#47 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#39 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#43 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#37 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.h#7 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_rmx.c#38 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#38 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_var.h#12 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#59 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#28 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#32 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_var.h#22 integrate .. //depot/projects/vimage/src/sys/netinet6/mld6.c#30 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6.c#55 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#37 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#37 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#42 integrate .. //depot/projects/vimage/src/sys/netinet6/scope6.c#27 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#45 integrate .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#38 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#45 integrate .. //depot/projects/vimage/src/sys/netipx/ipx.c#7 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_if.h#6 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_input.c#9 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_outputfl.c#6 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_pcb.c#6 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#17 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#38 integrate .. //depot/projects/vimage/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/pc98/pc98/machdep.c#14 integrate .. //depot/projects/vimage/src/sys/pci/if_rl.c#16 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/mmu_oea.c#10 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/booke/pmap.c#14 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/MPC85XX#9 integrate .. //depot/projects/vimage/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#2 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/elf_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/mp_machdep.c#6 integrate .. //depot/projects/vimage/src/sys/rpc/clnt_rc.c#7 integrate .. //depot/projects/vimage/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/vimage/src/sys/security/mac_biba/mac_biba.c#19 integrate .. //depot/projects/vimage/src/sys/security/mac_lomac/mac_lomac.c#18 integrate .. //depot/projects/vimage/src/sys/sparc64/conf/GENERIC#25 integrate .. //depot/projects/vimage/src/sys/sparc64/include/pcpu.h#7 integrate .. //depot/projects/vimage/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/sparc64/sparc64/elf_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/machdep.c#17 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/mp_machdep.c#12 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/pmap.c#13 integrate .. //depot/projects/vimage/src/sys/sun4v/conf/GENERIC#19 integrate .. //depot/projects/vimage/src/sys/sun4v/include/pcpu.h#10 integrate .. //depot/projects/vimage/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/vimage/src/sys/sun4v/sun4v/machdep.c#10 integrate .. //depot/projects/vimage/src/sys/sun4v/sun4v/mp_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/sun4v/sun4v/pmap.c#11 integrate .. //depot/projects/vimage/src/sys/sys/acl.h#5 integrate .. //depot/projects/vimage/src/sys/sys/ata.h#7 integrate .. //depot/projects/vimage/src/sys/sys/conf.h#18 integrate .. //depot/projects/vimage/src/sys/sys/ipc.h#3 integrate .. //depot/projects/vimage/src/sys/sys/jail.h#16 integrate .. //depot/projects/vimage/src/sys/sys/linker.h#4 integrate .. //depot/projects/vimage/src/sys/sys/msg.h#2 integrate .. //depot/projects/vimage/src/sys/sys/param.h#58 integrate .. //depot/projects/vimage/src/sys/sys/pcpu.h#13 integrate .. //depot/projects/vimage/src/sys/sys/priv.h#20 integrate .. //depot/projects/vimage/src/sys/sys/resource.h#9 integrate .. //depot/projects/vimage/src/sys/sys/resourcevar.h#5 integrate .. //depot/projects/vimage/src/sys/sys/sched.h#14 integrate .. //depot/projects/vimage/src/sys/sys/sem.h#3 integrate .. //depot/projects/vimage/src/sys/sys/shm.h#5 integrate .. //depot/projects/vimage/src/sys/sys/stack.h#5 integrate .. //depot/projects/vimage/src/sys/sys/syscall.h#13 integrate .. //depot/projects/vimage/src/sys/sys/syscall.mk#13 integrate .. //depot/projects/vimage/src/sys/sys/sysctl.h#39 integrate .. //depot/projects/vimage/src/sys/sys/sysproto.h#13 integrate .. //depot/projects/vimage/src/sys/sys/tty.h#11 integrate .. //depot/projects/vimage/src/sys/sys/uio.h#3 integrate .. //depot/projects/vimage/src/sys/sys/unistd.h#4 integrate .. //depot/projects/vimage/src/sys/sys/vnode.h#25 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_dirhash.c#11 integrate .. //depot/projects/vimage/src/sys/vm/default_pager.c#2 integrate .. //depot/projects/vimage/src/sys/vm/device_pager.c#7 integrate .. //depot/projects/vimage/src/sys/vm/phys_pager.c#8 integrate .. //depot/projects/vimage/src/sys/vm/swap_pager.c#21 integrate .. //depot/projects/vimage/src/sys/vm/vm.h#3 integrate .. //depot/projects/vimage/src/sys/vm/vm_contig.c#12 integrate .. //depot/projects/vimage/src/sys/vm/vm_extern.h#6 integrate .. //depot/projects/vimage/src/sys/vm/vm_fault.c#18 integrate .. //depot/projects/vimage/src/sys/vm/vm_kern.c#13 integrate .. //depot/projects/vimage/src/sys/vm/vm_map.c#19 integrate .. //depot/projects/vimage/src/sys/vm/vm_map.h#9 integrate .. //depot/projects/vimage/src/sys/vm/vm_mmap.c#21 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.c#24 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.h#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageout.c#18 integrate .. //depot/projects/vimage/src/sys/vm/vm_pager.c#4 integrate .. //depot/projects/vimage/src/sys/vm/vm_pager.h#3 integrate .. //depot/projects/vimage/src/sys/vm/vm_phys.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_phys.h#5 integrate .. //depot/projects/vimage/src/sys/vm/vnode_pager.c#18 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#13 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.454 2009/06/15 18:24:04 marius Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.456 2009/06/25 17:24:36 thompsa Exp $ MAN= aac.4 \ acpi.4 \ @@ -7,12 +7,14 @@ ${_acpi_asus.4} \ ${_acpi_dock.4} \ ${_acpi_fujitsu.4} \ + ${_acpi_hp.4} \ ${_acpi_ibm.4} \ ${_acpi_panasonic.4} \ ${_acpi_sony.4} \ acpi_thermal.4 \ ${_acpi_toshiba.4} \ acpi_video.4 \ + ${_acpi_wmi.4} \ adv.4 \ adw.4 \ ae.4 \ @@ -51,6 +53,7 @@ bktr.4 \ blackhole.4 \ bpf.4 \ + bridge.4 \ bt.4 \ bwi.4 \ cardbus.4 \ @@ -129,7 +132,6 @@ ida.4 \ idt.4 \ ieee80211.4 \ - if_bridge.4 \ ifmib.4 \ igb.4 \ igmp.4 \ @@ -473,6 +475,7 @@ MLINKS+=bfe.4 if_bfe.4 MLINKS+=bge.4 if_bge.4 MLINKS+=bktr.4 brooktree.4 +MLINKS+=bridge.4 if_bridge.4 MLINKS+=bwi.4 if_bwi.4 MLINKS+=cas.4 if_cas.4 MLINKS+=crypto.4 cryptodev.4 @@ -506,7 +509,6 @@ MLINKS+=hme.4 if_hme.4 MLINKS+=${_hptrr.4} ${_rr232x.4} MLINKS+=idt.4 if_idt.4 -MLINKS+=if_bridge.4 bridge.4 MLINKS+=igb.4 if_igb.4 MLINKS+=ip.4 rawip.4 MLINKS+=ipfirewall.4 ipaccounting.4 \ @@ -596,10 +598,12 @@ _acpi_asus.4= acpi_asus.4 _acpi_dock.4= acpi_dock.4 _acpi_fujitsu.4=acpi_fujitsu.4 +_acpi_hp.4= acpi_hp.4 _acpi_ibm.4= acpi_ibm.4 _acpi_panasonic.4=acpi_panasonic.4 _acpi_sony.4= acpi_sony.4 _acpi_toshiba.4=acpi_toshiba.4 +_acpi_wmi.4= acpi_wmi.4 _amdsmb.4= amdsmb.4 _amdtemp.4= amdtemp.4 _asmc.4= asmc.4 ==== //depot/projects/vimage/src/share/man/man4/ata.4#2 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ata.4,v 1.78 2008/10/04 21:31:12 delphij Exp $ +.\" $FreeBSD: src/share/man/man4/ata.4,v 1.79 2009/06/24 19:25:47 mav Exp $ .\" -.Dd October 4, 2008 +.Dd June 24, 2009 .Dt ATA 4 .Os .Sh NAME @@ -93,6 +93,24 @@ set to 1 to enable Write Caching, 0 to disable (default is enabled). .Em WARNING : can cause data loss on power failures and crashes. +.It Va hint.atapci.X.msi +set to 1 to allow Message Signalled Interrupts (MSI) to be used by +specified PCI ATA controller, if supported. +.It Va hint.ata.X.pm_level +controls SATA interface Power Management for specified channel, +allowing to save some power by the cost of additional command latency. +Possible values: +.Bl -tag -compact +.It 0 +interface Power Management is disabled, default value. +.It 1 +device is allowed to initiate PM state change, host is passive. +.It 2 +host initiates PARTIAL PM state transition every time port becomes idle. +.It 3 +host initiates SLUMBER PM state transition every time port becomes idle. +.El +Modes 2 and 3 are implemented only for AHCI driver now. .El .Sh DESCRIPTION The ==== //depot/projects/vimage/src/share/man/man4/epair.4#3 (text+ko) ==== ==== //depot/projects/vimage/src/share/man/man4/gem.4#3 (text+ko) ==== @@ -31,9 +31,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/gem.4,v 1.9 2009/01/15 22:06:53 marius Exp $ +.\" $FreeBSD: src/share/man/man4/gem.4,v 1.10 2009/06/23 20:38:35 marius Exp $ .\" -.Dd January 15, 2009 +.Dd June 14, 2009 .Dt GEM 4 .Os .Sh NAME @@ -57,9 +57,16 @@ .Sh DESCRIPTION The .Nm -driver provides support for the GMac Ethernet hardware found mostly in +driver provides support for the GMAC Ethernet hardware found mostly in the last Apple PowerBooks G3s and most G4-based Apple hardware, as -well as many Sun UltraSPARCs. +well as Sun UltraSPARC machines. +.Pp +All controllers supported by the +.Nm +driver have TCP checksum offload capability for both receive and transmit, +support for the reception and transmission of extended frames for +.Xr vlan 4 +and a 512-bit multicast hash filter. .Sh HARDWARE .Pp Chips supported by the @@ -84,6 +91,9 @@ .It Sun Gigabit Ethernet PCI 2.0/3.0 (GBE/P) (part no.\& 501-4373) +.It +Sun Gigabit Ethernet SBus 2.0/3.0 (GBE/S) +(part no.\& 501-4375) .El .Sh NOTES On sparc64 the @@ -108,15 +118,11 @@ Supported interfaces having their own MAC address include the on-board Sun ERI 10/100 Mbps on boards equipped with more than one Ethernet interface and the Sun Gigabit Ethernet 2.0/3.0 GBE add-on cards. -.Sh CAVEATS -Currently the -.Nm -driver fails to attach to Sun Gigabit Ethernet SBus 2.0/3.0 (GBE/S) cards, -as no SBus front-end has been written so far. .Sh SEE ALSO .Xr altq 4 , .Xr miibus 4 , .Xr netintro 4 , +.Xr vlan 4 , .Xr eeprom 8 , .Xr ifconfig 8 .Sh HISTORY @@ -132,9 +138,19 @@ .An -nosplit The .Nm -driver was written by +driver was written for +.Nx +by .An Eduardo Horvath .Aq eeh@NetBSD.org . +It was ported to +.Fx +by +.An Thomas Moestl +.Aq tmm@FreeBSD.org +and later on improved by +.An Marius Strobl +.Aq marus@FreeBSD.org . The man page was written by .An Thomas Klausner .Aq wiz@NetBSD.org . ==== //depot/projects/vimage/src/share/man/man4/pcm.4#4 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.54 2009/06/22 21:51:29 joel Exp $ +.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.56 2009/06/23 21:37:12 joel Exp $ .\" -.Dd June 22, 2009 +.Dd June 23, 2009 .Dt SOUND 4 .Os .Sh NAME @@ -288,7 +288,9 @@ Various messages intended for debugging. .El .It Va hw.snd.vpc_0db -Default value for pcm volume. +Default value for +.Nm +volume. Increase to give more room for attenuation control. Decrease for more amplification, with the possible cost of sound clipping. .It Va hw.snd.vpc_autoreset @@ -298,8 +300,10 @@ when applications tries to re-open the same device. .It Va hw.snd.vpc_mixer_bypass The recommended way to use the vpc feature is to teach applications to use -the correct ioctl(): SNDCTL_DSP_GETPLAYVOL, SNDCTL_DSP_SETPLAYVOL, -SNDCTL_DSP_SETRECVOL, SNDCTL_DSP_SETRECVOL. +the correct +.Fn ioctl : +.Dv SNDCTL_DSP_GETPLAYVOL, SNDCTL_DSP_SETPLAYVOL, +.Dv SNDCTL_DSP_SETRECVOL, SNDCTL_DSP_SETRECVOL. This is however not always possible. Enable this to allow applications to use their own existing mixer logic to control their own channel volume. @@ -309,7 +313,9 @@ Enable or disable bitperfect mode. When enabled, channels will skip all dsp processing, such as channel matrixing, rate converting and equalizing. -The pure pcm stream will be fed directly to the hardware. +The pure +.Nm +stream will be fed directly to the hardware. If .Tn VCHANs are enabled, the bitperfect mode will use the @@ -341,26 +347,32 @@ format/rate selection. Available options include: .Bl -tag -width 2n -.It fixed / 0 +.It fixed Channel mixing is done using fixed format/rate. Advanced operations such as digital passthrough will not work. -Can be considered as a 'legacy' mode. +Can be considered as a +.Dq legacy +mode. This is the default mode for hardware channels which lack support for digital formats. -.It passthrough / 1 +.It passthrough Channel mixing is done using fixed format/rate, but advanced operations such -as digital passthrough also works. +as digital passthrough also work. All channels will produce sound as usual until a digital format playback is requested. When this happens all other channels will be muted and the latest incoming digital format will be allowed to pass through undisturbed. Multiple concurrent digital streams are supported, but the latest stream will take precedence and mute all other streams. -.It adaptive / 2 -Works like the 'passthrough' mode, but is a bit smarter, especially for -multiple pcm channels with different format/rate. +.It adaptive +Works like the +.Dq passthrough +mode, but is a bit smarter, especially for +multiple +.Nm +channels with different format/rate. When a new channel is about to start, the entire list of virtual channels will -be scanned and the channel with the best format/rate (usuallay the +be scanned, and the channel with the best format/rate (usually the highest/biggest) will be selected. This ensures that mixing quality depends on the best channel. The downside is that the hardware DMA mode needs to be restarted, which may @@ -504,8 +516,8 @@ .Xr kldload 8 , .Xr sysctl 8 .Rs -.%T "The OSS API" -.%O "http://www.opensound.com/pguide/oss.pdf" +.%T "Cookbook formulae for audio EQ biquad filter coefficients, by Robert Bristow-Johnson" +.%O "http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt" .Re .Rs .%T "Julius O'Smith's Digital Audio Resampling" @@ -515,6 +527,10 @@ .%T "Polynomial Interpolators for High-Quality Resampling of Oversampled Audio, by Olli Niemitalo" .%O "http://www.student.oulu.fi/~oniemita/dsp/deip.pdf" .Re +.Rs +.%T "The OSS API" +.%O "http://www.opensound.com/pguide/oss.pdf" +.Re .Sh HISTORY The .Nm ==== //depot/projects/vimage/src/share/man/man4/usb.4#4 (text+ko) ==== @@ -48,7 +48,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/usb.4,v 1.38 2009/05/21 17:26:20 thompsa Exp $ +.\" $FreeBSD: src/share/man/man4/usb.4,v 1.39 2009/06/24 17:01:17 thompsa Exp $ .\" .Dd May 20, 2009 .Dt USB 4 @@ -162,548 +162,6 @@ .It If none is found, generic interface class drivers can attach. .El -.Sh USB KERNEL PROGRAMMING -Here is a list of commonly used functions: -.Pp -. -.Ft "usb2_error_t" -.Fo "usb2_transfer_setup" -.Fa "udev" -.Fa "ifaces" -.Fa "pxfer" -.Fa "setup_start" -.Fa "n_setup" -.Fa "priv_sc" -.Fa "priv_mtx" -.Fc -. -.Pp -. -.Ft "void" -.Fo "usb2_transfer_unsetup" -.Fa "pxfer" -.Fa "n_setup" -.Fc -. -.Pp -. -.Ft "void" -.Fo "usb2_transfer_start" -.Fa "xfer" -.Fc -. -.Pp -. -.Ft "void" -.Fo "usb2_transfer_stop" -.Fa "xfer" -.Fc -. -.Pp -. -.Ft "void" -.Fo "usb2_transfer_drain" -.Fa "xfer" -.Fc -. -. -.Sh DESCRIPTION -The -.Nm -module implements the core functionality of the USB standard and many -helper functions to make USB device driver programming easier and more -safe. -. -The -.Nm -module supports both USB Host and USB Device side mode! -. -.Sh USB TRANSFER MANAGEMENT FUNCTIONS -The USB standard defines four types of USB transfers. -. -Control transfers, Bulk transfers, Interrupt transfers and Isochronous -transfers. -. -All the transfer types are managed using the following five functions: -. -.Pp -. -.Fn usb2_transfer_setup -This function will allocate memory for and initialise an array of USB -transfers and all required DMA memory. -. -This function can sleep or block waiting for resources to become -available. -.Fa udev -is a pointer to "struct usb2_device". -.Fa ifaces -is an array of interface index numbers to use. See "if_index". -.Fa pxfer -is a pointer to an array of USB transfer pointers that are initialized -to NULL, and then pointed to allocated USB transfers. -.Fa setup_start -is a pointer to an array of USB config structures. -.Fa n_setup -is a number telling the USB system how many USB transfers should be -setup. -.Fa priv_sc -is the private softc pointer, which will be used to initialize -"xfer->priv_sc". -.Fa priv_mtx -is the private mutex protecting the transfer structure and the -softc. This pointer is used to initialize "xfer->priv_mtx". -This function returns -zero upon success. A non-zero return value indicates failure. -. -.Pp -. -.Fn usb2_transfer_unsetup -This function will release the given USB transfers and all allocated -resources associated with these USB transfers. -.Fa pxfer -is a pointer to an array of USB transfer pointers, that may be NULL, -that should be freed by the USB system. -.Fa n_setup -is a number telling the USB system how many USB transfers should be -unsetup. -. -This function can sleep waiting for USB transfers to complete. -. -This function is NULL safe with regard to the USB transfer structure -pointer. -. -It is not allowed to call this function from the USB transfer -callback. -. -.Pp -. -.Fn usb2_transfer_start -This function will start the USB transfer pointed to by -.Fa xfer, -if not already started. -. -This function is always non-blocking and must be called with the -so-called private USB mutex locked. -. -This function is NULL safe with regard to the USB transfer structure -pointer. -. -.Pp -. -.Fn usb2_transfer_stop -This function will stop the USB transfer pointed to by -.Fa xfer, -if not already stopped. -. -This function is always non-blocking and must be called with the -so-called private USB mutex locked. -. -This function can return before the USB callback has been called. -. -This function is NULL safe with regard to the USB transfer structure -pointer. -. -If the transfer was in progress, the callback will called with -"USB_ST_ERROR" and "xfer->error = USB_ERR_CANCELLED". -. -.Pp -. -.Fn usb2_transfer_drain -This function will stop an USB transfer, if not already stopped and -wait for any additional USB hardware operations to complete. -. -Buffers that are loaded into DMA using "usb2_set_frame_data()" can -safely be freed after that this function has returned. -. -This function can block the caller and will not return before the USB -callback has been called. -. -This function is NULL safe with regard to the USB transfer structure -pointer. -. -.Sh USB TRANSFER CALLBACK -. -The USB callback has three states. -. -USB_ST_SETUP, USB_ST_TRANSFERRED and USB_ST_ERROR. USB_ST_SETUP is the -initial state. -. -After the callback has been called with this state it will always be -called back at a later stage in one of the other two states. -. -In the USB_ST_ERROR state the "error" field of the USB transfer -structure is set to the error cause. -. -The USB callback should not restart the USB transfer in case the error -cause is USB_ERR_CANCELLED. -. -The USB callback is protected from recursion. -. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jun 27 14:50:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 399B61065673; Sat, 27 Jun 2009 14:50:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED4A8106566C for ; Sat, 27 Jun 2009 14:50:43 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D98CC8FC08 for ; Sat, 27 Jun 2009 14:50:43 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5REohB8040850 for ; Sat, 27 Jun 2009 14:50:43 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5REohmr040848 for perforce@freebsd.org; Sat, 27 Jun 2009 14:50:43 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 14:50:43 GMT Message-Id: <200906271450.n5REohmr040848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165311 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 14:50:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165311 Change 165311 by trasz@trasz_victim on 2009/06/27 14:50:38 Rework rule addition/removal to use text strings instead of binary structs. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#16 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/Makefile#3 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#9 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#16 (text+ko) ==== @@ -57,6 +57,45 @@ RB_ENTRY(hrl_node) hn_next; }; +struct dict { + const char *d_name; + int d_value; +}; + +struct dict subjectnames[] = { + { "process", HRL_SUBJECT_PROCESS }, + { "user", HRL_SUBJECT_USER }, + { "group", HRL_SUBJECT_GROUP }, + { "loginclass", HRL_SUBJECT_LOGINCLASS }, + { "jail", HRL_SUBJECT_JAIL }, + { NULL, -1 }}; + +struct dict resourcenames[] = { + { "cputime", HRL_RESOURCE_CPUTIME }, + { "filesize", HRL_RESOURCE_FILESIZE }, + { "datasize", HRL_RESOURCE_DATASIZE }, + { "stacksize", HRL_RESOURCE_STACKSIZE }, + { "coredumpsize", HRL_RESOURCE_COREDUMPSIZE }, + { "memoryuse", HRL_RESOURCE_MEMORYUSE }, + { "memorylocked", HRL_RESOURCE_MEMORYLOCKED }, + { "maxprocesses", HRL_RESOURCE_MAXPROCESSES }, + { "openfiles", HRL_RESOURCE_OPENFILES }, + { "sbsize", HRL_RESOURCE_SBSIZE }, + { "vmemoryuse", HRL_RESOURCE_VMEMORYUSE }, + { NULL, -1 }}; + +struct dict actionnames[] = { + { "deny", HRL_ACTION_DENY }, + { "delay", HRL_ACTION_DELAY }, + { "log", HRL_ACTION_LOG }, + { "sighup", HRL_ACTION_SIGHUP }, + { "sigint", HRL_ACTION_SIGINT }, + { "sigkill", HRL_ACTION_SIGKILL }, + { "sigsegv", HRL_ACTION_SIGSEGV }, + { "sigxcpu", HRL_ACTION_SIGXCPU }, + { "sigxfsz", HRL_ACTION_SIGXFSZ }, + { NULL, -1 }}; + /* * XXX: This is silly. Some better way of organising these * will be required. @@ -181,34 +220,14 @@ static const char * hrl_resource_name(int resource) { - switch (resource) { - case HRL_RESOURCE_CPUTIME: - return ("cputime"); - case HRL_RESOURCE_FILESIZE: - return ("filesize"); - case HRL_RESOURCE_DATASIZE: - return ("datasize"); - case HRL_RESOURCE_STACKSIZE: - return ("stacksize"); - case HRL_RESOURCE_COREDUMPSIZE: - return ("coredumpsize"); - case HRL_RESOURCE_MEMORYUSE: - return ("memoryuse"); - case HRL_RESOURCE_MEMORYLOCKED: - return ("memorylocked"); - case HRL_RESOURCE_MAXPROCESSES: - return ("maxprocesses"); - case HRL_RESOURCE_OPENFILES: - return ("openfiles"); - case HRL_RESOURCE_SBSIZE: - return ("sbsize"); - case HRL_RESOURCE_VMEMORYUSE: - return ("vmemoryuse"); - case HRL_RESOURCE_PTY: - return ("vmemoryuse"); - default: - panic("hrl_resource_name: unknown resource"); + int i; + + for (i = 0; resourcenames[i].d_name != NULL; i++) { + if (resourcenames[i].d_value == resource) + return (resourcenames[i].d_name); } + + panic("hrl_resource_name: unknown resource"); } void @@ -530,66 +549,119 @@ } static int -hrl_rule_add(struct hrl_rule *rule) +str2value(const char *str, int *value, struct dict *table) +{ + int i; + + if (value == NULL) + return (EINVAL); + + printf("str2value: '%s'\n", str); + + for (i = 0; table[i].d_name != NULL; i++) { + if (strcasecmp(table[i].d_name, str) == 0) { + *value = table[i].d_value; + return (0); + } + } + + return (EINVAL); +} + +static int +str2id(const char *str, id_t *value) { - struct hrl_node *node, *existing; + char *end; - node = uma_zalloc(hrl_zone, M_WAITOK); - node->hn_rule = *rule; + if (str == NULL) + return (EINVAL); - mtx_lock(&hrl_lock); - existing = RB_INSERT(hrl_tree, &hrls, node); - if (existing != NULL) - existing->hn_rule.hr_amount = rule->hr_amount; - mtx_unlock(&hrl_lock); + printf("str2id: '%s'\n", str); - if (existing != NULL) - uma_zfree(hrl_zone, node); + *value = strtoul(str, &end, 10); + if ((size_t)(end - str) != strlen(str)) + return (EINVAL); return (0); } static int -hrl_rule_remove(struct hrl_rule *rule) +str2int64(const char *str, int64_t *value) { - struct hrl_node searched, *node; + char *end; - node = uma_zalloc(hrl_zone, M_WAITOK); - searched.hn_rule = *rule; + if (str == NULL) + return (EINVAL); - mtx_lock(&hrl_lock); - node = RB_FIND(hrl_tree, &hrls, &searched); - if (node != NULL) { - node = RB_REMOVE(hrl_tree, &hrls, node); - KASSERT(node != NULL, ("hrl_adjust: node removal failed")); - } - mtx_unlock(&hrl_lock); + printf("str2int64: '%s'\n", str); - uma_zfree(hrl_zone, node); + *value = strtoul(str, &end, 10); + if ((size_t)(end - str) != strlen(str)) + return (EINVAL); return (0); } static int -hrl_rule_check(struct hrl_rule *rule) +hrl_rule_parse(struct hrl_rule *rule, char *rulestr) { + int error; + char *subjectstr, *subject_idstr, *resourcestr, *actionstr, *amountstr, *perstr; + + subjectstr = strsep(&rulestr, ":"); + subject_idstr = strsep(&rulestr, ":"); + resourcestr = strsep(&rulestr, ":"); + actionstr = strsep(&rulestr, "="); + amountstr = strsep(&rulestr, "/"); + perstr = rulestr; - if (rule.hr_subject <= 0 || rule.hr_subject > HRL_SUBJECT_MAX) + error = str2value(subjectstr, &rule->hr_subject, subjectnames); + if (error) return (EINVAL); - if (rule.hr_per <= 0 || rule.hr_per > HRL_SUBJECT_MAX) + error = str2id(subject_idstr, &rule->hr_subject_id); + if (error) return (EINVAL); - if (rule.hr_resource <= 0 || rule.hr_resource > HRL_RESOURCE_MAX) + error = str2value(resourcestr, &rule->hr_resource, resourcenames); + if (error) return (EINVAL); - if (rule.hr_action <= 0 || rule.hr_action > HRL_ACTION_MAX) + error = str2value(actionstr, &rule->hr_action, actionnames); + if (error) return (EINVAL); - if (rule.hr_amount <= 0) + error = str2int64(amountstr, &rule->hr_amount); + if (error) return (EINVAL); + if (perstr != NULL && perstr[0] != '\0') { + error = str2value(perstr, &rule->hr_per, subjectnames); + if (error) + return (EINVAL); + } else + rule->hr_per = rule->hr_subject; + + return (0); +} + +static int +hrl_rule_add(struct hrl_rule *rule) +{ + struct hrl_node *node, *existing; + + node = uma_zalloc(hrl_zone, M_WAITOK); + node->hn_rule = *rule; + + mtx_lock(&hrl_lock); + existing = RB_INSERT(hrl_tree, &hrls, node); + if (existing != NULL) + existing->hn_rule.hr_amount = rule->hr_amount; + mtx_unlock(&hrl_lock); + if (existing != NULL) + uma_zfree(hrl_zone, node); + return (0); } static int -hrl_add_rule(struct thread *td, const void *bufp, size_t buflen) +hrl_add_rule(struct thread *td, char *inputstr) { int error; struct hrl_rule rule; @@ -597,25 +669,38 @@ error = priv_check(td, PRIV_HRL_SET); if (error) return (error); + error = hrl_rule_parse(&rule, inputstr); + if (error) + return (error); + error = hrl_rule_add(&rule); + return (error); +} - if (buflen != sizeof(rule)) - return (EINVAL); +static int +hrl_rule_remove(struct hrl_rule *rule) +{ + struct hrl_node searched, *node; - error = copyin(bufp, &rule, buflen); - if (error) - return (error); + searched.hn_rule = *rule; - error = hrl_rule_check(&rule); - if (error) - return (error); + mtx_lock(&hrl_lock); + node = RB_FIND(hrl_tree, &hrls, &searched); + if (node != NULL) { + node = RB_REMOVE(hrl_tree, &hrls, node); + KASSERT(node != NULL, ("hrl_adjust: node removal failed")); + } + mtx_unlock(&hrl_lock); - error = hrl_rule_add(&rule); + if (node != NULL) + uma_zfree(hrl_zone, node); + else + return (ENOENT); return (0); } static int -hrl_remove_rule(struct thread *td, const void *bufp, size_t buflen) +hrl_remove_rule(struct thread *td, char *inputstr) { int error; struct hrl_rule rule; @@ -623,25 +708,23 @@ error = priv_check(td, PRIV_HRL_SET); if (error) return (error); - - if (buflen != sizeof(rule)) - return (EINVAL); - - error = copyin(bufp, &rule, buflen); + error = hrl_rule_parse(&rule, inputstr); if (error) return (error); - error = hrl_rule_remove(&rule); - - return (0); + return (error); } static int -hrl_get_acc_pid(struct thread *td, id_t pid, void *bufp, size_t buflen) +hrl_get_acc_pid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; + id_t pid; struct proc *p; + error = str2id(inputstr, &pid); + if (error) + return (error); if ((p = pfind(pid)) == NULL) { if ((p = zpfind(pid)) == NULL) return (ESRCH); @@ -653,11 +736,15 @@ } static int -hrl_get_acc_uid(struct thread *td, id_t uid, void *bufp, size_t buflen) +hrl_get_acc_uid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; + id_t uid; struct uidinfo *uip; + error = str2id(inputstr, &uid); + if (error) + return (error); uip = uifind_existing(uid); if (uip == NULL) return (ESRCH); @@ -668,11 +755,15 @@ } static int -hrl_get_acc_gid(struct thread *td, id_t gid, void *bufp, size_t buflen) +hrl_get_acc_gid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; + id_t gid; struct gidinfo *gip; + error = str2id(inputstr, &gid); + if (error) + return (error); gip = gifind_existing(gid); if (gip == NULL) return (ESRCH); @@ -683,11 +774,16 @@ } static int -hrl_get_acc_jid(struct thread *td, id_t jid, void *bufp, size_t buflen) +hrl_get_acc_jid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; + id_t jid; struct prison *pr; + error = str2id(inputstr, &jid); + if (error) + return (error); + sx_xlock(&allprison_lock); pr = prison_find(jid); if (pr == NULL) { @@ -705,39 +801,53 @@ hrl(struct thread *td, struct hrl_args *uap) { int error; - id_t id; + char *inputstr = NULL; - if (uap->op != HRL_OP_GET_RULES) { - if (uap->inbuflen != sizeof(id_t)) + if (uap->inbufp != NULL && uap->inbuflen != 0) { + if (uap->inbuflen <= 0) return (EINVAL); - error = copyin(uap->inbufp, &id, sizeof(id_t)); + + inputstr = malloc(uap->inbuflen + 1, M_HRL, M_WAITOK); + error = copyinstr(uap->inbufp, inputstr, uap->inbuflen, NULL); if (error) - return (error); - if (id < 0) - return (EINVAL); - if (uap->outbuflen < sizeof(struct hrl_acc)) - return (EFBIG); + goto out; } switch (uap->op) { case HRL_OP_GET_RULES: - return (hrl_get_rules(td, uap->outbufp, uap->outbuflen)); + error = hrl_get_rules(td, uap->outbufp, uap->outbuflen); + break; case HRL_OP_ADD_RULE: - return (hrl_add_rule(td, uap->inbufp, uap->inbuflen)); + error = hrl_add_rule(td, inputstr); + break; case HRL_OP_REMOVE_RULE: - return (hrl_remove_rule(td, uap->inbufp, uap->inbuflen)); + error = hrl_remove_rule(td, inputstr); + break; case HRL_OP_GET_ACC_PID: - return (hrl_get_acc_pid(td, id, uap->outbufp, uap->outbuflen)); + error = hrl_get_acc_pid(td, inputstr, uap->outbufp, uap->outbuflen); + break; case HRL_OP_GET_ACC_UID: - return (hrl_get_acc_uid(td, id, uap->outbufp, uap->outbuflen)); + error = hrl_get_acc_uid(td, inputstr, uap->outbufp, uap->outbuflen); + break; case HRL_OP_GET_ACC_GID: - return (hrl_get_acc_gid(td, id, uap->outbufp, uap->outbuflen)); + error = hrl_get_acc_gid(td, inputstr, uap->outbufp, uap->outbuflen); + break; case HRL_OP_GET_ACC_JAILID: - return (hrl_get_acc_jid(td, id, uap->outbufp, uap->outbuflen)); + error = hrl_get_acc_jid(td, inputstr, uap->outbufp, uap->outbuflen); + break; default: - return (EINVAL); + error = EINVAL; } - /* NOTREACHED */ + + /* + * XXX: Move copyouts into this place. + */ + +out: + if (inputstr != NULL) + free(inputstr, M_HRL); + + return (error); } static void ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/Makefile#3 (text+ko) ==== ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#9 (text+ko) ==== @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include @@ -190,7 +191,7 @@ id_t id; char *end; - id = strtod(s, &end); + id = strtoul(s, &end, 10); if ((size_t)(end - s) != strlen(s)) errx(1, "trailing characters after numerical id"); @@ -208,6 +209,9 @@ if (pwd != NULL) return (pwd->pw_uid); + if (!isnumber(s[0])) + errx(1, "uknown user '%s'", s); + id = strtod(s, &end); if ((size_t)(end - s) != strlen(s)) errx(1, "trailing characters after numerical id"); @@ -226,6 +230,9 @@ if (grp != NULL) return (grp->gr_gid); + if (!isnumber(s[0])) + errx(1, "uknown group '%s'", s); + id = strtod(s, &end); if ((size_t)(end - s) != strlen(s)) errx(1, "trailing characters after numerical id"); @@ -284,8 +291,13 @@ { int error, i; struct hrl_acc acc; + char *str; + + asprintf(&str, "%d", (int)id); + if (str == NULL) + err(1, "asprintf"); - error = hrl(op, &id, sizeof(id), &acc, sizeof(acc)); + error = hrl(op, str, strlen(str) + 1, &acc, sizeof(acc)); if (error) err(1, "hrl"); @@ -298,34 +310,74 @@ } } +/* + * This routine replaces user/group name with numeric id. + */ +static char * +resolve_id(char *str) +{ + id_t id; + char *subject, *textid, *resolved; + + subject = strsep(&str, ":"); + textid = strsep(&str, ":"); + if (textid == NULL) + errx(1, "error in rule specification: no subject"); + if (str == NULL) + errx(1, "error in rule specification: no subject id"); + + if (strcasecmp(subject, "user") == 0) { + id = parse_user(textid); + asprintf(&resolved, "%s:%d:%s", subject, (int)id, str); + } else if (strcasecmp(subject, "group") == 0) { + id = parse_group(textid); + asprintf(&resolved, "%s:%d:%s", subject, (int)id, str); + } else + asprintf(&resolved, "%s:%s:%s", subject, textid, str); + + if (resolved == NULL) + err(1, "asprintf"); + + return (resolved); +} + static void +add_or_remove_rule(int op, char *rule) +{ + int error; + char *resolved; + + resolved = resolve_id(rule); + error = hrl(op, resolved, strlen(resolved) + 1, NULL, 0); + if (error) + err(1, "hrl"); + free(resolved); +} + +static void usage(void) { - fprintf(stderr, "usage: hrl [-u user | -g group | -p pid | -j jailid]\n"); + fprintf(stderr, "usage: hrl [-a rule | -r rule | -u user | -g group | -p pid | -j jailid]\n"); exit(1); } int main(int argc __unused, char **argv __unused) { - int ch, op, pflag = 0, uflag = 0, gflag = 0, jflag = 0; + int ch, op, aflag = 0, gflag = 0, jflag = 0, pflag = 0, rflag = 0, uflag = 0; id_t id = 0; + char *rule = NULL; op = HRL_OP_GET_RULES; - while ((ch = getopt(argc, argv, "p:u:g:j:")) != -1) { + while ((ch = getopt(argc, argv, "a:g:j:p:r:u:")) != -1) { switch (ch) { - case 'p': - pflag = 1; - op = HRL_OP_GET_ACC_PID; - id = parse_pid(optarg); + case 'a': + aflag = 1; + op = HRL_OP_ADD_RULE; + rule = strdup(optarg); break; - case 'u': - uflag = 1; - op = HRL_OP_GET_ACC_UID; - id = parse_user(optarg); - break; case 'g': gflag = 1; op = HRL_OP_GET_ACC_GID; @@ -336,14 +388,29 @@ op = HRL_OP_GET_ACC_JAILID; id = parse_group(optarg); break; + case 'p': + pflag = 1; + op = HRL_OP_GET_ACC_PID; + id = parse_pid(optarg); + break; + case 'r': + rflag = 1; + op = HRL_OP_REMOVE_RULE; + rule = strdup(optarg); + break; + case 'u': + uflag = 1; + op = HRL_OP_GET_ACC_UID; + id = parse_user(optarg); + break; case '?': default: usage(); } } - if (pflag + uflag + gflag + jflag > 1) - errx(1, "only one of the -p, -u, -g and -j may be specified " + if (aflag + gflag + jflag + pflag + rflag + uflag > 1) + errx(1, "only one flag may be specified " "at the same time"); switch (op) { @@ -357,6 +424,14 @@ case HRL_OP_GET_ACC_JAILID: print_accounting(op, id); break; + + case HRL_OP_ADD_RULE: + case HRL_OP_REMOVE_RULE: + if (rule == NULL) + err(1, "strdup"); + add_or_remove_rule(op, rule); + free(rule); + break; } return (0); From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:03:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8245E106574C; Sat, 27 Jun 2009 15:03:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40525106574A for ; Sat, 27 Jun 2009 15:03:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2BB438FC12 for ; Sat, 27 Jun 2009 15:03:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RF3xFJ042753 for ; Sat, 27 Jun 2009 15:03:59 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RF3wJH042751 for perforce@freebsd.org; Sat, 27 Jun 2009 15:03:58 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 15:03:58 GMT Message-Id: <200906271503.n5RF3wJH042751@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:04:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165314 Change 165314 by trasz@trasz_victim on 2009/06/27 15:03:11 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#28 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#33 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ipfw/ipfw.8#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/if_bridge.4#6 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/if_ate.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/if_npe.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_misc.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_signal.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#36 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/age/if_age.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#22 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bce/if_bce.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bfe/if_bfe.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bge.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bm/if_bm.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cs/if_cs.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_adapter.h#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/dc/if_dc.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/de/if_de.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_igb.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ed/if_ed.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/et/if_et.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ex/if_ex.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fxp/if_fxp.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ie/if_ie.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/if_ndis/if_ndis.c#19 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/jme/if_jme.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/malo/if_malo.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/msk/if_msk.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mxge/if_mxge.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/my/if_my.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nve/if_nve.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/dp83932.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/tsec/if_tsec.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/tx/if_tx.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_aue.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_axe.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cue.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_kue.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_rue.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_udav.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/umass.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdevs#30 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdi.h#5 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdi_util.h#3 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_zyd.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/vge/if_vge.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wi.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/sys_machdep.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ia64/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_descrip.c#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exec.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exit.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_fork.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_prot.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sig.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_thr.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_generic.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_process.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_extattr.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_lookup.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_syscalls.c#22 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#24 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_spppsubr.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_ether.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.c#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/include/vm.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rl.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_syscalls.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/vm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/include/vm.h#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#28 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.197 2009/06/24 17:01:17 thompsa Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -15,57 +15,72 @@ # # 20090624: update usbdi(9) -OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9 -OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9 -OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9 -OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9 -OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9 -OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9 -OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9 -OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9 -OLD_FILES+=usr/share/man/man9/usbd_get_speed.9 -OLD_FILES+=usr/share/man/man9/usbd_get_string.9 -OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9 -OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9 -OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_interface_count.9 -OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9 -OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9 -OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9 -OLD_FILES+=usr/share/man/man9/usbd_set_interface.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9 -OLD_FILES+=usr/share/man/man9/usbd_transfer.9 -OLD_FILES+=usr/share/man/man9/usb_find_desc.9 +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -105,7 +120,7 @@ OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#33 (text+ko) ==== @@ -22,6 +22,12 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + 20090622: Layout of struct vnet has changed as routing related variables were moved to their own Vimage module. Modules need to be @@ -1618,4 +1624,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.622 2009/06/26 01:10:10 dougb Exp $ +$FreeBSD: src/UPDATING,v 1.623 2009/06/26 17:50:52 jhb Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/ipfw/ipfw.8#11 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.230 2009/06/26 05:09:00 maxim Exp $ +.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.231 2009/06/26 19:49:06 oleg Exp $ .\" .Dd June 24, 2009 .Dt IPFW 8 @@ -1944,13 +1944,18 @@ The default value is 0, meaning no delay. .Pp .It Cm burst Ar size -If the data rate exceeds the pipe bandwith limit -(and pipe was idle long enough), +If the data to be sent exceeds the pipe's bandwidth limit +(and the pipe was previously idle), up to .Ar size -bytes of data is allowed to bypass the +bytes of data are allowed to bypass the .Nm dummynet -scheduler (i.e. it will be sent without shaping), then transmission rate -will not exceed pipe bandwidth. Effective burst size calculated as follows: +scheduler, and will be sent as fast as the physical link allows. +Any additional data will be transmitted at the rate specified +by the +.Nm pipe +bandwidth. +The burst size depends on how long the pipe has been idle; +the effective burst size is calculated as follows: MAX( .Ar size , ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/sys_machdep.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.92 2009/06/27 13:58:44 rwatson Exp $"); #include #include @@ -87,7 +87,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/vm.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/vm.h,v 1.1 2009/06/26 04:47:43 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vm.h,v 1.2 2009/06/26 16:22:24 alc Exp $ */ #ifndef _MACHINE_VM_H_ @@ -42,4 +42,4 @@ #define VM_CACHE_DEFAULT VM_CACHE_WRITE_BACK -#endif /* !_MACHINE_PMAP_H_ */ +#endif /* !_MACHINE_VM_H_ */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/if_ate.c#9 (text) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.38 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.39 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -413,7 +413,7 @@ */ mcaf[0] = 0; mcaf[1] = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -421,14 +421,14 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); /* * Write the hash to the hash register. This card can also * accept unicast packets as well as multicast packets using this * register for easier bridging operations, but we don't take * advantage of that. Locks here are to avoid LOR with the - * IF_ADDR_LOCK, but might not be strictly necessary. + * if_maddr_rlock, but might not be strictly necessary. */ WR4(sc, ETH_HSL, mcaf[0]); WR4(sc, ETH_HSH, mcaf[1]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/include/vm.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vm.h,v 1.1 2009/06/26 04:47:43 alc Exp $ + * $FreeBSD: src/sys/arm/include/vm.h,v 1.2 2009/06/26 16:22:24 alc Exp $ */ #ifndef _MACHINE_VM_H_ @@ -32,4 +32,4 @@ /* Cache control is not (yet) implemented. */ #define VM_CACHE_DEFAULT 0 -#endif /* !_MACHINE_PMAP_H_ */ +#endif /* !_MACHINE_VM_H_ */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/if_npe.c#9 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.20 2009/06/26 11:45:06 rwatson Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -435,7 +435,7 @@ memset(clr, 0, ETHER_ADDR_LEN); memset(set, 0xff, ETHER_ADDR_LEN); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -445,7 +445,7 @@ set[i] &= mac[i]; } } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < ETHER_ADDR_LEN; i++) { mask[i] = set[i] | ~clr[i]; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_misc.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.91 2009/06/24 21:10:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.92 2009/06/27 13:58:44 rwatson Exp $"); #include "opt_compat.h" #include "opt_inet.h" @@ -2924,7 +2924,7 @@ struct uio *auio; int error; - AUDIT_ARG(fflags, uap->flags); + AUDIT_ARG_FFLAGS(uap->flags); /* * Filter out MNT_ROOTFS. We do not want clients of nmount() in ==== //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_signal.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.66 2008/10/19 10:02:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.67 2009/06/27 13:58:44 rwatson Exp $"); #include #include @@ -546,8 +546,8 @@ ksiginfo_t ksi; int error; - AUDIT_ARG(signum, signum); - AUDIT_ARG(pid, pid); + AUDIT_ARG_SIGNUM(signum); + AUDIT_ARG_PID(pid); /* * Allow signal 0 as a means to check for privileges @@ -563,7 +563,7 @@ return (ESRCH); } - AUDIT_ARG(process, p); + AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, signum); if (error) goto out; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#36 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1548 2009/06/23 06:11:04 zec Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1549 2009/06/26 17:50:52 jhb Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -301,6 +301,9 @@ # Old tty interface. options COMPAT_43TTY +# Note that as a general rule, COMPAT_FREEBSD depends on +# COMPAT_FREEBSD, COMPAT_FREEBSD, etc. + # Enable FreeBSD4 compatibility syscalls options COMPAT_FREEBSD4 ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ae/if_ae.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ae/if_ae.c,v 1.3 2009/02/04 20:35:31 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ae/if_ae.c,v 1.4 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -2073,7 +2073,7 @@ * Load multicast tables. */ bzero(mchash, sizeof(mchash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -2081,7 +2081,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); AE_WRITE_4(sc, AE_REG_MHT0, mchash[0]); AE_WRITE_4(sc, AE_REG_MHT1, mchash[1]); AE_WRITE_4(sc, AE_MAC_REG, rxcfg); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/age/if_age.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.9 2009/05/20 03:33:27 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.10 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -3131,7 +3131,7 @@ /* Program new filter. */ bzero(mchash, sizeof(mchash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &sc->age_ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -3139,7 +3139,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); CSR_WRITE_4(sc, AGE_MAR0, mchash[0]); CSR_WRITE_4(sc, AGE_MAR1, mchash[1]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/alc/if_alc.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Atheros AR8131/AR8132 PCIe Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/alc/if_alc.c,v 1.1 2009/06/10 02:07:58 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/alc/if_alc.c,v 1.2 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -3446,7 +3446,7 @@ goto chipit; } - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &sc->alc_ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -3454,7 +3454,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); chipit: CSR_WRITE_4(sc, ALC_MAR0, mchash[0]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ale/if_ale.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.4 2009/03/05 00:04:32 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.5 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -3048,7 +3048,7 @@ /* Program new filter. */ bzero(mchash, sizeof(mchash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &sc->ale_ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -3056,7 +3056,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); CSR_WRITE_4(sc, ALE_MAR0, mchash[0]); CSR_WRITE_4(sc, ALE_MAR1, mchash[1]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.258 2009/06/13 23:36:54 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.259 2009/06/26 11:45:06 rwatson Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -2408,7 +2408,7 @@ * Merge multicast addresses to form the hardware filter. */ mfilt[0] = mfilt[1] = 0; - IF_ADDR_LOCK(ifp); /* XXX need some fiddling to remove? */ + if_maddr_rlock(ifp); /* XXX need some fiddling to remove? */ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { caddr_t dl; u_int32_t val; @@ -2423,7 +2423,7 @@ pos &= 0x3f; mfilt[pos / 32] |= (1 << (pos % 32)); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); } else mfilt[0] = mfilt[1] = ~0; ath_hal_setmcastfilter(sc->sc_ah, mfilt[0], mfilt[1]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bce/if_bce.c#11 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.55 2009/06/23 22:19:27 davidch Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.56 2009/06/26 11:45:06 rwatson Exp $"); /* * The following controllers are supported by this driver: @@ -7260,7 +7260,7 @@ /* Accept one or more multicast(s). */ DBPRINT(sc, BCE_INFO_MISC, "Enabling selective multicast mode.\n"); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -7268,7 +7268,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) & 0xFF; hashes[(h & 0xE0) >> 5] |= 1 << (h & 0x1F); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) REG_WR(sc, BCE_EMAC_MULTICAST_HASH0 + (i * 4), hashes[i]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bfe/if_bfe.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.54 2008/08/22 06:46:55 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.55 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -1111,14 +1111,14 @@ val |= BFE_RXCONF_ALLMULTI; else { val &= ~BFE_RXCONF_ALLMULTI; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; bfe_cam_write(sc, LLADDR((struct sockaddr_dl *)ifma->ifma_addr), i++); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); } CSR_WRITE_4(sc, BFE_RXCONF, val); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bge.c#11 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.225 2009/05/30 17:56:19 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.226 2009/06/26 11:45:06 rwatson Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -1186,7 +1186,7 @@ CSR_WRITE_4(sc, BGE_MAR0 + (i * 4), 0); /* Now program new ones. */ - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1194,7 +1194,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) & 0x7F; hashes[(h & 0x60) >> 5] |= 1 << (h & 0x1F); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < 4; i++) CSR_WRITE_4(sc, BGE_MAR0 + (i * 4), hashes[i]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bm/if_bm.c#7 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bm/if_bm.c,v 1.6 2009/02/04 22:16:27 nwhitehorn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bm/if_bm.c,v 1.7 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -1072,7 +1072,7 @@ /* Clear the hash table. */ memset(hash, 0, sizeof(hash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(inm, &ifp->if_multiaddrs, ifma_link) { if (inm->ifma_addr->sa_family != AF_LINK) continue; @@ -1085,7 +1085,7 @@ /* Set the corresponding bit in the filter. */ hash[crc >> 4] |= 1 << (crc & 0xf); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); } /* Write out new hash table */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cas/if_cas.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cas/if_cas.c,v 1.3 2009/06/25 16:38:16 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cas/if_cas.c,v 1.4 2009/06/26 11:45:06 rwatson Exp $"); /* * driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 @@ -2531,7 +2531,7 @@ /* Clear the hash table. */ memset(hash, 0, sizeof(hash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(inm, &ifp->if_multiaddrs, ifma_link) { if (inm->ifma_addr->sa_family != AF_LINK) continue; @@ -2544,7 +2544,7 @@ /* Set the corresponding bit in the filter. */ hash[crc >> 4] |= 1 << (15 - (crc & 15)); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); v |= CAS_MAC_RX_CONF_HFILTER; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cpuctl/cpuctl.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cpuctl/cpuctl.c,v 1.3 2008/09/27 08:51:18 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cpuctl/cpuctl.c,v 1.4 2009/06/26 22:13:15 stas Exp $"); #include #include @@ -222,14 +222,17 @@ * Explicitly clear cpuid data to avoid returning stale * info */ - data->data = 0; DPRINTF("[cpuctl,%d]: operating on MSR %#0x for %d cpu\n", __LINE__, data->msr, cpu); oldcpu = td->td_oncpu; is_bound = cpu_sched_is_bound(td); set_cpu(cpu, td); - ret = cmd == CPUCTL_RDMSR ? rdmsr_safe(data->msr, &data->data) : - wrmsr_safe(data->msr, data->data); + if (cmd == CPUCTL_RDMSR) { + data->data = 0; + ret = rdmsr_safe(data->msr, &data->data); + } else { + ret = wrmsr_safe(data->msr, data->data); + } restore_cpu(oldcpu, is_bound, td); return (ret); } @@ -368,7 +371,7 @@ /* * Perform update. */ - wrmsr_safe(MSR_K8_UCODE_UPDATE, (uintptr_t)args->data); + wrmsr_safe(MSR_K8_UCODE_UPDATE, (uintptr_t)ptr); /* * Serialize instruction flow. ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cs/if_cs.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cs/if_cs.c,v 1.54 2008/07/09 16:47:55 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cs/if_cs.c,v 1.55 2009/06/26 11:45:06 rwatson Exp $"); /* * @@ -1022,7 +1022,7 @@ * Set up the filter to only accept multicast * frames we're interested in. */ - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { struct sockaddr_dl *dl = (struct sockaddr_dl *)ifma->ifma_addr; @@ -1032,7 +1032,7 @@ mask = (u_int16_t) (1 << (index & 0xf)); af[port] |= mask; } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); } cs_writereg(sc, PP_LAF + 0, af[0]); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_adapter.h#10 (text+ko) ==== @@ -25,7 +25,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -$FreeBSD: src/sys/dev/cxgb/cxgb_adapter.h,v 1.46 2009/06/19 23:34:32 kmacy Exp $ +$FreeBSD: src/sys/dev/cxgb/cxgb_adapter.h,v 1.47 2009/06/26 19:04:08 rwatson Exp $ ***************************************************************************/ @@ -467,7 +467,7 @@ struct ifmultiaddr *ifma; int i = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -477,8 +477,7 @@ } i++; } - IF_ADDR_UNLOCK(ifp); - + if_maddr_runlock(ifp); rm->idx++; return (macaddr); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/dc/if_dc.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.200 2009/05/30 15:14:44 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.201 2009/06/26 11:45:06 rwatson Exp $"); /* * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143 @@ -1110,7 +1110,7 @@ else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1118,7 +1118,7 @@ LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); if (ifp->if_flags & IFF_BROADCAST) { h = dc_mchash_le(sc, ifp->if_broadcastaddr); @@ -1185,7 +1185,7 @@ return; /* Now program new ones. */ - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1200,7 +1200,7 @@ else hashes[1] |= (1 << (h - 32)); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); CSR_WRITE_4(sc, DC_AL_MAR0, hashes[0]); CSR_WRITE_4(sc, DC_AL_MAR1, hashes[1]); @@ -1258,7 +1258,7 @@ return; /* now program new ones */ - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1268,7 +1268,7 @@ else hashes[1] |= (1 << (h - 32)); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); CSR_WRITE_4(sc, DC_AX_FILTIDX, DC_AX_FILTIDX_MAR0); CSR_WRITE_4(sc, DC_AX_FILTDATA, hashes[0]); @@ -1313,7 +1313,7 @@ else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1321,7 +1321,7 @@ LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } - IF_ADDR_UNLOCK(ifp); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:09:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCFB41065673; Sat, 27 Jun 2009 15:09:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FC33106566C for ; Sat, 27 Jun 2009 15:09:06 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 63B5C8FC1D for ; Sat, 27 Jun 2009 15:09:06 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RF94O3043158 for ; Sat, 27 Jun 2009 15:09:04 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RF94pM043156 for perforce@freebsd.org; Sat, 27 Jun 2009 15:09:04 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 15:09:04 GMT Message-Id: <200906271509.n5RF94pM043156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165317 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:09:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=165317 Change 165317 by zec@zec_amdx4 on 2009/06/27 15:08:36 Unbreak VIMAGE build. Affected files ... .. //depot/projects/vimage/src/sys/kern/vfs_export.c#21 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/vfs_export.c#21 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:16:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5092C1065673; Sat, 27 Jun 2009 15:16:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1060B106566C for ; Sat, 27 Jun 2009 15:16:13 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F28A88FC19 for ; Sat, 27 Jun 2009 15:16:12 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RFGCn6043697 for ; Sat, 27 Jun 2009 15:16:12 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RFGC7C043695 for perforce@freebsd.org; Sat, 27 Jun 2009 15:16:12 GMT (envelope-from zec@fer.hr) Date: Sat, 27 Jun 2009 15:16:12 GMT Message-Id: <200906271516.n5RFGC7C043695@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165318 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:16:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165318 Change 165318 by zec@zec_amdx4 on 2009/06/27 15:15:23 Noise diff reduction against head. Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#14 edit .. //depot/projects/vimage/src/share/man/man4/epair.4#4 edit .. //depot/projects/vimage/src/sys/conf/NOTES#58 edit .. //depot/projects/vimage/src/sys/modules/netgraph/pipe/Makefile#3 edit .. //depot/projects/vimage/src/sys/net/if_epair.c#8 edit Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#14 (text+ko) ==== @@ -93,7 +93,6 @@ em.4 \ en.4 \ enc.4 \ - epair.4 \ esp.4 \ et.4 \ exca.4 \ @@ -489,7 +488,6 @@ MLINKS+=em.4 if_em.4 MLINKS+=en.4 if_en.4 MLINKS+=enc.4 if_enc.4 -MLINKS+=epair.4 if_epair.4 MLINKS+=et.4 if_et.4 MLINKS+=faith.4 if_faith.4 MLINKS+=fatm.4 if_fatm.4 ==== //depot/projects/vimage/src/share/man/man4/epair.4#4 (text+ko) ==== @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/share/man/man4/epair.4,v 1.1 2009/06/24 22:21:30 bz Exp $ .\" .Dd December 15, 2008 .Dt EPAIR 4 ==== //depot/projects/vimage/src/sys/conf/NOTES#58 (text+ko) ==== @@ -839,8 +839,6 @@ device lagg # -#device epair #Virtual cross-over Ethernet - # Internet family options: # # MROUTING enables the kernel multicast packet forwarder, which works ==== //depot/projects/vimage/src/sys/modules/netgraph/pipe/Makefile#3 (text+ko) ==== @@ -1,4 +1,5 @@ -# $FreeBSD: $ +# $FreeBSD: src/sys/modules/netgraph/pipe/Makefile,v 1.1 2009/06/23 06:11:04 zec Exp $ + KMOD= ng_pipe SRCS= ng_pipe.c ==== //depot/projects/vimage/src/sys/net/if_epair.c#8 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/net/if_epair.c,v 1.1 2009/06/24 22:21:30 bz Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:20:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2AE41065674; Sat, 27 Jun 2009 15:20:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92B241065670 for ; Sat, 27 Jun 2009 15:20:17 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7E8098FC15 for ; Sat, 27 Jun 2009 15:20:17 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RFKHrr044011 for ; Sat, 27 Jun 2009 15:20:17 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RFKHQm044009 for perforce@freebsd.org; Sat, 27 Jun 2009 15:20:17 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 15:20:17 GMT Message-Id: <200906271520.n5RFKHQm044009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165319 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:20:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165319 Change 165319 by trasz@trasz_victim on 2009/06/27 15:20:02 Trying to make Perforce do what I mean. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_flag_np.3#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_perm.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_flags_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_perms.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_compat.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy_entry.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_create_entry.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_flag_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_perm.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_dup.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_brand_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry_type_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flag_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flagset_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_perm_np.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_permset.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_qualifier.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_tag_type.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_is_trivial_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_entry_type_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_flagset_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_permset.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_qualifier.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_tag_type.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_size.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.conf.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_exec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_free.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_is_present.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_prepare.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_text.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/posix1e.3#3 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#14 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#12 (text) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_flag_np.3#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_perm.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#15 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_flags_np.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_perms.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_compat.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy_entry.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_create_entry.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#11 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_flag_np.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_perm.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_dup.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#14 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#13 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_brand_np.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry_type_np.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flag_np.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flagset_np.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_perm_np.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_permset.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_qualifier.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_tag_type.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#10 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_is_trivial_np.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#10 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_entry_type_np.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_flagset_np.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_permset.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_qualifier.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_tag_type.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_size.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#10 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip_np.3#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#11 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#12 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#15 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#9 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#17 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.conf.5#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_exec.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_free.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_is_present.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_prepare.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_text.3#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/posix1e.3#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:35:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90C7E1065673; Sat, 27 Jun 2009 15:35:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50097106564A for ; Sat, 27 Jun 2009 15:35:34 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3BAF68FC18 for ; Sat, 27 Jun 2009 15:35:34 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RFZYs2045090 for ; Sat, 27 Jun 2009 15:35:34 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RFZYui045088 for perforce@freebsd.org; Sat, 27 Jun 2009 15:35:34 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 15:35:34 GMT Message-Id: <200906271535.n5RFZYui045088@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165320 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:35:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=165320 Change 165320 by trasz@trasz_victim on 2009/06/27 15:35:16 Try again. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_flag_np.3#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_perm.3#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_flags_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_perms.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_compat.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy_entry.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_create_entry.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_flag_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_perm.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_dup.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_brand_np.3#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry_type_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flag_np.3#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flagset_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_perm_np.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_permset.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_qualifier.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_tag_type.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_is_trivial_np.3#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_entry_type_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_flagset_np.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_permset.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_qualifier.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_tag_type.3#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_size.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip_np.3#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.3#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#18 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.conf.5#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_exec.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_free.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_is_present.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_prepare.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_text.3#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/posix1e.3#4 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#15 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#13 (text) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_flag_np.3#9 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_add_flag_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_ADD_FLAG_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_add_perm.3#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_branding.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_flags_np.3#6 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_clear_flags_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_CLEAR_FLAGS_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_clear_perms.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_compat.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy_entry.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_create_entry.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#12 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_flag_np.3#5 (text+ko) ==== @@ -23,7 +23,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_delete_flag_np.3,v 1.2 2009/06/25 13:08:02 trasz Exp $ .\" .Dd March 10, 2001 .Dt ACL_DELETE_FLAG_NP 3 ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_perm.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_dup.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#9 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_flag.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_free.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_from_text_nfs4.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#14 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_brand_np.3#8 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_get_brand_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_GET_BRAND_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_entry_type_np.3#6 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_get_entry_type_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_GET_ENTRY_TYPE_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flag_np.3#5 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_get_flag_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd April 10, 2001 +.Dd June 25, 2009 .Dt ACL_GET_FLAG_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_flagset_np.3#7 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_get_flagset_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_GET_FLAGSET_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_perm_np.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_permset.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_qualifier.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get_tag_type.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#11 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_is_trivial_np.3#8 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_is_trivial_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd January 28, 2000 +.Dd June 25, 2009 .Dt ACL_STRIP_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#11 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_entry_type_np.3#7 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_set_entry_type_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_SET_ENTRY_TYPE_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_flagset_np.3#7 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_set_flagset_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd March 10, 2001 +.Dd June 25, 2009 .Dt ACL_SET_FLAGSET_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_permset.3#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_qualifier.3#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set_tag_type.3#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_size.c#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_strip.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip_np.3#6 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/lib/libc/posix1e/acl_strip_np.3,v 1.3 2009/06/25 13:08:02 trasz Exp $ .\" -.Dd January 28, 2000 +.Dd June 25, 2009 .Dt ACL_STRIP_NP 3 .Os .Sh NAME ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#12 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#13 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_support_nfs4.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.3#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#10 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#18 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_to_text_nfs4.c,v 1.2 2009/06/25 13:08:02 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/extattr.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac.conf.5#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_exec.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_free.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_get.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_is_present.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_prepare.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_set.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/mac_text.3#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/posix1e.3#4 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jun 27 15:54:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2065F1065673; Sat, 27 Jun 2009 15:54:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC32E1065670 for ; Sat, 27 Jun 2009 15:54:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A82FA8FC17 for ; Sat, 27 Jun 2009 15:54:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RFstC2046347 for ; Sat, 27 Jun 2009 15:54:55 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RFstxe046345 for perforce@freebsd.org; Sat, 27 Jun 2009 15:54:55 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 15:54:55 GMT Message-Id: <200906271554.n5RFstxe046345@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165321 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 15:54:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165321 Change 165321 by trasz@trasz_victim on 2009/06/27 15:54:16 Remove unneeded diffs. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/common/ng_bluetooth.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/TODO#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/TODO#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_cmds.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_evnt.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_main.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_misc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_prse.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_ulpi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_var.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_bluetooth.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_bt3c.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_h4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_hci.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_l2cap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_ubt.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/TODO#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_prse.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_var.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/TODO#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#3 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c 192804 2009-05-26 11:42:06Z trasz $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c,v 1.2 2009/05/26 11:42:06 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/common/ng_bluetooth.c#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/TODO#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#8 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#4 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * $Id: ng_ubt_var.h,v 1.2 2003/03/22 23:44:36 max Exp $ - * $FreeBSD: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h 192984 2009-05-28 17:36:36Z thompsa $ + * $FreeBSD: src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h,v 1.11 2009/05/28 17:36:36 thompsa Exp $ */ #ifndef _NG_UBT_VAR_H_ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#7 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/TODO#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_cmds.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_evnt.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_main.c#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_misc.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_misc.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_prse.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_ulpi.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/hci/ng_hci_var.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_bluetooth.h#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_bt3c.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket.h#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_btsocket_sco.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_h4.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_hci.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_l2cap.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/include/ng_ubt.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/TODO#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_prse.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/l2cap/ng_l2cap_var.h#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/TODO#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jun 27 17:00:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59A121065675; Sat, 27 Jun 2009 17:00:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A601106564A for ; Sat, 27 Jun 2009 17:00:06 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE5628FC12 for ; Sat, 27 Jun 2009 17:00:06 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RH06ow061920 for ; Sat, 27 Jun 2009 17:00:06 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RH06uG061918 for perforce@freebsd.org; Sat, 27 Jun 2009 17:00:06 GMT (envelope-from mav@freebsd.org) Date: Sat, 27 Jun 2009 17:00:06 GMT Message-Id: <200906271700.n5RH06uG061918@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 17:00:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=165322 Change 165322 by mav@mav_mavbook on 2009/06/27 16:59:08 Limit XPT_DEV_MATCH request by 50 entries to fit again into DFLTPHYS of 64K. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#9 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#9 (text+ko) ==== @@ -321,7 +321,7 @@ ccb.ccb_h.target_lun = CAM_LUN_WILDCARD; ccb.ccb_h.func_code = XPT_DEV_MATCH; - bufsize = sizeof(struct dev_match_result) * 100; + bufsize = sizeof(struct dev_match_result) * 50; ccb.cdm.match_buf_len = bufsize; ccb.cdm.matches = (struct dev_match_result *)malloc(bufsize); if (ccb.cdm.matches == NULL) { @@ -340,7 +340,7 @@ /* * We do the ioctl multiple times if necessary, in case there are - * more than 100 nodes in the EDT. + * more than 50 nodes in the EDT. */ do { if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) { From owner-p4-projects@FreeBSD.ORG Sat Jun 27 17:09:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FFDC1065674; Sat, 27 Jun 2009 17:09:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F3531065672 for ; Sat, 27 Jun 2009 17:09:17 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3C68A8FC1D for ; Sat, 27 Jun 2009 17:09:17 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RH9GFA063613 for ; Sat, 27 Jun 2009 17:09:16 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RH9GL8063611 for perforce@freebsd.org; Sat, 27 Jun 2009 17:09:16 GMT (envelope-from truncs@FreeBSD.org) Date: Sat, 27 Jun 2009 17:09:16 GMT Message-Id: <200906271709.n5RH9GL8063611@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165323 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 17:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165323 Change 165323 by truncs@aditya on 2009/06/27 17:09:04 Fixed lot of errors 1) In the current implementation the in-memory superblock has a *pointer* to on-core superblock. 2) The in-memory superblock has buffer to store group descriptors and it's not stored directly as in NetBSD 3) Other Typos 4) Some functions that are not implemented are guarded by #ifdef notyet Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#19 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#19 (text+ko) ==== @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -50,14 +51,19 @@ #include #include +#ifdef notyet static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); +#endif static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static ino_t ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); -static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t. int); +static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t, int); +#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); +#endif +static void mark_buffer_dirty2(struct buf *); /* * Linux calls this functions at the following locations: @@ -386,7 +392,7 @@ cg = ext2_dirpref(fs); else cg = ino_to_cg(fs, pip->i_number); - ipref = cg * fs->e2fs.e2fs_ipg + 1; + ipref = cg * fs->e2fs->e2fs_ipg + 1; ino = ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); if (ino == 0) @@ -559,17 +565,19 @@ ext2_dirpref(struct m_ext2fs *fs) { int cg, maxspace, mincg, avgifree; - - avgifree = fs->e2fs.e2fs_ficount / fs->e2fs_ncg; + struct ext2_gd *gdp = NULL; + avgifree = fs->e2fs->e2fs_ficount / fs->e2fs_gcount; maxspace = 0; mincg = -1; - for (cg = 0; cg < fs->e2fs_ncg; cg++) - if ( fs->e2fs_gd[cg].ext2bgd_nifree >= avgifree) { - if (mincg == -1 || fs->e2fs_gd[cg].ext2bgd_nbfree > maxspace) { + for (cg = 0; cg < fs->e2fs_gcount; cg++) { + gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + if ( gdp->ext2bgd_nifree >= avgifree) { + if (mincg == -1 || gdp->ext2bgd_nbfree > maxspace) { mincg = cg; - maxspace = fs->e2fs_gd[cg].ext2bgd_nbfree; + maxspace = gdp->ext2bgd_nbfree; } } + } return mincg; } @@ -599,10 +607,10 @@ /* * 2: quadratic rehash */ - for (i = 1; i < fs->e2fs_ncg; i *= 2) { + for (i = 1; i < fs->e2fs_gcount; i *= 2) { cg += i; - if (cg >= fs->e2fs_ncg) - cg -= fs->e2fs_ncg; + if (cg >= fs->e2fs_gcount) + cg -= fs->e2fs_gcount; result = (*allocator)(ip, cg, 0, size); if (result) return (result); @@ -612,13 +620,13 @@ * Note that we start at i == 2, since 0 was checked initially, * and 1 is always checked in the quadratic rehash. */ - cg = (icg + 2) % fs->e2fs_ncg; - for (i = 2; i < fs->e2fs_ncg; i++) { + cg = (icg + 2) % fs->e2fs_gcount; + for (i = 2; i < fs->e2fs_gcount; i++) { result = (*allocator)(ip, cg, 0, size); if (result) return (result); cg++; - if (cg == fs->e2fs_ncg) + if (cg == fs->e2fs_gcount) cg = 0; } return (0); @@ -630,22 +638,24 @@ * Check to see if a block of the appropriate size is available, * and if it is, allocate it. */ - +#ifdef notyet static daddr_t ext2_alloccg(struct inode *ip, int cg, daddr_t bpref, int size) { struct m_ext2fs *fs; char *bbp; struct buf *bp; + struct ext2_gd *gdp = NULL; /* XXX ondisk32 */ int error, bno, start, end, loc; - + fs = ip->i_e2fs; - if (fs->e2fs_gd[cg].ext2bgd_nbfree == 0) + gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + if (gdp->ext2bgd_nbfree == 0) return (0); lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, - fs->e2fs_gd[cg].ext2bgd_b_bitmap), + gdp->ext2bgd_b_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); @@ -676,7 +686,7 @@ start = dtogd(fs, bpref) / NBBY; else start = 0; - end = howmany(fs->e2fs.e2fs_fpg, NBBY) - start; + end = howmany(fs->e2fs->e2fs_fpg, NBBY) - start; for (loc = start; loc < end; loc++) { if (bbp[loc] == 0) { bno = loc * NBBY; @@ -690,7 +700,7 @@ } } - bno = ext2fs_mapsearch(fs, bbp, bpref); + bno = ext2_mapsearch(fs, bbp, bpref); if (bno < 0){ unlock_super(DEVVP(ip)); return (0); @@ -704,14 +714,14 @@ } #endif setbit(bbp, (daddr_t)bno); - fs->e2fs.e2fs_fbcount--; - fs->e2fs_gd[cg].ext2bgd_nbfree--; - mark_buffer_dirty(bp); + fs->e2fs->e2fs_fbcount--; + gdp->ext2bgd_nbfree--; + mark_buffer_dirty2(bp); fs->e2fs_fmod = 1; unlock_super(DEVVP(ip)); - return (cg * fs->e2fs.e2fs_fpg + fs->e2fs.e2fs_first_dblock + bno); + return (cg * fs->e2fs->e2fs_fpg + fs->e2fs->e2fs_first_dblock + bno); } - +#endif /* * Determine whether an inode can be allocated. * @@ -724,17 +734,19 @@ struct m_ext2fs *fs; char *ibp; struct buf *bp; + struct ext2_gd *gdp = NULL; int error, start, len, loc, map, i; ipref--; /* to avoid a lot of (ipref -1) */ if (ipref == -1) ipref = 0; fs = ip->i_e2fs; - if (fs->e2fs_gd[cg].ext2bgd_nifree == 0) + gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + if (gdp->ext2bgd_nifree == 0) return (0); lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, - fs->e2fs_gd[cg].ext2bgd_i_bitmap), + gdp->ext2bgd_i_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); @@ -743,14 +755,24 @@ } ibp = (char *)bp->b_data; if (ipref) { - ipref %= fs->e2fs.e2fs_ipg; + ipref %= fs->e2fs->e2fs_ipg; if (isclr(ibp, ipref)) goto gotit; } start = ipref / NBBY; - len = howmany(fs->e2fs.e2fs_ipg - ipref, NBBY); + len = howmany(fs->e2fs->e2fs_ipg - ipref, NBBY); loc = skpc(0xff, len, &ibp[start]); - if (l} + if (loc == 0) { + len = start + 1; + start = 0; + loc = skpc(0xff, len, &ibp[0]); + if (loc == 0) { + printf("cg = %d, ipref = %lld, fs = %s\n", + cg, (long long)ipref, fs->e2fs_fsmnt); + panic("ext2fs_nodealloccg: map corrupted"); + /* NOTREACHED */ + } + } i = start + len - loc; map = ibp[i]; ipref = i * NBBY; @@ -764,15 +786,15 @@ /* NOTREACHED */ gotit: setbit(ibp, ipref); - fs->e2fs.e2fs_ficount--; - fs->e2fs_gd[cg].ext2bgd_nifree--; + fs->e2fs->e2fs_ficount--; + gdp->ext2bgd_nifree--; fs->e2fs_fmod = 1; if ((mode & IFMT) == IFDIR) { - fs->e2fs_gd[cg].ext2bgd_ndirs++; + gdp->ext2bgd_ndirs++; } - mark_buffer_dirty(bp); + mark_buffer_dirty2(bp); unlock_super(DEVVP(ip)); - return (cg * fs->e2fs.e2fs_ipg + ipref +1); + return (cg * fs->e2fs->e2fs_ipg + ipref +1); } /* @@ -781,7 +803,7 @@ * It is a panic if a request is made to find a block if none are * available. */ - +#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) { @@ -796,7 +818,7 @@ start = dtogd(fs, bpref) / NBBY; else start = 0; - len = howmany(fs->e2fs.e2fs_fpg, NBBY) - start; + len = howmany(fs->e2fs->e2fs_fpg, NBBY) - start; loc = skpc(0xff, len, &bbp[start]); if (loc == 0) { len = start + 1; @@ -820,8 +842,8 @@ panic("ext2fs_mapsearch: block not in map"); /* NOTREACHED */ } - -void mark_buffer_dirty(struct buf *bh) +#endif +void mark_buffer_dirty2(struct buf *bh) { int s; From owner-p4-projects@FreeBSD.ORG Sat Jun 27 17:24:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3565F106567A; Sat, 27 Jun 2009 17:24:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E49331065676 for ; Sat, 27 Jun 2009 17:24:33 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D29EE8FC15 for ; Sat, 27 Jun 2009 17:24:33 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RHOXnw064694 for ; Sat, 27 Jun 2009 17:24:33 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RHOXWB064692 for perforce@freebsd.org; Sat, 27 Jun 2009 17:24:33 GMT (envelope-from mav@freebsd.org) Date: Sat, 27 Jun 2009 17:24:33 GMT Message-Id: <200906271724.n5RHOXWB064692@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165324 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 17:24:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=165324 Change 165324 by mav@mav_mavbook on 2009/06/27 17:23:50 atapicam provides fake emulated SPI transport, but not a native ATA in terms of updated CAM. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#15 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#15 (text+ko) ==== @@ -376,7 +376,7 @@ cpi->unit_number = cam_sim_unit(sim); cpi->bus_id = cam_sim_bus(sim); cpi->base_transfer_speed = 3300; - cpi->transport = XPORT_ATA; + cpi->transport = XPORT_SPI; cpi->transport_version = 2; cpi->protocol = PROTO_SCSI; cpi->protocol_version = SCSI_REV_2; @@ -456,7 +456,7 @@ struct ccb_trans_settings *cts = &ccb->cts; cts->protocol = PROTO_SCSI; cts->protocol_version = SCSI_REV_2; - cts->transport = XPORT_ATA; + cts->transport = XPORT_SPI; cts->transport_version = XPORT_VERSION_UNSPECIFIED; cts->proto_specific.valid = 0; cts->xport_specific.valid = 0; From owner-p4-projects@FreeBSD.ORG Sat Jun 27 17:55:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABEB11065673; Sat, 27 Jun 2009 17:55:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C1E01065670 for ; Sat, 27 Jun 2009 17:55:07 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A0088FC0A for ; Sat, 27 Jun 2009 17:55:07 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RHt7mC066935 for ; Sat, 27 Jun 2009 17:55:07 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RHt7Ca066933 for perforce@freebsd.org; Sat, 27 Jun 2009 17:55:07 GMT (envelope-from syl@FreeBSD.org) Date: Sat, 27 Jun 2009 17:55:07 GMT Message-Id: <200906271755.n5RHt7Ca066933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165325 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 17:55:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165325 Change 165325 by syl@syl_atuin on 2009/06/27 17:54:57 Implement a test that dump the 512 first byte of a memory stick. This code is a revamp of Hans Petter Selasky libusb20 memory stick tester. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#3 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#3 (text+ko) ==== @@ -1,3 +1,4 @@ +#include #include #include #include @@ -6,9 +7,143 @@ #define PID_TEST 0x8300 #define VID_TEST 0x05ac -libusb_context *ctx; +static const uint8_t mode_sense_6[0x6] = {0x1a, 0, 0x3f, 0, 0x0c}; +static const uint8_t mode_sense_10[0xC] = {0x5A, 0, 0x05, 0, 0, 0, 0, 0, 0, 0x28}; +static const uint8_t read_capacity[0xA] = {0x25,}; +static const uint8_t request_sense[0xC] = {0x03, 0, 0, 0, 0x12}; + const uint8_t test_unit_ready[0x6] = {0}; +static libusb_context *ctx; +libusb_device_handle *devh; +#define BLOCK_SIZE 512 +static uint8_t buffer[1024 * BLOCK_SIZE]; +static uint32_t cursig = 0; +/* Command Block Wrapper */ +typedef struct { + uDWord dCBWSignature; +#define CBWSIGNATURE 0x43425355 + uDWord dCBWTag; + uDWord dCBWDataTransferLength; + uByte bCBWFlags; +#define CBWFLAGS_OUT 0x00 +#define CBWFLAGS_IN 0x80 + uByte bCBWLUN; + uByte bCDBLength; +#define CBWCDBLENGTH 16 + uByte CBWCDB[CBWCDBLENGTH]; +} umass_bbb_cbw_t; + +#define UMASS_BBB_CBW_SIZE 31 +typedef struct { + uDWord dCSWSignature; +#define CSWSIGNATURE 0x53425355 +#define CSWSIGNATURE_IMAGINATION_DBX1 0x43425355 +#define CSWSIGNATURE_OLYMPUS_C1 0x55425355 + uDWord dCSWTag; + uDWord dCSWDataResidue; + uByte bCSWStatus; +#define CSWSTATUS_GOOD 0x0 +#define CSWSTATUS_FAILED 0x1 +#define CSWSTATUS_PHASE 0x2 +} umass_bbb_csw_t; + +#define UMASS_BBB_CSW_SIZE 13 + +#define EP_IN 0x81 +#define EP_OUT 0x2 + + +void +do_io(unsigned char ep, void *buff, uint32_t len, uint32_t timeout) +{ + int transferred = 0; + + libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); + while(!transferred); +} + +void +do_msc_req(const uint8_t *pcmd, uint8_t cmdlen, uint32_t datalen) +{ + umass_bbb_cbw_t cbw; + umass_bbb_csw_t csw; + + bzero(&cbw, sizeof(cbw)); + + USETDW(cbw.dCBWSignature, CBWSIGNATURE); + USETDW(cbw.dCBWTag, cursig); + cursig++; + USETDW(cbw.dCBWDataTransferLength, datalen); + cbw.bCBWFlags = CBWFLAGS_IN; + cbw.bCBWLUN = 0; + cbw.bCDBLength = cmdlen; + bcopy(pcmd, cbw.CBWCDB, cmdlen); + + do_io(EP_OUT, &cbw, sizeof(cbw), 10000); + if (datalen != 0) { + do_io(EP_IN, buffer, datalen, 10000); + } + do_io(EP_IN, &csw, sizeof(csw), 10000); + if (csw.bCSWStatus != 0) { + printf("command (0x%02x) cursig=0x%08x failed\n", pcmd[0], cursig); + } else { + printf("command (0x%02x) cursig=0x%08x success\n", pcmd[0], cursig); + } +} + +void +do_read(uint32_t lba, uint32_t len) +{ + static uint8_t cmd[10]; + + cmd[0] = 0x28; + len /= 512; + + cmd[2] = lba >> 24; + cmd[3] = lba >> 16; + cmd[4] = lba >> 8; + cmd[5] = lba >> 0; + + cmd[7] = len >> 8; + cmd[8] = len; + do_msc_req(cmd, 10, len * 512); +} int main(int ac, char *av[]) { + volatile int transferred; + + printf("this test dump the 512 first byte of a memory stick\n"); + if (libusb_init(&ctx) != 0) { + fprintf(stderr, "libusb_init_failed\n"); + return (EXIT_FAILURE); + } + + transferred = 0; + if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { + libusb_detach_kernel_driver(devh, 1); + libusb_clear_halt(devh, EP_IN); + libusb_clear_halt(devh, EP_OUT); + + do_msc_req(mode_sense_6, sizeof(mode_sense_6),0xc); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + + do_read(0, BLOCK_SIZE); + } + return (EXIT_SUCCESS); } From owner-p4-projects@FreeBSD.ORG Sat Jun 27 18:17:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DB231065674; Sat, 27 Jun 2009 18:17:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DD191065673 for ; Sat, 27 Jun 2009 18:17:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B8158FC12 for ; Sat, 27 Jun 2009 18:17:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RIHVue069528 for ; Sat, 27 Jun 2009 18:17:31 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RIHVn3069526 for perforce@freebsd.org; Sat, 27 Jun 2009 18:17:31 GMT (envelope-from syl@FreeBSD.org) Date: Sat, 27 Jun 2009 18:17:31 GMT Message-Id: <200906271817.n5RIHVn3069526@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165326 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 18:17:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165326 Change 165326 by syl@syl_atuin on 2009/06/27 18:16:31 Add trace. Update the code to open the first memory stick device. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#4 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#4 (text+ko) ==== @@ -57,6 +57,7 @@ { int transferred = 0; + printf("do_io\n"); libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); while(!transferred); } @@ -67,6 +68,7 @@ umass_bbb_cbw_t cbw; umass_bbb_csw_t csw; + printf("do_msc\n"); bzero(&cbw, sizeof(cbw)); USETDW(cbw.dCBWSignature, CBWSIGNATURE); @@ -95,6 +97,7 @@ { static uint8_t cmd[10]; + printf("do_read\n"); cmd[0] = 0x28; len /= 512; @@ -111,6 +114,11 @@ int main(int ac, char *av[]) { volatile int transferred; + libusb_device **devs_list; + libusb_device_descriptor ddesc; + int found = 0; + int ret; + int i; printf("this test dump the 512 first byte of a memory stick\n"); if (libusb_init(&ctx) != 0) { @@ -118,32 +126,62 @@ return (EXIT_FAILURE); } - transferred = 0; - if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { - libusb_detach_kernel_driver(devh, 1); - libusb_clear_halt(devh, EP_IN); - libusb_clear_halt(devh, EP_OUT); + if ((ret = libusb_get_device_list(ctx, &devs_list)) < 0 ) { + fprintf(stderr, "libusb_get_device_list failed with 0x%x error code\n", + ret); + return (EXIT_FAILURE); + } + + if (ret == 0) { + fprintf(stderr, "No device match or lack of permissions.\n"); + return (EXIT_SUCCESS); + } + + for (i = 0 ; i < ret ; i++) { + libusb_get_device_descriptor(devs_list[i], &ddesc); + if (ddesc.bDeviceClass == 0x00) { + printf("found device %i\n", i); + found = i; + break ; + } + } + + if (!found) { + printf("No USB stick found\n"); + return (EXIT_FAILURE); + } + + libusb_open(devs_list[found], &devh); + libusb_detach_kernel_driver(devh, 1); + + libusb_clear_halt(devh, EP_IN); + libusb_clear_halt(devh, EP_OUT); - do_msc_req(mode_sense_6, sizeof(mode_sense_6),0xc); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(read_capacity, sizeof(read_capacity), 0x8); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(read_capacity, sizeof(read_capacity), 0x8); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(request_sense, sizeof(request_sense), 0x12); - do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); - do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + do_msc_req(mode_sense_6, sizeof(mode_sense_6),0xc); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(request_sense, sizeof(request_sense), 0x12); + do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); + do_msc_req(read_capacity, sizeof(read_capacity), 0x8); - do_read(0, BLOCK_SIZE); + do_read(0, BLOCK_SIZE); + for (i = 0 ; i < BLOCK_SIZE ; i++) { + if (i != 0 && (i % 0x10) == 0) + printf("\n"); + printf("0.2x ", buffer[i]); } + printf("\n"); return (EXIT_SUCCESS); } From owner-p4-projects@FreeBSD.ORG Sat Jun 27 20:34:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7E671065674; Sat, 27 Jun 2009 20:34:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6772A106564A for ; Sat, 27 Jun 2009 20:34:01 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 53BC38FC0A for ; Sat, 27 Jun 2009 20:34:01 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RKY1vQ081024 for ; Sat, 27 Jun 2009 20:34:01 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RKY1bH081022 for perforce@freebsd.org; Sat, 27 Jun 2009 20:34:01 GMT (envelope-from tatsianka@FreeBSD.org) Date: Sat, 27 Jun 2009 20:34:01 GMT Message-Id: <200906272034.n5RKY1bH081022@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 165328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 20:34:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=165328 Change 165328 by tatsianka@tatsianka_zonder on 2009/06/27 20:33:22 Unlock-lock vnodes while waiting for reply from userland Bring back support for fifos Disable VOP_STRATEGY Work around bug of reusing same message without release in read/write Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/Makefile#4 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#4 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#5 edit Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#2 (text+ko) ==== @@ -265,8 +265,19 @@ int rv; mode = puffs_addvtype2mode(va->va_mode, va->va_type); - if (mknod(PCNPATH(pcn), mode, va->va_rdev) == -1) - return errno; + switch (va->va_type) { + case VFIFO: + if (mkfifo(PCNPATH(pcn), mode) == -1) + return errno; + break; + case VCHR: + case VBLK: + if (mknod(PCNPATH(pcn), mode, va->va_rdev) == -1) + return errno; + break; + default: + return EINVAL; + } rv = makenode(pu, pni, pcn, va, 0); if (rv) ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#3 (text+ko) ==== @@ -714,7 +714,6 @@ int ndone; while (puffs_getstate(pu) != PUFFS_STATE_UNMOUNTED) { - printf("puffs__theloop: iteration\n"); /* * Schedule existing requests. */ @@ -793,7 +792,6 @@ ndone = kevent(pu->pu_kq, pu->pu_evs, nchanges, pu->pu_evs, 2*pu->pu_nfds, pu->pu_ml_timep); - printf("puffs__theloop: kevent: %d; errno=%d\n", ndone, errno); if (ndone == -1) { if (errno != EINTR) break; @@ -821,7 +819,6 @@ fio = (void *)curev->udata; pfctrl = fio->fctrl; if (curev->flags & EV_ERROR) { - printf("puffs__theloop: EV_ERROR\n"); assert(curev->filter == EVFILT_WRITE); fio->stat &= ~FIO_WR; @@ -834,13 +831,11 @@ what = 0; if (curev->filter == EVFILT_READ) { - printf("puffs__theloop: EVFILT_READ\n"); puffs__framev_input(pu, pfctrl, fio); what |= PUFFS_FBIO_READ; } else if (curev->filter == EVFILT_WRITE) { - printf("puffs__theloop: EVFILT_WRITE\n"); puffs__framev_output(pu, pfctrl, fio); what |= PUFFS_FBIO_WRITE; } @@ -858,8 +853,6 @@ } } - printf("puffs__theloop: done\n"); - if (puffs__cc_restoremain(pu) == -1) warn("cannot restore main context. impending doom"); } ==== //depot/projects/soc2009/tatsianka_puffs/puffs/Makefile#4 (text+ko) ==== @@ -5,6 +5,7 @@ KMOD= puffs SRCS= vnode_if.h puffs_msgif.c puffs_msgif.h puffs_node.c puffs_subr.c \ puffs_sys.h puffs_vfsops.c puffs_vnops.c -DEBUG_FLAGS= -DPUFFSDEBUG -g -I${.CURDIR} -I${.CURDIR}/../putter +DEBUG_FLAGS+= -g -I${.CURDIR} -I${.CURDIR}/../putter +DEBUG_FLAGS+= -DPUFFSDEBUG .include ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#5 (text+ko) ==== @@ -89,6 +89,7 @@ int error; DTRACE(); + KASSERT(mp != NULL, ("mp == NULL")); pmp = MPTOPUFFSMP(mp); @@ -130,39 +131,22 @@ * care must be taken so that VOP_INACTIVE() isn't called. */ - /* default size */ - vnode_pager_setsize(vp, vsize); - -#ifdef XXX_TS /* mystirious stuff */ - /* dances based on vnode type. almost ufs_vinit(), but not quite */ switch (type) { case VCHR: case VBLK: - /* - * replace vnode operation vector with the specops vector. - * our user server has very little control over the node - * if it decides its a character or block special file - */ - vp->v_op = puffs_specop_p; - spec_node_init(vp, rdev); + case VDIR: + case VLNK: + case VSOCK: break; - case VFIFO: - vp->v_op = puffs_fifoop_p; + vp->v_op = &puffs_fifoops; break; - case VREG: - uvm_vnp_setsize(vp, vsize); + vnode_pager_setsize(vp, vsize); break; - - case VDIR: - case VLNK: - case VSOCK: - break; default: panic("puffs_getvnode: invalid vtype %d", type); } -#endif pnode->pn_cookie = ck; pnode->pn_refcount = 1; @@ -225,13 +209,16 @@ puffs_cookie_t ck, struct componentname *cnp, enum vtype type, dev_t rdev) { - struct puffs_mount *pmp = MPTOPUFFSMP(mp); + struct puffs_mount *pmp; struct puffs_newcookie *pnc, *npnc; struct vnode *vp; int error; DTRACE(); + KASSERT(mp != NULL, ("mp == NULL")); + pmp = MPTOPUFFSMP(mp); + /* userspace probably has this as a NULL op */ if (ck == NULL) { error = EOPNOTSUPP; @@ -285,16 +272,12 @@ void puffs_putvnode(struct vnode *vp) { - struct puffs_mount *pmp; struct puffs_node *pnode; - pmp = VPTOPUFFSMP(vp); pnode = VPTOPP(vp); LIST_REMOVE(pnode, pn_hashent); -#ifdef XXX_TS - genfs_node_destroy(vp); -#endif + vnode_destroy_vobject(vp); puffs_releasenode(pnode); vp->v_data = NULL; @@ -384,7 +367,6 @@ /* store cache */ vp->v_vflag |= VV_ROOT; pmp->pmp_root = vp; - vref(vp); mtx_unlock(&pmp->pmp_lock); ASSERT_VI_UNLOCKED(vp, "puffs_makeroot"); @@ -441,9 +423,7 @@ mtx_unlock(&pmp->pmp_lock); DPRINTF(("puffs_cookie2vnode vget vp=%p lkflag=%x lock=%x\n", vp, lkflag, lkflag & LK_TYPE_MASK)); - vholdl(vp); vget(vp, lkflag | LK_INTERLOCK | LK_RETRY, curthread); - vdrop(vp); *vpp = vp; @@ -462,6 +442,7 @@ nanotime(&ts); + mtx_lock(&pn->pn_mtx); if (flags & PUFFS_UPDATEATIME) { pn->pn_mc_atime = ts; pn->pn_stat |= PNODE_METACACHE_ATIME; @@ -478,6 +459,7 @@ pn->pn_mc_size = size; pn->pn_stat |= PNODE_METACACHE_SIZE; } + mtx_unlock(&pn->pn_mtx); } /* @@ -516,3 +498,48 @@ mtx_unlock(&pn->pn_mtx); } } + +int +puffs_lockvnode(struct puffs_node *pn, int ltype) +{ + struct vnode *vp; + + KASSERT(pn != NULL, ("invalid node")); + vp = pn->pn_vp; + KASSERT(vp != NULL, ("invalid vnode")); + ASSERT_VOP_UNLOCKED(vp, "puffs_lockvnode"); + + vrele(vp); + vn_lock(vp, (ltype & LK_TYPE_MASK) | LK_RETRY); + ASSERT_VOP_LOCKED(vp, "puffs_lockvnode"); + puffs_releasenode(pn); + if (vp->v_iflag & VI_DOOMED) { + DPRINTF(("puffs_lockvnode: vnode is dead %p\n", vp)); + return EBADF; + } + return 0; +} + +int +puffs_unlockvnode(struct puffs_node *pn, int *ltype) +{ + struct vnode *vp; + int error; + + KASSERT(pn != NULL, ("invalid node")); + vp = pn->pn_vp; + KASSERT(vp != NULL, ("invalid vnode")); + ASSERT_VOP_LOCKED(vp, "puffs_unlockvnode"); + + mtx_lock(&pn->pn_mtx); + puffs_referencenode(pn); + mtx_unlock(&pn->pn_mtx); + DPRINTF(("puffs_unlockvnode: unlocking vnode %p; vrefcnt=%d\n", vp, vrefcnt(vp))); + vref(vp); + if (ltype) + *ltype = VOP_ISLOCKED(vp); + error = VOP_UNLOCK(vp, 0); + ASSERT_VOP_UNLOCKED(vp, "puffs_unlockvnode"); + return error; +} + ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#4 (text+ko) ==== @@ -46,6 +46,7 @@ MALLOC_DECLARE(M_PUFFS); extern struct vop_vector puffs_vnodeops; +extern struct vop_vector puffs_fifoops; extern uma_zone_t puffs_pnpool; @@ -70,7 +71,6 @@ #define PMPTOMP(pmp) (pmp->pmp_mp) #define VPTOPP(vp) ((struct puffs_node *)(vp)->v_data) #define VPTOPNC(vp) (((struct puffs_node *)(vp)->v_data)->pn_cookie) -#define VPTOPUFFSMP(vp) ((struct puffs_mount*)((struct puffs_node*)vp->v_data)) /* we don't pass the kernel overlay to userspace */ #define PUFFS_TOFHSIZE(s) ((s)==0 ? (s) : (s)+4) @@ -210,6 +210,8 @@ void puffs_releasenode(struct puffs_node *); void puffs_referencenode(struct puffs_node *); +int puffs_lockvnode(struct puffs_node *, int); +int puffs_unlockvnode(struct puffs_node *, int *); #define PUFFS_NOSUCHCOOKIE (-1) int puffs_cookie2vnode(struct puffs_mount *, puffs_cookie_t, int, int, ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#5 (text+ko) ==== @@ -54,14 +54,6 @@ #include /* for fh sizes */ -/* XXX_TS */ -#ifndef INVARIANTS -#error INVARIANTS are not enabled -#endif -#ifndef WITNESS -#error WITNESS is not enabled -#endif - #ifndef PUFFS_PNODEBUCKETS #define PUFFS_PNODEBUCKETS 256 #endif ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#5 (text+ko) ==== @@ -73,6 +73,12 @@ #define PUFFS_ABORT_MKDIR 4 #define PUFFS_ABORT_SYMLINK 5 +#define PUFFS_LOCKVNODE(a, l, e) \ +do { \ + if (puffs_lockvnode((a), (l)) != 0 && (e) != 0) \ + e = EBADF; \ +} while(/*CONSTCOND*/0) + /* * Press the pani^Wabort button! Kernel resource allocation failed. */ @@ -80,6 +86,7 @@ puffs_abortbutton(struct puffs_mount *pmp, int what, puffs_cookie_t dck, puffs_cookie_t ck, struct componentname *cnp) { + KASSERT(pmp != NULL, ("pmp == NULL")); switch (what) { case PUFFS_ABORT_CREATE: @@ -170,12 +177,14 @@ struct componentname *cnp; struct vnode *vp, *dvp; struct puffs_node *dpn; + int dltype; int isdot; int error; pmp = MPTOPUFFSMP(ap->a_dvp->v_mount); cnp = ap->a_cnp; dvp = ap->a_dvp; + dpn = dvp->v_data; *ap->a_vpp = NULL; /* r/o fs? we check create later to handle EEXIST */ @@ -223,18 +232,19 @@ DPRINTF(("puffs_lookup: ISDOTDOT\n")); } -#ifdef XXX_TS - if (cnp->cn_flags & ISDOTDOT) - VOP_UNLOCK(dvp, 0); -#endif - puffs_msg_setinfo(park_lookup, PUFFSOP_VN, PUFFS_VN_LOOKUP, VPTOPNC(dvp)); DPRINTF(("puffs_lookup: enqueue message: %.*s\n", (int) cnp->cn_namelen, cnp->cn_nameptr)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_lookup, dvp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_lookup); + puffs_unlockvnode(dpn, &dltype); + error = puffs_msg_wait2(pmp, park_lookup, dpn, NULL); DPRINTF(("puffs_lookup: return of the userspace, part %d\n", error)); + if (puffs_lockvnode(dpn, dltype) && !error) { + error = ENOENT; + goto out; + } /* * In case of error, there is no new vnode to play with, so be @@ -247,7 +257,7 @@ error = checkerr(pmp, error, __func__); if (error == ENOENT) { /* don't allow to create files on r/o fs */ - if ((dvp->v_mount->mnt_flag & MNT_RDONLY) + if (dvp->v_mount->mnt_flag & MNT_RDONLY && cnp->cn_nameiop == CREATE) { error = EROFS; @@ -272,7 +282,6 @@ * Check that we don't get our parent node back, that would cause * a pretty obvious deadlock. */ - dpn = dvp->v_data; if (lookup_msg->pvnr_newnode == dpn->pn_cookie) { puffs_senderr(pmp, PUFFS_ERR_LOOKUP, EINVAL, "lookup produced parent cookie", lookup_msg->pvnr_newnode); @@ -286,13 +295,17 @@ lookup_msg->pvnr_newnode, lookup_msg->pvnr_vtype, lookup_msg->pvnr_size, lookup_msg->pvnr_rdev, LK_EXCLUSIVE, &vp); if (error) { + puffs_unlockvnode(dpn, &dltype); puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP, VPTOPNC(dvp), lookup_msg->pvnr_newnode, ap->a_cnp); + puffs_lockvnode(dpn, dltype); goto out; } } else if (error) { + puffs_unlockvnode(dpn, &dltype); puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP, VPTOPNC(dvp), lookup_msg->pvnr_newnode, ap->a_cnp); + puffs_lockvnode(dpn, dltype); goto out; } @@ -311,56 +324,11 @@ strlen(cnp->cn_nameptr) - cnp->cn_namelen); out: -#ifdef XXX_TS - if (cnp->cn_flags & ISDOTDOT) - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); -#endif - + PUFFS_MSG_RELEASE(lookup); DPRINTF(("puffs_lookup: returning %d %p\n", error, *ap->a_vpp)); - PUFFS_MSG_RELEASE(lookup); return error; } -#ifdef XXX_TS -#define REFPN_AND_UNLOCKVP(a, b) \ -do { \ - mtx_lock(&b->pn_mtx); \ - puffs_referencenode(b); \ - mtx_unlock(&b->pn_mtx); \ - vhold(a); \ - VOP_UNLOCK(a, 0); \ -} while (/*CONSTCOND*/0) -#else -#define REFPN_AND_UNLOCKVP(a, b) \ -do { \ - mtx_lock(&b->pn_mtx); \ - puffs_referencenode(b); \ - mtx_unlock(&b->pn_mtx); \ -} while (/*CONSTCOND*/0) -#endif - -#define REFPN(b) \ -do { \ - mtx_lock(&b->pn_mtx); \ - puffs_referencenode(b); \ - mtx_unlock(&b->pn_mtx); \ -} while (/*CONSTCOND*/0) - -#ifdef XXX_TS -#define RELEPN_AND_VP(a, b) \ -do { \ - puffs_releasenode(b); \ - vrele(a); \ - vn_lock(a, LK_EXCLUSIVE | LK_RETRY); \ - vdrop(a); \ -} while (/*CONSTCOND*/0) -#else -#define RELEPN_AND_VP(a, b) \ -do { \ - puffs_releasenode(b); \ -} while (/*CONSTCOND*/0) -#endif - static int puffs_vnop_create(struct vop_create_args *ap) { @@ -370,6 +338,7 @@ struct componentname *cnp = ap->a_cnp; struct mount *mp = dvp->v_mount; struct puffs_mount *pmp = MPTOPUFFSMP(mp); + int dltype; int error; DPRINTF(("puffs_create: dvp %p, cnp: %s\n", @@ -389,23 +358,71 @@ * + wait for response */ puffs_msg_enqueue(pmp, park_create); - REFPN_AND_UNLOCKVP(dvp, dpn); + puffs_unlockvnode(dpn, &dltype); error = puffs_msg_wait2(pmp, park_create, dpn, NULL); + error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(dpn, dltype, error); - error = checkerr(pmp, error, __func__); if (error) goto out; error = puffs_newnode(mp, dvp, ap->a_vpp, create_msg->pvnr_newnode, cnp, ap->a_vap->va_type, 0); - if (error) + if (error) { + puffs_unlockvnode(dpn, &dltype); puffs_abortbutton(pmp, PUFFS_ABORT_CREATE, dpn->pn_cookie, create_msg->pvnr_newnode, cnp); + puffs_lockvnode(dpn, dltype); + } out: - RELEPN_AND_VP(dvp, dpn); + PUFFS_MSG_RELEASE(create); DPRINTF(("puffs_create: return %d\n", error)); - PUFFS_MSG_RELEASE(create); + return error; +} + +static int +puffs_vnop_mknod(struct vop_mknod_args *ap) +{ + PUFFS_MSG_VARS(vn, mknod); + struct vnode *dvp = ap->a_dvp; + struct puffs_node *dpn = VPTOPP(dvp); + struct componentname *cnp = ap->a_cnp; + struct mount *mp = dvp->v_mount; + struct puffs_mount *pmp = MPTOPUFFSMP(mp); + int dltype; + int error; + + DTRACE(); + PUFFS_MSG_ALLOC(vn, mknod); + puffs_makecn(&mknod_msg->pvnr_cn, &mknod_msg->pvnr_cn_cred, + cnp, PUFFS_USE_FULLPNBUF(pmp)); + mknod_msg->pvnr_va = *ap->a_vap; + puffs_msg_setinfo(park_mknod, PUFFSOP_VN, + PUFFS_VN_MKNOD, VPTOPNC(dvp)); + + puffs_msg_enqueue(pmp, park_mknod); + puffs_unlockvnode(dpn, &dltype); + error = puffs_msg_wait2(pmp, park_mknod, dpn, NULL); + error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(dpn, dltype, error); + + if (error) + goto out; + + error = puffs_newnode(mp, dvp, ap->a_vpp, + mknod_msg->pvnr_newnode, cnp, ap->a_vap->va_type, + ap->a_vap->va_rdev); + if (error) { + puffs_unlockvnode(dpn, &dltype); + puffs_abortbutton(pmp, PUFFS_ABORT_MKNOD, dpn->pn_cookie, + mknod_msg->pvnr_newnode, cnp); + puffs_lockvnode(dpn, dltype); + } + + out: + PUFFS_MSG_RELEASE(mknod); + DPRINTF(("puff_mknod: returning %d\n", error)); return error; } @@ -414,17 +431,19 @@ { PUFFS_MSG_VARS(vn, open); struct vnode *vp = ap->a_vp; + struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); int mode = ap->a_mode; + int ltype; int error; DPRINTF(("puffs_open: vp %p, mode 0x%x\n", vp, mode)); if (vp->v_type == VREG && mode & FWRITE && !EXISTSOP(pmp, WRITE)) - ERROUT(EROFS); + return EROFS; if (!EXISTSOP(pmp, OPEN)) - ERROUT(0); + return 0; PUFFS_MSG_ALLOC(vn, open); open_msg->pvnr_mode = mode; @@ -432,12 +451,18 @@ puffs_msg_setinfo(park_open, PUFFSOP_VN, PUFFS_VN_OPEN, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_open, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_open); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_open, pn, NULL); error = checkerr(pmp, error, __func__); - out: + PUFFS_MSG_RELEASE(open); + PUFFS_LOCKVNODE(pn, ltype, error); + if (!error) { + /* calls VOP_GETATTR */ + vnode_create_vobject(vp, 0, ap->a_td); + } DPRINTF(("puffs_open: returning %d\n", error)); - PUFFS_MSG_RELEASE(open); return error; } @@ -465,8 +490,10 @@ { PUFFS_MSG_VARS(vn, access); struct vnode *vp = ap->a_vp; + struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); accmode_t accmode = ap->a_accmode; + int ltype; int error; if (accmode & VWRITE) { @@ -492,9 +519,12 @@ puffs_msg_setinfo(park_access, PUFFSOP_VN, PUFFS_VN_ACCESS, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_access, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_access); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_access, pn, NULL); error = checkerr(pmp, error, __func__); PUFFS_MSG_RELEASE(access); + PUFFS_LOCKVNODE(pn, ltype, error); return error; } @@ -505,9 +535,10 @@ PUFFS_MSG_VARS(vn, getattr); struct vnode *vp = ap->a_vp; struct mount *mp = vp->v_mount; + struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(mp); struct vattr *vap, *rvap; - struct puffs_node *pn; + int ltype; int error = 0; DPRINTF(("puffs_getattr: vp %p\n", vp)); @@ -519,8 +550,11 @@ puffs_msg_setinfo(park_getattr, PUFFSOP_VN, PUFFS_VN_GETATTR, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_getattr, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_getattr); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_getattr, pn, NULL); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(pn, ltype, error); if (error) goto out; @@ -543,7 +577,6 @@ (void) memcpy(vap, rvap, sizeof(struct vattr)); vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0]; - pn = VPTOPP(vp); if (pn->pn_stat & PNODE_METACACHE_ATIME) vap->va_atime = pn->pn_mc_atime; if (pn->pn_stat & PNODE_METACACHE_CTIME) @@ -571,6 +604,7 @@ PUFFS_MSG_VARS(vn, setattr); struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); struct puffs_node *pn = vp->v_data; + int ltype; int error; if ((vp->v_mount->mnt_flag & MNT_RDONLY) && @@ -611,8 +645,11 @@ puffs_msg_setinfo(park_setattr, PUFFSOP_VN, PUFFS_VN_SETATTR, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_setattr, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_setattr); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_setattr, pn, NULL); PUFFS_MSG_RELEASE(setattr); + PUFFS_LOCKVNODE(pn, ltype, error); error = checkerr(pmp, error, __func__); if (error) return error; @@ -674,7 +711,6 @@ struct puffs_node *pnode; int error; - DPRINTF(("puffs_vnop_inactive: vp=%p; lock_class=%p\n", vp, LOCK_CLASS(&vp->v_lock.lock_object))); pnode = vp->v_data; if (doinact(pmp, pnode->pn_stat & PNODE_DOINACT)) { @@ -756,10 +792,12 @@ { PUFFS_MSG_VARS(vn, readdir); struct vnode *vp = ap->a_vp; + struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); size_t argsize, tomove, cookiemem, cookiesmax; struct uio *uio = ap->a_uio; size_t howmuch, resid; + int ltype; int error; const static struct dirent _dirent_minsize = { @@ -813,8 +851,11 @@ PUFFS_VN_READDIR, VPTOPNC(vp)); puffs_msg_setdelta(park_readdir, tomove); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_readdir, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_readdir); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_readdir, pn, NULL); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(pn, ltype, error); if (error) goto out; @@ -873,6 +914,7 @@ struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); struct puffs_node *pn; struct vattr va; + int ltype; int error, dofaf; pn = VPTOPP(vp); @@ -934,10 +976,13 @@ puffs_msg_setinfo(park_fsync, PUFFSOP_VN, PUFFS_VN_FSYNC, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_fsync, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_fsync); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_fsync, pn, NULL); + error = checkerr(pmp, error, __func__); + PUFFS_MSG_RELEASE(fsync); - - error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(pn, ltype, error); return error; } @@ -977,6 +1022,7 @@ struct mount *mp = dvp->v_mount; struct puffs_mount *pmp = MPTOPUFFSMP(mp); int error; + int ltype, dltype; PUFFS_MSG_ALLOC(vn, remove); remove_msg->pvnr_cookie_targ = VPTOPNC(vp); @@ -986,17 +1032,22 @@ PUFFS_VN_REMOVE, VPTOPNC(dvp)); puffs_msg_enqueue(pmp, park_remove); - REFPN_AND_UNLOCKVP(dvp, dpn); - if (dvp == vp) - REFPN(pn); - else - REFPN_AND_UNLOCKVP(vp, pn); + puffs_unlockvnode(dpn, &dltype); + if (dvp == vp) { + mtx_lock(&pn->pn_mtx); + puffs_referencenode(pn); + mtx_unlock(&pn->pn_mtx); + } else + puffs_unlockvnode(pn, <ype); error = puffs_msg_wait2(pmp, park_remove, dpn, pn); PUFFS_MSG_RELEASE(remove); - RELEPN_AND_VP(dvp, dpn); - RELEPN_AND_VP(vp, pn); + if (dvp == vp) + puffs_releasenode(pn); + else + PUFFS_LOCKVNODE(dpn, dltype, error); + PUFFS_LOCKVNODE(pn, dltype, error); error = checkerr(pmp, error, __func__); return error; @@ -1011,6 +1062,7 @@ struct componentname *cnp = ap->a_cnp; struct mount *mp = dvp->v_mount; struct puffs_mount *pmp = MPTOPUFFSMP(mp); + int dltype; int error; DPRINTF(("puffs_vnop_mkdir: %.*s\n", (int) cnp->cn_namelen, cnp->cn_nameptr)); @@ -1023,22 +1075,25 @@ PUFFS_VN_MKDIR, VPTOPNC(dvp)); puffs_msg_enqueue(pmp, park_mkdir); - REFPN_AND_UNLOCKVP(dvp, dpn); + puffs_unlockvnode(dpn, &dltype); error = puffs_msg_wait2(pmp, park_mkdir, dpn, NULL); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(dpn, dltype, error); if (error) goto out; error = puffs_newnode(mp, dvp, ap->a_vpp, mkdir_msg->pvnr_newnode, cnp, VDIR, 0); - if (error) + if (error) { + puffs_unlockvnode(dpn, &dltype); puffs_abortbutton(pmp, PUFFS_ABORT_MKDIR, dpn->pn_cookie, mkdir_msg->pvnr_newnode, cnp); + puffs_lockvnode(dpn, dltype); + } out: PUFFS_MSG_RELEASE(mkdir); - RELEPN_AND_VP(dvp, dpn); return error; } @@ -1071,6 +1126,7 @@ struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount); struct componentname *cnp = ap->a_cnp; + int dltype, ltype; int error; PUFFS_MSG_ALLOC(vn, rmdir); @@ -1081,15 +1137,15 @@ PUFFS_VN_RMDIR, VPTOPNC(dvp)); puffs_msg_enqueue(pmp, park_rmdir); - REFPN_AND_UNLOCKVP(dvp, dpn); - REFPN_AND_UNLOCKVP(vp, pn); + puffs_unlockvnode(dpn, &dltype); + puffs_unlockvnode(pn, <ype); error = puffs_msg_wait2(pmp, park_rmdir, dpn, pn); PUFFS_MSG_RELEASE(rmdir); /* XXX: some call cache_purge() *for both vnodes* here, investigate */ - RELEPN_AND_VP(dvp, dpn); - RELEPN_AND_VP(vp, pn); + PUFFS_LOCKVNODE(dpn, dltype, error); + PUFFS_LOCKVNODE(pn, ltype, error); return error; } @@ -1104,6 +1160,7 @@ struct puffs_node *pn = VPTOPP(vp); struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount); struct componentname *cnp = ap->a_cnp; + int dltype; int error; PUFFS_MSG_ALLOC(vn, link); @@ -1114,13 +1171,16 @@ PUFFS_VN_LINK, VPTOPNC(dvp)); puffs_msg_enqueue(pmp, park_link); - REFPN_AND_UNLOCKVP(dvp, dpn); - REFPN(pn); + puffs_unlockvnode(dpn, &dltype); + mtx_lock(&pn->pn_mtx); + puffs_referencenode(pn); + mtx_unlock(&pn->pn_mtx); error = puffs_msg_wait2(pmp, park_link, dpn, pn); PUFFS_MSG_RELEASE(link); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(dpn, dltype, error); /* * XXX: stay in touch with the cache. I don't like this, but @@ -1129,7 +1189,6 @@ if (error == 0) puffs_updatenode(pn, PUFFS_UPDATECTIME, 0); - RELEPN_AND_VP(dvp, dpn); puffs_releasenode(pn); return error; @@ -1144,6 +1203,7 @@ struct mount *mp = dvp->v_mount; struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount); struct componentname *cnp = ap->a_cnp; + int dltype; int error; *ap->a_vpp = NULL; @@ -1158,22 +1218,25 @@ PUFFS_VN_SYMLINK, VPTOPNC(dvp)); puffs_msg_enqueue(pmp, park_symlink); - REFPN_AND_UNLOCKVP(dvp, dpn); + puffs_unlockvnode(dpn, &dltype); error = puffs_msg_wait2(pmp, park_symlink, dpn, NULL); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(dpn, dltype, error); if (error) goto out; error = puffs_newnode(mp, dvp, ap->a_vpp, symlink_msg->pvnr_newnode, cnp, VLNK, 0); - if (error) + if (error) { + puffs_unlockvnode(dpn, &dltype); puffs_abortbutton(pmp, PUFFS_ABORT_SYMLINK, dpn->pn_cookie, symlink_msg->pvnr_newnode, cnp); + puffs_lockvnode(dpn, dltype); + } out: PUFFS_MSG_RELEASE(symlink); - RELEPN_AND_VP(dvp, dpn); return error; } @@ -1184,7 +1247,9 @@ PUFFS_MSG_VARS(vn, readlink); struct vnode *vp = ap->a_vp; struct puffs_mount *pmp = MPTOPUFFSMP(ap->a_vp->v_mount); + struct puffs_node *pn = VPTOPP(vp); size_t linklen; + int ltype; int error; PUFFS_MSG_ALLOC(vn, readlink); @@ -1194,8 +1259,11 @@ puffs_msg_setinfo(park_readlink, PUFFSOP_VN, PUFFS_VN_READLINK, VPTOPNC(vp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_readlink, vp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_readlink); + puffs_unlockvnode(pn, <ype); + error = puffs_msg_wait2(pmp, park_readlink, pn, NULL); error = checkerr(pmp, error, __func__); + PUFFS_LOCKVNODE(pn, ltype, error); if (error) goto out; @@ -1220,7 +1288,10 @@ PUFFS_MSG_VARS(vn, rename); struct vnode *fdvp = ap->a_fdvp; struct puffs_node *fpn = ap->a_fvp->v_data; + struct puffs_node *tdpn = VPTOPP(ap->a_tdvp); + struct puffs_node *tpn = NULL; struct puffs_mount *pmp = MPTOPUFFSMP(fdvp->v_mount); + int tltype, tdltype; int error; if (ap->a_fvp->v_mount != ap->a_tdvp->v_mount) @@ -1240,8 +1311,20 @@ puffs_msg_setinfo(park_rename, PUFFSOP_VN, PUFFS_VN_RENAME, VPTOPNC(fdvp)); - PUFFS_MSG_ENQUEUEWAIT2(pmp, park_rename, fdvp->v_data, NULL, error); + puffs_msg_enqueue(pmp, park_rename); + if (ap->a_tvp) { + tpn = VPTOPP(ap->a_tvp); + puffs_unlockvnode(tpn, &tltype); + } + puffs_unlockvnode(tdpn, &tdltype); + error = puffs_msg_wait2(pmp, park_rename, fdvp->v_data, NULL); error = checkerr(pmp, error, __func__); + if (ap->a_tvp) { + PUFFS_LOCKVNODE(tpn, tltype, error); + } + PUFFS_LOCKVNODE(tdpn, tdltype, error); + if (error) + goto out; /* * XXX: stay in touch with the cache. I don't like this, but @@ -1277,6 +1360,7 @@ PUFFS_MSG_VARS(vn, read); struct vnode *vp = ap->a_vp; struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); + struct puffs_node *pn = VPTOPP(vp); struct uio *uio = ap->a_uio; size_t tomove, argsize; #ifdef XXX_TS @@ -1284,6 +1368,7 @@ size_t bytelen; int error, ubcflags; #else + int ltype; int error; #endif @@ -1329,14 +1414,22 @@ * i.e. explicit read operations >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jun 27 21:22:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4DFA1065677; Sat, 27 Jun 2009 21:22:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 820A91065672 for ; Sat, 27 Jun 2009 21:22:54 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6EAC18FC0A for ; Sat, 27 Jun 2009 21:22:54 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5RLMsFZ095523 for ; Sat, 27 Jun 2009 21:22:54 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5RLMsHc095521 for perforce@freebsd.org; Sat, 27 Jun 2009 21:22:54 GMT (envelope-from trasz@freebsd.org) Date: Sat, 27 Jun 2009 21:22:54 GMT Message-Id: <200906272122.n5RLMsHc095521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Jun 2009 21:22:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165329 Change 165329 by trasz@trasz_victim on 2009/06/27 21:22:43 Extend rule parsing and matching a little, so one can do something like this: [root@victim:~]# hrl ::openfiles Defined resource limits matching "::openfiles": process:926:openfiles:deny=7149 process:926:openfiles:sigxfsz=7149 process:927:openfiles:deny=7149 process:927:openfiles:sigxfsz=7149 process:928:openfiles:deny=7149 process:928:openfiles:sigxfsz=7149 process:929:openfiles:deny=7149 process:929:openfiles:sigxfsz=7149 [root@victim:~]# hrl -r ::openfiles [root@victim:~]# hrl ::openfiles Defined resource limits matching "::openfiles": No resource limits defined. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#17 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#12 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#10 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#17 (text+ko) ==== @@ -188,18 +188,19 @@ mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_accounting.ha_resources[i] != 0) + if (p->p_accounting.ha_resources[i] != 0) { #if 0 KASSERT(p->p_accounting.ha_resources == 0, ("dead process still holding resources")); -#else printf("hrl_proc_exiting: %s = %lld\n", hrl_resource_name(i), p->p_accounting.ha_resources[i]); +#else if (p->p_accounting.ha_resources[i] > 0) hrl_free_proc(p, i, p->p_accounting.ha_resources[i]); else p->p_accounting.ha_resources[i] = 0; + } #endif } mtx_unlock(&hrl_lock); @@ -501,51 +502,39 @@ } static int -hrl_get_rules(struct thread *td, void *bufp, size_t buflen) +hrl_rule_matches(const struct hrl_rule *rule, const struct hrl_rule *filter) { - int error = 0, copied = 0; - struct hrl_rule *buf; - struct hrl_node *node; + if (filter->hr_subject != HRL_SUBJECT_UNDEFINED) { + if (rule->hr_subject != filter->hr_subject) + return (0); + } - if (buflen > HRL_MAX_LIMITS * sizeof(struct hrl_rule)) - return (EINVAL); + if (filter->hr_subject_id >= 0) { + if (rule->hr_subject_id != filter->hr_subject_id) + return (0); + } - buf = malloc(buflen, M_HRL, M_WAITOK); + if (filter->hr_resource != HRL_RESOURCE_UNDEFINED) { + if (rule->hr_resource != filter->hr_resource) + return (0); + } - /* - * Copy the limits to the temporary buffer. We cannot - * copy it directly to the userland because of the mutex. - */ - mtx_lock(&hrl_lock); - RB_FOREACH(node, hrl_tree, &hrls) { - /* - * XXX: Do not show everything to the client; just the - * nodes that affect him. - */ - /* +1 to make room for the terminating NULL entry. */ - if ((copied + 1) * sizeof(*buf) >= buflen) { - error = EFBIG; - break; - } - *(buf + copied) = node->hn_rule; - copied++; + if (filter->hr_action != HRL_ACTION_UNDEFINED) { + if (rule->hr_action != filter->hr_action) + return (0); } - mtx_unlock(&hrl_lock); - if (error) - goto out; - /* Add terminating NULL entry. */ - bzero(buf + copied, sizeof(*buf)); - copied++; + if (filter->hr_amount >= 0) { + if (rule->hr_amount != filter->hr_amount) + return (0); + } - error = copyout(buf, bufp, sizeof(struct hrl_rule) * copied); - if (error) - goto out; + if (filter->hr_per != HRL_SUBJECT_UNDEFINED) { + if (rule->hr_per != filter->hr_per) + return (0); + } -out: - free(buf, M_HRL); - - return (error); + return (1); } static int @@ -556,8 +545,6 @@ if (value == NULL) return (EINVAL); - printf("str2value: '%s'\n", str); - for (i = 0; table[i].d_name != NULL; i++) { if (strcasecmp(table[i].d_name, str) == 0) { *value = table[i].d_value; @@ -576,8 +563,6 @@ if (str == NULL) return (EINVAL); - printf("str2id: '%s'\n", str); - *value = strtoul(str, &end, 10); if ((size_t)(end - str) != strlen(str)) return (EINVAL); @@ -593,8 +578,6 @@ if (str == NULL) return (EINVAL); - printf("str2int64: '%s'\n", str); - *value = strtoul(str, &end, 10); if ((size_t)(end - str) != strlen(str)) return (EINVAL); @@ -603,6 +586,27 @@ } static int +hrl_rule_add(struct hrl_rule *rule) +{ + struct hrl_node *node, *existing; + + node = uma_zalloc(hrl_zone, M_WAITOK); + node->hn_rule = *rule; + + mtx_lock(&hrl_lock); + existing = RB_INSERT(hrl_tree, &hrls, node); + if (existing != NULL) + existing->hn_rule.hr_amount = rule->hr_amount; + mtx_unlock(&hrl_lock); + + if (existing != NULL) + uma_zfree(hrl_zone, node); + + return (0); +} + + +static int hrl_rule_parse(struct hrl_rule *rule, char *rulestr) { int error; @@ -611,53 +615,122 @@ subjectstr = strsep(&rulestr, ":"); subject_idstr = strsep(&rulestr, ":"); resourcestr = strsep(&rulestr, ":"); - actionstr = strsep(&rulestr, "="); + actionstr = strsep(&rulestr, "=/"); amountstr = strsep(&rulestr, "/"); perstr = rulestr; - error = str2value(subjectstr, &rule->hr_subject, subjectnames); - if (error) - return (EINVAL); - error = str2id(subject_idstr, &rule->hr_subject_id); - if (error) - return (EINVAL); - error = str2value(resourcestr, &rule->hr_resource, resourcenames); - if (error) - return (EINVAL); - error = str2value(actionstr, &rule->hr_action, actionnames); - if (error) - return (EINVAL); - error = str2int64(amountstr, &rule->hr_amount); - if (error) - return (EINVAL); - if (perstr != NULL && perstr[0] != '\0') { + if (subjectstr == NULL || subjectstr[0] == '\0') + rule->hr_subject = HRL_SUBJECT_UNDEFINED; + else { + error = str2value(subjectstr, &rule->hr_subject, subjectnames); + if (error) + return (EINVAL); + } + + if (subject_idstr == NULL || subject_idstr[0] == '\0') + rule->hr_subject_id = -1; + else { + error = str2id(subject_idstr, &rule->hr_subject_id); + if (error) + return (EINVAL); + } + + if (resourcestr == NULL || resourcestr[0] == '\0') + rule->hr_resource = HRL_RESOURCE_UNDEFINED; + else { + error = str2value(resourcestr, &rule->hr_resource, resourcenames); + if (error) + return (EINVAL); + } + + if (actionstr == NULL || actionstr[0] == '\0') + rule->hr_action = HRL_ACTION_UNDEFINED; + else { + error = str2value(actionstr, &rule->hr_action, actionnames); + if (error) + return (EINVAL); + } + + if (amountstr == NULL || amountstr[0] == '\0') + rule->hr_amount = -1; + else { + error = str2int64(amountstr, &rule->hr_amount); + if (error) + return (EINVAL); + } + + if (perstr == NULL || perstr[0] == '\0') + rule->hr_per = rule->hr_subject; + else { error = str2value(perstr, &rule->hr_per, subjectnames); if (error) return (EINVAL); - } else - rule->hr_per = rule->hr_subject; + } + + if (rule->hr_subject_id > 0 && rule->hr_subject == HRL_SUBJECT_UNDEFINED) + return (EINVAL); return (0); } static int -hrl_rule_add(struct hrl_rule *rule) +hrl_get_rules(struct thread *td, char *inputstr, void *bufp, size_t buflen) { - struct hrl_node *node, *existing; + int error = 0, copied = 0; + struct hrl_rule *buf, filter; + struct hrl_node *node; + + if (buflen > HRL_MAX_LIMITS * sizeof(struct hrl_rule)) + return (EINVAL); + + if (inputstr != NULL) { + error = hrl_rule_parse(&filter, inputstr); + if (error) + return (error); + } - node = uma_zalloc(hrl_zone, M_WAITOK); - node->hn_rule = *rule; + buf = malloc(buflen, M_HRL, M_WAITOK); + /* + * Copy the limits to the temporary buffer. We cannot + * copy it directly to the userland because of the mutex. + */ mtx_lock(&hrl_lock); - existing = RB_INSERT(hrl_tree, &hrls, node); - if (existing != NULL) - existing->hn_rule.hr_amount = rule->hr_amount; + RB_FOREACH(node, hrl_tree, &hrls) { + /* + * XXX: Do not show everything to the client; just the + * nodes that affect him. + */ + /* +1 to make room for the terminating NULL entry. */ + if ((copied + 1) * sizeof(*buf) >= buflen) { + error = EFBIG; + break; + } + + if (inputstr != NULL) { + if (!hrl_rule_matches(&node->hn_rule, &filter)) + continue; + } + + *(buf + copied) = node->hn_rule; + copied++; + } mtx_unlock(&hrl_lock); + if (error) + goto out; + + /* Add terminating NULL entry. */ + bzero(buf + copied, sizeof(*buf)); + copied++; - if (existing != NULL) - uma_zfree(hrl_zone, node); + error = copyout(buf, bufp, sizeof(struct hrl_rule) * copied); + if (error) + goto out; - return (0); +out: + free(buf, M_HRL); + + return (error); } static int @@ -670,6 +743,12 @@ if (error) return (error); error = hrl_rule_parse(&rule, inputstr); + if (rule.hr_subject == HRL_SUBJECT_UNDEFINED || + rule.hr_subject_id <= 0 || + rule.hr_resource == HRL_RESOURCE_UNDEFINED || + rule.hr_action == HRL_ACTION_UNDEFINED || + rule.hr_amount < 0) + return (EINVAL); if (error) return (error); error = hrl_rule_add(&rule); @@ -679,21 +758,26 @@ static int hrl_rule_remove(struct hrl_rule *rule) { - struct hrl_node searched, *node; + int found = 1; + struct hrl_node *node, *next; - searched.hn_rule = *rule; - +restart: mtx_lock(&hrl_lock); - node = RB_FIND(hrl_tree, &hrls, &searched); - if (node != NULL) { + for (node = RB_MIN(hrl_tree, &hrls); node != NULL; node = next) { + next = RB_NEXT(hrl_tree, &hrls, node); + if (!hrl_rule_matches(&node->hn_rule, rule)) + continue; + found = 1; node = RB_REMOVE(hrl_tree, &hrls, node); - KASSERT(node != NULL, ("hrl_adjust: node removal failed")); + KASSERT(node != NULL, ("hrl_proc_exit: node removal failed")); + + mtx_unlock(&hrl_lock); + uma_zfree(hrl_zone, node); + goto restart; } mtx_unlock(&hrl_lock); - if (node != NULL) - uma_zfree(hrl_zone, node); - else + if (found == 0) return (ENOENT); return (0); @@ -815,7 +899,7 @@ switch (uap->op) { case HRL_OP_GET_RULES: - error = hrl_get_rules(td, uap->outbufp, uap->outbuflen); + error = hrl_get_rules(td, inputstr, uap->outbufp, uap->outbuflen); break; case HRL_OP_ADD_RULE: error = hrl_add_rule(td, inputstr); ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#12 (text+ko) ==== @@ -54,51 +54,54 @@ int64_t hr_amount; }; -#define HRL_SUBJECT_PROCESS 0x0001 -#define HRL_SUBJECT_USER 0x0002 -#define HRL_SUBJECT_GROUP 0x0003 -#define HRL_SUBJECT_LOGINCLASS 0x0004 -#define HRL_SUBJECT_JAIL 0x0005 -#define HRL_SUBJECT_MAX HRL_SUBJECT_JAIL +#define HRL_SUBJECT_UNDEFINED 0x0000 +#define HRL_SUBJECT_PROCESS 0x0001 +#define HRL_SUBJECT_USER 0x0002 +#define HRL_SUBJECT_GROUP 0x0003 +#define HRL_SUBJECT_LOGINCLASS 0x0004 +#define HRL_SUBJECT_JAIL 0x0005 +#define HRL_SUBJECT_MAX HRL_SUBJECT_JAIL /* * 'hr_per' takes the same flags as 'hr_subject'. */ -#define HRL_RESOURCE_CPUTIME 0x0001 -#define HRL_RESOURCE_FILESIZE 0x0002 -#define HRL_RESOURCE_DATASIZE 0x0003 -#define HRL_RESOURCE_STACKSIZE 0x0004 +#define HRL_RESOURCE_UNDEFINED 0x0000 +#define HRL_RESOURCE_CPUTIME 0x0001 +#define HRL_RESOURCE_FILESIZE 0x0002 +#define HRL_RESOURCE_DATASIZE 0x0003 +#define HRL_RESOURCE_STACKSIZE 0x0004 #define HRL_RESOURCE_COREDUMPSIZE 0x0005 -#define HRL_RESOURCE_MEMORYUSE 0x0006 +#define HRL_RESOURCE_MEMORYUSE 0x0006 #define HRL_RESOURCE_MEMORYLOCKED 0x0007 #define HRL_RESOURCE_MAXPROCESSES 0x0008 -#define HRL_RESOURCE_OPENFILES 0x0009 -#define HRL_RESOURCE_SBSIZE 0x000a -#define HRL_RESOURCE_VMEMORYUSE 0x000b +#define HRL_RESOURCE_OPENFILES 0x0009 +#define HRL_RESOURCE_SBSIZE 0x000a +#define HRL_RESOURCE_VMEMORYUSE 0x000b #define HRL_RESOURCE_PTY 0x000c #define HRL_RESOURCE_MAX HRL_RESOURCE_PTY -#define HRL_ACTION_DENY 0x0001 -#define HRL_ACTION_DELAY 0x0002 -#define HRL_ACTION_LOG 0x0003 -#define HRL_ACTION_SIGHUP 0x0004 -#define HRL_ACTION_SIGINT 0x0005 -#define HRL_ACTION_SIGKILL 0x0006 -#define HRL_ACTION_SIGSEGV 0x0007 -#define HRL_ACTION_SIGXCPU 0x0008 -#define HRL_ACTION_SIGXFSZ 0x0009 -#define HRL_ACTION_MAX HRL_ACTION_SIGXFSZ +#define HRL_ACTION_UNDEFINED 0x0000 +#define HRL_ACTION_DENY 0x0001 +#define HRL_ACTION_DELAY 0x0002 +#define HRL_ACTION_LOG 0x0003 +#define HRL_ACTION_SIGHUP 0x0004 +#define HRL_ACTION_SIGINT 0x0005 +#define HRL_ACTION_SIGKILL 0x0006 +#define HRL_ACTION_SIGSEGV 0x0007 +#define HRL_ACTION_SIGXCPU 0x0008 +#define HRL_ACTION_SIGXFSZ 0x0009 +#define HRL_ACTION_MAX HRL_ACTION_SIGXFSZ -#define HRL_MAX_LIMITS 1024 +#define HRL_MAX_LIMITS 1024 -#define HRL_OP_GET_RULES 1 -#define HRL_OP_ADD_RULE 6 -#define HRL_OP_REMOVE_RULE 7 -#define HRL_OP_GET_ACC_PID 2 -#define HRL_OP_GET_ACC_UID 3 -#define HRL_OP_GET_ACC_GID 4 -#define HRL_OP_GET_ACC_JAILID 5 +#define HRL_OP_GET_RULES 1 +#define HRL_OP_ADD_RULE 6 +#define HRL_OP_REMOVE_RULE 7 +#define HRL_OP_GET_ACC_PID 2 +#define HRL_OP_GET_ACC_UID 3 +#define HRL_OP_GET_ACC_GID 4 +#define HRL_OP_GET_ACC_JAILID 5 /* * 'hrl_acc' defines resource consumption for a particular ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#10 (text+ko) ==== @@ -241,7 +241,7 @@ } static void -print_rules(void) +print_rules(char *filter) { int error; size_t ruleslen, i; @@ -254,12 +254,18 @@ if (rules == NULL) err(1, "realloc"); - error = hrl(HRL_OP_GET_RULES, NULL, 0, rules, ruleslen); + if (filter != NULL) + error = hrl(HRL_OP_GET_RULES, filter, strlen(filter) + 1, rules, ruleslen); + else + error = hrl(HRL_OP_GET_RULES, NULL, 0, rules, ruleslen); if (error && errno != EFBIG) err(1, "hrl"); } while (error && errno == EFBIG); - printf("Defined resource limits:\n"); + if (filter != NULL) + printf("Defined resource limits matching \"%s\":\n", filter); + else + printf("Defined resource limits:\n"); if (rules[0].hr_subject == 0) { printf("No resource limits defined.\n"); @@ -358,7 +364,7 @@ usage(void) { - fprintf(stderr, "usage: hrl [-a rule | -r rule | -u user | -g group | -p pid | -j jailid]\n"); + fprintf(stderr, "usage: hrl [-a rule | -r rule | -u user | -g group | -p pid | -j jailid] [rule]\n"); exit(1); } @@ -409,13 +415,22 @@ } } + argc -= optind; + argv += optind; + + if (argc > 1) + usage(); + + if (argc == 1) + rule = strdup(argv[0]); + if (aflag + gflag + jflag + pflag + rflag + uflag > 1) errx(1, "only one flag may be specified " "at the same time"); switch (op) { case HRL_OP_GET_RULES: - print_rules(); + print_rules(rule); break; case HRL_OP_GET_ACC_PID: