From owner-p4-projects@FreeBSD.ORG Sun Nov 18 00:59:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 601DE16A46C; Sun, 18 Nov 2007 00:59: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 09BC516A469 for ; Sun, 18 Nov 2007 00:59:40 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFE1013C45A for ; Sun, 18 Nov 2007 00:59:39 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAI0xdjE060449 for ; Sun, 18 Nov 2007 00:59:39 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAI0xdmO060446 for perforce@freebsd.org; Sun, 18 Nov 2007 00:59:39 GMT (envelope-from jb@freebsd.org) Date: Sun, 18 Nov 2007 00:59:39 GMT Message-Id: <200711180059.lAI0xdmO060446@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129189 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 00:59:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=129189 Change 129189 by jb@jb_freebsd1 on 2007/11/18 00:59:10 IF6 Loopback my linker_file structure changes. Affected files ... .. //depot/projects/dtrace6/src/lib/libc/sys/kldstat.2#4 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_linker.c#3 integrate .. //depot/projects/dtrace6/src/sys/sys/linker.h#4 integrate Differences ... ==== //depot/projects/dtrace6/src/lib/libc/sys/kldstat.2#4 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/kldstat.2,v 1.20 2004/07/02 23:52:13 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/kldstat.2,v 1.20.8.1 2007/11/18 00:15:32 jb Exp $ .\" .Dd March 3, 1999 .Dt KLDSTAT 2 ==== //depot/projects/dtrace6/src/sys/kern/kern_linker.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.117.2.2 2007/02/15 19:49:27 luigi Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.117.2.3 2007/11/18 00:15:32 jb Exp $"); #include "opt_ddb.h" #include "opt_mac.h" ==== //depot/projects/dtrace6/src/sys/sys/linker.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/linker.h,v 1.39.2.2 2007/02/15 19:49:27 luigi Exp $ + * $FreeBSD: src/sys/sys/linker.h,v 1.39.2.3 2007/11/18 00:15:32 jb Exp $ */ #ifndef _SYS_LINKER_H_ From owner-p4-projects@FreeBSD.ORG Sun Nov 18 01:00:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 085F016A421; Sun, 18 Nov 2007 01:00: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 A9E8D16A417 for ; Sun, 18 Nov 2007 01:00:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B81413C468 for ; Sun, 18 Nov 2007 01:00:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAI10fGl060552 for ; Sun, 18 Nov 2007 01:00:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAI10eSD060549 for perforce@freebsd.org; Sun, 18 Nov 2007 01:00:40 GMT (envelope-from jb@freebsd.org) Date: Sun, 18 Nov 2007 01:00:40 GMT Message-Id: <200711180100.lAI10eSD060549@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129190 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 01:00:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=129190 Change 129190 by jb@jb_freebsd1 on 2007/11/18 01:00:16 IFC Loopback my changes. Affected files ... .. //depot/projects/dtrace/src/contrib/csup/mux.c#4 integrate .. //depot/projects/dtrace/src/sbin/spppcontrol/spppcontrol.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_linker.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/linker_if.m#6 integrate .. //depot/projects/dtrace/src/sys/sys/linker.h#16 integrate .. //depot/projects/dtrace/src/usr.bin/tip/tip/Makefile#6 integrate .. //depot/projects/dtrace/src/usr.sbin/arp/Makefile#5 integrate Differences ... ==== //depot/projects/dtrace/src/contrib/csup/mux.c#4 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include ==== //depot/projects/dtrace/src/sbin/spppcontrol/spppcontrol.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/spppcontrol/spppcontrol.c,v 1.13 2003/05/03 18:41:59 obrien Exp $"); +__FBSDID("$FreeBSD: src/sbin/spppcontrol/spppcontrol.c,v 1.14 2007/11/18 00:33:23 jb Exp $"); #include #include @@ -88,7 +88,7 @@ argc--; argv++; - spr.cmd = (int)(uintptr_t) SPPPIOGDEFS; + spr.cmd = (uintptr_t) SPPPIOGDEFS; ifr.ifr_data = (caddr_t)&spr; if (ioctl(s, SIOCGIFGENERIC, &ifr) == -1) @@ -186,7 +186,7 @@ argc--; } - spr.cmd = (int)(uintptr_t)SPPPIOSDEFS; + spr.cmd = (uintptr_t)SPPPIOSDEFS; if (ioctl(s, SIOCSIFGENERIC, &ifr) == -1) err(EX_OSERR, "SIOCSIFGENERIC(SPPPIOSDEFS)"); ==== //depot/projects/dtrace/src/sys/kern/kern_linker.c#24 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.151 2007/10/24 19:03:54 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.152 2007/11/18 00:23:31 jb Exp $"); #include "opt_ddb.h" #include "opt_hwpmc_hooks.h" ==== //depot/projects/dtrace/src/sys/kern/linker_if.m#6 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sys/kern/linker_if.m,v 1.6 2005/01/06 23:35:39 imp Exp $ +# $FreeBSD: src/sys/kern/linker_if.m,v 1.7 2007/11/18 00:23:31 jb Exp $ # #include ==== //depot/projects/dtrace/src/sys/sys/linker.h#16 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/linker.h,v 1.47 2007/10/22 04:12:57 jb Exp $ + * $FreeBSD: src/sys/sys/linker.h,v 1.48 2007/11/18 00:23:31 jb Exp $ */ #ifndef _SYS_LINKER_H_ ==== //depot/projects/dtrace/src/usr.bin/tip/tip/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # $OpenBSD: Makefile,v 1.11 2006/05/25 08:41:52 jmc Exp $ -# $FreeBSD: src/usr.bin/tip/tip/Makefile,v 1.20 2006/09/01 17:09:09 ru Exp $ +# $FreeBSD: src/usr.bin/tip/tip/Makefile,v 1.21 2007/11/18 00:29:36 jb Exp $ # # Files are: # /etc/remote remote host description file ==== //depot/projects/dtrace/src/usr.sbin/arp/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 4/18/94 -# $FreeBSD: src/usr.sbin/arp/Makefile,v 1.12 2004/04/13 11:45:28 luigi Exp $ +# $FreeBSD: src/usr.sbin/arp/Makefile,v 1.13 2007/11/18 00:29:36 jb Exp $ PROG= arp MAN= arp.4 arp.8 From owner-p4-projects@FreeBSD.ORG Sun Nov 18 07:30:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F3F616A41B; Sun, 18 Nov 2007 07:30: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 F315916A419 for ; Sun, 18 Nov 2007 07:30:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E001313C44B for ; Sun, 18 Nov 2007 07:30:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAI7UlUp093832 for ; Sun, 18 Nov 2007 07:30:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAI7UlQl093829 for perforce@freebsd.org; Sun, 18 Nov 2007 07:30:47 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Nov 2007 07:30:47 GMT Message-Id: <200711180730.lAI7UlQl093829@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129199 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 07:30:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=129199 Change 129199 by kmacy@kmacy:storage:toestack on 2007/11/18 07:29:55 - Add efficient routine for holding user pages for reed/write in order to allow devices to do DMA to user pages - this needs an additional per process accounting check to prevent a user application from holding too many pages at once by sending large amounts of data over slow connections Affected files ... .. //depot/projects/toestack/sys/vm/vm_extern.h#4 edit .. //depot/projects/toestack/sys/vm/vm_fault.c#4 edit Differences ... ==== //depot/projects/toestack/sys/vm/vm_extern.h#4 (text+ko) ==== @@ -98,5 +98,8 @@ void vm_thread_swapout(struct thread *td); void *contigmalloc2(vm_page_t m, vm_pindex_t npages, int flags); + +#define VM_HOLD_WRITEABLE 0x1 +int vm_fault_hold_user_pages(vm_offset_t addr, int len, vm_page_t *mp, int *count, int flags); #endif /* _KERNEL */ #endif /* !_VM_EXTERN_H_ */ ==== //depot/projects/toestack/sys/vm/vm_fault.c#4 (text+ko) ==== @@ -1308,3 +1308,111 @@ /* return number of pages */ return i; } + +/* + * This routine takes a user address range and does the following: + * - validate that the user has access to those pages (flags indicates read or write) - if not fail + * - validate that count is enough to hold range number of pages - if not fail + * - fault in any non-resident pages + * - if the user is doing a read force a write fault for any COWed pages + * - if the user is doing a read mark all pages as dirty + * - hold all pages + * - return number of pages in count + */ + +int +vm_fault_hold_user_pages(vm_offset_t addr, int len, vm_page_t *mp, int *count, int flags) +{ + + vm_offset_t start, va; + vm_paddr_t pa; + int pageslen, faults, rv; + + struct thread *td; + vm_map_t map; + pmap_t pmap; + vm_page_t m, *pages; + vm_prot_t prot; + + start = addr & ~PAGE_MASK; + pageslen = roundup2(addr + len, PAGE_SIZE); + if (*count < (pageslen >> PAGE_SHIFT)) + return (EFBIG); + + *count = pageslen >> PAGE_SHIFT; + /* + * Check that virtual address range is legal + * This check is somewhat bogus as on some architectures kernel + * and user do not share VA - however, it appears that all FreeBSD + * architectures define it + */ + if (addr + len > VM_MAXUSER_ADDRESS) + return (EFAULT); + + td = curthread; + map = &td->td_proc->p_vmspace->vm_map; + pmap = &td->td_proc->p_vmspace->vm_pmap; + pages = mp; + + prot = (flags & VM_HOLD_WRITEABLE) ? VM_PROT_WRITE : VM_PROT_READ; + bzero(pages, sizeof(vm_page_t *) * (*count)); +retry: + + /* + * First optimistically assume that all pages are resident (and R/W if for write) + * if so just mark pages as held (and dirty if for write) and return + */ + vm_page_lock_queues(); + for (pages = mp, faults = 0, va = start; va < pageslen; va += PAGE_SIZE, pages++) { + /* + * Assure that we only hold the page once + */ + if (*pages == NULL) { + /* + * page queue mutex is recursable so this is OK + * it would be really nice if we had an unlocked version of this so + * we were only acquiring the pmap lock 1 time as opposed to potentially + * many dozens of times + */ + m = pmap_extract_and_hold(pmap, va, prot); + if (m == NULL) { + faults++; + continue; + } + *pages = m; + if (flags & VM_HOLD_WRITEABLE) + vm_page_dirty(m); + } + } + vm_page_unlock_queues(); + + if (faults == 0) + return (0); + /* + * Pages either have insufficient permissions or are not present + * trigger a fault where neccessary + * + */ + for (va = start; va < pageslen; va += PAGE_SIZE) { + m = NULL; + pa = pmap_extract(pmap, va); + rv = 0; + if (pa) + m = PHYS_TO_VM_PAGE(pa); + if (flags & VM_HOLD_WRITEABLE) { + if (m == NULL || (m->flags & PG_WRITEABLE) == 0) + rv = vm_fault(map, va, VM_PROT_WRITE, VM_FAULT_DIRTY); + } else if (m == NULL) + rv = vm_fault(map, va, VM_PROT_READ, VM_FAULT_NORMAL); + if (rv) + goto error; + } + goto retry; + + for (pages = mp, va = start; va < pageslen; va += PAGE_SIZE, pages++) + if (*pages) + vm_page_unhold(*pages); + + return (EFAULT); +} + From owner-p4-projects@FreeBSD.ORG Sun Nov 18 07:39:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3214416A41A; Sun, 18 Nov 2007 07:39: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 BEBD116A418 for ; Sun, 18 Nov 2007 07:39:57 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94B1D13C43E for ; Sun, 18 Nov 2007 07:39:57 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAI7dvbm094143 for ; Sun, 18 Nov 2007 07:39:57 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAI7dvNW094140 for perforce@freebsd.org; Sun, 18 Nov 2007 07:39:57 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Nov 2007 07:39:57 GMT Message-Id: <200711180739.lAI7dvNW094140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129200 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 07:39:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=129200 Change 129200 by kmacy@kmacy:storage:toestack on 2007/11/18 07:39:14 add missed lock around vm_page_unhold Affected files ... .. //depot/projects/toestack/sys/vm/vm_fault.c#5 edit Differences ... ==== //depot/projects/toestack/sys/vm/vm_fault.c#5 (text+ko) ==== @@ -1408,11 +1408,12 @@ goto error; } goto retry; - + + vm_page_lock_queues(); for (pages = mp, va = start; va < pageslen; va += PAGE_SIZE, pages++) if (*pages) vm_page_unhold(*pages); - + vm_page_unlock_queues(); return (EFAULT); } From owner-p4-projects@FreeBSD.ORG Sun Nov 18 23:36:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2C7316A46C; Sun, 18 Nov 2007 23:36: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 96E7D16A419 for ; Sun, 18 Nov 2007 23:36:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 87A6113C45A for ; Sun, 18 Nov 2007 23:36:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAINaSeI002999 for ; Sun, 18 Nov 2007 23:36:28 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAINaRdv002996 for perforce@freebsd.org; Sun, 18 Nov 2007 23:36:27 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Nov 2007 23:36:27 GMT Message-Id: <200711182336.lAINaRdv002996@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 23:36:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=129223 Change 129223 by kmacy@kmacy_home:ethng on 2007/11/18 23:35:29 IFC #129222 Affected files ... .. //depot/projects/ethng/src/UPDATING#7 integrate .. //depot/projects/ethng/src/bin/ln/ln.1#2 integrate .. //depot/projects/ethng/src/bin/ln/ln.c#2 integrate .. //depot/projects/ethng/src/bin/sh/Makefile#2 integrate .. //depot/projects/ethng/src/contrib/csup/mux.c#2 integrate .. //depot/projects/ethng/src/contrib/less/LICENSE#2 integrate .. //depot/projects/ethng/src/contrib/less/Makefile.dsm#2 delete .. //depot/projects/ethng/src/contrib/less/NEWS#3 integrate .. //depot/projects/ethng/src/contrib/less/README#3 integrate .. //depot/projects/ethng/src/contrib/less/ch.c#3 integrate .. //depot/projects/ethng/src/contrib/less/command.c#2 integrate .. //depot/projects/ethng/src/contrib/less/configure#3 integrate .. //depot/projects/ethng/src/contrib/less/configure.ac#3 integrate .. //depot/projects/ethng/src/contrib/less/decode.c#2 integrate .. //depot/projects/ethng/src/contrib/less/defines.ds#2 integrate .. //depot/projects/ethng/src/contrib/less/defines.h.in#2 integrate .. //depot/projects/ethng/src/contrib/less/defines.o2#2 integrate .. //depot/projects/ethng/src/contrib/less/defines.o9#2 integrate .. //depot/projects/ethng/src/contrib/less/defines.wn#2 integrate .. //depot/projects/ethng/src/contrib/less/edit.c#2 integrate .. //depot/projects/ethng/src/contrib/less/filename.c#3 integrate .. //depot/projects/ethng/src/contrib/less/funcs.h#3 integrate .. //depot/projects/ethng/src/contrib/less/less.h#3 integrate .. //depot/projects/ethng/src/contrib/less/less.man#3 integrate .. //depot/projects/ethng/src/contrib/less/less.nro#3 integrate .. //depot/projects/ethng/src/contrib/less/lessecho.man#3 integrate .. //depot/projects/ethng/src/contrib/less/lessecho.nro#3 integrate .. //depot/projects/ethng/src/contrib/less/lesskey.man#3 integrate .. //depot/projects/ethng/src/contrib/less/lesskey.nro#3 integrate .. //depot/projects/ethng/src/contrib/less/line.c#3 integrate .. //depot/projects/ethng/src/contrib/less/optfunc.c#2 integrate .. //depot/projects/ethng/src/contrib/less/opttbl.c#2 integrate .. //depot/projects/ethng/src/contrib/less/screen.c#2 integrate .. //depot/projects/ethng/src/contrib/less/search.c#3 integrate .. //depot/projects/ethng/src/contrib/less/tags.c#2 integrate .. //depot/projects/ethng/src/contrib/less/version.c#3 integrate .. //depot/projects/ethng/src/gnu/usr.bin/cc/cc_tools/Makefile#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/arch/arm/armfbsd-tdep.c#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/arch/arm/init.c#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/arch/arm/nm-fbsd.h#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/ethng/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/ethng/src/lib/Makefile#4 integrate .. //depot/projects/ethng/src/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/ethng/src/lib/libthread_db/arch/arm/libpthread_md.c#1 branch .. //depot/projects/ethng/src/lib/libutil/expand_number.3#4 integrate .. //depot/projects/ethng/src/lib/libutil/expand_number.c#3 integrate .. //depot/projects/ethng/src/lib/libutil/libutil.h#3 integrate .. //depot/projects/ethng/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#11 integrate .. //depot/projects/ethng/src/sbin/geom/class/virstor/geom_virstor.c#2 integrate .. //depot/projects/ethng/src/sbin/ipf/ipftest/Makefile#2 integrate .. //depot/projects/ethng/src/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/ethng/src/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/ethng/src/sbin/spppcontrol/spppcontrol.c#2 integrate .. //depot/projects/ethng/src/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/ethng/src/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/ethng/src/sys/arm/conf/HL200#1 branch .. //depot/projects/ethng/src/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/ethng/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/ethng/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/ethng/src/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/ethng/src/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/ethng/src/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate .. //depot/projects/ethng/src/sys/fs/ntfs/ntfs_vfsops.c#4 integrate .. //depot/projects/ethng/src/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/ethng/src/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/ethng/src/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/ethng/src/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/ethng/src/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/ethng/src/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/ethng/src/sys/kern/init_main.c#6 integrate .. //depot/projects/ethng/src/sys/kern/kern_linker.c#3 integrate .. //depot/projects/ethng/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/ethng/src/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/ethng/src/sys/kern/kern_rmlock.c#2 integrate .. //depot/projects/ethng/src/sys/kern/kern_rwlock.c#4 integrate .. //depot/projects/ethng/src/sys/kern/kern_sx.c#4 integrate .. //depot/projects/ethng/src/sys/kern/linker_if.m#2 integrate .. //depot/projects/ethng/src/sys/netinet/ip_dummynet.c#4 integrate .. //depot/projects/ethng/src/sys/netipsec/keysock.c#3 integrate .. //depot/projects/ethng/src/sys/powerpc/powerpc/mmu_if.m#2 integrate .. //depot/projects/ethng/src/sys/powerpc/powerpc/mmu_oea.c#2 integrate .. //depot/projects/ethng/src/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/ethng/src/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/ethng/src/sys/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/ethng/src/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/ethng/src/sys/sys/linker.h#3 integrate .. //depot/projects/ethng/src/sys/sys/lock.h#3 integrate .. //depot/projects/ethng/src/sys/vm/pmap.h#3 integrate .. //depot/projects/ethng/src/sys/vm/vm_object.c#4 integrate .. //depot/projects/ethng/src/usr.bin/fstat/zfs/zfs.c#2 integrate .. //depot/projects/ethng/src/usr.bin/less/defines.h#2 integrate .. //depot/projects/ethng/src/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/ethng/src/usr.sbin/IPXrouted/trace.c#2 integrate .. //depot/projects/ethng/src/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/ethng/src/usr.sbin/arp/Makefile#2 integrate .. //depot/projects/ethng/src/usr.sbin/ppp/chap.h#2 integrate .. //depot/projects/ethng/src/usr.sbin/ppp/physical.h#2 integrate .. //depot/projects/ethng/src/usr.sbin/sa/db.c#2 integrate Differences ... ==== //depot/projects/ethng/src/UPDATING#7 (text+ko) ==== @@ -21,6 +21,17 @@ developers choose to disable these features on build machines to maximize performance. +20071118: + The AT keyboard emulation of sunkbd(4) has been turned on + by default. In order to make the special symbols of the Sun + keyboards driven by sunkbd(4) work under X these now have + to be configured the same way as Sun USB keyboards driven + by ukbd(4) (which also does AT keyboard emulation), f.e.: + + Option "XkbLayout" "us" + Option "XkbRules" "xorg" + Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" + 20071024: It has been decided that it is desirable to provide ABI backwards compatibility to the FreeBSD 4/5/6 versions of the @@ -934,4 +945,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.511 2007/10/24 20:51:43 marius Exp $ +$FreeBSD: src/UPDATING,v 1.512 2007/11/18 18:11:16 marius Exp $ ==== //depot/projects/ethng/src/bin/ln/ln.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.31 2006/02/14 11:08:05 glebius Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.32 2007/11/17 21:01:22 ru Exp $ .\" .Dd February 14, 2006 .Dt LN 1 @@ -41,11 +41,15 @@ .Nd make links .Sh SYNOPSIS .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file ... .Ar target_dir .Nm link ==== //depot/projects/ethng/src/bin/ln/ln.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.34 2006/02/14 11:08:05 glebius Exp $"); +__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.36 2007/11/17 21:01:22 ru Exp $"); #include #include @@ -69,7 +69,7 @@ main(int argc, char *argv[]) { struct stat sb; - char *p, *sourcedir; + char *p, *targetdir; int ch, exitval; /* @@ -134,34 +134,34 @@ case 0: usage(); /* NOTREACHED */ - case 1: /* ln target */ + case 1: /* ln source */ exit(linkit(argv[0], ".", 1)); - case 2: /* ln target source */ + case 2: /* ln source target */ exit(linkit(argv[0], argv[1], 0)); default: ; } - /* ln target1 target2 directory */ - sourcedir = argv[argc - 1]; - if (hflag && lstat(sourcedir, &sb) == 0 && S_ISLNK(sb.st_mode)) { + /* ln source1 source2 directory */ + targetdir = argv[argc - 1]; + if (hflag && lstat(targetdir, &sb) == 0 && S_ISLNK(sb.st_mode)) { /* * We were asked not to follow symlinks, but found one at * the target--simulate "not a directory" error */ errno = ENOTDIR; - err(1, "%s", sourcedir); + err(1, "%s", targetdir); } - if (stat(sourcedir, &sb)) - err(1, "%s", sourcedir); + if (stat(targetdir, &sb)) + err(1, "%s", targetdir); if (!S_ISDIR(sb.st_mode)) usage(); - for (exitval = 0; *argv != sourcedir; ++argv) - exitval |= linkit(*argv, sourcedir, 1); + for (exitval = 0; *argv != targetdir; ++argv) + exitval |= linkit(*argv, targetdir, 1); exit(exitval); } int -linkit(const char *target, const char *source, int isdir) +linkit(const char *source, const char *target, int isdir) { struct stat sb; const char *p; @@ -169,57 +169,57 @@ char path[PATH_MAX]; if (!sflag) { - /* If target doesn't exist, quit now. */ - if (stat(target, &sb)) { - warn("%s", target); + /* If source doesn't exist, quit now. */ + if (stat(source, &sb)) { + warn("%s", source); return (1); } /* Only symbolic links to directories. */ if (S_ISDIR(sb.st_mode)) { errno = EISDIR; - warn("%s", target); + warn("%s", source); return (1); } } /* - * If the source is a directory (and not a symlink if hflag), - * append the target's name. + * If the target is a directory (and not a symlink if hflag), + * append the source's name. */ if (isdir || - (lstat(source, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(source, &sb) == 0 && S_ISDIR(sb.st_mode))) { - if ((p = strrchr(target, '/')) == NULL) - p = target; + (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + if ((p = strrchr(source, '/')) == NULL) + p = source; else ++p; - if (snprintf(path, sizeof(path), "%s/%s", source, p) >= + if (snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; - warn("%s", target); + warn("%s", source); return (1); } - source = path; + target = path; } - exists = !lstat(source, &sb); + exists = !lstat(target, &sb); /* * If the file exists, then unlink it forcibly if -f was specified * and interactively if -i was specified. */ if (fflag && exists) { if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } else if (iflag && exists) { fflush(stdout); - fprintf(stderr, "replace %s? ", source); + fprintf(stderr, "replace %s? ", target); first = ch = getchar(); while(ch != '\n' && ch != EOF) @@ -230,23 +230,23 @@ } if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } /* Attempt the link. */ - if ((*linkf)(target, source)) { - warn("%s", source); + if ((*linkf)(source, target)) { + warn("%s", target); return (1); } if (vflag) - (void)printf("%s %c> %s\n", source, linkch, target); + (void)printf("%s %c> %s\n", target, linkch, source); return (0); } @@ -254,8 +254,8 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-Ffhinsv] source_file [target_file]", - " ln [-Ffhinsv] source_file ... target_dir", + "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } ==== //depot/projects/ethng/src/bin/sh/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $FreeBSD: src/bin/sh/Makefile,v 1.46 2006/04/17 17:55:11 schweikh Exp $ +# $FreeBSD: src/bin/sh/Makefile,v 1.47 2007/11/18 01:53:07 jb Exp $ PROG= sh INSTALLFLAGS= -S @@ -22,7 +22,7 @@ CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # CFLAGS+= -g -DDEBUG=2 -WARNS?= 3 +WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ ==== //depot/projects/ethng/src/contrib/csup/mux.c#2 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include @@ -782,7 +782,7 @@ struct buf *buf; uint32_t winsize; uint16_t hdrsize, size, len; - int error, id, iovcnt, what; + int error, id, iovcnt, what = 0; m = (struct mux *)arg; again: ==== //depot/projects/ethng/src/contrib/less/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2005 Mark Nudelman +Copyright (C) 1984-2007 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/ethng/src/contrib/less/NEWS#3 (text+ko) ==== @@ -13,6 +13,17 @@ ====================================================================== + Major changes between "less" versions 409 and 415 + +* New --follow-name option makes F command follow the name of a file + rather than the file descriptor if an open file is renamed. + +* Make searching with -i/-I work correctly with non-ASCII text. + +* Fix DJGPP build. + +====================================================================== + Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. @@ -698,3 +709,4 @@ + ==== //depot/projects/ethng/src/contrib/less/README#3 (text+ko) ==== @@ -1,7 +1,7 @@ - Less, version 409 + Less, version 415 - This is the distribution of less, version 409, released 12 Oct 2007. + This is the distribution of less, version 415, released 15 Nov 2007. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or ==== //depot/projects/ethng/src/contrib/less/ch.c#3 (text+ko) ==== @@ -21,6 +21,12 @@ #include #endif +#if HAVE_STAT_INO +#include +extern dev_t curr_dev; +extern ino_t curr_ino; +#endif + typedef POSITION BLOCKNUM; public int ignore_eoi; @@ -98,6 +104,8 @@ extern int autobuf; extern int sigs; extern int secure; +extern int screen_trashed; +extern int follow_mode; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -195,7 +203,7 @@ */ if (!(ch_flags & CH_CANSEEK)) return ('?'); - if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) { error("seek error", NULL_PARG); clear_eol(); @@ -276,6 +284,25 @@ #endif #endif slept = TRUE; + +#if HAVE_STAT_INO + if (follow_mode == FOLLOW_NAME) + { + /* See whether the file's i-number has changed. + * If so, force the file to be closed and + * reopened. */ + struct stat st; + int r = stat(get_filename(curr_ifile), &st); + if (r == 0 && (st.st_ino != curr_ino || + st.st_dev != curr_dev)) + { + /* screen_trashed=2 causes + * make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + } +#endif } if (sigs) return (EOI); @@ -648,7 +675,7 @@ } #endif - if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK) { /* * Warning only; even if the seek fails for some reason, @@ -711,7 +738,7 @@ while (ch_bufhead != END_OF_CHAIN) { bp = ch_bufhead; - bp->next->prev = bp->prev;; + bp->next->prev = bp->prev; bp->prev->next = bp->next; free(bp); } @@ -737,7 +764,7 @@ return (0); } #endif - return (lseek(f, (off_t)1, 0) != BAD_LSEEK); + return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } /* ==== //depot/projects/ethng/src/contrib/less/command.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -558,6 +558,21 @@ } /* + * Discard any buffered file data. + */ + static void +clear_buffers() +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +/* * Make sure the screen is displayed. */ static void @@ -580,11 +595,20 @@ jump_loc(initial_scrpos.pos, initial_scrpos.ln); } else if (screen_trashed) { - int save_top_scroll; - save_top_scroll = top_scroll; + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; top_scroll = 1; + ignore_eoi = 0; + if (screen_trashed == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } repaint(); top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; } } @@ -1115,7 +1139,10 @@ ignore_eoi = 1; hit_eof = 0; while (!sigs) + { + make_display(); forward(1, 0, 0); + } ignore_eoi = 0; /* * This gets us back in "F mode" after processing @@ -1154,14 +1181,7 @@ * Flush buffers, then repaint screen. * Don't flush the buffers on a pipe! */ - if (ch_getflags() & CH_CANSEEK) - { - ch_flush(); - clr_linenum(); -#if HILITE_SEARCH - clr_hilite(); -#endif - } + clear_buffers(); /* FALLTHRU */ case A_REPAINT: /* @@ -1263,7 +1283,8 @@ /* * Define abbreviation for a commonly used sequence below. */ -#define DO_SEARCH() if (number <= 0) number = 1; \ +#define DO_SEARCH() \ + if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ multi_search((char *)NULL, (int) number); ==== //depot/projects/ethng/src/contrib/less/configure#3 (text+ko) ==== @@ -3611,6 +3611,73 @@ # Checks for general libraries. +{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5 +echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; } +if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); +int +main () +{ +return tgoto (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_tinfo_tgoto=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_tinfo_tgoto=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgoto" >&5 +echo "${ECHO_T}$ac_cv_lib_tinfo_tgoto" >&6; } +if test $ac_cv_lib_tinfo_tgoto = yes; then + have_tinfo=yes +else + have_tinfo=no +fi + { echo "$as_me:$LINENO: checking for initscr in -lxcurses" >&5 echo $ECHO_N "checking for initscr in -lxcurses... $ECHO_C" >&6; } if test "${ac_cv_lib_xcurses_initscr+set}" = set; then @@ -4246,6 +4313,61 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + termok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + termok=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -4895,7 +5017,8 @@ -for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h + +for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -5448,6 +5571,10 @@ + + + + # Checks for identifiers. { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } @@ -5656,7 +5783,56 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for st_ino in struct stat" >&5 +echo $ECHO_N "checking for st_ino in struct stat... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF +#define HAVE_STAT_INO 1 +_ACEOF +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # Checks for library functions. { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } @@ -6515,6 +6691,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: checking for ctype functions" >&5 echo $ECHO_N "checking for ctype functions... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF @@ -6569,6 +6746,57 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for wctype functions" >&5 +echo $ECHO_N "checking for wctype functions... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +iswlower(0); iswupper(0); towlower(0); towupper(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF +#define HAVE_WCTYPE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + # Checks for external variable ospeed in the termcap library. have_ospeed=no { echo "$as_me:$LINENO: checking termcap for ospeed" >&5 ==== //depot/projects/ethng/src/contrib/less/configure.ac#3 (text+ko) ==== @@ -23,6 +23,7 @@ AC_SYS_LARGEFILE # Checks for general libraries. +AC_CHECK_LIB(tinfo, tgoto, [have_tinfo=yes], [have_tinfo=no]) AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no]) AC_CHECK_LIB(ncursesw, initscr, [have_ncursesw=yes], [have_ncursesw=no]) AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no]) @@ -51,6 +52,20 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);], + [termok=yes], [termok=no]) + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -154,7 +169,7 @@ # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h]) +AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STAT @@ -182,6 +197,8 @@ [Define HAVE_VOID if your compiler supports the "void" type.]) AH_TEMPLATE([HAVE_CONST], [Define HAVE_CONST if your compiler supports the "const" modifier.]) +AH_TEMPLATE([HAVE_STAT_INO], + [Define HAVE_STAT_INO if your struct stat has st_ino and st_dev.]) AH_TEMPLATE([HAVE_TIME_T], [Define HAVE_TIME_T if your system supports the "time_t" type.]) AH_TEMPLATE([HAVE_STRERROR], @@ -204,6 +221,8 @@ [Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr.]) AH_TEMPLATE([HAVE_UPPER_LOWER], [Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower.]) +AH_TEMPLATE([HAVE_WCTYPE], + [Define HAVE_WCTYPE if you have iswupper, iswlower, towupper, towlower.]) AH_TEMPLATE([HAVE_SIGSET_T], [Define HAVE_SIGSET_T you have the sigset_t type.]) AH_TEMPLATE([HAVE_SIGEMPTYSET], @@ -224,6 +243,11 @@ AC_MSG_CHECKING(for time_t) AC_TRY_COMPILE([#include ], [time_t t = 0;], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)], [AC_MSG_RESULT(no)]) +AC_MSG_CHECKING(for st_ino in struct stat) +AC_TRY_COMPILE([#include +#include ], + [struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino;], + [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STAT_INO)], [AC_MSG_RESULT(no)]) # Checks for library functions. AC_TYPE_SIGNAL @@ -307,6 +331,7 @@ #include #include ], [setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)], [AC_MSG_RESULT(no)]) + AC_MSG_CHECKING(for ctype functions) AC_TRY_LINK([ #if HAVE_CTYPE_H @@ -314,6 +339,10 @@ #endif], [static int x; x = isupper(x); x = tolower(x); x = toupper(x);], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)], [AC_MSG_RESULT(no)]) +AC_MSG_CHECKING(for wctype functions) +AC_TRY_LINK([#include ], [iswlower(0); iswupper(0); towlower(0); towupper(0);], + [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_WCTYPE)], [AC_MSG_RESULT(no)]) + # Checks for external variable ospeed in the termcap library. have_ospeed=no AC_MSG_CHECKING(termcap for ospeed) ==== //depot/projects/ethng/src/contrib/less/decode.c#2 (text+ko) ==== @@ -682,7 +682,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 18 23:38:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3F0A16A468; Sun, 18 Nov 2007 23:38: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 48D8B16A41A for ; Sun, 18 Nov 2007 23:38:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3BE4013C467 for ; Sun, 18 Nov 2007 23:38:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAINcWQJ003058 for ; Sun, 18 Nov 2007 23:38:32 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAINcU5l003055 for perforce@freebsd.org; Sun, 18 Nov 2007 23:38:30 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Nov 2007 23:38:30 GMT Message-Id: <200711182338.lAINcU5l003055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129224 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 23:38:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=129224 Change 129224 by kmacy@kmacy:storage:toestack on 2007/11/18 23:38:02 IFethng 129223 Affected files ... .. //depot/projects/toestack/UPDATING#7 integrate .. //depot/projects/toestack/bin/ln/ln.1#2 integrate .. //depot/projects/toestack/bin/ln/ln.c#2 integrate .. //depot/projects/toestack/bin/sh/Makefile#2 integrate .. //depot/projects/toestack/contrib/csup/mux.c#2 integrate .. //depot/projects/toestack/contrib/less/LICENSE#2 integrate .. //depot/projects/toestack/contrib/less/Makefile.dsm#2 delete .. //depot/projects/toestack/contrib/less/NEWS#3 integrate .. //depot/projects/toestack/contrib/less/README#3 integrate .. //depot/projects/toestack/contrib/less/ch.c#3 integrate .. //depot/projects/toestack/contrib/less/command.c#2 integrate .. //depot/projects/toestack/contrib/less/configure#3 integrate .. //depot/projects/toestack/contrib/less/configure.ac#3 integrate .. //depot/projects/toestack/contrib/less/decode.c#2 integrate .. //depot/projects/toestack/contrib/less/defines.ds#2 integrate .. //depot/projects/toestack/contrib/less/defines.h.in#2 integrate .. //depot/projects/toestack/contrib/less/defines.o2#2 integrate .. //depot/projects/toestack/contrib/less/defines.o9#2 integrate .. //depot/projects/toestack/contrib/less/defines.wn#2 integrate .. //depot/projects/toestack/contrib/less/edit.c#2 integrate .. //depot/projects/toestack/contrib/less/filename.c#3 integrate .. //depot/projects/toestack/contrib/less/funcs.h#3 integrate .. //depot/projects/toestack/contrib/less/less.h#3 integrate .. //depot/projects/toestack/contrib/less/less.man#3 integrate .. //depot/projects/toestack/contrib/less/less.nro#3 integrate .. //depot/projects/toestack/contrib/less/lessecho.man#3 integrate .. //depot/projects/toestack/contrib/less/lessecho.nro#3 integrate .. //depot/projects/toestack/contrib/less/lesskey.man#3 integrate .. //depot/projects/toestack/contrib/less/lesskey.nro#3 integrate .. //depot/projects/toestack/contrib/less/line.c#3 integrate .. //depot/projects/toestack/contrib/less/optfunc.c#2 integrate .. //depot/projects/toestack/contrib/less/opttbl.c#2 integrate .. //depot/projects/toestack/contrib/less/screen.c#2 integrate .. //depot/projects/toestack/contrib/less/search.c#3 integrate .. //depot/projects/toestack/contrib/less/tags.c#2 integrate .. //depot/projects/toestack/contrib/less/version.c#3 integrate .. //depot/projects/toestack/gnu/usr.bin/cc/cc_tools/Makefile#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/arch/arm/armfbsd-tdep.c#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/arch/arm/init.c#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/arch/arm/nm-fbsd.h#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/toestack/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/toestack/lib/Makefile#4 integrate .. //depot/projects/toestack/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/toestack/lib/libthread_db/arch/arm/libpthread_md.c#1 branch .. //depot/projects/toestack/lib/libutil/expand_number.3#4 integrate .. //depot/projects/toestack/lib/libutil/expand_number.c#3 integrate .. //depot/projects/toestack/lib/libutil/libutil.h#2 integrate .. //depot/projects/toestack/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate .. //depot/projects/toestack/sbin/geom/class/virstor/geom_virstor.c#2 integrate .. //depot/projects/toestack/sbin/ipf/ipftest/Makefile#2 integrate .. //depot/projects/toestack/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/toestack/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/toestack/sbin/spppcontrol/spppcontrol.c#2 integrate .. //depot/projects/toestack/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/toestack/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/toestack/sys/arm/conf/HL200#1 branch .. //depot/projects/toestack/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/toestack/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/toestack/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/toestack/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/toestack/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/toestack/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/toestack/sys/fs/msdosfs/msdosfs_vfsops.c#4 integrate .. //depot/projects/toestack/sys/fs/ntfs/ntfs_vfsops.c#4 integrate .. //depot/projects/toestack/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/toestack/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/toestack/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/projects/toestack/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/toestack/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/toestack/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/toestack/sys/kern/init_main.c#6 integrate .. //depot/projects/toestack/sys/kern/kern_linker.c#3 integrate .. //depot/projects/toestack/sys/kern/kern_lock.c#3 integrate .. //depot/projects/toestack/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/toestack/sys/kern/kern_rmlock.c#2 integrate .. //depot/projects/toestack/sys/kern/kern_rwlock.c#4 integrate .. //depot/projects/toestack/sys/kern/kern_sx.c#4 integrate .. //depot/projects/toestack/sys/kern/linker_if.m#2 integrate .. //depot/projects/toestack/sys/netinet/ip_dummynet.c#4 integrate .. //depot/projects/toestack/sys/netipsec/keysock.c#3 integrate .. //depot/projects/toestack/sys/powerpc/powerpc/mmu_if.m#2 integrate .. //depot/projects/toestack/sys/powerpc/powerpc/mmu_oea.c#2 integrate .. //depot/projects/toestack/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/toestack/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/toestack/sys/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/toestack/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/toestack/sys/sys/linker.h#3 integrate .. //depot/projects/toestack/sys/sys/lock.h#3 integrate .. //depot/projects/toestack/sys/vm/pmap.h#3 integrate .. //depot/projects/toestack/sys/vm/vm_object.c#4 integrate .. //depot/projects/toestack/usr.bin/fstat/zfs/zfs.c#2 integrate .. //depot/projects/toestack/usr.bin/less/defines.h#2 integrate .. //depot/projects/toestack/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/toestack/usr.sbin/IPXrouted/trace.c#2 integrate .. //depot/projects/toestack/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/toestack/usr.sbin/arp/Makefile#2 integrate .. //depot/projects/toestack/usr.sbin/ppp/chap.h#2 integrate .. //depot/projects/toestack/usr.sbin/ppp/physical.h#2 integrate .. //depot/projects/toestack/usr.sbin/sa/db.c#2 integrate Differences ... ==== //depot/projects/toestack/UPDATING#7 (text+ko) ==== @@ -21,6 +21,17 @@ developers choose to disable these features on build machines to maximize performance. +20071118: + The AT keyboard emulation of sunkbd(4) has been turned on + by default. In order to make the special symbols of the Sun + keyboards driven by sunkbd(4) work under X these now have + to be configured the same way as Sun USB keyboards driven + by ukbd(4) (which also does AT keyboard emulation), f.e.: + + Option "XkbLayout" "us" + Option "XkbRules" "xorg" + Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" + 20071024: It has been decided that it is desirable to provide ABI backwards compatibility to the FreeBSD 4/5/6 versions of the @@ -934,4 +945,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.511 2007/10/24 20:51:43 marius Exp $ +$FreeBSD: src/UPDATING,v 1.512 2007/11/18 18:11:16 marius Exp $ ==== //depot/projects/toestack/bin/ln/ln.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.31 2006/02/14 11:08:05 glebius Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.32 2007/11/17 21:01:22 ru Exp $ .\" .Dd February 14, 2006 .Dt LN 1 @@ -41,11 +41,15 @@ .Nd make links .Sh SYNOPSIS .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file ... .Ar target_dir .Nm link ==== //depot/projects/toestack/bin/ln/ln.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.34 2006/02/14 11:08:05 glebius Exp $"); +__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.36 2007/11/17 21:01:22 ru Exp $"); #include #include @@ -69,7 +69,7 @@ main(int argc, char *argv[]) { struct stat sb; - char *p, *sourcedir; + char *p, *targetdir; int ch, exitval; /* @@ -134,34 +134,34 @@ case 0: usage(); /* NOTREACHED */ - case 1: /* ln target */ + case 1: /* ln source */ exit(linkit(argv[0], ".", 1)); - case 2: /* ln target source */ + case 2: /* ln source target */ exit(linkit(argv[0], argv[1], 0)); default: ; } - /* ln target1 target2 directory */ - sourcedir = argv[argc - 1]; - if (hflag && lstat(sourcedir, &sb) == 0 && S_ISLNK(sb.st_mode)) { + /* ln source1 source2 directory */ + targetdir = argv[argc - 1]; + if (hflag && lstat(targetdir, &sb) == 0 && S_ISLNK(sb.st_mode)) { /* * We were asked not to follow symlinks, but found one at * the target--simulate "not a directory" error */ errno = ENOTDIR; - err(1, "%s", sourcedir); + err(1, "%s", targetdir); } - if (stat(sourcedir, &sb)) - err(1, "%s", sourcedir); + if (stat(targetdir, &sb)) + err(1, "%s", targetdir); if (!S_ISDIR(sb.st_mode)) usage(); - for (exitval = 0; *argv != sourcedir; ++argv) - exitval |= linkit(*argv, sourcedir, 1); + for (exitval = 0; *argv != targetdir; ++argv) + exitval |= linkit(*argv, targetdir, 1); exit(exitval); } int -linkit(const char *target, const char *source, int isdir) +linkit(const char *source, const char *target, int isdir) { struct stat sb; const char *p; @@ -169,57 +169,57 @@ char path[PATH_MAX]; if (!sflag) { - /* If target doesn't exist, quit now. */ - if (stat(target, &sb)) { - warn("%s", target); + /* If source doesn't exist, quit now. */ + if (stat(source, &sb)) { + warn("%s", source); return (1); } /* Only symbolic links to directories. */ if (S_ISDIR(sb.st_mode)) { errno = EISDIR; - warn("%s", target); + warn("%s", source); return (1); } } /* - * If the source is a directory (and not a symlink if hflag), - * append the target's name. + * If the target is a directory (and not a symlink if hflag), + * append the source's name. */ if (isdir || - (lstat(source, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(source, &sb) == 0 && S_ISDIR(sb.st_mode))) { - if ((p = strrchr(target, '/')) == NULL) - p = target; + (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + if ((p = strrchr(source, '/')) == NULL) + p = source; else ++p; - if (snprintf(path, sizeof(path), "%s/%s", source, p) >= + if (snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; - warn("%s", target); + warn("%s", source); return (1); } - source = path; + target = path; } - exists = !lstat(source, &sb); + exists = !lstat(target, &sb); /* * If the file exists, then unlink it forcibly if -f was specified * and interactively if -i was specified. */ if (fflag && exists) { if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } else if (iflag && exists) { fflush(stdout); - fprintf(stderr, "replace %s? ", source); + fprintf(stderr, "replace %s? ", target); first = ch = getchar(); while(ch != '\n' && ch != EOF) @@ -230,23 +230,23 @@ } if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } /* Attempt the link. */ - if ((*linkf)(target, source)) { - warn("%s", source); + if ((*linkf)(source, target)) { + warn("%s", target); return (1); } if (vflag) - (void)printf("%s %c> %s\n", source, linkch, target); + (void)printf("%s %c> %s\n", target, linkch, source); return (0); } @@ -254,8 +254,8 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-Ffhinsv] source_file [target_file]", - " ln [-Ffhinsv] source_file ... target_dir", + "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } ==== //depot/projects/toestack/bin/sh/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $FreeBSD: src/bin/sh/Makefile,v 1.46 2006/04/17 17:55:11 schweikh Exp $ +# $FreeBSD: src/bin/sh/Makefile,v 1.47 2007/11/18 01:53:07 jb Exp $ PROG= sh INSTALLFLAGS= -S @@ -22,7 +22,7 @@ CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # CFLAGS+= -g -DDEBUG=2 -WARNS?= 3 +WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ ==== //depot/projects/toestack/contrib/csup/mux.c#2 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include @@ -782,7 +782,7 @@ struct buf *buf; uint32_t winsize; uint16_t hdrsize, size, len; - int error, id, iovcnt, what; + int error, id, iovcnt, what = 0; m = (struct mux *)arg; again: ==== //depot/projects/toestack/contrib/less/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2005 Mark Nudelman +Copyright (C) 1984-2007 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/toestack/contrib/less/NEWS#3 (text+ko) ==== @@ -13,6 +13,17 @@ ====================================================================== + Major changes between "less" versions 409 and 415 + +* New --follow-name option makes F command follow the name of a file + rather than the file descriptor if an open file is renamed. + +* Make searching with -i/-I work correctly with non-ASCII text. + +* Fix DJGPP build. + +====================================================================== + Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. @@ -698,3 +709,4 @@ + ==== //depot/projects/toestack/contrib/less/README#3 (text+ko) ==== @@ -1,7 +1,7 @@ - Less, version 409 + Less, version 415 - This is the distribution of less, version 409, released 12 Oct 2007. + This is the distribution of less, version 415, released 15 Nov 2007. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or ==== //depot/projects/toestack/contrib/less/ch.c#3 (text+ko) ==== @@ -21,6 +21,12 @@ #include #endif +#if HAVE_STAT_INO +#include +extern dev_t curr_dev; +extern ino_t curr_ino; +#endif + typedef POSITION BLOCKNUM; public int ignore_eoi; @@ -98,6 +104,8 @@ extern int autobuf; extern int sigs; extern int secure; +extern int screen_trashed; +extern int follow_mode; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -195,7 +203,7 @@ */ if (!(ch_flags & CH_CANSEEK)) return ('?'); - if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) { error("seek error", NULL_PARG); clear_eol(); @@ -276,6 +284,25 @@ #endif #endif slept = TRUE; + +#if HAVE_STAT_INO + if (follow_mode == FOLLOW_NAME) + { + /* See whether the file's i-number has changed. + * If so, force the file to be closed and + * reopened. */ + struct stat st; + int r = stat(get_filename(curr_ifile), &st); + if (r == 0 && (st.st_ino != curr_ino || + st.st_dev != curr_dev)) + { + /* screen_trashed=2 causes + * make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + } +#endif } if (sigs) return (EOI); @@ -648,7 +675,7 @@ } #endif - if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK) { /* * Warning only; even if the seek fails for some reason, @@ -711,7 +738,7 @@ while (ch_bufhead != END_OF_CHAIN) { bp = ch_bufhead; - bp->next->prev = bp->prev;; + bp->next->prev = bp->prev; bp->prev->next = bp->next; free(bp); } @@ -737,7 +764,7 @@ return (0); } #endif - return (lseek(f, (off_t)1, 0) != BAD_LSEEK); + return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } /* ==== //depot/projects/toestack/contrib/less/command.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -558,6 +558,21 @@ } /* + * Discard any buffered file data. + */ + static void +clear_buffers() +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +/* * Make sure the screen is displayed. */ static void @@ -580,11 +595,20 @@ jump_loc(initial_scrpos.pos, initial_scrpos.ln); } else if (screen_trashed) { - int save_top_scroll; - save_top_scroll = top_scroll; + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; top_scroll = 1; + ignore_eoi = 0; + if (screen_trashed == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } repaint(); top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; } } @@ -1115,7 +1139,10 @@ ignore_eoi = 1; hit_eof = 0; while (!sigs) + { + make_display(); forward(1, 0, 0); + } ignore_eoi = 0; /* * This gets us back in "F mode" after processing @@ -1154,14 +1181,7 @@ * Flush buffers, then repaint screen. * Don't flush the buffers on a pipe! */ - if (ch_getflags() & CH_CANSEEK) - { - ch_flush(); - clr_linenum(); -#if HILITE_SEARCH - clr_hilite(); -#endif - } + clear_buffers(); /* FALLTHRU */ case A_REPAINT: /* @@ -1263,7 +1283,8 @@ /* * Define abbreviation for a commonly used sequence below. */ -#define DO_SEARCH() if (number <= 0) number = 1; \ +#define DO_SEARCH() \ + if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ multi_search((char *)NULL, (int) number); ==== //depot/projects/toestack/contrib/less/configure#3 (text+ko) ==== @@ -3611,6 +3611,73 @@ # Checks for general libraries. +{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5 +echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; } +if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); +int +main () +{ +return tgoto (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_tinfo_tgoto=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_tinfo_tgoto=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgoto" >&5 +echo "${ECHO_T}$ac_cv_lib_tinfo_tgoto" >&6; } +if test $ac_cv_lib_tinfo_tgoto = yes; then + have_tinfo=yes +else + have_tinfo=no +fi + { echo "$as_me:$LINENO: checking for initscr in -lxcurses" >&5 echo $ECHO_N "checking for initscr in -lxcurses... $ECHO_C" >&6; } if test "${ac_cv_lib_xcurses_initscr+set}" = set; then @@ -4246,6 +4313,61 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + termok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + termok=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -4895,7 +5017,8 @@ -for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h + +for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -5448,6 +5571,10 @@ + + + + # Checks for identifiers. { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } @@ -5656,7 +5783,56 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for st_ino in struct stat" >&5 +echo $ECHO_N "checking for st_ino in struct stat... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF +#define HAVE_STAT_INO 1 +_ACEOF +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # Checks for library functions. { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } @@ -6515,6 +6691,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: checking for ctype functions" >&5 echo $ECHO_N "checking for ctype functions... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF @@ -6569,6 +6746,57 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for wctype functions" >&5 +echo $ECHO_N "checking for wctype functions... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +iswlower(0); iswupper(0); towlower(0); towupper(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF +#define HAVE_WCTYPE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + # Checks for external variable ospeed in the termcap library. have_ospeed=no { echo "$as_me:$LINENO: checking termcap for ospeed" >&5 ==== //depot/projects/toestack/contrib/less/configure.ac#3 (text+ko) ==== @@ -23,6 +23,7 @@ AC_SYS_LARGEFILE # Checks for general libraries. +AC_CHECK_LIB(tinfo, tgoto, [have_tinfo=yes], [have_tinfo=no]) AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no]) AC_CHECK_LIB(ncursesw, initscr, [have_ncursesw=yes], [have_ncursesw=no]) AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no]) @@ -51,6 +52,20 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);], + [termok=yes], [termok=no]) + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -154,7 +169,7 @@ # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h]) +AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STAT @@ -182,6 +197,8 @@ [Define HAVE_VOID if your compiler supports the "void" type.]) AH_TEMPLATE([HAVE_CONST], [Define HAVE_CONST if your compiler supports the "const" modifier.]) +AH_TEMPLATE([HAVE_STAT_INO], + [Define HAVE_STAT_INO if your struct stat has st_ino and st_dev.]) AH_TEMPLATE([HAVE_TIME_T], [Define HAVE_TIME_T if your system supports the "time_t" type.]) AH_TEMPLATE([HAVE_STRERROR], @@ -204,6 +221,8 @@ [Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr.]) AH_TEMPLATE([HAVE_UPPER_LOWER], [Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower.]) +AH_TEMPLATE([HAVE_WCTYPE], + [Define HAVE_WCTYPE if you have iswupper, iswlower, towupper, towlower.]) AH_TEMPLATE([HAVE_SIGSET_T], [Define HAVE_SIGSET_T you have the sigset_t type.]) AH_TEMPLATE([HAVE_SIGEMPTYSET], @@ -224,6 +243,11 @@ AC_MSG_CHECKING(for time_t) AC_TRY_COMPILE([#include ], [time_t t = 0;], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)], [AC_MSG_RESULT(no)]) +AC_MSG_CHECKING(for st_ino in struct stat) +AC_TRY_COMPILE([#include +#include ], + [struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino;], + [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STAT_INO)], [AC_MSG_RESULT(no)]) # Checks for library functions. AC_TYPE_SIGNAL @@ -307,6 +331,7 @@ #include #include ], [setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)], [AC_MSG_RESULT(no)]) + AC_MSG_CHECKING(for ctype functions) AC_TRY_LINK([ #if HAVE_CTYPE_H @@ -314,6 +339,10 @@ #endif], [static int x; x = isupper(x); x = tolower(x); x = toupper(x);], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)], [AC_MSG_RESULT(no)]) +AC_MSG_CHECKING(for wctype functions) +AC_TRY_LINK([#include ], [iswlower(0); iswupper(0); towlower(0); towupper(0);], + [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_WCTYPE)], [AC_MSG_RESULT(no)]) + # Checks for external variable ospeed in the termcap library. have_ospeed=no AC_MSG_CHECKING(termcap for ospeed) ==== //depot/projects/toestack/contrib/less/decode.c#2 (text+ko) ==== @@ -682,7 +682,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 18 23:41:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F76F16A46B; Sun, 18 Nov 2007 23:41: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 2F7DD16A468 for ; Sun, 18 Nov 2007 23:41:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 06B2D13C458 for ; Sun, 18 Nov 2007 23:41:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAINfkws003322 for ; Sun, 18 Nov 2007 23:41:46 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAINfZPw003319 for perforce@freebsd.org; Sun, 18 Nov 2007 23:41:35 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Nov 2007 23:41:35 GMT Message-Id: <200711182341.lAINfZPw003319@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Nov 2007 23:41:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=129225 Change 129225 by kmacy@freefall_kmacy_iwarp on 2007/11/18 23:41:07 IFethng 129223 Affected files ... .. //depot/projects/iwarp/ObsoleteFiles.inc#4 integrate .. //depot/projects/iwarp/UPDATING#3 integrate .. //depot/projects/iwarp/bin/ln/ln.1#2 integrate .. //depot/projects/iwarp/bin/ln/ln.c#2 integrate .. //depot/projects/iwarp/bin/sh/Makefile#2 integrate .. //depot/projects/iwarp/contrib/csup/mux.c#2 integrate .. //depot/projects/iwarp/contrib/gdb/gdb/i386fbsd-nat.c#2 integrate .. //depot/projects/iwarp/contrib/less/FREEBSD-upgrade#1 branch .. //depot/projects/iwarp/contrib/less/LICENSE#2 integrate .. //depot/projects/iwarp/contrib/less/Makefile.dsm#2 delete .. //depot/projects/iwarp/contrib/less/NEWS#2 integrate .. //depot/projects/iwarp/contrib/less/README#2 integrate .. //depot/projects/iwarp/contrib/less/ch.c#2 integrate .. //depot/projects/iwarp/contrib/less/command.c#2 integrate .. //depot/projects/iwarp/contrib/less/configure#2 integrate .. //depot/projects/iwarp/contrib/less/configure.ac#2 integrate .. //depot/projects/iwarp/contrib/less/decode.c#2 integrate .. //depot/projects/iwarp/contrib/less/defines.ds#2 integrate .. //depot/projects/iwarp/contrib/less/defines.h.in#2 integrate .. //depot/projects/iwarp/contrib/less/defines.o2#2 integrate .. //depot/projects/iwarp/contrib/less/defines.o9#2 integrate .. //depot/projects/iwarp/contrib/less/defines.wn#2 integrate .. //depot/projects/iwarp/contrib/less/edit.c#2 integrate .. //depot/projects/iwarp/contrib/less/filename.c#2 integrate .. //depot/projects/iwarp/contrib/less/funcs.h#2 integrate .. //depot/projects/iwarp/contrib/less/less.h#2 integrate .. //depot/projects/iwarp/contrib/less/less.man#2 integrate .. //depot/projects/iwarp/contrib/less/less.nro#2 integrate .. //depot/projects/iwarp/contrib/less/lessecho.man#2 integrate .. //depot/projects/iwarp/contrib/less/lessecho.nro#2 integrate .. //depot/projects/iwarp/contrib/less/lesskey.man#2 integrate .. //depot/projects/iwarp/contrib/less/lesskey.nro#2 integrate .. //depot/projects/iwarp/contrib/less/line.c#2 integrate .. //depot/projects/iwarp/contrib/less/optfunc.c#2 integrate .. //depot/projects/iwarp/contrib/less/opttbl.c#2 integrate .. //depot/projects/iwarp/contrib/less/screen.c#2 integrate .. //depot/projects/iwarp/contrib/less/search.c#2 integrate .. //depot/projects/iwarp/contrib/less/tags.c#2 integrate .. //depot/projects/iwarp/contrib/less/version.c#2 integrate .. //depot/projects/iwarp/etc/etc.amd64/ttys#2 integrate .. //depot/projects/iwarp/etc/etc.arm/ttys#2 integrate .. //depot/projects/iwarp/etc/etc.i386/ttys#2 integrate .. //depot/projects/iwarp/etc/etc.ia64/ttys#2 integrate .. //depot/projects/iwarp/etc/etc.powerpc/ttys#2 integrate .. //depot/projects/iwarp/etc/etc.sparc64/ttys#2 integrate .. //depot/projects/iwarp/etc/freebsd-update.conf#2 integrate .. //depot/projects/iwarp/etc/rc.d/hostapd#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/cc/cc_tools/Makefile#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/arch/arm/armfbsd-tdep.c#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/arch/arm/init.c#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/arch/arm/nm-fbsd.h#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/iwarp/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/iwarp/lib/Makefile#3 integrate .. //depot/projects/iwarp/lib/libc/net/Makefile.inc#2 integrate .. //depot/projects/iwarp/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/iwarp/lib/libsdp/search.c#2 integrate .. //depot/projects/iwarp/lib/libthread_db/arch/arm/libpthread_md.c#1 branch .. //depot/projects/iwarp/lib/libutil/expand_number.3#2 integrate .. //depot/projects/iwarp/lib/libutil/expand_number.c#2 integrate .. //depot/projects/iwarp/lib/libutil/libutil.h#2 integrate .. //depot/projects/iwarp/release/Makefile#3 integrate .. //depot/projects/iwarp/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate .. //depot/projects/iwarp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#4 integrate .. //depot/projects/iwarp/release/picobsd/bridge/PICOBSD#2 integrate .. //depot/projects/iwarp/release/picobsd/bridge/crunch.conf#2 integrate .. //depot/projects/iwarp/release/picobsd/build/Makefile.conf#2 integrate .. //depot/projects/iwarp/release/picobsd/build/picobsd#2 integrate .. //depot/projects/iwarp/release/picobsd/tinyware/login/Makefile#2 integrate .. //depot/projects/iwarp/sbin/geom/class/journal/gjournal.8#2 integrate .. //depot/projects/iwarp/sbin/geom/class/virstor/geom_virstor.c#2 integrate .. //depot/projects/iwarp/sbin/ipf/ipftest/Makefile#2 integrate .. //depot/projects/iwarp/sbin/ipfw/ipfw.8#3 integrate .. //depot/projects/iwarp/sbin/mdconfig/mdconfig.8#3 integrate .. //depot/projects/iwarp/sbin/mdconfig/mdconfig.c#2 integrate .. //depot/projects/iwarp/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/iwarp/sbin/spppcontrol/spppcontrol.c#2 integrate .. //depot/projects/iwarp/share/man/man4/Makefile#4 integrate .. //depot/projects/iwarp/share/man/man4/asmc.4#1 branch .. //depot/projects/iwarp/share/man/man4/ipw.4#2 integrate .. //depot/projects/iwarp/share/man/man4/iwi.4#2 integrate .. //depot/projects/iwarp/share/man/man4/wlan.4#2 integrate .. //depot/projects/iwarp/share/man/man4/wpi.4#2 integrate .. //depot/projects/iwarp/share/man/man5/freebsd-update.conf.5#2 integrate .. //depot/projects/iwarp/share/man/man9/Makefile#4 integrate .. //depot/projects/iwarp/share/man/man9/rmlock.9#2 integrate .. //depot/projects/iwarp/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/iwarp/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/iwarp/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/iwarp/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/iwarp/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/iwarp/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/arm/arm/pmap.c#4 integrate .. //depot/projects/iwarp/sys/arm/arm/trap.c#2 integrate .. //depot/projects/iwarp/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/arm/conf/HL200#1 branch .. //depot/projects/iwarp/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/iwarp/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/iwarp/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/iwarp/sys/cam/scsi/scsi_all.h#2 integrate .. //depot/projects/iwarp/sys/conf/files#5 integrate .. //depot/projects/iwarp/sys/conf/files.amd64#4 integrate .. //depot/projects/iwarp/sys/conf/files.i386#4 integrate .. //depot/projects/iwarp/sys/conf/files.pc98#3 integrate .. //depot/projects/iwarp/sys/conf/kmod.mk#2 integrate .. //depot/projects/iwarp/sys/dev/agp/agp.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_ali.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_amd.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_amd64.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_ati.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_i810.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_if.m#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_intel.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_nvidia.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_sis.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agp_via.c#1 branch .. //depot/projects/iwarp/sys/dev/agp/agppriv.h#1 branch .. //depot/projects/iwarp/sys/dev/agp/agpreg.h#1 branch .. //depot/projects/iwarp/sys/dev/agp/agpvar.h#1 branch .. //depot/projects/iwarp/sys/dev/an/if_an.c#2 integrate .. //depot/projects/iwarp/sys/dev/an/if_anreg.h#2 integrate .. //depot/projects/iwarp/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/iwarp/sys/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/iwarp/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/iwarp/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/iwarp/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/iwarp/sys/dev/dc/dcphy.c#2 integrate .. //depot/projects/iwarp/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/iwarp/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/iwarp/sys/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/iwarp/sys/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/iwarp/sys/dev/ichwd/ichwd.h#2 integrate .. //depot/projects/iwarp/sys/dev/mii/amphy.c#2 integrate .. //depot/projects/iwarp/sys/dev/mii/e1000phy.c#3 integrate .. //depot/projects/iwarp/sys/dev/mii/nsphy.c#2 integrate .. //depot/projects/iwarp/sys/dev/mii/rlphy.c#2 integrate .. //depot/projects/iwarp/sys/dev/mii/tdkphy.c#2 integrate .. //depot/projects/iwarp/sys/dev/mii/ukphy_subr.c#2 integrate .. //depot/projects/iwarp/sys/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/iwarp/sys/dev/pci/pci.c#2 integrate .. //depot/projects/iwarp/sys/dev/re/if_re.c#2 integrate .. //depot/projects/iwarp/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/iwarp/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/iwarp/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/iwarp/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/iwarp/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/iwarp/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/iwarp/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/iwarp/sys/fs/ntfs/ntfs_ihash.c#2 integrate .. //depot/projects/iwarp/sys/fs/ntfs/ntfs_vfsops.c#3 integrate .. //depot/projects/iwarp/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/iwarp/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/iwarp/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/iwarp/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/iwarp/sys/geom/label/g_label_reiserfs.c#2 integrate .. //depot/projects/iwarp/sys/i386/bios/apm.c#3 integrate .. //depot/projects/iwarp/sys/i386/i386/locore.s#2 integrate .. //depot/projects/iwarp/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/iwarp/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/iwarp/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/iwarp/sys/i386/i386/trap.c#2 integrate .. //depot/projects/iwarp/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/i386/include/pmap.h#2 integrate .. //depot/projects/iwarp/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/iwarp/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/iwarp/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/iwarp/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/kern/imgact_elf.c#3 integrate .. //depot/projects/iwarp/sys/kern/init_main.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_clock.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_exec.c#4 integrate .. //depot/projects/iwarp/sys/kern/kern_fork.c#4 integrate .. //depot/projects/iwarp/sys/kern/kern_kse.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_kthread.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_linker.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_lock.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_proc.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_rmlock.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_switch.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_sx.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_synch.c#2 integrate .. //depot/projects/iwarp/sys/kern/kern_thr.c#3 integrate .. //depot/projects/iwarp/sys/kern/kern_thread.c#4 integrate .. //depot/projects/iwarp/sys/kern/linker_if.m#2 integrate .. //depot/projects/iwarp/sys/kern/p1003_1b.c#2 integrate .. //depot/projects/iwarp/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/iwarp/sys/kern/sched_ule.c#3 integrate .. //depot/projects/iwarp/sys/kern/subr_pcpu.c#3 integrate .. //depot/projects/iwarp/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/iwarp/sys/kern/subr_trap.c#2 integrate .. //depot/projects/iwarp/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/iwarp/sys/kern/subr_witness.c#2 integrate .. //depot/projects/iwarp/sys/kern/sys_generic.c#2 integrate .. //depot/projects/iwarp/sys/modules/agp/Makefile#2 integrate .. //depot/projects/iwarp/sys/net/if.c#3 integrate .. //depot/projects/iwarp/sys/net/if_var.h#2 integrate .. //depot/projects/iwarp/sys/net80211/ieee80211.h#3 integrate .. //depot/projects/iwarp/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/iwarp/sys/netgraph/ng_base.c#4 integrate .. //depot/projects/iwarp/sys/netinet/ip_dummynet.c#3 integrate .. //depot/projects/iwarp/sys/netipsec/keysock.c#2 integrate .. //depot/projects/iwarp/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/iwarp/sys/pci/agp.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_ali.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_amd.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_amd64.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_ati.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_i810.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_if.m#2 delete .. //depot/projects/iwarp/sys/pci/agp_intel.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_nvidia.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_sis.c#3 delete .. //depot/projects/iwarp/sys/pci/agp_via.c#3 delete .. //depot/projects/iwarp/sys/pci/agppriv.h#3 delete .. //depot/projects/iwarp/sys/pci/agpreg.h#2 delete .. //depot/projects/iwarp/sys/pci/agpvar.h#2 delete .. //depot/projects/iwarp/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/clock.c#2 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/mmu_if.m#2 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/mmu_oea.c#2 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/iwarp/sys/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/iwarp/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/iwarp/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/iwarp/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/iwarp/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/iwarp/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/iwarp/sys/sun4v/sun4v/vm_machdep.c#2 integrate .. //depot/projects/iwarp/sys/sys/eventhandler.h#2 integrate .. //depot/projects/iwarp/sys/sys/linker.h#3 integrate .. //depot/projects/iwarp/sys/sys/lock.h#3 integrate .. //depot/projects/iwarp/sys/sys/param.h#4 integrate .. //depot/projects/iwarp/sys/sys/proc.h#4 integrate .. //depot/projects/iwarp/sys/vm/pmap.h#3 integrate .. //depot/projects/iwarp/sys/vm/vm_object.c#3 integrate .. //depot/projects/iwarp/tools/regression/priv/Makefile#2 integrate .. //depot/projects/iwarp/tools/regression/priv/main.c#2 integrate .. //depot/projects/iwarp/tools/regression/priv/main.h#2 integrate .. //depot/projects/iwarp/tools/regression/priv/priv_netinet_ipsec.c#1 branch .. //depot/projects/iwarp/tools/sched/schedgraph.py#2 integrate .. //depot/projects/iwarp/usr.bin/fstat/zfs/zfs.c#2 integrate .. //depot/projects/iwarp/usr.bin/less/defines.h#2 integrate .. //depot/projects/iwarp/usr.bin/lsvfs/lsvfs.c#2 integrate .. //depot/projects/iwarp/usr.bin/tee/tee.1#2 integrate .. //depot/projects/iwarp/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/iwarp/usr.bin/write/write.c#2 integrate .. //depot/projects/iwarp/usr.sbin/IPXrouted/trace.c#2 integrate .. //depot/projects/iwarp/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/iwarp/usr.sbin/arp/Makefile#2 integrate .. //depot/projects/iwarp/usr.sbin/freebsd-update/freebsd-update.8#2 integrate .. //depot/projects/iwarp/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate .. //depot/projects/iwarp/usr.sbin/pciconf/cap.c#4 integrate .. //depot/projects/iwarp/usr.sbin/ppp/chap.h#2 integrate .. //depot/projects/iwarp/usr.sbin/ppp/physical.h#2 integrate .. //depot/projects/iwarp/usr.sbin/sa/db.c#2 integrate Differences ... ==== //depot/projects/iwarp/ObsoleteFiles.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.118 2007/11/16 04:03:08 marcel Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -16,6 +16,12 @@ # 20071108: Removed very crunch OLDCARD support file OLD_FILES+=etc/defaults/pccard.conf +# 20071104: Removed bsdlabel, fdisk and gpt from rescue on ia64. +.if ${TARGET_ARCH} == "ia64" +OLD_FILES+=rescue/bsdlabel +OLD_FILES+=rescue/fdisk +OLD_FILES+=rescue/gpt +.endif # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/iwarp/UPDATING#3 (text+ko) ==== @@ -21,6 +21,17 @@ developers choose to disable these features on build machines to maximize performance. +20071118: + The AT keyboard emulation of sunkbd(4) has been turned on + by default. In order to make the special symbols of the Sun + keyboards driven by sunkbd(4) work under X these now have + to be configured the same way as Sun USB keyboards driven + by ukbd(4) (which also does AT keyboard emulation), f.e.: + + Option "XkbLayout" "us" + Option "XkbRules" "xorg" + Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" + 20071024: It has been decided that it is desirable to provide ABI backwards compatibility to the FreeBSD 4/5/6 versions of the @@ -934,4 +945,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.511 2007/10/24 20:51:43 marius Exp $ +$FreeBSD: src/UPDATING,v 1.512 2007/11/18 18:11:16 marius Exp $ ==== //depot/projects/iwarp/bin/ln/ln.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.31 2006/02/14 11:08:05 glebius Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.32 2007/11/17 21:01:22 ru Exp $ .\" .Dd February 14, 2006 .Dt LN 1 @@ -41,11 +41,15 @@ .Nd make links .Sh SYNOPSIS .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file ... .Ar target_dir .Nm link ==== //depot/projects/iwarp/bin/ln/ln.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.34 2006/02/14 11:08:05 glebius Exp $"); +__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.36 2007/11/17 21:01:22 ru Exp $"); #include #include @@ -69,7 +69,7 @@ main(int argc, char *argv[]) { struct stat sb; - char *p, *sourcedir; + char *p, *targetdir; int ch, exitval; /* @@ -134,34 +134,34 @@ case 0: usage(); /* NOTREACHED */ - case 1: /* ln target */ + case 1: /* ln source */ exit(linkit(argv[0], ".", 1)); - case 2: /* ln target source */ + case 2: /* ln source target */ exit(linkit(argv[0], argv[1], 0)); default: ; } - /* ln target1 target2 directory */ - sourcedir = argv[argc - 1]; - if (hflag && lstat(sourcedir, &sb) == 0 && S_ISLNK(sb.st_mode)) { + /* ln source1 source2 directory */ + targetdir = argv[argc - 1]; + if (hflag && lstat(targetdir, &sb) == 0 && S_ISLNK(sb.st_mode)) { /* * We were asked not to follow symlinks, but found one at * the target--simulate "not a directory" error */ errno = ENOTDIR; - err(1, "%s", sourcedir); + err(1, "%s", targetdir); } - if (stat(sourcedir, &sb)) - err(1, "%s", sourcedir); + if (stat(targetdir, &sb)) + err(1, "%s", targetdir); if (!S_ISDIR(sb.st_mode)) usage(); - for (exitval = 0; *argv != sourcedir; ++argv) - exitval |= linkit(*argv, sourcedir, 1); + for (exitval = 0; *argv != targetdir; ++argv) + exitval |= linkit(*argv, targetdir, 1); exit(exitval); } int -linkit(const char *target, const char *source, int isdir) +linkit(const char *source, const char *target, int isdir) { struct stat sb; const char *p; @@ -169,57 +169,57 @@ char path[PATH_MAX]; if (!sflag) { - /* If target doesn't exist, quit now. */ - if (stat(target, &sb)) { - warn("%s", target); + /* If source doesn't exist, quit now. */ + if (stat(source, &sb)) { + warn("%s", source); return (1); } /* Only symbolic links to directories. */ if (S_ISDIR(sb.st_mode)) { errno = EISDIR; - warn("%s", target); + warn("%s", source); return (1); } } /* - * If the source is a directory (and not a symlink if hflag), - * append the target's name. + * If the target is a directory (and not a symlink if hflag), + * append the source's name. */ if (isdir || - (lstat(source, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(source, &sb) == 0 && S_ISDIR(sb.st_mode))) { - if ((p = strrchr(target, '/')) == NULL) - p = target; + (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + if ((p = strrchr(source, '/')) == NULL) + p = source; else ++p; - if (snprintf(path, sizeof(path), "%s/%s", source, p) >= + if (snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; - warn("%s", target); + warn("%s", source); return (1); } - source = path; + target = path; } - exists = !lstat(source, &sb); + exists = !lstat(target, &sb); /* * If the file exists, then unlink it forcibly if -f was specified * and interactively if -i was specified. */ if (fflag && exists) { if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } else if (iflag && exists) { fflush(stdout); - fprintf(stderr, "replace %s? ", source); + fprintf(stderr, "replace %s? ", target); first = ch = getchar(); while(ch != '\n' && ch != EOF) @@ -230,23 +230,23 @@ } if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } /* Attempt the link. */ - if ((*linkf)(target, source)) { - warn("%s", source); + if ((*linkf)(source, target)) { + warn("%s", target); return (1); } if (vflag) - (void)printf("%s %c> %s\n", source, linkch, target); + (void)printf("%s %c> %s\n", target, linkch, source); return (0); } @@ -254,8 +254,8 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-Ffhinsv] source_file [target_file]", - " ln [-Ffhinsv] source_file ... target_dir", + "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } ==== //depot/projects/iwarp/bin/sh/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $FreeBSD: src/bin/sh/Makefile,v 1.46 2006/04/17 17:55:11 schweikh Exp $ +# $FreeBSD: src/bin/sh/Makefile,v 1.47 2007/11/18 01:53:07 jb Exp $ PROG= sh INSTALLFLAGS= -S @@ -22,7 +22,7 @@ CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # CFLAGS+= -g -DDEBUG=2 -WARNS?= 3 +WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ ==== //depot/projects/iwarp/contrib/csup/mux.c#2 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include @@ -782,7 +782,7 @@ struct buf *buf; uint32_t winsize; uint16_t hdrsize, size, len; - int error, id, iovcnt, what; + int error, id, iovcnt, what = 0; m = (struct mux *)arg; again: ==== //depot/projects/iwarp/contrib/gdb/gdb/i386fbsd-nat.c#2 (text+ko) ==== @@ -91,7 +91,7 @@ #ifdef KERN_PS_STRINGS { int mib[2]; - int ps_strings; + u_long ps_strings; size_t len; mib[0] = CTL_KERN; ==== //depot/projects/iwarp/contrib/less/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2005 Mark Nudelman +Copyright (C) 1984-2007 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/iwarp/contrib/less/NEWS#2 (text+ko) ==== @@ -13,6 +13,17 @@ ====================================================================== + Major changes between "less" versions 409 and 415 + +* New --follow-name option makes F command follow the name of a file + rather than the file descriptor if an open file is renamed. + +* Make searching with -i/-I work correctly with non-ASCII text. + +* Fix DJGPP build. + +====================================================================== + Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. @@ -698,3 +709,4 @@ + ==== //depot/projects/iwarp/contrib/less/README#2 (text+ko) ==== @@ -1,7 +1,7 @@ - Less, version 409 + Less, version 415 - This is the distribution of less, version 409, released 12 Oct 2007. + This is the distribution of less, version 415, released 15 Nov 2007. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or ==== //depot/projects/iwarp/contrib/less/ch.c#2 (text+ko) ==== @@ -21,6 +21,12 @@ #include #endif +#if HAVE_STAT_INO +#include +extern dev_t curr_dev; +extern ino_t curr_ino; +#endif + typedef POSITION BLOCKNUM; public int ignore_eoi; @@ -98,6 +104,8 @@ extern int autobuf; extern int sigs; extern int secure; +extern int screen_trashed; +extern int follow_mode; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -195,7 +203,7 @@ */ if (!(ch_flags & CH_CANSEEK)) return ('?'); - if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) { error("seek error", NULL_PARG); clear_eol(); @@ -276,6 +284,25 @@ #endif #endif slept = TRUE; + +#if HAVE_STAT_INO + if (follow_mode == FOLLOW_NAME) + { + /* See whether the file's i-number has changed. + * If so, force the file to be closed and + * reopened. */ + struct stat st; + int r = stat(get_filename(curr_ifile), &st); + if (r == 0 && (st.st_ino != curr_ino || + st.st_dev != curr_dev)) + { + /* screen_trashed=2 causes + * make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + } +#endif } if (sigs) return (EOI); @@ -648,7 +675,7 @@ } #endif - if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK) { /* * Warning only; even if the seek fails for some reason, @@ -711,7 +738,7 @@ while (ch_bufhead != END_OF_CHAIN) { bp = ch_bufhead; - bp->next->prev = bp->prev;; + bp->next->prev = bp->prev; bp->prev->next = bp->next; free(bp); } @@ -737,7 +764,7 @@ return (0); } #endif - return (lseek(f, (off_t)1, 0) != BAD_LSEEK); + return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } /* ==== //depot/projects/iwarp/contrib/less/command.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -558,6 +558,21 @@ } /* + * Discard any buffered file data. + */ + static void +clear_buffers() +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +/* * Make sure the screen is displayed. */ static void @@ -580,11 +595,20 @@ jump_loc(initial_scrpos.pos, initial_scrpos.ln); } else if (screen_trashed) { - int save_top_scroll; - save_top_scroll = top_scroll; + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; top_scroll = 1; + ignore_eoi = 0; + if (screen_trashed == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } repaint(); top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; } } @@ -1115,7 +1139,10 @@ ignore_eoi = 1; hit_eof = 0; while (!sigs) + { + make_display(); forward(1, 0, 0); + } ignore_eoi = 0; /* * This gets us back in "F mode" after processing @@ -1154,14 +1181,7 @@ * Flush buffers, then repaint screen. * Don't flush the buffers on a pipe! */ - if (ch_getflags() & CH_CANSEEK) - { - ch_flush(); - clr_linenum(); -#if HILITE_SEARCH - clr_hilite(); -#endif - } + clear_buffers(); /* FALLTHRU */ case A_REPAINT: /* @@ -1263,7 +1283,8 @@ /* * Define abbreviation for a commonly used sequence below. */ -#define DO_SEARCH() if (number <= 0) number = 1; \ +#define DO_SEARCH() \ + if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ multi_search((char *)NULL, (int) number); ==== //depot/projects/iwarp/contrib/less/configure#2 (text+ko) ==== @@ -3611,6 +3611,73 @@ # Checks for general libraries. +{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5 +echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; } +if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); +int +main () +{ +return tgoto (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_tinfo_tgoto=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_tinfo_tgoto=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgoto" >&5 +echo "${ECHO_T}$ac_cv_lib_tinfo_tgoto" >&6; } +if test $ac_cv_lib_tinfo_tgoto = yes; then + have_tinfo=yes +else + have_tinfo=no +fi + { echo "$as_me:$LINENO: checking for initscr in -lxcurses" >&5 echo $ECHO_N "checking for initscr in -lxcurses... $ECHO_C" >&6; } if test "${ac_cv_lib_xcurses_initscr+set}" = set; then @@ -4246,6 +4313,61 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + termok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + termok=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -4895,7 +5017,8 @@ -for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h + +for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -5448,6 +5571,10 @@ + + + + # Checks for identifiers. { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } @@ -5656,7 +5783,56 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for st_ino in struct stat" >&5 +echo $ECHO_N "checking for st_ino in struct stat... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino; + ; + return 0; +} >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 19 07:53:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1E6116A474; Mon, 19 Nov 2007 07:53: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 9449816A46B for ; Mon, 19 Nov 2007 07:53:44 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 673BB13C503 for ; Mon, 19 Nov 2007 07:53:44 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAJ7riMx050404 for ; Mon, 19 Nov 2007 07:53:44 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAJ7rf9w050399 for perforce@freebsd.org; Mon, 19 Nov 2007 07:53:41 GMT (envelope-from delphij@freebsd.org) Date: Mon, 19 Nov 2007 07:53:41 GMT Message-Id: <200711190753.lAJ7rf9w050399@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 129234 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Nov 2007 07:53:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=129234 Change 129234 by delphij@charlie on 2007/11/19 07:53:29 IFC Affected files ... .. //depot/projects/delphij_fork/ObsoleteFiles.inc#13 integrate .. //depot/projects/delphij_fork/UPDATING#6 integrate .. //depot/projects/delphij_fork/bin/ln/ln.1#2 integrate .. //depot/projects/delphij_fork/bin/ln/ln.c#2 integrate .. //depot/projects/delphij_fork/bin/sh/Makefile#2 integrate .. //depot/projects/delphij_fork/contrib/csup/mux.c#2 integrate .. //depot/projects/delphij_fork/contrib/gdb/gdb/i386fbsd-nat.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/FREEBSD-upgrade#1 branch .. //depot/projects/delphij_fork/contrib/less/LICENSE#2 integrate .. //depot/projects/delphij_fork/contrib/less/Makefile.dsm#2 delete .. //depot/projects/delphij_fork/contrib/less/NEWS#4 integrate .. //depot/projects/delphij_fork/contrib/less/README#4 integrate .. //depot/projects/delphij_fork/contrib/less/ch.c#3 integrate .. //depot/projects/delphij_fork/contrib/less/command.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/configure#3 integrate .. //depot/projects/delphij_fork/contrib/less/configure.ac#3 integrate .. //depot/projects/delphij_fork/contrib/less/decode.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/defines.ds#2 integrate .. //depot/projects/delphij_fork/contrib/less/defines.h.in#2 integrate .. //depot/projects/delphij_fork/contrib/less/defines.o2#2 integrate .. //depot/projects/delphij_fork/contrib/less/defines.o9#2 integrate .. //depot/projects/delphij_fork/contrib/less/defines.wn#2 integrate .. //depot/projects/delphij_fork/contrib/less/edit.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/filename.c#3 integrate .. //depot/projects/delphij_fork/contrib/less/funcs.h#3 integrate .. //depot/projects/delphij_fork/contrib/less/less.h#3 integrate .. //depot/projects/delphij_fork/contrib/less/less.man#4 integrate .. //depot/projects/delphij_fork/contrib/less/less.nro#4 integrate .. //depot/projects/delphij_fork/contrib/less/lessecho.man#4 integrate .. //depot/projects/delphij_fork/contrib/less/lessecho.nro#4 integrate .. //depot/projects/delphij_fork/contrib/less/lesskey.man#4 integrate .. //depot/projects/delphij_fork/contrib/less/lesskey.nro#4 integrate .. //depot/projects/delphij_fork/contrib/less/line.c#3 integrate .. //depot/projects/delphij_fork/contrib/less/optfunc.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/opttbl.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/screen.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/search.c#3 integrate .. //depot/projects/delphij_fork/contrib/less/tags.c#2 integrate .. //depot/projects/delphij_fork/contrib/less/version.c#4 integrate .. //depot/projects/delphij_fork/etc/etc.amd64/ttys#2 integrate .. //depot/projects/delphij_fork/etc/etc.arm/ttys#3 integrate .. //depot/projects/delphij_fork/etc/etc.i386/ttys#2 integrate .. //depot/projects/delphij_fork/etc/etc.ia64/ttys#2 integrate .. //depot/projects/delphij_fork/etc/etc.powerpc/ttys#2 integrate .. //depot/projects/delphij_fork/etc/etc.sparc64/ttys#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/hostapd#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/cc/cc_tools/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/arch/arm/armfbsd-tdep.c#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/arch/arm/init.c#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/arch/arm/nm-fbsd.h#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/delphij_fork/lib/Makefile#4 integrate .. //depot/projects/delphij_fork/lib/libc/net/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/delphij_fork/lib/libkse/thread/thr_spec.c#3 integrate .. //depot/projects/delphij_fork/lib/libsdp/search.c#2 integrate .. //depot/projects/delphij_fork/lib/libthread_db/arch/arm/libpthread_md.c#1 branch .. //depot/projects/delphij_fork/lib/libutil/expand_number.3#4 integrate .. //depot/projects/delphij_fork/lib/libutil/expand_number.c#3 integrate .. //depot/projects/delphij_fork/lib/libutil/libutil.h#3 integrate .. //depot/projects/delphij_fork/release/Makefile#6 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/hardware/article.sgml#6 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#15 integrate .. //depot/projects/delphij_fork/release/picobsd/bridge/PICOBSD#2 integrate .. //depot/projects/delphij_fork/release/picobsd/bridge/crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/picobsd/build/Makefile.conf#2 integrate .. //depot/projects/delphij_fork/release/picobsd/build/picobsd#2 integrate .. //depot/projects/delphij_fork/release/picobsd/tinyware/login/Makefile#2 integrate .. //depot/projects/delphij_fork/sbin/devd/Makefile#2 integrate .. //depot/projects/delphij_fork/sbin/geom/class/journal/gjournal.8#2 integrate .. //depot/projects/delphij_fork/sbin/geom/class/virstor/geom_virstor.c#2 integrate .. //depot/projects/delphij_fork/sbin/ipf/ipftest/Makefile#2 integrate .. //depot/projects/delphij_fork/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/delphij_fork/sbin/mdconfig/mdconfig.c#2 integrate .. //depot/projects/delphij_fork/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/delphij_fork/sbin/spppcontrol/spppcontrol.c#2 integrate .. //depot/projects/delphij_fork/share/man/man4/Makefile#8 integrate .. //depot/projects/delphij_fork/share/man/man4/asmc.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ipw.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/iwi.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/wlan.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/wpi.4#2 integrate .. //depot/projects/delphij_fork/share/man/man9/Makefile#5 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/machdep.c#4 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/trap.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/delphij_fork/sys/arm/arm/trap.c#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/delphij_fork/sys/arm/conf/HL200#1 branch .. //depot/projects/delphij_fork/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/delphij_fork/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/delphij_fork/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/delphij_fork/sys/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/delphij_fork/sys/conf/files#11 integrate .. //depot/projects/delphij_fork/sys/conf/files.amd64#6 integrate .. //depot/projects/delphij_fork/sys/conf/files.i386#6 integrate .. //depot/projects/delphij_fork/sys/conf/files.pc98#3 integrate .. //depot/projects/delphij_fork/sys/conf/kmod.mk#3 integrate .. //depot/projects/delphij_fork/sys/dev/agp/agp.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_ali.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_amd.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_amd64.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_ati.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_i810.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_if.m#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_intel.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_nvidia.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_sis.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agp_via.c#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agppriv.h#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agpreg.h#1 branch .. //depot/projects/delphij_fork/sys/dev/agp/agpvar.h#1 branch .. //depot/projects/delphij_fork/sys/dev/an/if_an.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/an/if_anreg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/dc/dcphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/ichwd/ichwd.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/amphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mii/e1000phy.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mii/nsphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mii/rlphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mii/tdkphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mii/ukphy_subr.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfe.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/pci/pci.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/ehci_pci.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#13 integrate .. //depot/projects/delphij_fork/sys/fs/ntfs/ntfs_ihash.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/ntfs/ntfs_vfsops.c#4 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs.h#6 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_subr.c#6 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vfsops.c#9 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vnops.c#6 integrate .. //depot/projects/delphij_fork/sys/geom/label/g_label_reiserfs.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/bios/apm.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/i386/locore.s#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/delphij_fork/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/delphij_fork/sys/i386/i386/trap.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/include/pmap.h#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/machdep.c#5 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/pmap.c#5 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/imgact_elf.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/init_main.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_clock.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_exec.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/kern_fork.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/kern_kse.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/kern_kthread.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_linker.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_lock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_proc.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_rmlock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_switch.c#7 integrate .. //depot/projects/delphij_fork/sys/kern/kern_sx.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_synch.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_thr.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_thread.c#7 integrate .. //depot/projects/delphij_fork/sys/kern/linker_if.m#2 integrate .. //depot/projects/delphij_fork/sys/kern/p1003_1b.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/sched_ule.c#9 integrate .. //depot/projects/delphij_fork/sys/kern/subr_pcpu.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/subr_trap.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_witness.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/sys_generic.c#3 integrate .. //depot/projects/delphij_fork/sys/modules/agp/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/delphij_fork/sys/netgraph/netgraph.h#4 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_base.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_dummynet.c#6 integrate .. //depot/projects/delphij_fork/sys/netipsec/keysock.c#2 integrate .. //depot/projects/delphij_fork/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/pci/agp.c#4 delete .. //depot/projects/delphij_fork/sys/pci/agp_ali.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_amd.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_amd64.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_ati.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_i810.c#5 delete .. //depot/projects/delphij_fork/sys/pci/agp_if.m#2 delete .. //depot/projects/delphij_fork/sys/pci/agp_intel.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_nvidia.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_sis.c#3 delete .. //depot/projects/delphij_fork/sys/pci/agp_via.c#4 delete .. //depot/projects/delphij_fork/sys/pci/agppriv.h#4 delete .. //depot/projects/delphij_fork/sys/pci/agpreg.h#3 delete .. //depot/projects/delphij_fork/sys/pci/agpvar.h#2 delete .. //depot/projects/delphij_fork/sys/powerpc/include/atomic.h#3 integrate .. //depot/projects/delphij_fork/sys/powerpc/include/md_var.h#3 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/clock.c#2 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/mmu_if.m#2 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/mmu_oea.c#2 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/delphij_fork/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/sun4v/sun4v/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/sys/eventhandler.h#2 integrate .. //depot/projects/delphij_fork/sys/sys/linker.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/lock.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/param.h#5 integrate .. //depot/projects/delphij_fork/sys/sys/proc.h#8 integrate .. //depot/projects/delphij_fork/sys/vm/pmap.h#3 integrate .. //depot/projects/delphij_fork/sys/vm/vm_object.c#4 integrate .. //depot/projects/delphij_fork/tools/regression/priv/Makefile#3 integrate .. //depot/projects/delphij_fork/tools/regression/priv/main.c#3 integrate .. //depot/projects/delphij_fork/tools/regression/priv/main.h#3 integrate .. //depot/projects/delphij_fork/tools/regression/priv/priv_netinet_ipsec.c#1 branch .. //depot/projects/delphij_fork/tools/sched/schedgraph.py#3 integrate .. //depot/projects/delphij_fork/usr.bin/fstat/zfs/zfs.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/less/defines.h#2 integrate .. //depot/projects/delphij_fork/usr.bin/lsvfs/lsvfs.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/tee/tee.1#2 integrate .. //depot/projects/delphij_fork/usr.bin/tip/tip/Makefile#2 integrate .. //depot/projects/delphij_fork/usr.bin/write/write.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/IPXrouted/trace.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/arp/Makefile#2 integrate .. //depot/projects/delphij_fork/usr.sbin/freebsd-update/freebsd-update.sh#5 integrate .. //depot/projects/delphij_fork/usr.sbin/pciconf/cap.c#4 integrate .. //depot/projects/delphij_fork/usr.sbin/ppp/chap.h#2 integrate .. //depot/projects/delphij_fork/usr.sbin/ppp/physical.h#2 integrate .. //depot/projects/delphij_fork/usr.sbin/sa/db.c#2 integrate Differences ... ==== //depot/projects/delphij_fork/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.118 2007/11/16 04:03:08 marcel Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -16,6 +16,12 @@ # 20071108: Removed very crunch OLDCARD support file OLD_FILES+=etc/defaults/pccard.conf +# 20071104: Removed bsdlabel, fdisk and gpt from rescue on ia64. +.if ${TARGET_ARCH} == "ia64" +OLD_FILES+=rescue/bsdlabel +OLD_FILES+=rescue/fdisk +OLD_FILES+=rescue/gpt +.endif # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/delphij_fork/UPDATING#6 (text+ko) ==== @@ -21,6 +21,17 @@ developers choose to disable these features on build machines to maximize performance. +20071118: + The AT keyboard emulation of sunkbd(4) has been turned on + by default. In order to make the special symbols of the Sun + keyboards driven by sunkbd(4) work under X these now have + to be configured the same way as Sun USB keyboards driven + by ukbd(4) (which also does AT keyboard emulation), f.e.: + + Option "XkbLayout" "us" + Option "XkbRules" "xorg" + Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" + 20071024: It has been decided that it is desirable to provide ABI backwards compatibility to the FreeBSD 4/5/6 versions of the @@ -934,4 +945,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.511 2007/10/24 20:51:43 marius Exp $ +$FreeBSD: src/UPDATING,v 1.512 2007/11/18 18:11:16 marius Exp $ ==== //depot/projects/delphij_fork/bin/ln/ln.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.31 2006/02/14 11:08:05 glebius Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.32 2007/11/17 21:01:22 ru Exp $ .\" .Dd February 14, 2006 .Dt LN 1 @@ -41,11 +41,15 @@ .Nd make links .Sh SYNOPSIS .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file ... .Ar target_dir .Nm link ==== //depot/projects/delphij_fork/bin/ln/ln.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.34 2006/02/14 11:08:05 glebius Exp $"); +__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.36 2007/11/17 21:01:22 ru Exp $"); #include #include @@ -69,7 +69,7 @@ main(int argc, char *argv[]) { struct stat sb; - char *p, *sourcedir; + char *p, *targetdir; int ch, exitval; /* @@ -134,34 +134,34 @@ case 0: usage(); /* NOTREACHED */ - case 1: /* ln target */ + case 1: /* ln source */ exit(linkit(argv[0], ".", 1)); - case 2: /* ln target source */ + case 2: /* ln source target */ exit(linkit(argv[0], argv[1], 0)); default: ; } - /* ln target1 target2 directory */ - sourcedir = argv[argc - 1]; - if (hflag && lstat(sourcedir, &sb) == 0 && S_ISLNK(sb.st_mode)) { + /* ln source1 source2 directory */ + targetdir = argv[argc - 1]; + if (hflag && lstat(targetdir, &sb) == 0 && S_ISLNK(sb.st_mode)) { /* * We were asked not to follow symlinks, but found one at * the target--simulate "not a directory" error */ errno = ENOTDIR; - err(1, "%s", sourcedir); + err(1, "%s", targetdir); } - if (stat(sourcedir, &sb)) - err(1, "%s", sourcedir); + if (stat(targetdir, &sb)) + err(1, "%s", targetdir); if (!S_ISDIR(sb.st_mode)) usage(); - for (exitval = 0; *argv != sourcedir; ++argv) - exitval |= linkit(*argv, sourcedir, 1); + for (exitval = 0; *argv != targetdir; ++argv) + exitval |= linkit(*argv, targetdir, 1); exit(exitval); } int -linkit(const char *target, const char *source, int isdir) +linkit(const char *source, const char *target, int isdir) { struct stat sb; const char *p; @@ -169,57 +169,57 @@ char path[PATH_MAX]; if (!sflag) { - /* If target doesn't exist, quit now. */ - if (stat(target, &sb)) { - warn("%s", target); + /* If source doesn't exist, quit now. */ + if (stat(source, &sb)) { + warn("%s", source); return (1); } /* Only symbolic links to directories. */ if (S_ISDIR(sb.st_mode)) { errno = EISDIR; - warn("%s", target); + warn("%s", source); return (1); } } /* - * If the source is a directory (and not a symlink if hflag), - * append the target's name. + * If the target is a directory (and not a symlink if hflag), + * append the source's name. */ if (isdir || - (lstat(source, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(source, &sb) == 0 && S_ISDIR(sb.st_mode))) { - if ((p = strrchr(target, '/')) == NULL) - p = target; + (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + if ((p = strrchr(source, '/')) == NULL) + p = source; else ++p; - if (snprintf(path, sizeof(path), "%s/%s", source, p) >= + if (snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; - warn("%s", target); + warn("%s", source); return (1); } - source = path; + target = path; } - exists = !lstat(source, &sb); + exists = !lstat(target, &sb); /* * If the file exists, then unlink it forcibly if -f was specified * and interactively if -i was specified. */ if (fflag && exists) { if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } else if (iflag && exists) { fflush(stdout); - fprintf(stderr, "replace %s? ", source); + fprintf(stderr, "replace %s? ", target); first = ch = getchar(); while(ch != '\n' && ch != EOF) @@ -230,23 +230,23 @@ } if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } /* Attempt the link. */ - if ((*linkf)(target, source)) { - warn("%s", source); + if ((*linkf)(source, target)) { + warn("%s", target); return (1); } if (vflag) - (void)printf("%s %c> %s\n", source, linkch, target); + (void)printf("%s %c> %s\n", target, linkch, source); return (0); } @@ -254,8 +254,8 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-Ffhinsv] source_file [target_file]", - " ln [-Ffhinsv] source_file ... target_dir", + "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } ==== //depot/projects/delphij_fork/bin/sh/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $FreeBSD: src/bin/sh/Makefile,v 1.46 2006/04/17 17:55:11 schweikh Exp $ +# $FreeBSD: src/bin/sh/Makefile,v 1.47 2007/11/18 01:53:07 jb Exp $ PROG= sh INSTALLFLAGS= -S @@ -22,7 +22,7 @@ CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # CFLAGS+= -g -DDEBUG=2 -WARNS?= 3 +WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ ==== //depot/projects/delphij_fork/contrib/csup/mux.c#2 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include @@ -782,7 +782,7 @@ struct buf *buf; uint32_t winsize; uint16_t hdrsize, size, len; - int error, id, iovcnt, what; + int error, id, iovcnt, what = 0; m = (struct mux *)arg; again: ==== //depot/projects/delphij_fork/contrib/gdb/gdb/i386fbsd-nat.c#2 (text+ko) ==== @@ -91,7 +91,7 @@ #ifdef KERN_PS_STRINGS { int mib[2]; - int ps_strings; + u_long ps_strings; size_t len; mib[0] = CTL_KERN; ==== //depot/projects/delphij_fork/contrib/less/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2005 Mark Nudelman +Copyright (C) 1984-2007 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/delphij_fork/contrib/less/NEWS#4 (text+ko) ==== @@ -13,6 +13,17 @@ ====================================================================== + Major changes between "less" versions 409 and 415 + +* New --follow-name option makes F command follow the name of a file + rather than the file descriptor if an open file is renamed. + +* Make searching with -i/-I work correctly with non-ASCII text. + +* Fix DJGPP build. + +====================================================================== + Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. @@ -698,3 +709,4 @@ + ==== //depot/projects/delphij_fork/contrib/less/README#4 (text+ko) ==== @@ -1,7 +1,7 @@ - Less, version 409 + Less, version 415 - This is the distribution of less, version 409, released 12 Oct 2007. + This is the distribution of less, version 415, released 15 Nov 2007. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or ==== //depot/projects/delphij_fork/contrib/less/ch.c#3 (text+ko) ==== @@ -21,6 +21,12 @@ #include #endif +#if HAVE_STAT_INO +#include +extern dev_t curr_dev; +extern ino_t curr_ino; +#endif + typedef POSITION BLOCKNUM; public int ignore_eoi; @@ -98,6 +104,8 @@ extern int autobuf; extern int sigs; extern int secure; +extern int screen_trashed; +extern int follow_mode; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -195,7 +203,7 @@ */ if (!(ch_flags & CH_CANSEEK)) return ('?'); - if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) { error("seek error", NULL_PARG); clear_eol(); @@ -276,6 +284,25 @@ #endif #endif slept = TRUE; + +#if HAVE_STAT_INO + if (follow_mode == FOLLOW_NAME) + { + /* See whether the file's i-number has changed. + * If so, force the file to be closed and + * reopened. */ + struct stat st; + int r = stat(get_filename(curr_ifile), &st); + if (r == 0 && (st.st_ino != curr_ino || + st.st_dev != curr_dev)) + { + /* screen_trashed=2 causes + * make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + } +#endif } if (sigs) return (EOI); @@ -648,7 +675,7 @@ } #endif - if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK) { /* * Warning only; even if the seek fails for some reason, @@ -711,7 +738,7 @@ while (ch_bufhead != END_OF_CHAIN) { bp = ch_bufhead; - bp->next->prev = bp->prev;; + bp->next->prev = bp->prev; bp->prev->next = bp->next; free(bp); } @@ -737,7 +764,7 @@ return (0); } #endif - return (lseek(f, (off_t)1, 0) != BAD_LSEEK); + return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } /* ==== //depot/projects/delphij_fork/contrib/less/command.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -558,6 +558,21 @@ } /* + * Discard any buffered file data. + */ + static void +clear_buffers() +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +/* * Make sure the screen is displayed. */ static void @@ -580,11 +595,20 @@ jump_loc(initial_scrpos.pos, initial_scrpos.ln); } else if (screen_trashed) { - int save_top_scroll; - save_top_scroll = top_scroll; + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; top_scroll = 1; + ignore_eoi = 0; + if (screen_trashed == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } repaint(); top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; } } @@ -1115,7 +1139,10 @@ ignore_eoi = 1; hit_eof = 0; while (!sigs) + { + make_display(); forward(1, 0, 0); + } ignore_eoi = 0; /* * This gets us back in "F mode" after processing @@ -1154,14 +1181,7 @@ * Flush buffers, then repaint screen. * Don't flush the buffers on a pipe! */ - if (ch_getflags() & CH_CANSEEK) - { - ch_flush(); - clr_linenum(); -#if HILITE_SEARCH - clr_hilite(); -#endif - } + clear_buffers(); /* FALLTHRU */ case A_REPAINT: /* @@ -1263,7 +1283,8 @@ /* * Define abbreviation for a commonly used sequence below. */ -#define DO_SEARCH() if (number <= 0) number = 1; \ +#define DO_SEARCH() \ + if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ multi_search((char *)NULL, (int) number); ==== //depot/projects/delphij_fork/contrib/less/configure#3 (text+ko) ==== @@ -3611,6 +3611,73 @@ # Checks for general libraries. +{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5 +echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; } +if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); +int +main () +{ +return tgoto (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_tinfo_tgoto=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_tinfo_tgoto=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgoto" >&5 +echo "${ECHO_T}$ac_cv_lib_tinfo_tgoto" >&6; } +if test $ac_cv_lib_tinfo_tgoto = yes; then + have_tinfo=yes +else + have_tinfo=no +fi + { echo "$as_me:$LINENO: checking for initscr in -lxcurses" >&5 echo $ECHO_N "checking for initscr in -lxcurses... $ECHO_C" >&6; } if test "${ac_cv_lib_xcurses_initscr+set}" = set; then @@ -4246,6 +4313,61 @@ fi if test $curses_broken = 0; then + +# -- Try tinfo. +if test "x$TERMLIBS" = x; then + if test $have_tinfo = yes; then + TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + termok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + termok=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + # -- Try xcurses. if test "x$TERMLIBS" = x; then if test $have_xcurses = yes; then @@ -4895,7 +5017,8 @@ -for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h + +for ac_header in ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -5448,6 +5571,10 @@ + + + + # Checks for identifiers. { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } @@ -5656,7 +5783,56 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: checking for st_ino in struct stat" >&5 +echo $ECHO_N "checking for st_ino in struct stat... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 19 08:32:25 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76F8A16A419; Mon, 19 Nov 2007 08:32: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 D773E16A46D for ; Mon, 19 Nov 2007 08:32:24 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C4E9613C4C4 for ; Mon, 19 Nov 2007 08:32:24 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAJ8WO0K054088 for ; Mon, 19 Nov 2007 08:32:24 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAJ8WO44054085 for perforce@freebsd.org; Mon, 19 Nov 2007 08:32:24 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Mon, 19 Nov 2007 08:32:24 GMT Message-Id: <200711190832.lAJ8WO44054085@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 129236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Nov 2007 08:32:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=129236 Change 129236 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/19 08:31:57 edit for good style :) Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#14 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.conf#2 delete .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.h#5 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#8 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#14 (text+ko) ==== @@ -1,6 +1,6 @@ /*- * Copyright (c) 2006-2007 Zhouyi Zhou - * Pawel Jakub Dawidek + * Copyright (c) 2006-2007 Pawel Jakub Dawidek * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/mactest/mactest.c,v 1.1 2007/01/17 01:42:07 zhouzhouyi Exp $ + * $FreeBSD$ */ #include #include @@ -104,8 +104,6 @@ int sd_args[MAX_ARGS]; }; -int logfd; - static struct syscall_desc syscalls[] = { { "kill", ACTION_KILL, { TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, { "system", ACTION_SYSTEM, { TYPE_NONE }}, @@ -611,7 +609,10 @@ } } - logfd = open("/dev/mactest",O_RDWR); + logfd = open(LOGDEV, O_RDWR); + +/*Begin to log + */ ioctl(logfd, BEGINLOG, NULL); for (;;) { ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.h#5 (text+ko) ==== @@ -1,6 +1,5 @@ /*- * Copyright (c) 2006-2007 Zhouyi Zhou - * Pawel Jakub Dawidek * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,24 +23,37 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/mactest/mactest.h,v 1.1 2007/06/26 01:42:07 zhouzhouyi Exp $ + * $FreeBSD$ */ #ifndef _REGRESSION_MAC_TEST__H #define _REGRESSION_MAC_TEST__H +/* + *The element record the access modes or flags + *of one mactest log/configure record + */ + struct modes_or_flags { struct modes_or_flags * next; struct modes_or_flags * prev; char * modflagname; }; +/* + *The element record one of the mandatory access control labels + *of one mactest log/configure record + */ struct labelstrings { struct labelstrings * next; struct labelstrings * prev; char * labelstring; }; +/* + * one mactest log/configure record + */ + struct mactestlog_record { struct mactestlog_record * next; @@ -52,12 +64,23 @@ struct labelstrings * labelstrings; }; -FILE *inputfile; -extern struct mactestlog_record *mactestlog_record_chain; +/*Sub routine to match the mactest record between the configuration file + *and the file LOGPATH + */ + int modes_or_flags_compare(struct modes_or_flags * mf_conf, struct modes_or_flags *mf_log); int label_compare(char *conf, char *log); int labelstrings_compare(struct labelstrings *ls_conf, struct labelstrings *ls_log); void machookmatch(const char *macconf_file, pid_t pid); -#define BEGINLOG _IO('m',1) + + +FILE *inputfile; +/*The parsed record chain for mactest records */ +extern struct mactestlog_record *mactestlog_record_chain; + +#define BEGINLOG _IO('m',1) +#define LOGDEV "/dev/mactest" +int logfd; + #endif /* !_REGRESSION_MAC_TEST__H */ ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#7 (text+ko) ==== @@ -112,7 +112,7 @@ /* copy from kern/vfs_extattr.c */ NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | MPSAFE, UIO_SYSSPACE, - "/var/log/mactest", curthread); + MAC_TEST_LOG_PATH, curthread); flags = O_CREAT|O_TRUNC|FWRITE; error = vn_open(&nd, &flags, S_IRUSR| S_IWUSR, NULL); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#8 (text+ko) ==== @@ -40,6 +40,7 @@ #include #define MAC_TEST_LOG_FILENAME "mactest" +#define MAC_TEST_LOG_PATH "/var/log/mactest" void mac_test_log_submit(void *record, u_int record_len); From owner-p4-projects@FreeBSD.ORG Mon Nov 19 09:29:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 143E816A468; Mon, 19 Nov 2007 09:29: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 B745016A418 for ; Mon, 19 Nov 2007 09:29:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A715B13C442 for ; Mon, 19 Nov 2007 09:29:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAJ9TQeC066779 for ; Mon, 19 Nov 2007 09:29:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAJ9TPb6066775 for perforce@freebsd.org; Mon, 19 Nov 2007 09:29:25 GMT (envelope-from jb@freebsd.org) Date: Mon, 19 Nov 2007 09:29:25 GMT Message-Id: <200711190929.lAJ9TPb6066775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Nov 2007 09:29:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=129238 Change 129238 by jb@jb_freebsd1 on 2007/11/19 09:28:58 IFC Affected files ... .. //depot/projects/dtrace/doc/share/pgpkeys/philip.key#5 integrate .. //depot/projects/dtrace/src/UPDATING#20 integrate .. //depot/projects/dtrace/src/bin/sh/Makefile#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cc/cc_tools/Makefile#8 integrate .. //depot/projects/dtrace/src/lib/libdisk/libdisk.3#4 integrate .. //depot/projects/dtrace/src/lib/libkse/thread/thr_spec.c#3 integrate .. //depot/projects/dtrace/src/lib/libutil/expand_number.3#4 integrate .. //depot/projects/dtrace/src/lib/libutil/expand_number.c#3 integrate .. //depot/projects/dtrace/src/lib/libutil/libutil.h#6 integrate .. //depot/projects/dtrace/src/sbin/devd/Makefile#4 integrate .. //depot/projects/dtrace/src/sbin/geom/class/virstor/geom_virstor.c#3 integrate .. //depot/projects/dtrace/src/sbin/ipf/ipftest/Makefile#6 integrate .. //depot/projects/dtrace/src/sbin/mount_ntfs/mount_ntfs.8#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/cdboot/cdboot.s#4 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-all.h#7 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-pci.h#13 integrate .. //depot/projects/dtrace/src/sys/fs/msdosfs/msdosfs_vfsops.c#16 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli_crypto.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/init_main.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_mutex.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/kern_rmlock.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/kern_rwlock.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sx.c#10 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/atomic.h#5 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#9 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/stdarg.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/lock.h#8 integrate .. //depot/projects/dtrace/src/tools/sched/schedgraph.py#7 integrate .. //depot/projects/dtrace/src/usr.sbin/acpi/acpidump/acpi.c#6 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/schedule.sgml#5 integrate .. //depot/projects/dtrace/www/en/where.sgml#13 integrate Differences ... ==== //depot/projects/dtrace/doc/share/pgpkeys/philip.key#5 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -11,7 +11,7 @@ uid Philip Paeps uid Philip Paeps sub 1024D/035EFC58 2006-10-22 [expires: 2008-10-21] -sub 2048g/6E5FD7D6 2006-10-22 [expires: 2007-10-22] +sub 2048g/6E5FD7D6 2006-10-22 [expires: 2008-11-17] ]]> >> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 19 20:22:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0F6516A41B; Mon, 19 Nov 2007 20:22: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 41A8A16A41A for ; Mon, 19 Nov 2007 20:22:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3342B13C447 for ; Mon, 19 Nov 2007 20:22:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAJKMNZk042833 for ; Mon, 19 Nov 2007 20:22:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAJKMMc5042830 for perforce@freebsd.org; Mon, 19 Nov 2007 20:22:22 GMT (envelope-from jb@freebsd.org) Date: Mon, 19 Nov 2007 20:22:22 GMT Message-Id: <200711192022.lAJKMMc5042830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Nov 2007 20:22:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=129253 Change 129253 by jb@jb_freebsd1 on 2007/11/19 20:21:23 IFC Affected files ... .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/Makefile#5 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/share/sgml/translators.ent#3 integrate .. //depot/projects/dtrace/src/libexec/rtld-elf/powerpc/reloc.c#6 integrate .. //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-1.src#4 integrate .. //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-15.src#4 integrate .. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#9 integrate .. //depot/projects/dtrace/src/share/mk/sys.mk#13 integrate .. //depot/projects/dtrace/src/sys/conf/kmod.mk#11 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#18 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-cd.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/sys_pipe.c#9 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#10 integrate Differences ... ==== //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.8 2007/09/01 18:44:50 carvay Exp $ +# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.9 2007/11/19 20:03:31 carvay Exp $ # $FreeBSDes: doc/es_ES.ISO8859-1/articles/Makefile,v 1.3 2004/10/09 02:01:17 jesusr Exp $ SUBDIR = @@ -11,6 +11,7 @@ SUBDIR+= fbsd-from-scratch SUBDIR+= fdp-es SUBDIR+= laptop +SUBDIR+= linux-comparison SUBDIR+= mailing-list-faq SUBDIR+= p4-primer SUBDIR+= problem-reports ==== //depot/projects/dtrace/doc/es_ES.ISO8859-1/share/sgml/translators.ent#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -13,6 +13,8 @@ "José Vicente Carrasco Vayá carvay@es.FreeBSD.org"> cronopiolopez@terra.es"> +gabor@FreeBSD.org"> jcamou@FreeBSD.org"> Traducción de &a.es.bazcar;."> Traducción de &a.es.carvay;."> +Traducción de &a.es.gabor;."> Traducción de &a.es.jcamou;."> @@ -38,6 +38,7 @@ #include #include #include +#include #include "debug.h" #include "rtld.h" ==== //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-1.src#4 (text+ko) ==== @@ -2,7 +2,7 @@ # # (Based on the German de_DE.ISO_8859-1) # -# $FreeBSD: src/share/colldef/sv_SE.ISO8859-1.src,v 1.2 2001/06/10 13:43:47 ache Exp $ +# $FreeBSD: src/share/colldef/sv_SE.ISO8859-1.src,v 1.3 2007/11/19 12:39:02 ache Exp $ # charmap map.ISO8859-1 order \ @@ -22,7 +22,7 @@ F;G;H;(I,,,>,);\ J;...;M;(N,);(O,,,,>);\ P;...;T;(U,,,>,);\ - (V,W);X;(Y,);Z;;(,);(,);\ + V;W;X;(Y,);Z;;(,);(,);\ ;\ # [;\\;];^;<':>;_;<'m>;<''>;`;\ @@ -32,7 +32,7 @@ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,,>);\ p;...;t;(u,,,>,);\ - (v,w);x;(y,,);z;;(,);(,);\ + v;w;x;(y,,);z;;(,);(,);\ ;\ # \{;;|;;\};~;<.M>;;;
;\ ==== //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-15.src#4 (text+ko) ==== @@ -2,7 +2,7 @@ # # (Based on the German de_DE.ISO_8859-15) # -# $FreeBSD: src/share/colldef/sv_SE.ISO8859-15.src,v 1.3 2001/06/10 13:43:47 ache Exp $ +# $FreeBSD: src/share/colldef/sv_SE.ISO8859-15.src,v 1.4 2007/11/19 12:39:02 ache Exp $ # charmap map.ISO8859-15 order \ @@ -22,7 +22,7 @@ F;G;H;(I,,,>,);\ J;...;M;(N,);(O,,,,>,);\ P;Q;R;(S,);T;(U,,,>,);\ - (V,W);X;(Y,,);(Z,);;(,);(,);\ + V;W;X;(Y,,);(Z,);;(,);(,);\ ;\ # [;\\;];^;_;<'m>;`;\ @@ -32,7 +32,7 @@ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,,>,);\ p;q;r;(s,,);t;(u,,,>,);\ - (v,w);x;(y,,);(z,);;(,);(,);\ + v;w;x;(y,,);(z,);;(,);(,);\ ;\ # \{;;|;\};~;<.M>;;;
;\ ==== //depot/projects/dtrace/src/share/mk/bsd.sys.mk#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.41 2007/05/24 21:53:42 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.42 2007/11/19 09:09:02 jb Exp $ # # This file contains common settings used for building FreeBSD # sources. ==== //depot/projects/dtrace/src/share/mk/sys.mk#13 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)sys.mk 8.2 (Berkeley) 3/21/94 -# $FreeBSD: src/share/mk/sys.mk,v 1.94 2007/11/05 23:08:34 cognet Exp $ +# $FreeBSD: src/share/mk/sys.mk,v 1.95 2007/11/19 09:01:58 jb Exp $ unix ?= We run FreeBSD, not UNIX. .FreeBSD ?= true ==== //depot/projects/dtrace/src/sys/conf/kmod.mk#11 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.220 2007/11/12 21:51:36 jhb Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.221 2007/11/19 16:24:10 ru Exp $ # # The include file handles building and installing loadable # kernel modules. @@ -79,7 +79,7 @@ . if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing) CFLAGS+= -fno-strict-aliasing . endif -#WERROR?= -Werror +WERROR?= -Werror .endif CFLAGS+= ${WERROR} CFLAGS+= -D_KERNEL ==== //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#18 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.204 2007/11/18 14:44:52 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.205 2007/11/19 18:05:48 sos Exp $"); #include "opt_ata.h" #include @@ -460,7 +460,11 @@ if (pci_read_config(dev, PCIR_PROGIF, 1) != PCIP_STORAGE_SATA_AHCI_1_0) return ENXIO; - sprintf(buffer, "%s AHCI controller", ata_pcivendor2str(dev)); + if (bootverbose) + sprintf(buffer, "%s (ID=%08x) AHCI controller", + ata_pcivendor2str(dev), pci_get_devid(dev)); + else + sprintf(buffer, "%s AHCI controller", ata_pcivendor2str(dev)); device_set_desc_copy(dev, buffer); ctlr->chipinit = ata_ahci_chipinit; return 0; @@ -591,16 +595,44 @@ if (action & (1 << ch->unit)) { u_int32_t istatus = ATA_INL(ctlr->r_res2, ATA_AHCI_P_IS + offset); + u_int32_t cstatus = ATA_INL(ctlr->r_res2, ATA_AHCI_P_CI + offset); /* clear interrupt(s) */ ATA_OUTL(ctlr->r_res2, ATA_AHCI_IS, action & (1 << ch->unit)); ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_IS + offset, istatus); /* do we have any PHY events ? */ + /* XXX SOS check istatus phy bits */ ata_sata_phy_check_events(dev); - /* do we have any device action ? */ - return (!(ATA_INL(ctlr->r_res2, ATA_AHCI_P_CI + offset) & (1 << tag))); + /* do we have a potentially hanging engine to take care of? */ + if ((istatus & 0x78400050) && (cstatus & (1 << tag))) { + + u_int32_t cmd = ATA_INL(ctlr->r_res2, ATA_AHCI_P_CMD + offset); + int timeout = 0; + + /* kill off all activity on this channel */ + ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset, + cmd & ~(ATA_AHCI_P_CMD_FRE | ATA_AHCI_P_CMD_ST)); + + /* XXX SOS this is not entirely wrong */ + do { + DELAY(1000); + if (timeout++ > 500) { + device_printf(dev, "stopping AHCI engine failed\n"); + break; + } + } while (ATA_INL(ctlr->r_res2, + ATA_AHCI_P_CMD + offset) & ATA_AHCI_P_CMD_CR); + + /* start operations on this channel */ + ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset, + cmd | (ATA_AHCI_P_CMD_FRE | ATA_AHCI_P_CMD_ST)); + + return 1; + } + else + return (!(cstatus & (1 << tag))); } return 0; } @@ -655,7 +687,7 @@ ATA_IDX_OUTL(ch, ATA_SACTIVE, ATA_IDX_INL(ch, ATA_SACTIVE) & (1 << tag)); /* set command type bit */ - if (ch->devices & ATA_ATAPI_MASTER) + if (request->flags & ATA_R_ATAPI) ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset, ATA_INL(ctlr->r_res2, ATA_AHCI_P_CMD + offset) | ATA_AHCI_P_CMD_ATAPI); ==== //depot/projects/dtrace/src/sys/dev/ata/atapi-cd.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.194 2007/10/26 08:59:23 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.195 2007/11/19 18:05:48 sos Exp $"); #include "opt_ata.h" #include @@ -689,25 +689,32 @@ { device_t dev = pp->geom->softc; struct acd_softc *cdp = device_get_ivars(dev); + struct ata_request *request; + int8_t ccb[16] = { ATAPI_TEST_UNIT_READY, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int timeout = 60, track; - /* check for media present, waiting for loading medium just in case */ + if (!(request = ata_alloc_request())) + return ENOMEM; + + /* wait if drive is not finished loading the medium */ while (timeout--) { - if (!acd_mode_sense(dev, ATAPI_CDROM_CAP_PAGE, - (caddr_t)&cdp->cap, sizeof(cdp->cap)) && - cdp->cap.page_code == ATAPI_CDROM_CAP_PAGE) { - if ((cdp->cap.medium_type == MST_FMT_NONE) || - (cdp->cap.medium_type == MST_NO_DISC) || - (cdp->cap.medium_type == MST_DOOR_OPEN) || - (cdp->cap.medium_type == MST_FMT_ERROR)) - return EIO; - else - break; - } - pause("acdld", hz / 2); + bzero(request, sizeof(struct ata_request)); + request->dev = dev; + bcopy(ccb, request->u.atapi.ccb, 16); + request->flags = ATA_R_ATAPI; + request->timeout = 5; + ata_queue_request(request); + if (!request->error && + (request->u.atapi.sense.key == 2 || + request->u.atapi.sense.key == 7) && + request->u.atapi.sense.asc == 4 && + request->u.atapi.sense.ascq == 1) + pause("acdld", hz / 2); + else + break; } - if (timeout <= 0) - return EIO; + ata_free_request(request); if (pp->acr == 0) { acd_prevent_allow(dev, 1); ==== //depot/projects/dtrace/src/sys/kern/sys_pipe.c#9 (text+ko) ==== @@ -89,7 +89,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.192 2007/10/24 19:03:55 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.193 2007/11/19 15:05:20 dumbbell Exp $"); #include "opt_mac.h" @@ -880,6 +880,7 @@ wpipe->pipe_state &= ~PIPE_WANTR; wakeup(wpipe); } + pipeselwakeup(wpipe); wpipe->pipe_state |= PIPE_WANTW; pipeunlock(wpipe); error = msleep(wpipe, PIPE_MTX(wpipe), @@ -895,6 +896,7 @@ wpipe->pipe_state &= ~PIPE_WANTR; wakeup(wpipe); } + pipeselwakeup(wpipe); wpipe->pipe_state |= PIPE_WANTW; pipeunlock(wpipe); error = msleep(wpipe, PIPE_MTX(wpipe), @@ -1080,6 +1082,8 @@ wpipe->pipe_state &= ~PIPE_WANTR; wakeup(wpipe); } + pipeselwakeup(wpipe); + wpipe->pipe_state |= PIPE_WANTW; pipeunlock(wpipe); error = msleep(wpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH, "pipbww", 0); ==== //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#10 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.276 2007/06/01 01:12:44 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.277 2007/11/19 16:03:21 rwatson Exp $"); /* * vnode op calls for Sun NFS version 2 and 3 @@ -1769,11 +1769,6 @@ VTONFS(vp)->n_attrstamp = 0; if (!wccflag) VTONFS(tdvp)->n_attrstamp = 0; - /* - * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry. - */ - if (error == EEXIST) - error = 0; return (error); } @@ -1837,18 +1832,10 @@ nfsmout: /* - * If we get an EEXIST error, silently convert it to no-error - * in case of an NFS retry. + * If we do not have an error and we could not extract the newvp from + * the response due to the request being NFSv2, we have to do a + * lookup in order to obtain a newvp to return. */ - if (error == EEXIST) - error = 0; - - /* - * If we do not have (or no longer have) an error, and we could - * not extract the newvp from the response due to the request being - * NFSv2 or the error being EEXIST. We have to do a lookup in order - * to obtain a newvp to return. - */ if (error == 0 && newvp == NULL) { struct nfsnode *np = NULL; @@ -1925,15 +1912,7 @@ mtx_unlock(&(VTONFS(dvp))->n_mtx); if (!wccflag) VTONFS(dvp)->n_attrstamp = 0; - /* - * Kludge: Map EEXIST => 0 assuming that you have a reply to a retry - * if we can succeed in looking up the directory. - */ - if (error == EEXIST || (!error && !gotvp)) { - if (newvp) { - vput(newvp); - newvp = NULL; - } + if (error == 0 && newvp == NULL) { error = nfs_lookitup(dvp, cnp->cn_nameptr, len, cnp->cn_cred, cnp->cn_thread, &np); if (!error) { From owner-p4-projects@FreeBSD.ORG Tue Nov 20 05:48:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50D7616A41A; Tue, 20 Nov 2007 05:48: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 D67E816A418 for ; Tue, 20 Nov 2007 05:48:40 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A56AC13C45D for ; Tue, 20 Nov 2007 05:48:40 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAK5meYV010528 for ; Tue, 20 Nov 2007 05:48:40 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAK5mdcf010525 for perforce@freebsd.org; Tue, 20 Nov 2007 05:48:39 GMT (envelope-from jb@freebsd.org) Date: Tue, 20 Nov 2007 05:48:39 GMT Message-Id: <200711200548.lAK5mdcf010525@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129269 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 05:48:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=129269 Change 129269 by jb@jb_freebsd1 on 2007/11/20 05:48:34 IFC Affected files ... .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/linux-comparison/Makefile#1 branch .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/linux-comparison/article.sgml#1 branch .. //depot/projects/dtrace/src/etc/etc.amd64/ttys#6 integrate .. //depot/projects/dtrace/src/etc/etc.arm/ttys#6 integrate .. //depot/projects/dtrace/src/etc/etc.i386/ttys#6 integrate .. //depot/projects/dtrace/src/etc/etc.ia64/ttys#6 integrate .. //depot/projects/dtrace/src/etc/etc.powerpc/ttys#6 integrate .. //depot/projects/dtrace/src/etc/etc.sparc64/ttys#7 integrate .. //depot/projects/dtrace/src/gnu/lib/libobjc/Makefile#6 integrate .. //depot/projects/dtrace/src/include/dirent.h#4 integrate .. //depot/projects/dtrace/src/kerberos5/lib/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libc/gen/closedir.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/authdes_prot.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/authunix_prot.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/key_prot_xdr.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/rpc_callmsg.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/rpc_prot.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/rpcb_prot.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/rpc/rpcb_st_xdr.c#4 integrate .. //depot/projects/dtrace/src/lib/libgssapi/Makefile#4 integrate .. //depot/projects/dtrace/src/lib/libkse/Makefile#3 integrate .. //depot/projects/dtrace/src/lib/libthr/Makefile#12 integrate .. //depot/projects/dtrace/src/lib/libutil/pty.c#5 integrate .. //depot/projects/dtrace/src/sbin/clri/clri.c#4 integrate .. //depot/projects/dtrace/src/sbin/ping6/ping6.8#4 integrate .. //depot/projects/dtrace/src/sbin/ping6/ping6.c#5 integrate .. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#10 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#19 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-dma.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-cd.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-fd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-tape.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pty.c#10 integrate .. //depot/projects/dtrace/src/sys/sys/callout.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/mutex.h#9 integrate .. //depot/projects/dtrace/src/usr.bin/netstat/Makefile#6 integrate .. //depot/projects/dtrace/src/usr.bin/rpcgen/rpc_cout.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/acpi/acpidb/Makefile#5 integrate .. //depot/projects/dtrace/src/usr.sbin/kldxref/Makefile#6 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/Makefile#3 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.yppasswdd/Makefile#4 integrate .. //depot/projects/dtrace/www/es/about.sgml#5 integrate .. //depot/projects/dtrace/www/es/applications.sgml#5 integrate .. //depot/projects/dtrace/www/es/availability.sgml#4 integrate .. //depot/projects/dtrace/www/es/community.sgml#4 integrate .. //depot/projects/dtrace/www/es/developers.sgml#3 delete .. //depot/projects/dtrace/www/es/docs.sgml#5 integrate .. //depot/projects/dtrace/www/es/index.xsl#7 integrate .. //depot/projects/dtrace/www/es/internet.sgml#5 integrate .. //depot/projects/dtrace/www/es/mailto.sgml#4 integrate .. //depot/projects/dtrace/www/es/platforms/i386.sgml#4 integrate .. //depot/projects/dtrace/www/es/platforms/index.sgml#4 integrate .. //depot/projects/dtrace/www/es/publish.sgml#5 integrate .. //depot/projects/dtrace/www/es/releases/1.1.5/CONTRIB.386BSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/CONTRIB.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/COPYRIGHT.386BSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/COPYRIGHT.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/COPYRIGHT.USL#3 integrate .. //depot/projects/dtrace/www/es/releases/1.1.5/KNOWNBUGS#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/MIRROR.SITES#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/PERSONAL.ACKS#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/REGISTER.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/RELNOTES.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/ROSTER.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/SUPPORT.TXT#3 delete .. //depot/projects/dtrace/www/es/releases/1.1.5/TODO-1.1.5#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/CONTRIB.386BSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/CONTRIB.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/COPYRIGHT.386BSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/COPYRIGHT.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/MIRROR.SITES#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/Makefile#3 integrate .. //depot/projects/dtrace/www/es/releases/1.1/PERSONAL.ACKS#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/RELNOTES.FreeBSD#3 delete .. //depot/projects/dtrace/www/es/releases/1.1/SUPPORT.TXT#3 delete .. //depot/projects/dtrace/www/es/releases/2.0.5R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.0.5R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.0.5R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.0/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.0/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.0/credits.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.0/install.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.0/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.5R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.1.5R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.5R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.6R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.1.6R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.6R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.6R/security.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.7R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.1.7R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1.7R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.1R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.1R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.1R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.1R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.2R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.2R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.2R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.5R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.5R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.5R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.5R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.6R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.6R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.6R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.6R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.7R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.7R/announce.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/2.2.7R/errata.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/2.2.7R/notes.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/2.2.8R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2.8R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.8R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2.8R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/2.2R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2R/install-media.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/2.2R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.0R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/3.0R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.0R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.0R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.1R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/3.1R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.1R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.1R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.2R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/3.2R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.2R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.2R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.3R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/3.3R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.3R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.3R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.4R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/3.4R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.4R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.4R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/3.5R/Makefile#3 integrate .. //depot/projects/dtrace/www/es/releases/3.5R/announce.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/3.5R/errata.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/3.5R/notes.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/4.0R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/4.0R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.0R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.0R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1.1R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/4.1.1R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1.1R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1.1R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/4.1R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.1R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.2R/Makefile#3 delete .. //depot/projects/dtrace/www/es/releases/4.2R/announce.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.2R/errata.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.2R/notes.sgml#4 delete .. //depot/projects/dtrace/www/es/releases/4.3R/Makefile#3 integrate .. //depot/projects/dtrace/www/es/releases/4.3R/announce.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/4.3R/errata.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/4.3R/notes.sgml#4 integrate .. //depot/projects/dtrace/www/es/releases/Makefile#3 integrate .. //depot/projects/dtrace/www/es/robots.txt#3 delete .. //depot/projects/dtrace/www/es/security/Makefile#3 integrate .. //depot/projects/dtrace/www/es/security/programmers.sgml#4 delete .. //depot/projects/dtrace/www/es/security/secure.sgml#5 delete .. //depot/projects/dtrace/www/es/send-pr.sgml#4 integrate .. //depot/projects/dtrace/www/es/support.sgml#5 integrate .. //depot/projects/dtrace/www/es/where.sgml#4 integrate .. //depot/projects/dtrace/www/es/y2kbug.sgml#5 integrate Differences ... ==== //depot/projects/dtrace/src/etc/etc.amd64/ttys#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/etc.amd64/ttys,v 1.12 2007/11/15 16:22:58 rwatson Exp $ +# $FreeBSD: src/etc/etc.amd64/ttys,v 1.13 2007/11/19 20:49:41 jhb Exp $ # @(#)ttys 5.1 (Berkeley) 4/17/89 # # This file specifies various information about terminals on the system. @@ -307,6 +307,262 @@ ttySt none network ttySu none network ttySv none network +ttyl0 none network +ttyl1 none network +ttyl2 none network +ttyl3 none network +ttyl4 none network +ttyl5 none network +ttyl6 none network +ttyl7 none network +ttyl8 none network +ttyl9 none network +ttyla none network +ttylb none network +ttylc none network +ttyld none network +ttyle none network +ttylf none network +ttylg none network +ttylh none network +ttyli none network +ttylj none network +ttylk none network +ttyll none network +ttylm none network +ttyln none network +ttylo none network +ttylp none network +ttylq none network +ttylr none network +ttyls none network +ttylt none network +ttylu none network +ttylv none network +ttym0 none network +ttym1 none network +ttym2 none network +ttym3 none network +ttym4 none network +ttym5 none network +ttym6 none network +ttym7 none network +ttym8 none network +ttym9 none network +ttyma none network +ttymb none network +ttymc none network +ttymd none network +ttyme none network +ttymf none network +ttymg none network +ttymh none network +ttymi none network +ttymj none network +ttymk none network +ttyml none network +ttymm none network +ttymn none network +ttymo none network +ttymp none network +ttymq none network +ttymr none network +ttyms none network +ttymt none network +ttymu none network +ttymv none network +ttyn0 none network +ttyn1 none network +ttyn2 none network +ttyn3 none network +ttyn4 none network +ttyn5 none network +ttyn6 none network +ttyn7 none network +ttyn8 none network +ttyn9 none network +ttyna none network +ttynb none network +ttync none network +ttynd none network +ttyne none network +ttynf none network +ttyng none network +ttynh none network +ttyni none network +ttynj none network +ttynk none network +ttynl none network +ttynm none network +ttynn none network +ttyno none network +ttynp none network +ttynq none network +ttynr none network +ttyns none network +ttynt none network +ttynu none network +ttynv none network +ttyo0 none network +ttyo1 none network +ttyo2 none network +ttyo3 none network +ttyo4 none network +ttyo5 none network +ttyo6 none network +ttyo7 none network +ttyo8 none network +ttyo9 none network +ttyoa none network +ttyob none network +ttyoc none network +ttyod none network +ttyoe none network +ttyof none network +ttyog none network +ttyoh none network +ttyoi none network +ttyoj none network +ttyok none network +ttyol none network +ttyom none network +ttyon none network +ttyoo none network +ttyop none network +ttyoq none network +ttyor none network +ttyos none network +ttyot none network +ttyou none network +ttyov none network +ttyL0 none network +ttyL1 none network +ttyL2 none network +ttyL3 none network +ttyL4 none network +ttyL5 none network +ttyL6 none network +ttyL7 none network +ttyL8 none network +ttyL9 none network +ttyLa none network +ttyLb none network +ttyLc none network +ttyLd none network +ttyLe none network +ttyLf none network +ttyLg none network +ttyLh none network +ttyLi none network +ttyLj none network +ttyLk none network +ttyLl none network +ttyLm none network +ttyLn none network +ttyLo none network +ttyLp none network +ttyLq none network +ttyLr none network +ttyLs none network +ttyLt none network +ttyLu none network +ttyLv none network +ttyM0 none network +ttyM1 none network +ttyM2 none network +ttyM3 none network +ttyM4 none network +ttyM5 none network +ttyM6 none network +ttyM7 none network +ttyM8 none network +ttyM9 none network +ttyMa none network +ttyMb none network +ttyMc none network +ttyMd none network +ttyMe none network +ttyMf none network +ttyMg none network +ttyMh none network +ttyMi none network +ttyMj none network +ttyMk none network +ttyMl none network +ttyMm none network +ttyMn none network +ttyMo none network +ttyMp none network +ttyMq none network +ttyMr none network +ttyMs none network +ttyMt none network +ttyMu none network +ttyMv none network +ttyN0 none network +ttyN1 none network +ttyN2 none network +ttyN3 none network +ttyN4 none network +ttyN5 none network +ttyN6 none network +ttyN7 none network +ttyN8 none network +ttyN9 none network +ttyNa none network +ttyNb none network +ttyNc none network +ttyNd none network +ttyNe none network +ttyNf none network +ttyNg none network +ttyNh none network +ttyNi none network +ttyNj none network +ttyNk none network +ttyNl none network +ttyNm none network +ttyNn none network +ttyNo none network +ttyNp none network +ttyNq none network +ttyNr none network +ttyNs none network +ttyNt none network +ttyNu none network +ttyNv none network +ttyO0 none network +ttyO1 none network +ttyO2 none network +ttyO3 none network +ttyO4 none network +ttyO5 none network +ttyO6 none network +ttyO7 none network +ttyO8 none network +ttyO9 none network +ttyOa none network +ttyOb none network +ttyOc none network +ttyOd none network +ttyOe none network +ttyOf none network +ttyOg none network +ttyOh none network +ttyOi none network +ttyOj none network +ttyOk none network +ttyOl none network +ttyOm none network +ttyOn none network +ttyOo none network +ttyOp none network +ttyOq none network +ttyOr none network +ttyOs none network +ttyOt none network +ttyOu none network +ttyOv none network pts/0 none network pts/1 none network pts/2 none network ==== //depot/projects/dtrace/src/etc/etc.arm/ttys#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/etc.arm/ttys,v 1.5 2007/11/15 16:22:59 rwatson Exp $ +# $FreeBSD: src/etc/etc.arm/ttys,v 1.6 2007/11/19 20:49:41 jhb Exp $ # @(#)ttys 5.1 (Berkeley) 4/17/89 # # This file specifies various information about terminals on the system. @@ -307,6 +307,262 @@ ttySt none network ttySu none network ttySv none network +ttyl0 none network +ttyl1 none network +ttyl2 none network +ttyl3 none network +ttyl4 none network +ttyl5 none network +ttyl6 none network +ttyl7 none network +ttyl8 none network +ttyl9 none network +ttyla none network +ttylb none network +ttylc none network +ttyld none network +ttyle none network +ttylf none network +ttylg none network +ttylh none network +ttyli none network +ttylj none network +ttylk none network +ttyll none network +ttylm none network +ttyln none network +ttylo none network +ttylp none network +ttylq none network +ttylr none network +ttyls none network +ttylt none network +ttylu none network +ttylv none network +ttym0 none network +ttym1 none network +ttym2 none network +ttym3 none network +ttym4 none network +ttym5 none network +ttym6 none network +ttym7 none network +ttym8 none network +ttym9 none network +ttyma none network +ttymb none network +ttymc none network +ttymd none network +ttyme none network +ttymf none network +ttymg none network +ttymh none network +ttymi none network +ttymj none network +ttymk none network +ttyml none network +ttymm none network +ttymn none network +ttymo none network +ttymp none network +ttymq none network +ttymr none network +ttyms none network +ttymt none network +ttymu none network +ttymv none network +ttyn0 none network +ttyn1 none network +ttyn2 none network +ttyn3 none network +ttyn4 none network +ttyn5 none network +ttyn6 none network +ttyn7 none network +ttyn8 none network +ttyn9 none network +ttyna none network +ttynb none network +ttync none network +ttynd none network +ttyne none network +ttynf none network +ttyng none network +ttynh none network +ttyni none network +ttynj none network +ttynk none network +ttynl none network +ttynm none network +ttynn none network +ttyno none network +ttynp none network +ttynq none network +ttynr none network +ttyns none network +ttynt none network +ttynu none network +ttynv none network +ttyo0 none network +ttyo1 none network +ttyo2 none network +ttyo3 none network +ttyo4 none network +ttyo5 none network +ttyo6 none network +ttyo7 none network +ttyo8 none network +ttyo9 none network +ttyoa none network +ttyob none network +ttyoc none network +ttyod none network +ttyoe none network +ttyof none network +ttyog none network +ttyoh none network +ttyoi none network +ttyoj none network +ttyok none network +ttyol none network +ttyom none network +ttyon none network +ttyoo none network +ttyop none network +ttyoq none network +ttyor none network +ttyos none network +ttyot none network +ttyou none network +ttyov none network +ttyL0 none network +ttyL1 none network +ttyL2 none network +ttyL3 none network +ttyL4 none network +ttyL5 none network +ttyL6 none network +ttyL7 none network +ttyL8 none network +ttyL9 none network +ttyLa none network +ttyLb none network +ttyLc none network +ttyLd none network +ttyLe none network +ttyLf none network +ttyLg none network +ttyLh none network +ttyLi none network +ttyLj none network +ttyLk none network +ttyLl none network +ttyLm none network +ttyLn none network +ttyLo none network +ttyLp none network +ttyLq none network +ttyLr none network +ttyLs none network +ttyLt none network +ttyLu none network +ttyLv none network +ttyM0 none network +ttyM1 none network +ttyM2 none network +ttyM3 none network +ttyM4 none network +ttyM5 none network +ttyM6 none network +ttyM7 none network +ttyM8 none network +ttyM9 none network +ttyMa none network +ttyMb none network +ttyMc none network +ttyMd none network +ttyMe none network +ttyMf none network +ttyMg none network +ttyMh none network +ttyMi none network +ttyMj none network +ttyMk none network +ttyMl none network +ttyMm none network +ttyMn none network +ttyMo none network +ttyMp none network +ttyMq none network +ttyMr none network +ttyMs none network +ttyMt none network +ttyMu none network +ttyMv none network +ttyN0 none network +ttyN1 none network +ttyN2 none network +ttyN3 none network +ttyN4 none network +ttyN5 none network +ttyN6 none network +ttyN7 none network +ttyN8 none network +ttyN9 none network +ttyNa none network +ttyNb none network +ttyNc none network +ttyNd none network +ttyNe none network +ttyNf none network +ttyNg none network +ttyNh none network +ttyNi none network +ttyNj none network +ttyNk none network +ttyNl none network +ttyNm none network +ttyNn none network +ttyNo none network +ttyNp none network +ttyNq none network +ttyNr none network +ttyNs none network +ttyNt none network +ttyNu none network +ttyNv none network +ttyO0 none network +ttyO1 none network +ttyO2 none network +ttyO3 none network +ttyO4 none network +ttyO5 none network +ttyO6 none network +ttyO7 none network +ttyO8 none network +ttyO9 none network +ttyOa none network +ttyOb none network +ttyOc none network +ttyOd none network +ttyOe none network +ttyOf none network +ttyOg none network +ttyOh none network +ttyOi none network +ttyOj none network +ttyOk none network +ttyOl none network +ttyOm none network +ttyOn none network +ttyOo none network +ttyOp none network +ttyOq none network +ttyOr none network +ttyOs none network +ttyOt none network +ttyOu none network +ttyOv none network pts/0 none network pts/1 none network pts/2 none network ==== //depot/projects/dtrace/src/etc/etc.i386/ttys#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/etc.i386/ttys,v 1.12 2007/11/15 16:22:59 rwatson Exp $ +# $FreeBSD: src/etc/etc.i386/ttys,v 1.13 2007/11/19 20:49:41 jhb Exp $ # @(#)ttys 5.1 (Berkeley) 4/17/89 # # This file specifies various information about terminals on the system. @@ -307,6 +307,262 @@ ttySt none network ttySu none network ttySv none network +ttyl0 none network +ttyl1 none network +ttyl2 none network +ttyl3 none network +ttyl4 none network +ttyl5 none network +ttyl6 none network +ttyl7 none network +ttyl8 none network +ttyl9 none network +ttyla none network +ttylb none network +ttylc none network +ttyld none network +ttyle none network +ttylf none network +ttylg none network +ttylh none network +ttyli none network +ttylj none network +ttylk none network +ttyll none network +ttylm none network +ttyln none network +ttylo none network +ttylp none network +ttylq none network +ttylr none network +ttyls none network +ttylt none network +ttylu none network +ttylv none network +ttym0 none network +ttym1 none network +ttym2 none network +ttym3 none network +ttym4 none network +ttym5 none network +ttym6 none network +ttym7 none network +ttym8 none network +ttym9 none network +ttyma none network +ttymb none network +ttymc none network +ttymd none network +ttyme none network +ttymf none network +ttymg none network +ttymh none network +ttymi none network +ttymj none network +ttymk none network +ttyml none network +ttymm none network +ttymn none network +ttymo none network +ttymp none network +ttymq none network +ttymr none network +ttyms none network +ttymt none network +ttymu none network +ttymv none network +ttyn0 none network +ttyn1 none network +ttyn2 none network +ttyn3 none network +ttyn4 none network +ttyn5 none network +ttyn6 none network +ttyn7 none network +ttyn8 none network +ttyn9 none network +ttyna none network +ttynb none network +ttync none network +ttynd none network +ttyne none network +ttynf none network +ttyng none network +ttynh none network +ttyni none network +ttynj none network +ttynk none network +ttynl none network +ttynm none network +ttynn none network +ttyno none network +ttynp none network +ttynq none network +ttynr none network +ttyns none network +ttynt none network +ttynu none network +ttynv none network +ttyo0 none network +ttyo1 none network +ttyo2 none network +ttyo3 none network +ttyo4 none network +ttyo5 none network +ttyo6 none network +ttyo7 none network +ttyo8 none network +ttyo9 none network +ttyoa none network +ttyob none network +ttyoc none network +ttyod none network +ttyoe none network +ttyof none network +ttyog none network +ttyoh none network +ttyoi none network +ttyoj none network +ttyok none network +ttyol none network +ttyom none network +ttyon none network +ttyoo none network +ttyop none network +ttyoq none network +ttyor none network +ttyos none network +ttyot none network +ttyou none network +ttyov none network +ttyL0 none network +ttyL1 none network +ttyL2 none network +ttyL3 none network +ttyL4 none network +ttyL5 none network +ttyL6 none network +ttyL7 none network +ttyL8 none network +ttyL9 none network +ttyLa none network +ttyLb none network +ttyLc none network +ttyLd none network +ttyLe none network +ttyLf none network +ttyLg none network +ttyLh none network +ttyLi none network +ttyLj none network +ttyLk none network +ttyLl none network +ttyLm none network +ttyLn none network +ttyLo none network +ttyLp none network +ttyLq none network +ttyLr none network +ttyLs none network +ttyLt none network +ttyLu none network +ttyLv none network +ttyM0 none network +ttyM1 none network +ttyM2 none network +ttyM3 none network +ttyM4 none network +ttyM5 none network +ttyM6 none network +ttyM7 none network +ttyM8 none network +ttyM9 none network +ttyMa none network +ttyMb none network +ttyMc none network +ttyMd none network +ttyMe none network +ttyMf none network +ttyMg none network +ttyMh none network +ttyMi none network +ttyMj none network +ttyMk none network +ttyMl none network +ttyMm none network +ttyMn none network +ttyMo none network +ttyMp none network +ttyMq none network +ttyMr none network +ttyMs none network +ttyMt none network +ttyMu none network +ttyMv none network +ttyN0 none network +ttyN1 none network +ttyN2 none network +ttyN3 none network +ttyN4 none network +ttyN5 none network +ttyN6 none network +ttyN7 none network +ttyN8 none network +ttyN9 none network +ttyNa none network +ttyNb none network +ttyNc none network +ttyNd none network +ttyNe none network +ttyNf none network +ttyNg none network +ttyNh none network +ttyNi none network +ttyNj none network +ttyNk none network +ttyNl none network +ttyNm none network +ttyNn none network +ttyNo none network +ttyNp none network +ttyNq none network +ttyNr none network +ttyNs none network +ttyNt none network +ttyNu none network +ttyNv none network +ttyO0 none network +ttyO1 none network +ttyO2 none network +ttyO3 none network +ttyO4 none network +ttyO5 none network +ttyO6 none network +ttyO7 none network +ttyO8 none network +ttyO9 none network +ttyOa none network +ttyOb none network +ttyOc none network +ttyOd none network +ttyOe none network +ttyOf none network +ttyOg none network +ttyOh none network +ttyOi none network +ttyOj none network +ttyOk none network +ttyOl none network +ttyOm none network +ttyOn none network +ttyOo none network +ttyOp none network +ttyOq none network +ttyOr none network +ttyOs none network +ttyOt none network +ttyOu none network +ttyOv none network >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 20 06:42:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D415816A41B; Tue, 20 Nov 2007 06:42:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4923416A418 for ; Tue, 20 Nov 2007 06:42:43 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37EE313C448 for ; Tue, 20 Nov 2007 06:42:43 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAK6ggBZ016961 for ; Tue, 20 Nov 2007 06:42:43 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAK6gg38016958 for perforce@freebsd.org; Tue, 20 Nov 2007 06:42:42 GMT (envelope-from kevlo@freebsd.org) Date: Tue, 20 Nov 2007 06:42:42 GMT Message-Id: <200711200642.lAK6gg38016958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 129271 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 06:42:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=129271 Change 129271 by kevlo@kevlo_rtsl on 2007/11/20 06:42:32 Rework LED support Obtained from: DragonFlyBSD Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#9 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwireg.h#4 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#9 (text+ko) ==== @@ -111,8 +111,8 @@ static int bwi_calc_rssi(struct bwi_softc *, const struct bwi_rxbuf_hdr *); static __inline uint8_t bwi_ofdm_plcp2rate(const uint32_t *); static __inline uint8_t bwi_ds_plcp2rate(const struct ieee80211_ds_plcp_hdr *); -static void bwi_rx_radiotap(struct bwi_softc *, struct mbuf *, - struct bwi_rxbuf_hdr *, const void *, int); +static void bwi_rx_radiotap(struct bwi_softc *, struct mbuf *, + struct bwi_rxbuf_hdr *, const void *, int, int); static void bwi_stop(struct bwi_softc *); static int bwi_newbuf(struct bwi_softc *, int, int); @@ -132,7 +132,7 @@ static void bwi_setup_rx_desc32(struct bwi_softc *, int, bus_addr_t, int); static void bwi_setup_tx_desc32(struct bwi_softc *, struct bwi_ring_data *, int, bus_addr_t, int); -static void bwi_rxeof32(struct bwi_softc *); +static int bwi_rxeof32(struct bwi_softc *); static void bwi_start_tx32(struct bwi_softc *, uint32_t, int); static void bwi_txeof_status32(struct bwi_softc *); @@ -145,11 +145,11 @@ static void bwi_setup_rx_desc64(struct bwi_softc *, int, bus_addr_t, int); static void bwi_setup_tx_desc64(struct bwi_softc *, struct bwi_ring_data *, int, bus_addr_t, int); -static void bwi_rxeof64(struct bwi_softc *); +static int bwi_rxeof64(struct bwi_softc *); static void bwi_start_tx64(struct bwi_softc *, uint32_t, int); static void bwi_txeof_status64(struct bwi_softc *); -static void bwi_rxeof(struct bwi_softc *, int); +static int bwi_rxeof(struct bwi_softc *, int); static void _bwi_txeof(struct bwi_softc *, uint16_t, int, int); static void bwi_txeof(struct bwi_softc *); static void bwi_txeof_status(struct bwi_softc *, int); @@ -195,6 +195,10 @@ static void bwi_led_attach(struct bwi_softc *); static void bwi_led_newstate(struct bwi_softc *, enum ieee80211_state); +static void bwi_led_event(struct bwi_softc *, int); +static void bwi_led_blink_start(struct bwi_softc *, int, int); +static void bwi_led_blink_next(void *); +static void bwi_led_blink_end(void *); static const struct { uint16_t did_min; @@ -242,6 +246,48 @@ #undef CLKSRC +#define VENDOR_LED_ACT(vendor) \ +{ \ + .vid = PCI_VENDOR_##vendor, \ + .led_act = { BWI_VENDOR_LED_ACT_##vendor } \ +} + +static const struct { +#define PCI_VENDOR_COMPAQ 0x0e11 +#define PCI_VENDOR_LINKSYS 0x1737 + uint16_t vid; + uint8_t led_act[BWI_LED_MAX]; +} bwi_vendor_led_act[] = { + VENDOR_LED_ACT(COMPAQ), + VENDOR_LED_ACT(LINKSYS) +#undef PCI_VENDOR_LINKSYS +#undef PCI_VENDOR_COMPAQ +}; + +static const uint8_t bwi_default_led_act[BWI_LED_MAX] = + { BWI_VENDOR_LED_ACT_DEFAULT }; + +#undef VENDOR_LED_ACT + +static const struct { + int on_dur; + int off_dur; +} bwi_led_duration[109] = { + [0] = { 400, 100 }, + [2] = { 150, 75 }, + [4] = { 90, 45 }, + [11] = { 66, 34 }, + [12] = { 53, 26 }, + [18] = { 42, 21 }, + [22] = { 35, 17 }, + [24] = { 32, 16 }, + [36] = { 21, 10 }, + [48] = { 16, 8 }, + [72] = { 11, 5 }, + [96] = { 9, 4 }, + [108] = { 7, 3 } +}; + static const uint8_t bwi_zero_addr[IEEE80211_ADDR_LEN]; uint16_t @@ -417,6 +463,10 @@ sc->sc_fw_version = BWI_FW_VERSION3; + /* Initialize LED vars */ + sc->sc_led_idle = (2350 * hz) / 1000; + sc->sc_led_blink = 1; + ic->ic_ifp = ifp; ic->ic_caps = IEEE80211_C_SHSLOT | IEEE80211_C_SHPREAMBLE | @@ -1385,7 +1435,7 @@ struct ifnet *ifp = sc->sc_ic.ic_ifp; uint32_t intr_status; uint32_t txrx_intr_status[BWI_TXRX_NRING]; - int i, txrx_error; + int i, txrx_error, tx = 0, rx_data = -1; BWI_LOCK(sc); @@ -1480,18 +1530,41 @@ if_printf(ifp, "intr noise\n"); if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) - sc->sc_rxeof(sc); + rx_data = sc->sc_rxeof(sc); - if (txrx_intr_status[3] & BWI_TXRX_INTR_RX) + if (txrx_intr_status[3] & BWI_TXRX_INTR_RX) { sc->sc_txeof_status(sc); + tx = 1; + } - if (intr_status & BWI_INTR_TX_DONE) + if (intr_status & BWI_INTR_TX_DONE) { bwi_txeof(sc); + tx = 1; + } - /* TODO:LED */ - /* Re-enable interrupts */ bwi_enable_intrs(sc, BWI_INIT_INTRS); + + if (sc->sc_blink_led != NULL && sc->sc_led_blink) { + int evt = BWI_LED_EVENT_NONE; + + if (tx && rx_data > 0) { + if (sc->sc_rx_rate > sc->sc_tx_rate) + evt = BWI_LED_EVENT_RX; + else + evt = BWI_LED_EVENT_TX; + } else if (tx) { + evt = BWI_LED_EVENT_TX; + } else if (rx_data > 0) { + evt = BWI_LED_EVENT_RX; + } else if (rx_data == 0) { + evt = BWI_LED_EVENT_POLL; + } + + if (evt != BWI_LED_EVENT_NONE) + bwi_led_event(sc, evt); + } + BWI_UNLOCK(sc); } @@ -2454,14 +2527,14 @@ return 0; } -static void +static int bwi_rxeof(struct bwi_softc *sc, int end_idx) { struct bwi_ring_data *rd = &sc->sc_rx_rdata; struct bwi_rxbuf_data *rbd = &sc->sc_rx_bdata; struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; - int idx; + int idx, rx_data = 0; idx = rbd->rbd_idx; while (idx != end_idx) { @@ -2470,9 +2543,9 @@ struct ieee80211_frame_min *wh; struct ieee80211_node *ni; struct mbuf *m; - const uint8_t *plcp; + const void *plcp; uint16_t flags2; - int buflen, wh_ofs, hdr_extra, rssi; + int buflen, wh_ofs, hdr_extra, rssi, type, rate; m = rb->rb_mbuf; bus_dmamap_sync(sc->sc_buf_dtag, rb->rb_dmap, @@ -2507,18 +2580,27 @@ m->m_len = m->m_pkthdr.len = buflen + sizeof(*hdr); m_adj(m, sizeof(*hdr) + wh_ofs); + if (htole16(hdr->rxh_flags1) & BWI_RXH_F1_OFDM) + rate = bwi_ofdm_plcp2rate(plcp); + else + rate = bwi_ds_plcp2rate(plcp); + /* RX radio tap */ if (sc->sc_drvbpf != NULL) - bwi_rx_radiotap(sc, m, hdr, plcp, rssi); + bwi_rx_radiotap(sc, m, hdr, plcp, rate, rssi); m_adj(m, -IEEE80211_CRC_LEN); wh = mtod(m, struct ieee80211_frame_min *); ni = ieee80211_find_rxnode(ic, wh); - ieee80211_input(ic, m, ni, rssi - BWI_NOISE_FLOOR, + type = ieee80211_input(ic, m, ni, rssi - BWI_NOISE_FLOOR, BWI_NOISE_FLOOR, le16toh(hdr->rxh_tsf)); ieee80211_free_node(ni); + if (type == IEEE80211_FC0_TYPE_DATA) { + rx_data = 1; + sc->sc_rx_rate = rate; + } next: idx = (idx + 1) % BWI_RX_NDESC; } @@ -2526,13 +2608,15 @@ rbd->rbd_idx = idx; bus_dmamap_sync(sc->sc_rxring_dtag, rd->rdata_dmap, BUS_DMASYNC_PREWRITE); + + return rx_data; } -static void +static int bwi_rxeof32(struct bwi_softc *sc) { uint32_t val, rx_ctrl; - int end_idx; + int end_idx, rx_data; rx_ctrl = sc->sc_rx_rdata.rdata_txrx_ctrl; @@ -2540,16 +2624,19 @@ end_idx = __SHIFTOUT(val, BWI_RX32_STATUS_INDEX_MASK) / sizeof(struct bwi_desc32); - bwi_rxeof(sc, end_idx); + rx_data = bwi_rxeof(sc, end_idx); CSR_WRITE_4(sc, rx_ctrl + BWI_RX32_INDEX, end_idx * sizeof(struct bwi_desc32)); + + return rx_data; } -static void +static int bwi_rxeof64(struct bwi_softc *sc) { /* TODO:64 */ + return 0; } static void @@ -2816,12 +2903,16 @@ if (IEEE80211_IS_MULTICAST(wh->i_addr1)) rate = rate_fb = ic->ic_mcast_rate; else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { - rate = ni->ni_rates.rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL; + rate = ni->ni_rates.rs_rates[ni->ni_txrate] & + IEEE80211_RATE_VAL; rate_fb = (ni->ni_txrate > 0) ? - ni->ni_rates.rs_rates[ni->ni_txrate-1] & IEEE80211_RATE_VAL : rate; + ni->ni_rates.rs_rates[ni->ni_txrate-1] & + IEEE80211_RATE_VAL : rate; } else rate = rate_fb = ic->ic_fixed_rate; + sc->sc_tx_rate = rate; + /* * TX radio tap */ @@ -3460,20 +3551,12 @@ static void bwi_rx_radiotap(struct bwi_softc *sc, struct mbuf *m, - struct bwi_rxbuf_hdr *hdr, const void *plcp, int rssi) + struct bwi_rxbuf_hdr *hdr, const void *plcp, int rate, int rssi) { const struct ieee80211_frame_min *wh; - uint16_t flags1; - uint8_t rate; - flags1 = htole16(hdr->rxh_flags1); - if (flags1 & BWI_RXH_F1_OFDM) - rate = bwi_ofdm_plcp2rate(plcp); - else - rate = bwi_ds_plcp2rate(plcp); - sc->sc_rx_th.wr_flags = IEEE80211_RADIOTAP_F_FCS; - if (flags1 & BWI_RXH_F1_SHPREAMBLE) + if (htole16(hdr->rxh_flags1) & BWI_RXH_F1_SHPREAMBLE) sc->sc_rx_th.wr_flags |= IEEE80211_RADIOTAP_F_SHORTPRE; wh = mtod(m, const struct ieee80211_frame_min *); @@ -3491,17 +3574,23 @@ static void bwi_led_attach(struct bwi_softc *sc) { -#define PCI_VENDOR_COMPAQ 0x0e11 - const static uint8_t led_default_act[BWI_LED_MAX] = { - BWI_LED_ACT_ACTIVE, - BWI_LED_ACT_2GHZ, - BWI_LED_ACT_5GHZ, - BWI_LED_ACT_OFF - }; - + const uint8_t *led_act = NULL; uint16_t gpio, val[BWI_LED_MAX]; int i; +#define N(arr) (int)(sizeof(arr) / sizeof(arr[0])) + + for (i = 0; i < N(bwi_vendor_led_act); ++i) { + if (sc->sc_pci_subvid == bwi_vendor_led_act[i].vid) { + led_act = bwi_vendor_led_act[i].led_act; + break; + } + } + if (led_act == NULL) + led_act = bwi_default_led_act; + +#undef N + gpio = bwi_read_sprom(sc, BWI_SPROM_GPIO01); val[0] = __SHIFTOUT(gpio, BWI_SPROM_GPIO_0); val[1] = __SHIFTOUT(gpio, BWI_SPROM_GPIO_1); @@ -3514,19 +3603,46 @@ struct bwi_led *led = &sc->sc_leds[i]; if (val[i] == 0xff) { - led->l_act = led_default_act[i]; - if (i == 0 && sc->sc_pci_subvid == PCI_VENDOR_COMPAQ) - led->l_act = BWI_LED_ACT_RFEN; + led->l_act = led_act[i]; } else { if (val[i] & BWI_LED_ACT_LOW) led->l_flags |= BWI_LED_F_ACTLOW; led->l_act = __SHIFTOUT(val[i], BWI_LED_ACT_MASK); } + led->l_mask = (1 << i); + + if (led->l_act == BWI_LED_ACT_BLINK_SLOW || + led->l_act == BWI_LED_ACT_BLINK_POLL || + led->l_act == BWI_LED_ACT_BLINK) { + led->l_flags |= BWI_LED_F_BLINK; + if (led->l_act == BWI_LED_ACT_BLINK_POLL) + led->l_flags |= BWI_LED_F_POLLABLE; + else if (led->l_act == BWI_LED_ACT_BLINK_SLOW) + led->l_flags |= BWI_LED_F_SLOW; + + if (sc->sc_blink_led == NULL) { + sc->sc_blink_led = led; + if (led->l_flags & BWI_LED_F_SLOW) + BWI_LED_SLOWDOWN(sc->sc_led_idle); + } + } DPRINTF(sc, "%dth led, act %d, lowact %d\n", i, led->l_act, led->l_flags & BWI_LED_F_ACTLOW); } -#undef PCI_VENDOR_COMPAQ + callout_init(&sc->sc_led_blink_ch, CALLOUT_MPSAFE); +} + +static __inline uint16_t +bwi_led_onoff(const struct bwi_led *led, uint16_t val, int on) +{ + if (led->l_flags & BWI_LED_F_ACTLOW) + on = !on; + if (on) + val |= led->l_mask; + else + val &= ~led->l_mask; + return val; } static void @@ -3536,6 +3652,11 @@ uint16_t val; int i; + if (nstate == IEEE80211_S_INIT) { + callout_stop(&sc->sc_led_blink_ch); + sc->sc_led_blinking = 0; + } + if ((ic->ic_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; @@ -3545,10 +3666,12 @@ int on; if (led->l_act == BWI_LED_ACT_UNKN || - led->l_act == BWI_LED_ACT_NULL) { - /* Don't touch it */ + led->l_act == BWI_LED_ACT_NULL) continue; - } + + if ((led->l_flags & BWI_LED_F_BLINK) && + nstate != IEEE80211_S_INIT) + continue; switch (led->l_act) { case BWI_LED_ACT_ON: /* Always on */ @@ -3556,8 +3679,6 @@ break; case BWI_LED_ACT_OFF: /* Always off */ case BWI_LED_ACT_5GHZ: /* TODO: 11A */ - case BWI_LED_ACT_MID: /* Blinking ones */ - case BWI_LED_ACT_FAST: on = 0; break; default: @@ -3572,23 +3693,92 @@ on = 0; break; default: - if (led->l_act == BWI_LED_ACT_RUN || - led->l_act == BWI_LED_ACT_ACTIVE) + if (led->l_act == BWI_LED_ACT_ASSOC) on = 0; break; } break; } - if (led->l_flags & BWI_LED_F_ACTLOW) - on = !on; + val = bwi_led_onoff(led, val, on); + } + CSR_WRITE_2(sc, BWI_MAC_GPIO_CTRL, val); +} +static void +bwi_led_event(struct bwi_softc *sc, int event) +{ + struct bwi_led *led = sc->sc_blink_led; + int rate; + + if (event == BWI_LED_EVENT_POLL) { + if ((led->l_flags & BWI_LED_F_POLLABLE) == 0) + return; + if (ticks - sc->sc_led_ticks < sc->sc_led_idle) + return; + } + + sc->sc_led_ticks = ticks; + if (sc->sc_led_blinking) + return; + + switch (event) { + case BWI_LED_EVENT_RX: + rate = sc->sc_rx_rate; + break; + case BWI_LED_EVENT_TX: + rate = sc->sc_tx_rate; + break; + case BWI_LED_EVENT_POLL: + rate = 0; + break; + default: + panic("unknown LED event %d\n", event); + break; + } + bwi_led_blink_start(sc, bwi_led_duration[rate].on_dur, + bwi_led_duration[rate].off_dur); +} + +static void +bwi_led_blink_start(struct bwi_softc *sc, int on_dur, int off_dur) +{ + struct bwi_led *led = sc->sc_blink_led; + uint16_t val; + + val = CSR_READ_2(sc, BWI_MAC_GPIO_CTRL); + val = bwi_led_onoff(led, val, 1); + CSR_WRITE_2(sc, BWI_MAC_GPIO_CTRL, val); - if (on) - val |= (1 << i); - else - val &= ~(1 << i); + if (led->l_flags & BWI_LED_F_SLOW) { + BWI_LED_SLOWDOWN(on_dur); + BWI_LED_SLOWDOWN(off_dur); } + + sc->sc_led_blinking = 1; + sc->sc_led_blink_offdur = off_dur; + + callout_reset(&sc->sc_led_blink_ch, on_dur, bwi_led_blink_next, sc); +} + +static void +bwi_led_blink_next(void *xsc) +{ + struct bwi_softc *sc = xsc; + uint16_t val; + + val = CSR_READ_2(sc, BWI_MAC_GPIO_CTRL); + val = bwi_led_onoff(sc->sc_blink_led, val, 0); CSR_WRITE_2(sc, BWI_MAC_GPIO_CTRL, val); + + callout_reset(&sc->sc_led_blink_ch, sc->sc_led_blink_offdur, + bwi_led_blink_end, sc); +} + +static void +bwi_led_blink_end(void *xsc) +{ + struct bwi_softc *sc = xsc; + sc->sc_led_blinking = 0; } /* ==== //depot/projects/wifi/sys/dev/bwi/if_bwireg.h#4 (text+ko) ==== @@ -412,17 +412,35 @@ #define BWI_LED_ACT_MASK __BITS(6, 0) #define BWI_LED_ACT_OFF 0 #define BWI_LED_ACT_ON 1 -#define BWI_LED_ACT_ACTIVE 2 -#define BWI_LED_ACT_RFEN 3 +#define BWI_LED_ACT_BLINK 2 +#define BWI_LED_ACT_RF_ENABLED 3 #define BWI_LED_ACT_5GHZ 4 #define BWI_LED_ACT_2GHZ 5 #define BWI_LED_ACT_11G 6 -#define BWI_LED_ACT_MID 7 -#define BWI_LED_ACT_FAST 8 +#define BWI_LED_ACT_BLINK_SLOW 7 +#define BWI_LED_ACT_BLINK_POLL 8 #define BWI_LED_ACT_UNKN 9 -#define BWI_LED_ACT_RUN 10 +#define BWI_LED_ACT_ASSOC 10 #define BWI_LED_ACT_NULL 11 +#define BWI_VENDOR_LED_ACT_COMPAQ \ + BWI_LED_ACT_RF_ENABLED, \ + BWI_LED_ACT_2GHZ, \ + BWI_LED_ACT_5GHZ, \ + BWI_LED_ACT_OFF + +#define BWI_VENDOR_LED_ACT_LINKSYS \ + BWI_LED_ACT_ASSOC, \ + BWI_LED_ACT_2GHZ, \ + BWI_LED_ACT_5GHZ, \ + BWI_LED_ACT_OFF + +#define BWI_VENDOR_LED_ACT_DEFAULT \ + BWI_LED_ACT_BLINK, \ + BWI_LED_ACT_2GHZ, \ + BWI_LED_ACT_5GHZ, \ + BWI_LED_ACT_OFF + /* * BBP IDs */ ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#5 (text+ko) ==== @@ -55,6 +55,12 @@ #define BWI_SHRETRY_FB 3 #define BWI_LGRETRY_FB 2 +#define BWI_LED_EVENT_NONE -1 +#define BWI_LED_EVENT_POLL 0 +#define BWI_LED_EVENT_TX 1 +#define BWI_LED_EVENT_RX 2 +#define BWI_LED_SLOWDOWN(dur) (dur) = (((dur) * 3) / 2) + #define BWI_NOISE_FLOOR -95 /* TODO: noise floor calc */ #define BWI_FRAME_MIN_LEN(hdr) \ ((hdr) + sizeof(struct ieee80211_frame_ack) + IEEE80211_CRC_LEN) @@ -284,9 +290,13 @@ struct bwi_led { uint8_t l_flags; /* BWI_LED_F_ */ uint8_t l_act; /* BWI_LED_ACT_ */ + uint8_t l_mask; }; #define BWI_LED_F_ACTLOW 0x1 +#define BWI_LED_F_BLINK 0x2 +#define BWI_LED_F_POLLABLE 0x4 +#define BWI_LED_F_SLOW 0x8 enum bwi_clock_mode { BWI_CLOCK_MODE_SLOW, @@ -543,6 +553,14 @@ int sc_nmac; struct bwi_mac sc_mac[BWI_MAC_MAX]; + int sc_rx_rate; + int sc_tx_rate; + + int sc_led_blinking; + int sc_led_ticks; + struct bwi_led *sc_blink_led; + struct callout sc_led_blink_ch; + int sc_led_blink_offdur; struct bwi_led sc_leds[BWI_LED_MAX]; enum bwi_bus_space sc_bus_space; @@ -582,7 +600,7 @@ void (*sc_setup_rxdesc) (struct bwi_softc *, int, bus_addr_t, int); - void (*sc_rxeof)(struct bwi_softc *); + int (*sc_rxeof)(struct bwi_softc *); void (*sc_setup_txdesc) (struct bwi_softc *, struct bwi_ring_data *, @@ -595,6 +613,8 @@ /* Sysctl variables */ int sc_fw_version; /* BWI_FW_VERSION[34] */ int sc_dwell_time; /* milliseconds */ + int sc_led_idle; + int sc_led_blink; }; #define BWI_F_BUS_INITED 0x1 From owner-p4-projects@FreeBSD.ORG Tue Nov 20 06:44:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 292BE16A469; Tue, 20 Nov 2007 06: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 C928B16A468 for ; Tue, 20 Nov 2007 06:44:45 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B8C0D13C46B for ; Tue, 20 Nov 2007 06:44:45 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAK6ijff017045 for ; Tue, 20 Nov 2007 06:44:45 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAK6ijPa017042 for perforce@freebsd.org; Tue, 20 Nov 2007 06:44:45 GMT (envelope-from kevlo@freebsd.org) Date: Tue, 20 Nov 2007 06:44:45 GMT Message-Id: <200711200644.lAK6ijPa017042@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 129272 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 06:44:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=129272 Change 129272 by kevlo@kevlo_rtsl on 2007/11/20 06:44:12 Use pci_enable_busmaster() to turn on busmaster Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#4 (text+ko) ==== @@ -110,36 +110,6 @@ return ENXIO; } -static u_int32_t -bwi_pci_setup(device_t dev) -{ - u_int32_t cmd; - - /* - * Enable memory mapping and bus mastering. - */ - cmd = pci_read_config(dev, PCIR_COMMAND, 4); - cmd |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN; - pci_write_config(dev, PCIR_COMMAND, cmd, 4); - cmd = pci_read_config(dev, PCIR_COMMAND, 4); - if ((cmd & PCIM_CMD_MEMEN) == 0) { - device_printf(dev, "failed to enable memory mapping\n"); - return 0; - } - if ((cmd & PCIM_CMD_BUSMASTEREN) == 0) { - device_printf(dev, "failed to enable bus mastering\n"); - return 0; - } - - /* - * Disable retry timeout to keep PCI Tx retries from - * interfering with C3 CPU state. - */ - pci_write_config(dev, PCIR_RETRY_TIMEOUT, 0, 1); - - return 1; -} - static int bwi_pci_attach(device_t dev) { @@ -149,8 +119,10 @@ sc->sc_dev = dev; - if (!bwi_pci_setup(dev)) - goto bad; + /* + * Enable bus mastering. + */ + pci_enable_busmaster(dev); /* * Setup memory-mapping of PCI registers. @@ -251,9 +223,6 @@ { struct bwi_pci_softc *psc = device_get_softc(dev); - if (!bwi_pci_setup(dev)) - return ENXIO; - bwi_resume(&psc->sc_sc); return (0); From owner-p4-projects@FreeBSD.ORG Tue Nov 20 09:47:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5580816A41A; Tue, 20 Nov 2007 09:47: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 DA42216A417 for ; Tue, 20 Nov 2007 09:47:04 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CCB0F13C459 for ; Tue, 20 Nov 2007 09:47:04 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAK9l49F042385 for ; Tue, 20 Nov 2007 09:47:04 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAK9l4KG042382 for perforce@freebsd.org; Tue, 20 Nov 2007 09:47:04 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 20 Nov 2007 09:47:04 GMT Message-Id: <200711200947.lAK9l4KG042382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 129281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 09:47:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=129281 Change 129281 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/20 09:46:19 style modification Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#8 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#8 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#8 (text+ko) ==== @@ -17,8 +17,10 @@ mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` + mac_test_support=`sysctl -n security.mac.test.pseudoinit 2>/dev/null` - if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then + if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] && + [ "${mac_test_support}" != "" ]; then echo "1..10" #turn off all the switches first ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#8 (text+ko) ==== @@ -16,8 +16,10 @@ mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` + mac_test_support=`sysctl -n security.mac.test.pseudoinit 2>/dev/null` - if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then + if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] && + [ "${mac_test_support}" != "" ]; then #turn off all the switches for i in `sysctl security.mac | grep "\.enabled"| From owner-p4-projects@FreeBSD.ORG Tue Nov 20 20:25:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26A9C16A46B; Tue, 20 Nov 2007 20:25: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 9CE6E16A418 for ; Tue, 20 Nov 2007 20:25:39 +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 9ED3C13C448 for ; Tue, 20 Nov 2007 20:25:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKKPdw4031308 for ; Tue, 20 Nov 2007 20:25:39 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKKPdse031270 for perforce@freebsd.org; Tue, 20 Nov 2007 20:25:39 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 20 Nov 2007 20:25:39 GMT Message-Id: <200711202025.lAKKPdse031270@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 129302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 20:25:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=129302 Change 129302 by hselasky@hselasky_laptop001 on 2007/11/20 20:25:10 A pointer to a structure of type "struct usbd_page_cache" will be passed to the "bus_dmamap_callback_t" function. To be able to start the USB transfer after loading the DMA we need a back pointer to the USB transfer. This commit adds this back pointer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#53 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#53 (text+ko) ==== @@ -202,6 +202,7 @@ struct usbd_page_cache { struct usbd_page *page_start; + struct usbd_xfer *p_xfer; uint32_t page_offset_buf; uint32_t page_offset_end; }; From owner-p4-projects@FreeBSD.ORG Tue Nov 20 20:27:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6345E16A419; Tue, 20 Nov 2007 20:27: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 021DE16A417 for ; Tue, 20 Nov 2007 20:27:42 +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 04F8313C47E for ; Tue, 20 Nov 2007 20:27:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKKRfwG034124 for ; Tue, 20 Nov 2007 20:27:41 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKKRfxV034121 for perforce@freebsd.org; Tue, 20 Nov 2007 20:27:41 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 20 Nov 2007 20:27:41 GMT Message-Id: <200711202027.lAKKRfxV034121@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 129303 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 20:27:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=129303 Change 129303 by hselasky@hselasky_laptop001 on 2007/11/20 20:26:49 Improve style script. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_style.sh#3 (text+ko) ==== @@ -15,12 +15,13 @@ # (cat $1 | indent -Toss_mixerinfo -TFILE -Tu_char -Tu_int -Tu_long \ - -TTAILQ_HEAD -TLIST_HEAD \ + -TTAILQ_HEAD -TLIST_HEAD -TTAILQ_ENTRY -TLIST_ENTRY \ -Tu_short -Tfd_set -ta -st -bad -bap -nbbb -nbc -br -nbs \ -c41 -cd41 -cdb -ce -ci4 -cli0 -d0 -di8 -ndj -ei -nfc1 \ -nfcb -i8 -ip8 -l79 -lc77 -ldi0 -nlp -npcs -psl -sc \ -nsob -nv | sed -e "s/_HEAD [(]/_HEAD(/g" | + sed -e "s/_ENTRY [(]/_ENTRY(/g" | sed -e "s/ __packed/ __packed/g" | sed -e "s/ __aligned/ __aligned/g" ) > temp From owner-p4-projects@FreeBSD.ORG Tue Nov 20 20:31:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DFFC216A419; Tue, 20 Nov 2007 20:31: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 692BA16A418 for ; Tue, 20 Nov 2007 20:31:46 +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 6BD1C13C46E for ; Tue, 20 Nov 2007 20:31:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKKVkfm034578 for ; Tue, 20 Nov 2007 20:31:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKKVkQt034575 for perforce@freebsd.org; Tue, 20 Nov 2007 20:31:46 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 20 Nov 2007 20:31:46 GMT Message-Id: <200711202031.lAKKVkQt034575@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 129304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 20:31:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=129304 Change 129304 by hselasky@hselasky_laptop001 on 2007/11/20 20:31:33 Result from running updated "usb_style.sh". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#54 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#7 (text+ko) ==== @@ -120,7 +120,7 @@ void (*shutdown) (struct usb_interface *intf); - LIST_ENTRY(usb_driver) linux_driver_list; + LIST_ENTRY(usb_driver) linux_driver_list; }; #define USB_DRIVER_EXPORT(id,p_usb_drv) \ ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#54 (text+ko) ==== @@ -407,8 +407,8 @@ struct usb_callout timeout_handle; struct usbd_page_cache buf_data;/* buffer page cache */ struct usbd_page_cache buf_fixup; /* fixup buffer */ - LIST_ENTRY(usbd_xfer) interrupt_list; /* used by HC driver */ - LIST_ENTRY(usbd_xfer) pipe_list; /* used by HC driver */ + LIST_ENTRY(usbd_xfer) interrupt_list; /* used by HC driver */ + LIST_ENTRY(usbd_xfer) pipe_list; /* used by HC driver */ struct usbd_pipe *pipe; struct usbd_device *udev; From owner-p4-projects@FreeBSD.ORG Tue Nov 20 22:50:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F9D716A41A; Tue, 20 Nov 2007 22:50: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 E82EB16A418 for ; Tue, 20 Nov 2007 22:50: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 E99FA13C48A for ; Tue, 20 Nov 2007 22:50:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKMoFEa052305 for ; Tue, 20 Nov 2007 22:50:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKMoFqt052302 for perforce@freebsd.org; Tue, 20 Nov 2007 22:50:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 20 Nov 2007 22:50:15 GMT Message-Id: <200711202250.lAKMoFqt052302@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 129311 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 22:50:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=129311 Change 129311 by hselasky@hselasky_laptop001 on 2007/11/20 22:49:44 This commit is needed to support loading of virtual buffers into DMA. Replaced "usbd_page_cache_offset" by "usbd_set_frame_offset" for sake of convenience. The initial function also contained a bug. The functions "usbd_set_frame_index" and "usbd_set_frame_offset" contradict eachother. The first one sets up an USB frame to use the system allocated DMA buffer at the give offset. The second one sets up an USB frame to use a virtual buffer for the given USB frame, that lateer will be loaded into DMA. Added new field "p_buffer" to "struct usbd_page_cache" which will hold the Virtual Address that should be loaded into DMA. Added new field "dma_page_ptr" to "struct usbd_xfer". How loading of virtual buffers into DMA now works under USB; When the system pre-allocates DMA memory it will fill out an array of "struct usbd_page" that contains information like physical address and virtual address. When we want to load some virtual memory into DMA we fill out a similar array of "struct usbd_page" with information about physical address and other needed stuff. Then we point the "page_start" field of the "usbd_page_cache" structure (see: xfer->frbuffers) to use a set of consequtive elements within the "xfer->dma_page_ptr" array. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#48 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#55 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#42 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#48 (text+ko) ==== @@ -2052,31 +2052,6 @@ } /*------------------------------------------------------------------------------* - * usbd_page_cache_offset - *------------------------------------------------------------------------------*/ -void -usbd_page_cache_offset(struct usbd_page_cache *pc_src, - struct usbd_page_cache *pc_dst, - uint32_t offset) -{ - struct usbd_page *page = pc_src->page_start; - - offset += pc_src->page_offset_buf; - - if ((offset >= pc_src->page_offset_end) || - (offset < pc_src->page_offset_buf)) { - /* out of range */ - bzero(pc_dst, sizeof(*pc_dst)); - return; - } - page += (offset / USB_PAGE_SIZE); - pc_dst->page_start = page; - pc_dst->page_offset_buf = (offset % USB_PAGE_SIZE); - pc_dst->page_offset_end = (2 * pc_src->page_offset_end) - offset; - return; -} - -/*------------------------------------------------------------------------------* * usbd_page_fit_obj - fit object function *------------------------------------------------------------------------------*/ uint32_t ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#55 (text+ko) ==== @@ -203,6 +203,8 @@ struct usbd_page_cache { struct usbd_page *page_start; struct usbd_xfer *p_xfer; + void *p_buffer; /* virtual buffer to be loaded by + * BUS-DMA */ uint32_t page_offset_buf; uint32_t page_offset_end; }; @@ -210,6 +212,7 @@ struct usbd_setup_params { struct usbd_page_cache pc; + struct usbd_page *dma_page_ptr; struct usbd_page *page_ptr; struct usbd_device *udev; struct usbd_xfer *curr_xfer; @@ -217,7 +220,7 @@ const struct usbd_pipe_methods *methods; void *buf; - uint32_t size[3]; + uint32_t size[4]; uint32_t total_size[3]; uint32_t bufsize; uint32_t hc_max_frame_size; @@ -410,6 +413,7 @@ LIST_ENTRY(usbd_xfer) interrupt_list; /* used by HC driver */ LIST_ENTRY(usbd_xfer) pipe_list; /* used by HC driver */ + struct usbd_page *dma_page_ptr; struct usbd_pipe *pipe; struct usbd_device *udev; struct mtx *priv_mtx; @@ -661,7 +665,6 @@ uint8_t usbd_page_alloc(bus_dma_tag_t tag, struct usbd_page *page, uint32_t npages); void usbd_page_free(struct usbd_page *page, uint32_t npages); void usbd_page_cache_init(struct usbd_page_cache *pc, struct usbd_page *page_ptr, uint32_t offset, uint32_t size); -void usbd_page_cache_offset(struct usbd_page_cache *pc_src, struct usbd_page_cache *pc_dst, uint32_t offset); uint32_t usbd_page_fit_obj(uint32_t size, uint32_t obj_len); void *usbd_mem_alloc(bus_dma_tag_t parent, struct usbd_page *page, uint32_t size, uint8_t align_power); void usbd_mem_free(struct usbd_page *page); @@ -721,6 +724,7 @@ void usbd_transfer_start(struct usbd_xfer *xfer); void usbd_transfer_stop(struct usbd_xfer *xfer); void usbd_set_frame_data(struct usbd_xfer *xfer, void *ptr, uint32_t len, uint32_t frindex); +void usbd_set_frame_offset(struct usbd_xfer *xfer, uint32_t offset, uint32_t frindex); void usbd_callback_wrapper(struct usbd_xfer *xfer); void usbd_do_callback(struct usbd_xfer **pp_xfer, struct thread *td); void usbd_transfer_enqueue(struct usbd_xfer *xfer); ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#42 (text+ko) ==== @@ -282,8 +282,9 @@ const struct usbd_config *setup = parm->curr_setup; usb_endpoint_descriptor_t *edesc; struct usbd_std_packet_size std_size; - uint16_t n_frlengths; - uint16_t n_frbuffers; + uint32_t n_frlengths; + uint32_t n_frbuffers; + uint32_t x; uint8_t type; uint8_t zmps; @@ -573,7 +574,8 @@ usbd_page_cache_init (xfer->frbuffers + 1, parm->page_ptr, - parm->size[1] + REQ_SIZE, parm->bufsize - REQ_SIZE); + parm->size[1] + REQ_SIZE, + parm->bufsize - REQ_SIZE); } /* * make a copy of the page cache that @@ -587,6 +589,18 @@ /* align data again */ parm->size[1] += ((-parm->size[1]) & (USB_HOST_ALIGN - 1)); } + /* + * check if we need to allocate + * temporary usbd_page structure(s) + * for loading memory into DMA + */ + + if (xfer->flags.bdma_enable) { + /* setup "dma_page_ptr" */ + xfer->dma_page_ptr = parm->dma_page_ptr; + parm->dma_page_ptr += n_frbuffers; + parm->dma_page_ptr += (parm->bufsize / USB_PAGE_SIZE); + } if (zmps) { /* correct maximum data length */ xfer->max_data_length = 0; @@ -601,6 +615,13 @@ parm->err = USBD_INVAL; goto done; } + /* initialize transfer backpointer */ + + if (parm->buf) { + for (x = 0; x < n_frbuffers; x++) { + xfer->frbuffers[x].p_xfer = xfer; + } + } done: if (parm->err) { xfer->max_usb_frame_size = 1; /* XXX avoid division by zero */ @@ -777,7 +798,14 @@ /* store offset temporarily */ parm.size[2] = parm.size[0]; - parm.size[0] += (sizeof(parm.page_ptr[0]) * parm.total_size[1]); + parm.size[0] += (sizeof(parm.page_ptr[0]) * + parm.total_size[1]); + + /* store offset temporarily */ + parm.size[3] = parm.size[0]; + + parm.size[0] += ((uint8_t *)parm.dma_page_ptr) - + ((uint8_t *)0); /* store total buffer size */ parm.total_size[0] = parm.size[0]; @@ -793,6 +821,7 @@ goto done; } parm.page_ptr = USBD_ADD_BYTES(buf, parm.size[2]); + parm.dma_page_ptr = USBD_ADD_BYTES(buf, parm.size[3]); if (usbd_page_alloc(udev->bus->dma_tag, parm.page_ptr, parm.total_size[1])) { @@ -1431,6 +1460,35 @@ usbd_set_frame_data(struct usbd_xfer *xfer, void *ptr, uint32_t len, uint32_t frindex) { + xfer->frbuffers[frindex].p_buffer = ptr; /* enable loading of + * memory into DMA */ + xfer->frlengths[frindex] = len; + return; +} + +/*------------------------------------------------------------------------* + * usbd_set_frame_offset + * + * This function sets the frame data buffer offset relative to the beginning + * of the USB DMA buffer allocated for this USB transfer. + *------------------------------------------------------------------------*/ +void +usbd_set_frame_offset(struct usbd_xfer *xfer, uint32_t offset, + uint32_t frindex) +{ + struct usbd_page *page = xfer->buf_data.page_start; + struct usbd_page_cache *pc = xfer->frbuffers + frindex; + + __KASSERT(!xfer->flags.ext_buffer, ("Cannot offset data frame " + " when the USB buffer is external!\n")); + + pc->page_offset_end = xfer->buf_data.page_offset_end - offset; + + offset += xfer->buf_data.page_offset_buf; + page += (offset / USB_PAGE_SIZE); + pc->page_start = page; + pc->page_offset_buf = (offset % USB_PAGE_SIZE); + pc->p_buffer = NULL; /* disable loading of memory into DMA */ return; } From owner-p4-projects@FreeBSD.ORG Tue Nov 20 23:10:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B045416A421; Tue, 20 Nov 2007 23:10: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 1B9AA16A419 for ; Tue, 20 Nov 2007 23:10:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0623A13C4B8 for ; Tue, 20 Nov 2007 23:10:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKNAbi3054191 for ; Tue, 20 Nov 2007 23:10:37 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKNAbpa054188 for perforce@freebsd.org; Tue, 20 Nov 2007 23:10:37 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 20 Nov 2007 23:10:37 GMT Message-Id: <200711202310.lAKNAbpa054188@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129312 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 23:10:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=129312 Change 129312 by kmacy@kmacy_home:ethng on 2007/11/20 23:10:35 remove references to unused ifnet functions Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#28 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#28 (text+ko) ==== @@ -927,8 +927,6 @@ } ifp->if_flags |= IFF_MULTIQ; ifp->if_mq_start = cxgb_pcpu_start; - ifp->if_mq_enqueue_packet = cxgb_pcpu_enqueue_packet; - ifp->if_mq_get_cookie = cxgb_pcpu_get_cookie; #endif ifp->if_timer = 0; /* Disable ifnet watchdog */ From owner-p4-projects@FreeBSD.ORG Tue Nov 20 23:23:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE78416A419; Tue, 20 Nov 2007 23:23: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 5A77B16A417 for ; Tue, 20 Nov 2007 23:23:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 44BDC13C43E for ; Tue, 20 Nov 2007 23:23:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAKNNqax054683 for ; Tue, 20 Nov 2007 23:23:52 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAKNNqe2054680 for perforce@freebsd.org; Tue, 20 Nov 2007 23:23:52 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 20 Nov 2007 23:23:52 GMT Message-Id: <200711202323.lAKNNqe2054680@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Nov 2007 23:23:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=129313 Change 129313 by kmacy@kmacy_home:ethng on 2007/11/20 23:23:38 add ifnet_multiqueue variable to indicate that multiqueue is supported Affected files ... .. //depot/projects/ethng/src/sys/net/if.c#6 edit Differences ... ==== //depot/projects/ethng/src/sys/net/if.c#6 (text+ko) ==== @@ -151,6 +151,7 @@ static struct filterops netdev_filtops = { 1, NULL, filt_netdetach, filt_netdev }; +int ifnet_multiqueue = 1; /* * System initialization From owner-p4-projects@FreeBSD.ORG Wed Nov 21 08:05:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC45F16A46C; Wed, 21 Nov 2007 08:05:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CCE116A417 for ; Wed, 21 Nov 2007 08:05:22 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 42A2013C45B for ; Wed, 21 Nov 2007 08:05:22 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAL85Mq2006032 for ; Wed, 21 Nov 2007 08:05:22 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAL85LxC006029 for perforce@freebsd.org; Wed, 21 Nov 2007 08:05:21 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 21 Nov 2007 08:05:21 GMT Message-Id: <200711210805.lAL85LxC006029@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 129334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Nov 2007 08:05:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=129334 Change 129334 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/21 08:04:37 style modification Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tcpconnect.c#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/bpf/00.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tcpconnect.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/mactest/tcpconnect.c,v 1.4 2005/05/16 00:54:47 rwatson Exp $ + * $FreeBSD$ */ #include #include @@ -60,7 +60,7 @@ void my_callback(u_char *useless,const struct pcap_pkthdr* pkthdr,const u_char* packet) { - printf("bpf received!"); + printf("bpf received!\n"); exit(0); } @@ -383,9 +383,11 @@ err(1, "waiter: semop -1"); - logfd = open("/dev/mactest", O_RDWR); + logfd = open("LOGDEV", O_RDWR); ioctl(logfd, BEGINLOG, NULL); + + if ((pid = fork()) == 0) tcpconnect_server(serveraddress, port); @@ -402,7 +404,9 @@ if (waitpid(pid, 0, 0) == -1) fprintf(stderr, "server error\n"); + close(logfd); + if (semctl(semid, 0, IPC_RMID) == -1) warn("semctl IPC_RMID"); if (semctl(semid1, 0, IPC_RMID) == -1) ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/bpf/00.t#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/bpf/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ desc="test of bpf" @@ -7,79 +7,75 @@ dir=`dirname $0` . ${dir}/../misc.sh -echo "1..2" +case "${os}" in +FreeBSD) + + mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` + mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` + mac_test_support=`sysctl -n security.mac.test.pseudoinit 2>/dev/null` + if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] && + [ "${mac_test_support}" != "" ]; then #turn off all the switches -for i in `sysctl security.mac | grep "\.enabled"| - sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do -sysctl ${i}=0 -done + for i in `sysctl security.mac | grep "\.enabled"| + sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do + sysctl ${i}=0 >/dev/null + done -mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` -mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` -mac_test_support=`sysctl -n security.mac.test.pseudoinit 2>/dev/null` - +#enabling mactest pseudo interface + t=`sysctl security.mac.test.pseudoinit=1` + t=`ifconfig mac_test0 192.167.0.33` + t=`ifconfig mac_test1 192.167.1.34` -if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] && - [ "${mac_test_support}" != "" ]; then - dvplabel=`getfmac ".."| sed 's/\(\.\.:\ \)\([a-z\,\/]*\)/\2/`; - - - if [ -f ${mactest_conf} ]; then - rm ${mactest_conf} - fi - touch ${mactest_conf} - - t=`sysctl security.mac.test.pseudoinit=1` - t=`ifconfig mac_test0 192.167.0.33` - t=`ifconfig mac_test1 192.167.1.34` - echo "enabling mactest pseudo interface" - #ensuring there is no firewall thing - notreceived=`${macping} -f ${mactest_conf} -t 2 192.167.0.34` - if [ "${#notreceived}" -eq 0 ]; then + if [ -f ${mactest_conf} ]; then + rm ${mactest_conf} + fi + touch ${mactest_conf} + setfmac "mls/equal,biba/equal" ${mactest_conf} + + notreceived=`${macping} -f ${mactest_conf} -t 2 192.167.0.34` + + if [ "${#notreceived}" -eq 0 ]; then - + echo "1..2" +#case 1: bpf descriptor's label matches that of mbuf's + ifconfig mac_test1 maclabel \ + "mls/5(4-7),biba/5(4-7)" + ifconfig mac_test0 maclabel \ + "mls/5(4-7),biba/5(4-7)" -############################################################# - - - - -#case 1: bpf descriptor's label matches that of mbuf's - ifconfig mac_test1 maclabel \ - "mls/5(4-7),biba/5(4-7)" - ifconfig mac_test0 maclabel \ - "mls/5(4-7),biba/5(4-7)" - touch ${mactest_conf} - setfmac "mls/equal,biba/equal" ${mactest_conf} - t=`sysctl security.mac.mls.enabled=1` - echo "enabling mac/mls!" - echo "enabling mac/biba!" - t=`sysctl security.mac.biba.enabled=1` - bizarretestexpect ${tcpconnect} "" "bpf.received!" \ - -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(4-7)" \ - -s 192.167.0.33 -c 192.167.1.33 -p 1111 + sysctl security.mac.mls.enabled=1 >/dev/null + sysctl security.mac.biba.enabled=1 > /dev/null + + bizarretestexpect ${tcpconnect} "" "bpf.received!" \ + -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(low-high)" \ + -s 192.167.0.33 -c 192.167.1.33 -p 1111 #case 2: bpf descriptor's label doesnot matches that of mbuf's - ifconfig mac_test0 maclabel \ - "mls/6(4-7),biba/5(4-7)" - echo -n "pid = -2 mac_test_check_bpfdesc_receive:" > ${mactest_conf} - echo "biba/5,mls/5 biba/5(4-7),mls/6(4-7)" >> ${mactest_conf} - bizarretestexpect ${tcpconnect} "" \ - "" -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(4-7)" \ - -s 192.167.0.33 -c 192.167.1.33 -p 1111 + ifconfig mac_test0 maclabel \ + "mls/6(4-7),biba/5(4-7)" + echo -n "pid = -2 bpfdesc_check_receive:" > ${mactest_conf} + echo "biba/5,mls/5 biba/5(4-7),mls/6(4-7)" >> ${mactest_conf} + bizarretestexpect ${tcpconnect} "" \ + "" -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(low-high)" \ + -s 192.167.0.33 -c 192.167.1.33 -p 1112 #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" - t=`sysctl security.mac.biba.enabled=0` - echo "disabling mac/biba!" - rm ${mactest_conf} - fi + sysctl security.mac.mls.enabled=0 >/dev/null + sysctl security.mac.biba.enabled=0 > /dev/null + rm ${mactest_conf} +#ping received, no firewall + fi +#mac_mls mac_biba and mac_test support + fi + ;; +*) + quick_exit + ;; +esac -fi From owner-p4-projects@FreeBSD.ORG Thu Nov 22 06:37:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B5B4B16A420; Thu, 22 Nov 2007 06:37: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 F403916A418 for ; Thu, 22 Nov 2007 06:37:46 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0BAEC13C48A for ; Thu, 22 Nov 2007 06:37:47 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAM6bkxe069903 for ; Thu, 22 Nov 2007 06:37:46 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAM6bknd069900 for perforce@freebsd.org; Thu, 22 Nov 2007 06:37:46 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 22 Nov 2007 06:37:46 GMT Message-Id: <200711220637.lAM6bknd069900@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 129370 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 06:37:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=129370 Change 129370 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/22 06:36:51 use thread0's ucred to circumvent the priv check Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#8 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#8 (text+ko) ==== @@ -128,12 +128,12 @@ if ((error = vn_start_write(logvnode, &mp, V_WAIT))) goto bad; - VOP_LEASE(logvnode, curthread, curthread->td_ucred, LEASE_WRITE); + VOP_LEASE(logvnode, curthread, /*curthread->td_ucred*/thread0.td_ucred, LEASE_WRITE); VATTR_NULL(&vat); vat.va_size = 0; vn_lock(logvnode, LK_EXCLUSIVE | LK_RETRY, curthread); /*do truncate */ - error = VOP_SETATTR(logvnode, &vat, curthread->td_ucred, curthread); + error = VOP_SETATTR(logvnode, &vat, /*curthread->td_ucred*/thread0.td_ucred, curthread); /*set the external attribute */ @@ -147,10 +147,11 @@ auio.uio_segflg = UIO_SYSSPACE; auio.uio_td = curthread; - mac_vnode_check_setextattr(curthread->td_ucred, logvnode, + mac_vnode_check_setextattr(/*curthread->td_ucred*/thread0.td_ucred, logvnode, EXTATTR_NAMESPACE_SYSTEM, "mac_test", &auio); error = VOP_SETEXTATTR(logvnode, EXTATTR_NAMESPACE_SYSTEM, - "mac_test", &auio, curthread->td_ucred, curthread); + "mac_test", &auio, /*curthread->td_ucred*/thread0.td_ucred, curthread); + VOP_UNLOCK(logvnode, 0, curthread); vn_finished_write(mp); From owner-p4-projects@FreeBSD.ORG Thu Nov 22 06:50:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0969116A419; Thu, 22 Nov 2007 06:50: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 5A0E116A417 for ; Thu, 22 Nov 2007 06:50:02 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 64DEF13C43E for ; Thu, 22 Nov 2007 06:50:02 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAM6o2Ep070341 for ; Thu, 22 Nov 2007 06:50:02 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAM6o2cu070313 for perforce@freebsd.org; Thu, 22 Nov 2007 06:50:02 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 22 Nov 2007 06:50:02 GMT Message-Id: <200711220650.lAM6o2cu070313@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 129371 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 06:50:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=129371 Change 129371 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/22 06:49:27 check for TCP's time wait status Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/bpf/00.t#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/bpf/00.t#3 (text+ko) ==== @@ -36,8 +36,9 @@ setfmac "mls/equal,biba/equal" ${mactest_conf} notreceived=`${macping} -f ${mactest_conf} -t 2 192.167.0.34` - - if [ "${#notreceived}" -eq 0 ]; then + timewait=`netstat -p tcp|grep 111|grep TIME_WAIT` + + if [ "${#notreceived}" -eq 0 ] && [ "${#timewait}" -eq 0 ]; then echo "1..2" @@ -51,7 +52,7 @@ sysctl security.mac.biba.enabled=1 > /dev/null bizarretestexpect ${tcpconnect} "" "bpf.received!" \ - -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(low-high)" \ + -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(4-7)" \ -s 192.167.0.33 -c 192.167.1.33 -p 1111 #case 2: bpf descriptor's label doesnot matches that of mbuf's @@ -61,7 +62,7 @@ echo "biba/5,mls/5 biba/5(4-7),mls/6(4-7)" >> ${mactest_conf} bizarretestexpect ${tcpconnect} "" \ - "" -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(low-high)" \ + "" -f ${mactest_conf} -t 2 -b "mls/5(4-7),biba/5(4-7)" \ -s 192.167.0.33 -c 192.167.1.33 -p 1112 #cleanup: From owner-p4-projects@FreeBSD.ORG Thu Nov 22 11:32:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03FBB16A41B; Thu, 22 Nov 2007 11:32: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 A5C5316A418 for ; Thu, 22 Nov 2007 11:32:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 73D1513C4D9 for ; Thu, 22 Nov 2007 11:32:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMBW7lM097702 for ; Thu, 22 Nov 2007 11:32:07 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMBW78K097699 for perforce@freebsd.org; Thu, 22 Nov 2007 11:32:07 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Nov 2007 11:32:07 GMT Message-Id: <200711221132.lAMBW78K097699@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 129374 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 11:32:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=129374 Change 129374 by gonzo@gonzo_jeeves on 2007/11/22 11:32:02 o Add uart0 base address Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#6 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#6 (text+ko) ==== @@ -55,6 +55,8 @@ #define GPIO_ISTAT 0x10 #define GPIO_NMIEN 0x14 +#define IDT_BASE_UART0 0x18058000 + /* PCI controller */ #define IDT_BASE_PCI 0x18080000 #define IDT_PCI_CNTL 0x00 From owner-p4-projects@FreeBSD.ORG Thu Nov 22 11:48:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9F8A16A468; Thu, 22 Nov 2007 11:48: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 6C87C16A418 for ; Thu, 22 Nov 2007 11:48:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1586313C467 for ; Thu, 22 Nov 2007 11:48:30 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMBmTtU098266 for ; Thu, 22 Nov 2007 11:48:30 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMBmOok098263 for perforce@freebsd.org; Thu, 22 Nov 2007 11:48:24 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Nov 2007 11:48:24 GMT Message-Id: <200711221148.lAMBmOok098263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 129375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 11:48:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=129375 Change 129375 by gonzo@gonzo_jeeves on 2007/11/22 11:47:44 o IFC Affected files ... .. //depot/projects/mips2/src/ObsoleteFiles.inc#10 integrate .. //depot/projects/mips2/src/UPDATING#8 integrate .. //depot/projects/mips2/src/bin/ln/ln.1#2 integrate .. //depot/projects/mips2/src/bin/ln/ln.c#2 integrate .. //depot/projects/mips2/src/bin/sh/Makefile#2 integrate .. //depot/projects/mips2/src/contrib/csup/mux.c#2 integrate .. //depot/projects/mips2/src/contrib/gdb/gdb/i386fbsd-nat.c#2 integrate .. //depot/projects/mips2/src/contrib/less/FREEBSD-upgrade#1 branch .. //depot/projects/mips2/src/contrib/less/LICENSE#3 integrate .. //depot/projects/mips2/src/contrib/less/Makefile.dsm#2 delete .. //depot/projects/mips2/src/contrib/less/NEWS#5 integrate .. //depot/projects/mips2/src/contrib/less/README#5 integrate .. //depot/projects/mips2/src/contrib/less/ch.c#5 integrate .. //depot/projects/mips2/src/contrib/less/command.c#4 integrate .. //depot/projects/mips2/src/contrib/less/configure#5 integrate .. //depot/projects/mips2/src/contrib/less/configure.ac#5 integrate .. //depot/projects/mips2/src/contrib/less/decode.c#4 integrate .. //depot/projects/mips2/src/contrib/less/defines.ds#4 integrate .. //depot/projects/mips2/src/contrib/less/defines.h.in#4 integrate .. //depot/projects/mips2/src/contrib/less/defines.o2#4 integrate .. //depot/projects/mips2/src/contrib/less/defines.o9#4 integrate .. //depot/projects/mips2/src/contrib/less/defines.wn#4 integrate .. //depot/projects/mips2/src/contrib/less/edit.c#4 integrate .. //depot/projects/mips2/src/contrib/less/filename.c#5 integrate .. //depot/projects/mips2/src/contrib/less/funcs.h#5 integrate .. //depot/projects/mips2/src/contrib/less/less.h#5 integrate .. //depot/projects/mips2/src/contrib/less/less.man#5 integrate .. //depot/projects/mips2/src/contrib/less/less.nro#5 integrate .. //depot/projects/mips2/src/contrib/less/lessecho.man#4 integrate .. //depot/projects/mips2/src/contrib/less/lessecho.nro#4 integrate .. //depot/projects/mips2/src/contrib/less/lesskey.man#5 integrate .. //depot/projects/mips2/src/contrib/less/lesskey.nro#5 integrate .. //depot/projects/mips2/src/contrib/less/line.c#5 integrate .. //depot/projects/mips2/src/contrib/less/optfunc.c#4 integrate .. //depot/projects/mips2/src/contrib/less/opttbl.c#4 integrate .. //depot/projects/mips2/src/contrib/less/screen.c#4 integrate .. //depot/projects/mips2/src/contrib/less/search.c#5 integrate .. //depot/projects/mips2/src/contrib/less/tags.c#4 integrate .. //depot/projects/mips2/src/contrib/less/version.c#5 integrate .. //depot/projects/mips2/src/contrib/tcpdump/tcpdump.c#4 integrate .. //depot/projects/mips2/src/etc/etc.amd64/ttys#3 integrate .. //depot/projects/mips2/src/etc/etc.arm/ttys#4 integrate .. //depot/projects/mips2/src/etc/etc.i386/ttys#3 integrate .. //depot/projects/mips2/src/etc/etc.ia64/ttys#3 integrate .. //depot/projects/mips2/src/etc/etc.powerpc/ttys#4 integrate .. //depot/projects/mips2/src/etc/etc.sparc64/ttys#3 integrate .. //depot/projects/mips2/src/etc/freebsd-update.conf#2 integrate .. //depot/projects/mips2/src/etc/rc.d/hostapd#2 integrate .. //depot/projects/mips2/src/gnu/lib/libobjc/Makefile#4 integrate .. //depot/projects/mips2/src/gnu/usr.bin/cc/cc_tools/Makefile#6 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/arch/arm/Makefile#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/arch/arm/armfbsd-tdep.c#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/arch/arm/init.c#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/arch/arm/nm-fbsd.h#2 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/kgdb/kgdb.h#4 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/mips2/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#3 integrate .. //depot/projects/mips2/src/include/dirent.h#2 integrate .. //depot/projects/mips2/src/kerberos5/lib/Makefile.inc#2 integrate .. //depot/projects/mips2/src/lib/Makefile#6 integrate .. //depot/projects/mips2/src/lib/libc/gdtoa/_ldtoa.c#2 integrate .. //depot/projects/mips2/src/lib/libc/gen/closedir.c#3 integrate .. //depot/projects/mips2/src/lib/libc/net/Makefile.inc#5 integrate .. //depot/projects/mips2/src/lib/libc/rpc/authdes_prot.c#2 integrate .. //depot/projects/mips2/src/lib/libc/rpc/authunix_prot.c#2 integrate .. //depot/projects/mips2/src/lib/libc/rpc/key_prot_xdr.c#2 integrate .. //depot/projects/mips2/src/lib/libc/rpc/rpc_callmsg.c#2 integrate .. //depot/projects/mips2/src/lib/libc/rpc/rpc_prot.c#2 integrate .. //depot/projects/mips2/src/lib/libc/rpc/rpcb_prot.c#3 integrate .. //depot/projects/mips2/src/lib/libc/rpc/rpcb_st_xdr.c#2 integrate .. //depot/projects/mips2/src/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/mips2/src/lib/libdisk/libdisk.h#3 integrate .. //depot/projects/mips2/src/lib/libgssapi/Makefile#2 integrate .. //depot/projects/mips2/src/lib/libkse/Makefile#2 integrate .. //depot/projects/mips2/src/lib/libkse/thread/thr_spec.c#2 integrate .. //depot/projects/mips2/src/lib/libsdp/search.c#2 integrate .. //depot/projects/mips2/src/lib/libthr/Makefile#6 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_mutex.c#6 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_private.h#6 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_sem.c#3 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_sig.c#4 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_suspend_np.c#3 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_umtx.c#4 integrate .. //depot/projects/mips2/src/lib/libthr/thread/thr_umtx.h#3 integrate .. //depot/projects/mips2/src/lib/libthread_db/arch/arm/libpthread_md.c#1 branch .. //depot/projects/mips2/src/lib/libutil/expand_number.3#2 integrate .. //depot/projects/mips2/src/lib/libutil/expand_number.c#2 integrate .. //depot/projects/mips2/src/lib/libutil/libutil.h#4 integrate .. //depot/projects/mips2/src/lib/libutil/pty.c#3 integrate .. //depot/projects/mips2/src/libexec/rtld-elf/powerpc/reloc.c#4 integrate .. //depot/projects/mips2/src/release/Makefile#7 integrate .. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#6 integrate .. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#10 integrate .. //depot/projects/mips2/src/release/picobsd/bridge/PICOBSD#3 integrate .. //depot/projects/mips2/src/release/picobsd/bridge/crunch.conf#3 integrate .. //depot/projects/mips2/src/release/picobsd/build/Makefile.conf#2 integrate .. //depot/projects/mips2/src/release/picobsd/build/picobsd#2 integrate .. //depot/projects/mips2/src/release/picobsd/tinyware/login/Makefile#2 integrate .. //depot/projects/mips2/src/sbin/clri/clri.c#2 integrate .. //depot/projects/mips2/src/sbin/devd/Makefile#2 integrate .. //depot/projects/mips2/src/sbin/geom/class/journal/gjournal.8#2 integrate .. //depot/projects/mips2/src/sbin/geom/class/virstor/geom_virstor.c#2 integrate .. //depot/projects/mips2/src/sbin/init/init.c#4 integrate .. //depot/projects/mips2/src/sbin/ipf/ipftest/Makefile#3 integrate .. //depot/projects/mips2/src/sbin/ipfw/ipfw.8#7 integrate .. //depot/projects/mips2/src/sbin/mdconfig/mdconfig.c#3 integrate .. //depot/projects/mips2/src/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/mips2/src/sbin/ping6/ping6.8#2 integrate .. //depot/projects/mips2/src/sbin/ping6/ping6.c#4 integrate .. //depot/projects/mips2/src/sbin/spppcontrol/spppcontrol.c#2 integrate .. //depot/projects/mips2/src/share/colldef/sv_SE.ISO8859-1.src#2 integrate .. //depot/projects/mips2/src/share/colldef/sv_SE.ISO8859-15.src#2 integrate .. //depot/projects/mips2/src/share/man/man4/Makefile#12 integrate .. //depot/projects/mips2/src/share/man/man4/asmc.4#1 branch .. //depot/projects/mips2/src/share/man/man4/ipw.4#4 integrate .. //depot/projects/mips2/src/share/man/man4/iwi.4#4 integrate .. //depot/projects/mips2/src/share/man/man4/msk.4#3 integrate .. //depot/projects/mips2/src/share/man/man4/wlan.4#4 integrate .. //depot/projects/mips2/src/share/man/man4/wpi.4#2 integrate .. //depot/projects/mips2/src/share/man/man5/freebsd-update.conf.5#2 integrate .. //depot/projects/mips2/src/share/man/man9/Makefile#7 integrate .. //depot/projects/mips2/src/share/man/man9/rmlock.9#2 integrate .. //depot/projects/mips2/src/share/man/man9/timeout.9#2 integrate .. //depot/projects/mips2/src/share/mk/bsd.sys.mk#4 integrate .. //depot/projects/mips2/src/share/mk/sys.mk#9 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/exception.S#3 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/intr_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/trap.c#6 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/arm/arm/pmap.c#7 integrate .. //depot/projects/mips2/src/sys/arm/arm/trap.c#6 integrate .. //depot/projects/mips2/src/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/mips2/src/sys/arm/conf/HL200#1 branch .. //depot/projects/mips2/src/sys/boot/i386/cdboot/cdboot.s#3 integrate .. //depot/projects/mips2/src/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/mips2/src/sys/boot/pc98/cdboot/cdboot.s#3 integrate .. //depot/projects/mips2/src/sys/cam/scsi/scsi_all.h#4 integrate .. //depot/projects/mips2/src/sys/conf/files#12 integrate .. //depot/projects/mips2/src/sys/conf/files.amd64#8 integrate .. //depot/projects/mips2/src/sys/conf/files.i386#9 integrate .. //depot/projects/mips2/src/sys/conf/files.pc98#6 integrate .. //depot/projects/mips2/src/sys/conf/kmod.mk#4 integrate .. //depot/projects/mips2/src/sys/contrib/pf/net/pf.c#6 integrate .. //depot/projects/mips2/src/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/mips2/src/sys/contrib/pf/net/pf_ioctl.c#6 integrate .. //depot/projects/mips2/src/sys/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/mips2/src/sys/dev/agp/agp.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_ali.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_amd.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_amd64.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_ati.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_i810.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_if.m#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_intel.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_nvidia.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_sis.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agp_via.c#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agppriv.h#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agpreg.h#1 branch .. //depot/projects/mips2/src/sys/dev/agp/agpvar.h#1 branch .. //depot/projects/mips2/src/sys/dev/an/if_an.c#6 integrate .. //depot/projects/mips2/src/sys/dev/an/if_anreg.h#2 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-dma.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-pci.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/mips2/src/sys/dev/ata/atapi-cd.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ata/atapi-fd.c#3 integrate .. //depot/projects/mips2/src/sys/dev/ata/atapi-tape.c#3 integrate .. //depot/projects/mips2/src/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/mips2/src/sys/dev/bfe/if_bfe.c#6 integrate .. //depot/projects/mips2/src/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/mips2/src/sys/dev/dc/dcphy.c#3 integrate .. //depot/projects/mips2/src/sys/dev/dc/if_dc.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drmP.h#3 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_agpsupport.c#3 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82575.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_82575.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/mips2/src/sys/dev/em/if_em.c#7 integrate .. //depot/projects/mips2/src/sys/dev/em/if_em.h#6 integrate .. //depot/projects/mips2/src/sys/dev/esp/esp_sbus.c#3 integrate .. //depot/projects/mips2/src/sys/dev/ichwd/ichwd.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ichwd/ichwd.h#3 integrate .. //depot/projects/mips2/src/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/mips2/src/sys/dev/mii/amphy.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mii/e1000phy.c#5 integrate .. //depot/projects/mips2/src/sys/dev/mii/nsphy.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mii/rlphy.c#5 integrate .. //depot/projects/mips2/src/sys/dev/mii/tdkphy.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mii/ukphy_subr.c#2 integrate .. //depot/projects/mips2/src/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/mips2/src/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/mips2/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/mips2/src/sys/dev/nge/if_nge.c#3 integrate .. //depot/projects/mips2/src/sys/dev/nve/if_nve.c#4 integrate .. //depot/projects/mips2/src/sys/dev/pci/pci.c#7 integrate .. //depot/projects/mips2/src/sys/dev/re/if_re.c#8 integrate .. //depot/projects/mips2/src/sys/dev/sk/if_sk.c#6 integrate .. //depot/projects/mips2/src/sys/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/mips2/src/sys/dev/stge/if_stge.c#4 integrate .. //depot/projects/mips2/src/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/mips2/src/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/mips2/src/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/uhci_pci.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/mips2/src/sys/dev/vge/if_vge.c#3 integrate .. //depot/projects/mips2/src/sys/dev/vx/if_vx_pci.c#3 integrate .. //depot/projects/mips2/src/sys/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/mips2/src/sys/fs/msdosfs/msdosfs_vfsops.c#8 integrate .. //depot/projects/mips2/src/sys/fs/ntfs/ntfs_ihash.c#2 integrate .. //depot/projects/mips2/src/sys/fs/ntfs/ntfs_vfsops.c#4 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs.h#4 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_vnops.c#5 integrate .. //depot/projects/mips2/src/sys/geom/eli/g_eli_crypto.c#4 integrate .. //depot/projects/mips2/src/sys/geom/label/g_label_reiserfs.c#2 integrate .. //depot/projects/mips2/src/sys/i386/bios/apm.c#4 integrate .. //depot/projects/mips2/src/sys/i386/i386/intr_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/i386/i386/locore.s#3 integrate .. //depot/projects/mips2/src/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/mips2/src/sys/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/i386/i386/pmap.c#10 integrate .. //depot/projects/mips2/src/sys/i386/i386/trap.c#7 integrate .. //depot/projects/mips2/src/sys/i386/i386/vm_machdep.c#4 integrate .. //depot/projects/mips2/src/sys/i386/include/pmap.h#4 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/machdep.c#6 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/pmap.c#6 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/trap.c#5 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/vm_machdep.c#3 integrate .. //depot/projects/mips2/src/sys/kern/imgact_elf.c#5 integrate .. //depot/projects/mips2/src/sys/kern/init_main.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_clock.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_exec.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_kse.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_kthread.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_ktrace.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_linker.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_lock.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_mutex.c#6 integrate .. //depot/projects/mips2/src/sys/kern/kern_proc.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_rmlock.c#2 integrate .. //depot/projects/mips2/src/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_switch.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_sx.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_synch.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_thr.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_thread.c#7 integrate .. //depot/projects/mips2/src/sys/kern/kern_timeout.c#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_umtx.c#4 integrate .. //depot/projects/mips2/src/sys/kern/linker_if.m#2 integrate .. //depot/projects/mips2/src/sys/kern/p1003_1b.c#3 integrate .. //depot/projects/mips2/src/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/mips2/src/sys/kern/sched_ule.c#8 integrate .. //depot/projects/mips2/src/sys/kern/subr_pcpu.c#3 integrate .. //depot/projects/mips2/src/sys/kern/subr_sleepqueue.c#5 integrate .. //depot/projects/mips2/src/sys/kern/subr_trap.c#5 integrate .. //depot/projects/mips2/src/sys/kern/subr_turnstile.c#5 integrate .. //depot/projects/mips2/src/sys/kern/subr_witness.c#6 integrate .. //depot/projects/mips2/src/sys/kern/sys_generic.c#6 integrate .. //depot/projects/mips2/src/sys/kern/sys_pipe.c#5 integrate .. //depot/projects/mips2/src/sys/kern/tty_pty.c#5 integrate .. //depot/projects/mips2/src/sys/modules/agp/Makefile#4 integrate .. //depot/projects/mips2/src/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/mips2/src/sys/net80211/ieee80211.h#6 integrate .. //depot/projects/mips2/src/sys/netatalk/aarp.c#4 integrate .. //depot/projects/mips2/src/sys/netatalk/ddp_output.c#4 integrate .. //depot/projects/mips2/src/sys/netgraph/netgraph.h#5 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_base.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/ip_dummynet.c#7 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_output.c#7 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_syncache.c#9 integrate .. //depot/projects/mips2/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/mips2/src/sys/netipsec/keysock.c#4 integrate .. //depot/projects/mips2/src/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/mips2/src/sys/pc98/pc98/machdep.c#6 integrate .. //depot/projects/mips2/src/sys/pci/agp.c#5 delete .. //depot/projects/mips2/src/sys/pci/agp_ali.c#3 delete .. //depot/projects/mips2/src/sys/pci/agp_amd.c#3 delete .. //depot/projects/mips2/src/sys/pci/agp_amd64.c#4 delete .. //depot/projects/mips2/src/sys/pci/agp_ati.c#4 delete .. //depot/projects/mips2/src/sys/pci/agp_i810.c#5 delete .. //depot/projects/mips2/src/sys/pci/agp_if.m#2 delete .. //depot/projects/mips2/src/sys/pci/agp_intel.c#4 delete .. //depot/projects/mips2/src/sys/pci/agp_nvidia.c#3 delete .. //depot/projects/mips2/src/sys/pci/agp_sis.c#3 delete .. //depot/projects/mips2/src/sys/pci/agp_via.c#3 delete .. //depot/projects/mips2/src/sys/pci/agppriv.h#4 delete .. //depot/projects/mips2/src/sys/pci/agpreg.h#4 delete .. //depot/projects/mips2/src/sys/pci/agpvar.h#2 delete .. //depot/projects/mips2/src/sys/pci/if_rl.c#4 integrate .. //depot/projects/mips2/src/sys/pci/if_sf.c#3 integrate .. //depot/projects/mips2/src/sys/pci/if_ste.c#4 integrate .. //depot/projects/mips2/src/sys/pci/if_vr.c#8 integrate .. //depot/projects/mips2/src/sys/pci/if_xl.c#5 integrate .. //depot/projects/mips2/src/sys/powerpc/include/atomic.h#3 integrate .. //depot/projects/mips2/src/sys/powerpc/include/md_var.h#5 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/clock.c#5 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/intr_machdep.c#6 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/machdep.c#5 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/mmu_if.m#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/mmu_oea.c#4 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/pmap_dispatch.c#4 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/trap.c#6 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/sparc64/conf/DEFAULTS#4 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/intr_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/vm_machdep.c#4 integrate .. //depot/projects/mips2/src/sys/sun4v/include/stdarg.h#2 integrate .. //depot/projects/mips2/src/sys/sun4v/sun4v/pmap.c#4 integrate .. //depot/projects/mips2/src/sys/sun4v/sun4v/trap.c#3 integrate .. //depot/projects/mips2/src/sys/sun4v/sun4v/vm_machdep.c#4 integrate .. //depot/projects/mips2/src/sys/sys/callout.h#4 integrate .. //depot/projects/mips2/src/sys/sys/eventhandler.h#4 integrate .. //depot/projects/mips2/src/sys/sys/linker.h#3 integrate .. //depot/projects/mips2/src/sys/sys/lock.h#5 integrate .. //depot/projects/mips2/src/sys/sys/mutex.h#7 integrate .. //depot/projects/mips2/src/sys/sys/param.h#7 integrate .. //depot/projects/mips2/src/sys/sys/proc.h#8 integrate .. //depot/projects/mips2/src/sys/sys/umtx.h#4 integrate .. //depot/projects/mips2/src/sys/vm/pmap.h#5 integrate .. //depot/projects/mips2/src/sys/vm/vm_object.c#6 integrate .. //depot/projects/mips2/src/sys/vm/vm_page.c#7 integrate .. //depot/projects/mips2/src/tools/regression/priv/Makefile#3 integrate .. //depot/projects/mips2/src/tools/regression/priv/main.c#3 integrate .. //depot/projects/mips2/src/tools/regression/priv/main.h#3 integrate .. //depot/projects/mips2/src/tools/regression/priv/priv_netinet_ipsec.c#1 branch .. //depot/projects/mips2/src/tools/sched/schedgraph.py#4 integrate .. //depot/projects/mips2/src/usr.bin/fstat/zfs/zfs.c#2 integrate .. //depot/projects/mips2/src/usr.bin/less/defines.h#4 integrate .. //depot/projects/mips2/src/usr.bin/lsvfs/lsvfs.c#3 integrate .. //depot/projects/mips2/src/usr.bin/netstat/Makefile#4 integrate .. //depot/projects/mips2/src/usr.bin/rpcgen/rpc_cout.c#2 integrate .. //depot/projects/mips2/src/usr.bin/tail/read.c#3 integrate .. //depot/projects/mips2/src/usr.bin/tee/tee.1#2 integrate .. //depot/projects/mips2/src/usr.bin/tip/tip/Makefile#3 integrate .. //depot/projects/mips2/src/usr.bin/write/write.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/IPXrouted/trace.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/acpi/acpidb/Makefile#3 integrate .. //depot/projects/mips2/src/usr.sbin/acpi/acpidump/acpi.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/arp/Makefile#2 integrate .. //depot/projects/mips2/src/usr.sbin/freebsd-update/freebsd-update.8#2 integrate .. //depot/projects/mips2/src/usr.sbin/freebsd-update/freebsd-update.sh#6 integrate .. //depot/projects/mips2/src/usr.sbin/kldxref/Makefile#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/Makefile#3 integrate .. //depot/projects/mips2/src/usr.sbin/pciconf/cap.c#4 integrate .. //depot/projects/mips2/src/usr.sbin/ppp/chap.h#2 integrate .. //depot/projects/mips2/src/usr.sbin/ppp/physical.h#2 integrate .. //depot/projects/mips2/src/usr.sbin/rpc.yppasswdd/Makefile#2 integrate .. //depot/projects/mips2/src/usr.sbin/sa/db.c#2 integrate Differences ... ==== //depot/projects/mips2/src/ObsoleteFiles.inc#10 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.120 2007/11/21 10:49:33 ru Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -16,6 +16,12 @@ # 20071108: Removed very crunch OLDCARD support file OLD_FILES+=etc/defaults/pccard.conf +# 20071104: Removed bsdlabel, fdisk and gpt from rescue on ia64. +.if ${TARGET_ARCH} == "ia64" +OLD_FILES+=rescue/bsdlabel +OLD_FILES+=rescue/fdisk +OLD_FILES+=rescue/gpt +.endif # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd @@ -198,7 +204,7 @@ # 20070605: sched_core removal OLD_FILES+=usr/share/man/man4/sched_core.4.gz # 20070603: BIND 9.4.1 import -OLD_LIBS+=lib/liblwres.so.10 +OLD_LIBS+=usr/lib/liblwres.so.10 # 20070521: shared library version bump OLD_LIBS+=lib/libatm.so.4 OLD_LIBS+=lib/libbegemot.so.2 @@ -3957,6 +3963,20 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile + +# 20071119: shared library version bump +OLD_LIBS+=usr/lib/libasn1.so.8 +OLD_LIBS+=usr/lib/libgssapi.so.8 +OLD_LIBS+=usr/lib/libhdb.so.8 +OLD_LIBS+=usr/lib/libkadm5clnt.so.8 +OLD_LIBS+=usr/lib/libkadm5srv.so.8 +OLD_LIBS+=usr/lib/libkafs5.so.8 +OLD_LIBS+=usr/lib/libkrb5.so.8 +OLD_LIBS+=usr/lib/libobjc.so.2 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libgssapi.so.8 +OLD_LIBS+=usr/lib32/libobjc.so.2 +.endif # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/mips2/src/UPDATING#8 (text+ko) ==== @@ -21,6 +21,17 @@ developers choose to disable these features on build machines to maximize performance. +20071118: + The AT keyboard emulation of sunkbd(4) has been turned on + by default. In order to make the special symbols of the Sun + keyboards driven by sunkbd(4) work under X these now have + to be configured the same way as Sun USB keyboards driven + by ukbd(4) (which also does AT keyboard emulation), f.e.: + + Option "XkbLayout" "us" + Option "XkbRules" "xorg" + Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" + 20071024: It has been decided that it is desirable to provide ABI backwards compatibility to the FreeBSD 4/5/6 versions of the @@ -934,4 +945,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.511 2007/10/24 20:51:43 marius Exp $ +$FreeBSD: src/UPDATING,v 1.512 2007/11/18 18:11:16 marius Exp $ ==== //depot/projects/mips2/src/bin/ln/ln.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.31 2006/02/14 11:08:05 glebius Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.32 2007/11/17 21:01:22 ru Exp $ .\" .Dd February 14, 2006 .Dt LN 1 @@ -41,11 +41,15 @@ .Nd make links .Sh SYNOPSIS .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl Ffhinsv +.Op Fl s Op Fl F +.Op Fl f | i +.Op Fl hnv .Ar source_file ... .Ar target_dir .Nm link ==== //depot/projects/mips2/src/bin/ln/ln.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.34 2006/02/14 11:08:05 glebius Exp $"); +__FBSDID("$FreeBSD: src/bin/ln/ln.c,v 1.36 2007/11/17 21:01:22 ru Exp $"); #include #include @@ -69,7 +69,7 @@ main(int argc, char *argv[]) { struct stat sb; - char *p, *sourcedir; + char *p, *targetdir; int ch, exitval; /* @@ -134,34 +134,34 @@ case 0: usage(); /* NOTREACHED */ - case 1: /* ln target */ + case 1: /* ln source */ exit(linkit(argv[0], ".", 1)); - case 2: /* ln target source */ + case 2: /* ln source target */ exit(linkit(argv[0], argv[1], 0)); default: ; } - /* ln target1 target2 directory */ - sourcedir = argv[argc - 1]; - if (hflag && lstat(sourcedir, &sb) == 0 && S_ISLNK(sb.st_mode)) { + /* ln source1 source2 directory */ + targetdir = argv[argc - 1]; + if (hflag && lstat(targetdir, &sb) == 0 && S_ISLNK(sb.st_mode)) { /* * We were asked not to follow symlinks, but found one at * the target--simulate "not a directory" error */ errno = ENOTDIR; - err(1, "%s", sourcedir); + err(1, "%s", targetdir); } - if (stat(sourcedir, &sb)) - err(1, "%s", sourcedir); + if (stat(targetdir, &sb)) + err(1, "%s", targetdir); if (!S_ISDIR(sb.st_mode)) usage(); - for (exitval = 0; *argv != sourcedir; ++argv) - exitval |= linkit(*argv, sourcedir, 1); + for (exitval = 0; *argv != targetdir; ++argv) + exitval |= linkit(*argv, targetdir, 1); exit(exitval); } int -linkit(const char *target, const char *source, int isdir) +linkit(const char *source, const char *target, int isdir) { struct stat sb; const char *p; @@ -169,57 +169,57 @@ char path[PATH_MAX]; if (!sflag) { - /* If target doesn't exist, quit now. */ - if (stat(target, &sb)) { - warn("%s", target); + /* If source doesn't exist, quit now. */ + if (stat(source, &sb)) { + warn("%s", source); return (1); } /* Only symbolic links to directories. */ if (S_ISDIR(sb.st_mode)) { errno = EISDIR; - warn("%s", target); + warn("%s", source); return (1); } } /* - * If the source is a directory (and not a symlink if hflag), - * append the target's name. + * If the target is a directory (and not a symlink if hflag), + * append the source's name. */ if (isdir || - (lstat(source, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(source, &sb) == 0 && S_ISDIR(sb.st_mode))) { - if ((p = strrchr(target, '/')) == NULL) - p = target; + (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + if ((p = strrchr(source, '/')) == NULL) + p = source; else ++p; - if (snprintf(path, sizeof(path), "%s/%s", source, p) >= + if (snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; - warn("%s", target); + warn("%s", source); return (1); } - source = path; + target = path; } - exists = !lstat(source, &sb); + exists = !lstat(target, &sb); /* * If the file exists, then unlink it forcibly if -f was specified * and interactively if -i was specified. */ if (fflag && exists) { if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } else if (iflag && exists) { fflush(stdout); - fprintf(stderr, "replace %s? ", source); + fprintf(stderr, "replace %s? ", target); first = ch = getchar(); while(ch != '\n' && ch != EOF) @@ -230,23 +230,23 @@ } if (Fflag && S_ISDIR(sb.st_mode)) { - if (rmdir(source)) { - warn("%s", source); + if (rmdir(target)) { + warn("%s", target); return (1); } - } else if (unlink(source)) { - warn("%s", source); + } else if (unlink(target)) { + warn("%s", target); return (1); } } /* Attempt the link. */ - if ((*linkf)(target, source)) { - warn("%s", source); + if ((*linkf)(source, target)) { + warn("%s", target); return (1); } if (vflag) - (void)printf("%s %c> %s\n", source, linkch, target); + (void)printf("%s %c> %s\n", target, linkch, source); return (0); } @@ -254,8 +254,8 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-Ffhinsv] source_file [target_file]", - " ln [-Ffhinsv] source_file ... target_dir", + "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } ==== //depot/projects/mips2/src/bin/sh/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $FreeBSD: src/bin/sh/Makefile,v 1.46 2006/04/17 17:55:11 schweikh Exp $ +# $FreeBSD: src/bin/sh/Makefile,v 1.47 2007/11/18 01:53:07 jb Exp $ PROG= sh INSTALLFLAGS= -S @@ -22,7 +22,7 @@ CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # CFLAGS+= -g -DDEBUG=2 -WARNS?= 3 +WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ ==== //depot/projects/mips2/src/contrib/csup/mux.c#2 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/mux.c,v 1.1.1.1 2006/03/03 04:11:28 mux Exp $ + * $FreeBSD: src/contrib/csup/mux.c,v 1.2 2007/11/18 00:25:18 jb Exp $ */ #include @@ -782,7 +782,7 @@ struct buf *buf; uint32_t winsize; uint16_t hdrsize, size, len; - int error, id, iovcnt, what; + int error, id, iovcnt, what = 0; m = (struct mux *)arg; again: ==== //depot/projects/mips2/src/contrib/gdb/gdb/i386fbsd-nat.c#2 (text+ko) ==== @@ -91,7 +91,7 @@ #ifdef KERN_PS_STRINGS { int mib[2]; - int ps_strings; + u_long ps_strings; size_t len; mib[0] = CTL_KERN; ==== //depot/projects/mips2/src/contrib/less/LICENSE#3 (text+ko) ==== @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2005 Mark Nudelman +Copyright (C) 1984-2007 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/mips2/src/contrib/less/NEWS#5 (text+ko) ==== @@ -13,6 +13,17 @@ ====================================================================== + Major changes between "less" versions 409 and 415 + +* New --follow-name option makes F command follow the name of a file + rather than the file descriptor if an open file is renamed. + +* Make searching with -i/-I work correctly with non-ASCII text. + +* Fix DJGPP build. + +====================================================================== + Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. @@ -698,3 +709,4 @@ + ==== //depot/projects/mips2/src/contrib/less/README#5 (text+ko) ==== @@ -1,7 +1,7 @@ - Less, version 409 + Less, version 415 - This is the distribution of less, version 409, released 12 Oct 2007. + This is the distribution of less, version 415, released 15 Nov 2007. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or ==== //depot/projects/mips2/src/contrib/less/ch.c#5 (text+ko) ==== @@ -21,6 +21,12 @@ #include #endif +#if HAVE_STAT_INO +#include +extern dev_t curr_dev; +extern ino_t curr_ino; +#endif + typedef POSITION BLOCKNUM; public int ignore_eoi; @@ -98,6 +104,8 @@ extern int autobuf; extern int sigs; extern int secure; +extern int screen_trashed; +extern int follow_mode; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -195,7 +203,7 @@ */ if (!(ch_flags & CH_CANSEEK)) return ('?'); - if (lseek(ch_file, (off_t)pos, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) { error("seek error", NULL_PARG); clear_eol(); @@ -276,6 +284,25 @@ #endif #endif slept = TRUE; + +#if HAVE_STAT_INO + if (follow_mode == FOLLOW_NAME) + { + /* See whether the file's i-number has changed. + * If so, force the file to be closed and + * reopened. */ + struct stat st; + int r = stat(get_filename(curr_ifile), &st); + if (r == 0 && (st.st_ino != curr_ino || + st.st_dev != curr_dev)) + { + /* screen_trashed=2 causes + * make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + } +#endif } if (sigs) return (EOI); @@ -648,7 +675,7 @@ } #endif - if (lseek(ch_file, (off_t)0, 0) == BAD_LSEEK) + if (lseek(ch_file, (off_t)0, SEEK_SET) == BAD_LSEEK) { /* * Warning only; even if the seek fails for some reason, @@ -711,7 +738,7 @@ while (ch_bufhead != END_OF_CHAIN) { bp = ch_bufhead; - bp->next->prev = bp->prev;; + bp->next->prev = bp->prev; bp->prev->next = bp->next; free(bp); } @@ -737,7 +764,7 @@ return (0); } #endif - return (lseek(f, (off_t)1, 0) != BAD_LSEEK); + return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } /* ==== //depot/projects/mips2/src/contrib/less/command.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/command.c,v 1.9 2007/11/16 22:24:31 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -558,6 +558,21 @@ } /* + * Discard any buffered file data. + */ + static void +clear_buffers() +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +/* * Make sure the screen is displayed. */ static void @@ -580,11 +595,20 @@ jump_loc(initial_scrpos.pos, initial_scrpos.ln); } else if (screen_trashed) { - int save_top_scroll; - save_top_scroll = top_scroll; + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; top_scroll = 1; + ignore_eoi = 0; + if (screen_trashed == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } repaint(); top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; } } @@ -1115,7 +1139,10 @@ ignore_eoi = 1; hit_eof = 0; while (!sigs) + { + make_display(); forward(1, 0, 0); + } ignore_eoi = 0; /* * This gets us back in "F mode" after processing @@ -1154,14 +1181,7 @@ * Flush buffers, then repaint screen. * Don't flush the buffers on a pipe! */ - if (ch_getflags() & CH_CANSEEK) - { - ch_flush(); - clr_linenum(); -#if HILITE_SEARCH - clr_hilite(); -#endif - } + clear_buffers(); /* FALLTHRU */ case A_REPAINT: /* @@ -1263,7 +1283,8 @@ /* * Define abbreviation for a commonly used sequence below. */ -#define DO_SEARCH() if (number <= 0) number = 1; \ +#define DO_SEARCH() \ + if (number <= 0) number = 1; \ mca_search(); \ cmd_exec(); \ multi_search((char *)NULL, (int) number); ==== //depot/projects/mips2/src/contrib/less/configure#5 (text+ko) ==== @@ -3611,6 +3611,73 @@ # Checks for general libraries. +{ echo "$as_me:$LINENO: checking for tgoto in -ltinfo" >&5 +echo $ECHO_N "checking for tgoto in -ltinfo... $ECHO_C" >&6; } +if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 22 13:27:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49AC316A47E; Thu, 22 Nov 2007 13:27: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 0F19016A421 for ; Thu, 22 Nov 2007 13:27:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CB58813C4CC for ; Thu, 22 Nov 2007 13:27:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMDRHjl013187 for ; Thu, 22 Nov 2007 13:27:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMDRHFI013184 for perforce@freebsd.org; Thu, 22 Nov 2007 13:27:17 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Nov 2007 13:27:17 GMT Message-Id: <200711221327.lAMDRHFI013184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 129378 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 13:27:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=129378 Change 129378 by gonzo@gonzo_jeeves on 2007/11/22 13:26:16 o Add pv_wired boolean field to pv_entry_t to mark wired entries. o Add pmap_page_wired_mappings to pmap module Affected files ... .. //depot/projects/mips2/src/sys/mips/include/pmap.h#9 edit .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#29 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/pmap.h#9 (text+ko) ==== @@ -204,6 +204,7 @@ TAILQ_ENTRY(pv_entry) pv_list; TAILQ_ENTRY(pv_entry) pv_plist; vm_page_t pv_ptem; /* VM page for pte */ + boolean_t pv_wired; /* whether this entry is wired */ } *pv_entry_t; #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#29 (text+ko) ==== @@ -197,7 +197,7 @@ static int pmap_remove_pte(pmap_t pmap, pt_entry_t* ptq, vm_offset_t sva); static int pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, - vm_page_t mpte, vm_page_t m); + vm_page_t mpte, vm_page_t m, boolean_t wired); /* * Given a map and a machine independent protection code, @@ -964,7 +964,8 @@ * (pmap, va). */ static void -pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t mpte, vm_page_t m) +pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t mpte, vm_page_t m, + boolean_t wired) { pv_entry_t pv; @@ -975,6 +976,7 @@ pv->pv_va = va; pv->pv_pmap = pmap; pv->pv_ptem = mpte; + pv->pv_wired = wired; TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist); TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); @@ -1303,7 +1305,7 @@ if (pmap_initialized && ((m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) == 0) && (!has_mapping)) { - pmap_insert_entry(pmap, va, mpte, m); + pmap_insert_entry(pmap, va, mpte, m, wired); vm_page_lock_queues(); vm_page_flag_set(m, PG_REFERENCED); vm_page_unlock_queues(); @@ -1915,3 +1917,27 @@ return addr; } + +/* + * pmap_page_wired_mappings: + * + * Return the number of managed mappings to the given physical page + * that are wired. + */ +int +pmap_page_wired_mappings(vm_page_t m) +{ + pv_entry_t pv; + int count; + + count = 0; + if ((m->flags & PG_FICTITIOUS) != 0) + return (count); + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) + if (pv->pv_wired) + count++; + return (count); +} + + From owner-p4-projects@FreeBSD.ORG Thu Nov 22 13:29:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89BC816A469; Thu, 22 Nov 2007 13:29: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 3D03A16A418 for ; Thu, 22 Nov 2007 13:29:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1CB1C13C4E9 for ; Thu, 22 Nov 2007 13:29:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMDTKWJ013230 for ; Thu, 22 Nov 2007 13:29:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMDTKqd013227 for perforce@freebsd.org; Thu, 22 Nov 2007 13:29:20 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Nov 2007 13:29:20 GMT Message-Id: <200711221329.lAMDTKqd013227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 129379 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 13:29:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=129379 Change 129379 by gonzo@gonzo_jeeves on 2007/11/22 13:28:56 o Rename cpu_thread_setup to cpu_thread_alloc o Add cpu_thread_free Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#18 edit .. //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#4 edit .. //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#6 edit .. //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#6 edit .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#18 (text+ko) ==== @@ -73,7 +73,7 @@ if ((flags & RFPROC) == 0) return; - cpu_thread_setup(td2); + cpu_thread_alloc(td2); /* * Preserve SP from beeing overwritten. */ @@ -239,7 +239,7 @@ } void -cpu_thread_setup(struct thread *td) +cpu_thread_alloc(struct thread *td) { pt_entry_t *pte; /* @@ -276,6 +276,11 @@ } void +cpu_thread_free(struct thread *td) +{ +} + +void cpu_thread_clean(struct thread *td) { } ==== //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#4 (text+ko) ==== @@ -102,7 +102,7 @@ thread0.td_kstack = kstack0; pcpu_init(pcpup, 0, sizeof(struct pcpu)); pcpup->pc_curthread = &thread0; - cpu_thread_setup(curthread); + cpu_thread_alloc(curthread); pcpup->pc_curpcb = curthread->td_pcb; mutex_init(); ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#6 (text+ko) ==== @@ -153,7 +153,7 @@ thread0.td_kstack = kstack0; pcpu_init(pcpup, 0, sizeof(struct pcpu)); pcpup->pc_curthread = &thread0; - cpu_thread_setup(curthread); + cpu_thread_alloc(curthread); pcpup->pc_curpcb = curthread->td_pcb; mutex_init(); ==== //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#6 (text+ko) ==== @@ -184,7 +184,7 @@ thread0.td_kstack = kstack0; pcpu_init(pcpup, 0, sizeof(struct pcpu)); pcpup->pc_curthread = &thread0; - cpu_thread_setup(curthread); + cpu_thread_alloc(curthread); pcpup->pc_curpcb = curthread->td_pcb; mutex_init(); ==== //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#5 (text+ko) ==== @@ -140,7 +140,7 @@ thread0.td_kstack = kstack0; pcpu_init(pcpup, 0, sizeof(struct pcpu)); pcpup->pc_curthread = &thread0; - cpu_thread_setup(curthread); + cpu_thread_alloc(curthread); pcpup->pc_curpcb = curthread->td_pcb; mutex_init(); From owner-p4-projects@FreeBSD.ORG Thu Nov 22 19:59:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1392316A41A; Thu, 22 Nov 2007 19:59: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 BC38B16A418 for ; Thu, 22 Nov 2007 19:59:25 +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 C700B13C4CE for ; Thu, 22 Nov 2007 19:59:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMJxPJS061748 for ; Thu, 22 Nov 2007 19:59:25 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMJxPIP061745 for perforce@freebsd.org; Thu, 22 Nov 2007 19:59:25 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 22 Nov 2007 19:59:25 GMT Message-Id: <200711221959.lAMJxPIP061745@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 129388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 19:59:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=129388 Change 129388 by hselasky@hselasky_laptop001 on 2007/11/22 19:59:02 Refactor code. Part of adding support for loading virtual buffers directly into DMA. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#43 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#43 (text+ko) ==== @@ -1261,7 +1261,10 @@ mtx_assert(xfer->priv_mtx, MA_OWNED); - if (xfer->flags_int.open) { + if (!xfer->flags_int.open) { + return; + } + /* set "transferring" and "recursed_2" flags */ xfer->flags_int.transferring = 1; xfer->flags_int.recursed_2 = 1; @@ -1330,7 +1333,6 @@ (xfer->pipe->methods->enter) (xfer); mtx_unlock(xfer->usb_mtx); - } return; } From owner-p4-projects@FreeBSD.ORG Thu Nov 22 20:00:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70A1816A468; Thu, 22 Nov 2007 20:00: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 1A4BA16A417 for ; Thu, 22 Nov 2007 20:00: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 1F4AB13C458 for ; Thu, 22 Nov 2007 20:00:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAMK0Q4i061853 for ; Thu, 22 Nov 2007 20:00:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAMK0QOJ061850 for perforce@freebsd.org; Thu, 22 Nov 2007 20:00:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 22 Nov 2007 20:00:26 GMT Message-Id: <200711222000.lAMK0QOJ061850@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 129389 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Nov 2007 20:00:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=129389 Change 129389 by hselasky@hselasky_laptop001 on 2007/11/22 20:00:04 Style code by running "usb_style.sh". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#44 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#44 (text+ko) ==== @@ -1264,75 +1264,74 @@ if (!xfer->flags_int.open) { return; } + /* set "transferring" and "recursed_2" flags */ + xfer->flags_int.transferring = 1; + xfer->flags_int.recursed_2 = 1; - /* set "transferring" and "recursed_2" flags */ - xfer->flags_int.transferring = 1; - xfer->flags_int.recursed_2 = 1; + /* clear lengths and frame counts by default */ + xfer->sumlen = 0; + xfer->actlen = 0; + xfer->aframes = 0; - /* clear lengths and frame counts by default */ - xfer->sumlen = 0; - xfer->actlen = 0; - xfer->aframes = 0; + /* sanity check */ - /* sanity check */ + if (xfer->nframes == 0) { + usbd_premature_callback(xfer, USBD_INVAL); + return; + } + /* compute total transfer length */ - if (xfer->nframes == 0) { + for (x = 0; x != xfer->nframes; x++) { + xfer->sumlen += xfer->frlengths[x]; + if (xfer->sumlen < xfer->frlengths[x]) { + /* length wrapped around */ usbd_premature_callback(xfer, USBD_INVAL); return; } - /* compute total transfer length */ + } - for (x = 0; x != xfer->nframes; x++) { - xfer->sumlen += xfer->frlengths[x]; - if (xfer->sumlen < xfer->frlengths[x]) { - /* length wrapped around */ - usbd_premature_callback(xfer, USBD_INVAL); - return; - } - } + /* filter some flags */ - /* filter some flags */ + xfer->flags_int.short_xfer_ok = 0; + xfer->flags_int.short_frames_ok = 0; - xfer->flags_int.short_xfer_ok = 0; - xfer->flags_int.short_frames_ok = 0; + /* check if this is a control transfer */ - /* check if this is a control transfer */ + if (xfer->flags_int.control_xfr) { - if (xfer->flags_int.control_xfr) { - - if (usbd_start_hardware_sub(xfer)) { - usbd_premature_callback(xfer, USBD_STALLED); - return; + if (usbd_start_hardware_sub(xfer)) { + usbd_premature_callback(xfer, USBD_STALLED); + return; + } + if (xfer->endpoint & UE_DIR_IN) { + if (xfer->flags.short_xfer_ok) { + xfer->flags_int.short_xfer_ok = 1; } - if (xfer->endpoint & UE_DIR_IN) { - if (xfer->flags.short_xfer_ok) { - xfer->flags_int.short_xfer_ok = 1; - } - } - } else { + } + } else { - if (xfer->endpoint & UE_DIR_IN) { - if (xfer->flags.short_frames_ok) { - xfer->flags_int.short_xfer_ok = 1; - xfer->flags_int.short_frames_ok = 1; - } else if (xfer->flags.short_xfer_ok) { - xfer->flags_int.short_xfer_ok = 1; - } + if (xfer->endpoint & UE_DIR_IN) { + if (xfer->flags.short_frames_ok) { + xfer->flags_int.short_xfer_ok = 1; + xfer->flags_int.short_frames_ok = 1; + } else if (xfer->flags.short_xfer_ok) { + xfer->flags_int.short_xfer_ok = 1; } } + } - mtx_lock(xfer->usb_mtx); + mtx_lock(xfer->usb_mtx); - /* - * Setup "usb_thread" - */ - xfer->usb_thread = (xfer->flags.use_polling) ? - curthread : NULL; + /* + * Setup "usb_thread" + */ + xfer->usb_thread = (xfer->flags.use_polling) ? + curthread : NULL; - /* enter the transfer */ - (xfer->pipe->methods->enter) (xfer); + /* enter the transfer */ + (xfer->pipe->methods->enter) (xfer); - mtx_unlock(xfer->usb_mtx); + mtx_unlock(xfer->usb_mtx); return; } From owner-p4-projects@FreeBSD.ORG Fri Nov 23 00:06:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2CF9B16A419; Fri, 23 Nov 2007 00:06: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 C128716A46E for ; Fri, 23 Nov 2007 00:06:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B36F013C447 for ; Fri, 23 Nov 2007 00:06:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN06w3g085561 for ; Fri, 23 Nov 2007 00:06:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN06uxh085550 for perforce@freebsd.org; Fri, 23 Nov 2007 00:06:56 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 00:06:56 GMT Message-Id: <200711230006.lAN06uxh085550@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129397 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 00:06:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=129397 Change 129397 by jb@jb_freebsd1 on 2007/11/23 00:06:16 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#47 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/book.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/geom/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/FRDP.man.dist#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/Makefile#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/Makefile.inc#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/Makefile#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/apply.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/apropos.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/basename.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/biff.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/brandelf.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/bsdiff.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/bspatch.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/builtin.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/c89.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/c99.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/cat.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/chgrp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/chkey.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ckdist.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/cmp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/colrm.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/column.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/comm.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/cp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/crontab.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/cut.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/df.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/domainname.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/du.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/echo.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/enigma.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/example.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/expand.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/expr.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/false.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/fdformat.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/file2c.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/find.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/finger.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/fold.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/from.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/fsync.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/gcore.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/groups.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/head.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/hostname.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/id.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/intro.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ipcrm.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ipcs.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/join.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/kbdmap.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/kenv.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/keylogin.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/keylogout.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/kill.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/killall.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ldd.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ln.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/locale.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/lock.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/lockf.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/logins.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/logname.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/look.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/lorder.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/lsvfs.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/makewhatis.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/man.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/manpath.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/minigzip.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/mkdir.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/mkfifo.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/mkstr.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/mptable.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/mv.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ncplist.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ncplogin.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ncplogout.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/newgrp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/nfsstat.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/nice.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/nohup.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/od.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/pagesize.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/passwd.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/pkg_info.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/pkill.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/printenv.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/pwd.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rcp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/realpath.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rev.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rm.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rmdir.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rup.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ruptime.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rusers.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rwall.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/rwho.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/script.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/shar.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/sleep.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/split.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tail.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/talk.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tcopy.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tee.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/test.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tftp.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/time.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/true.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/truncate.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/truss.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tsort.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/tty.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ul.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/uname.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/uniq.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/unvis.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/uptime.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/users.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/vidcontrol.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/vis.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/w.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/wall.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/wc.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/what.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/which.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/who.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/whoami.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/write.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/xstr.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/yes.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ypmatch.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man1/ypwhich.1#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man3/Makefile#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man3/setbuf.3#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man3/strcpy.3#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man5/Makefile#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man5/finger.conf.5#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/Makefile#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/bsdlabel.8#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/fdisk.8#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/gjournal.8#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/intro.8#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/mount_ntfs.8#1 branch .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/man/man8/nanobsd.8#1 branch .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#20 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/jails/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#15 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#18 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#29 integrate .. //depot/projects/dtrace/src/contrib/tcpdump/tcpdump.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/gdtoa/_ldtoa.c#4 integrate .. //depot/projects/dtrace/src/lib/libdisk/libdisk.h#4 integrate .. //depot/projects/dtrace/src/lib/libthr/Makefile#13 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#11 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_private.h#16 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_rtld.c#3 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sem.c#6 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sig.c#9 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_suspend_np.c#5 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_umtx.c#11 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_umtx.h#9 integrate .. //depot/projects/dtrace/src/release/Makefile#15 integrate .. //depot/projects/dtrace/src/sbin/init/init.c#5 integrate .. //depot/projects/dtrace/src/share/man/man4/hwpmc.4#7 integrate .. //depot/projects/dtrace/src/share/man/man4/msk.4#3 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#21 integrate .. //depot/projects/dtrace/src/share/man/man9/timeout.9#4 integrate .. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#11 integrate .. //depot/projects/dtrace/src/share/mk/sys.mk#14 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/conf/files#53 integrate .. //depot/projects/dtrace/src/sys/contrib/pf/net/pf.c#12 integrate .. //depot/projects/dtrace/src/sys/contrib/pf/net/pf_if.c#6 integrate .. //depot/projects/dtrace/src/sys/contrib/pf/net/pf_ioctl.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_battery.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/asmc/asmc.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bce.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/bfe/if_bfe.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/dc/if_dc.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82575.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82575.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.c#15 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.h#10 integrate .. //depot/projects/dtrace/src/sys/dev/lge/if_lge.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/nfe/if_nfe.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/nge/if_nge.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/nve/if_nve.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/re/if_re.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/sk/if_sk.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/hda/hdac.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/stge/if_stge.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ti/if_ti.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/vge/if_vge.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/vx/if_vx_pci.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/kern_proc.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_timeout.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/kern_umtx.c#18 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_cache.c#6 integrate .. //depot/projects/dtrace/src/sys/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/dtrace/src/sys/netatalk/aarp.c#8 integrate .. //depot/projects/dtrace/src/sys/netatalk/ddp_output.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_output.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/dtrace/src/sys/pci/if_rl.c#8 integrate .. //depot/projects/dtrace/src/sys/pci/if_sf.c#6 integrate .. //depot/projects/dtrace/src/sys/pci/if_ste.c#6 integrate .. //depot/projects/dtrace/src/sys/pci/if_vr.c#7 integrate .. //depot/projects/dtrace/src/sys/pci/if_xl.c#10 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/intr_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/intr_machdep.c#5 integrate .. //depot/projects/dtrace/src/sys/sys/linker.h#17 integrate .. //depot/projects/dtrace/src/sys/sys/umtx.h#11 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#24 integrate .. //depot/projects/dtrace/src/sys/vm/vnode_pager.c#10 integrate .. //depot/projects/dtrace/src/usr.bin/tail/read.c#6 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#18 integrate .. //depot/projects/dtrace/www/share/sgml/release.ent#14 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#8 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -633,7 +633,7 @@ The previously issued command will create a UFS2 file system with journaling being made - active. + active. Effectively mount the device at the desired point with: ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#47 (text+ko) ==== @@ -1,7 +1,7 @@ 602114 + 6.2-STABLE after back out of wide and single byte + ctype separation. + 602115 + + 7.0-CURRENT. 700000 ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/book.sgml#2 (text+ko) ==== @@ -3,7 +3,7 @@ Original revision 1.170 - $FreeBSD: doc/mn_MN.UTF-8/books/handbook/book.sgml,v 1.6 2007/06/12 08:37:49 keramida Exp $ + $FreeBSD: doc/mn_MN.UTF-8/books/handbook/book.sgml,v 1.7 2007/11/20 14:53:03 keramida Exp $ --> FreeBSD-д тавтай морилно уу! Ð­Ð½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлага нь FreeBSD &rel2.current;-RELEASE - болон FreeBSD &rel.current;-RELEASE зÑÑ€Ñг хувилбаруудын + болон FreeBSD &rel.current;-RELEASE хувилбаруудын ÑÑƒÑƒÐ»Ð³Ð°Ñ†Ð°Ð°Ñ ÑхлÑÑд өдөр тутмын Ñ…ÑÑ€ÑглÑÑг тайлбарлаÑан билÑÑ. Ð­Ð½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлага нь Ñ‚Ó©Ð³Ñ Ð´ÑƒÑƒÑаагүй бөгөөд маш олон хүний хамтын бүтÑÑл юм. Зарим Ñ…ÑÑÑг нь хуучирч шинÑчлÑгдÑÑ… шаардлагатай байж болзошгүй. - Ð¥ÑÑ€Ñв та ÑÐ½Ñ Ñ‚Ó©Ñөлд хамтарч бидÑнд туÑлахыг Ñ…Ò¯ÑвÑл &a.doc; хаÑг руу захиа Ð±Ð¸Ñ‡Ð½Ñ Ò¯Ò¯. Ð­Ð½Ñ + Ð¥ÑÑ€Ñв та ÑÐ½Ñ Ñ‚Ó©Ñөлд хувь нÑмрÑÑ Ð¾Ñ€ÑƒÑƒÐ»Ð¶, бидÑнд туÑлахыг Ñ…Ò¯ÑвÑл &a.doc; хаÑг руу захиа Ð±Ð¸Ñ‡Ð½Ñ Ò¯Ò¯. Ð­Ð½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлагын хамгийн Ñүүлийн хувилбарыг FreeBSD вÑб хуудаÑ-Ð½Ð°Ð°Ñ Ñ‚Ð°Ñ‚Ð°Ð¶ авч болно. + url="http://www.FreeBSD.org/">FreeBSD вÑб хуудаÑÐ½Ð°Ð°Ñ Ñ‚Ð°Ñ‚Ð°Ð¶ авч болно. (ÑÐ½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлагын өмнөх хувилбаруудыг -Ñ Ð°Ð²Ð°Ñ… боломжтой). - Ð­Ð½Ñ Ð½ÑŒ мөн Ñнз бүрийн шахаж бÑлтгÑÑÑн Ñ…ÑлбÑÑ€ÑÑÑ€ FreeBSD FTP - Ñерверийн Ñ…Ñд Ñ…ÑдÑн ÑÑвÑл толин туÑгал хуудаÑÐ½Ð°Ð°Ñ Ñ‚Ð°Ñ‚Ð°Ð¶ авагдаж болно. Ð¥ÑÑ€Ñв та ÑÐ½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлагын Ñ…ÑвлÑÑÑн хуулбарыг авахыг Ñ…Ò¯ÑвÑл ЭхлÑл - FreeBSD гарын авлагын ÑÐ½Ñ Ñ…ÑÑÑг нь FreeBSD уруу шинÑÑÑ€ - орж байгаа амдиниÑтратор болон Ñ…ÑÑ€ÑглÑгчдÑд зориулагдÑан. Энд гарах бүлгүүд нь: + FreeBSD гарын авлагын ÑÐ½Ñ Ñ…ÑÑÑг нь FreeBSD-Ñ‚Ñй шинÑÑÑ€ танилцаж + байгаа админиÑтратор болон Ñ…ÑÑ€ÑглÑгчдÑд зориулагдÑан. Энд гарах бүлгүүд нь: @@ -171,27 +171,27 @@ - Суулгах Ñвцын хөтөлбөр. + FreeBSD-г Ñуулгах үйл Ñвц. - &unix;-ийн үндÑийн тайлбар. + &unix;-ийн үндÑийн ойлголт. - FreeBSD дÑÑÑ€ байдаг өөрт нь хамт ирдÑг болон гуравдагч хамтрагчийн нийлүүлÑÑн програмыг Ñ…ÑрхÑн Ñуулгах. + FreeBSD-Ñ‚Ñй хамт ирдÑг гуравдагч-ÑтгÑÑдийн програмыг Ñ…ÑрхÑн Ñуулгах болон - &unix; цонхон ÑиÑтем X -ийг танилцуулж, танд илүү - үр бүтÑÑлтÑй ажиллахын тулд Ñ…ÑрхÑн орчноо тохируулах талаар + &unix; цонхот ÑиÑтем X-ийг танд танилцуулж, илүү + үр бүтÑÑлтÑй ажиллахын тулд ажлын ширÑÑний орчноо Ñ…ÑрхÑн тохируулах талаар тайлбарлана. - Бид аль болох цөөхөн дамжуулах хуудаÑнууд оруулÑан бөгөөд + Бид Гарын авлагынхаа ÑÐ½Ñ Ñ…ÑÑгийг аль болох цөөхөн Ñ…ÑƒÑƒÐ´Ð°Ñ Ð´Ð°Ð¼Ð¶Ð¸Ñ…Ð°Ð°Ñ€ бодолцÑон бөгөөд ингÑÑнÑÑÑ€ танд ÑÐ½Ñ Ð³Ð°Ñ€Ñ‹Ð½ авлагыг ÑхнÑÑÑ Ð½ÑŒ дууÑтал - хуудаÑÐ½Ð°Ð°Ñ Ñ…ÑƒÑƒÐ´Ð°Ñ ÑƒÑ€ÑƒÑƒ Ò¯ÑÑрч цовхролгүйгÑÑÑ€ уншиж дууÑгахад + хуудаÑÐ½Ð°Ð°Ñ Ñ…ÑƒÑƒÐ´Ð°Ñ ÑƒÑ€ÑƒÑƒ Ò¯ÑÑ€ÑлгүйгÑÑÑ€ уншиж дууÑгахад зориулÑан билÑÑ. @@ -208,22 +208,22 @@ ҮндÑÑн ойлголтуудыг нÑгÑнт тайлбарлаÑан болохоор одоо FreeBSD-ийн гарын авлагын ÑÐ½Ñ Ñ…ÑÑÑгт FreeBSD-ийн зарим байнга ашиглагддаг боломжуудыг - Ñ…ÑлÑлцÑÑ… болно. ЭдгÑÑÑ€ бүлгүүд нь: + авч үзÑÑ… болно. ЭдгÑÑÑ€ бүлгүүд нь: - Ðлдартай болон ашигтай ширÑÑний програмуудыг танд танилцуулах + ТүгÑÑмÑл Ñ…ÑÑ€ÑглÑгддÑг ширÑÑний програмуудыг танд танилцуулах болно: хөтчүүд, бүтÑÑмжийн багажууд, баримт үзÑгчид гÑÑ… мÑÑ‚. - FreeBSD-д байдаг Ñ…Ñд Ñ…ÑдÑн мультимедиа багажуудыг танд + FreeBSD-н Ñ…Ñд Ñ…ÑдÑн мультимедиа багажуудыг танд танилцуулах болно. - Таны ÑиÑтемд нÑмÑлт функцуудыг идÑвхжүүлÑÑ… өөрчлөн тохируулÑан - FreeBSD цөмийг бүтÑÑÑ… процеÑÑийг тайлбарлах болно. + ТуÑгайлан тохируулÑан FreeBSD цөмийг бүтÑÑÑ… үйл Ñвц болон, ÑиÑтемд + нÑмÑлт функцуудыг Ñ…ÑрхÑн идÑвхжүүлÑхийг тайлбарлах болно. @@ -232,13 +232,13 @@ - Таны FreeBSD ÑиÑтем дÑÑÑ€ Ð›Ð¸Ð½ÑƒÐºÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÑƒÐ´Ñ‹Ð³ Ñ…ÑрхÑн ажиллуулахыг + FreeBSD ÑиÑтем дÑÑÑ€ Ð›Ð¸Ð½ÑƒÐºÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÑƒÐ´Ñ‹Ð³ Ñ…ÑрхÑн ажиллуулахыг танд үзүүлÑÑ… болно. - ЭдгÑÑÑ€ бүлгүүдийн зарим нь таныг урьдаар зарим нÑг зүйлÑийг уншихыг зөвлөдөг + ЭдгÑÑÑ€ бүлгүүдийн заримд таныг зарим нÑг ойлголтуудын талаар урьдаар уншихыг зөвлөх бөгөөд ÑÐ½Ñ Ð½ÑŒ бүлÑг бүрийн ÑÑ…Ñнд ерөнхий агуулгад дурдÑан байгаа болно. @@ -255,13 +255,13 @@ FreeBSD гарын авлагын үлдÑÑн бүлгүүд нь FreeBSD ÑиÑтемийн удирдлагын бүх - талуудыг хамрах болно. БүлÑг бүр уг бүлгийг уншÑанаар таныг юу Ñурах талаар тайлбарлаж - ÑхлÑÑ… бөгөөд уг материалтай Ð·ÑƒÑƒÑ€Ð°Ð»Ð´Ð°Ñ…Ð°Ð°Ñ Ó©Ð¼Ð½Ó© юуг мÑдÑÑн байх Ñ‘Ñтойг Ð±Ð°Ñ Ñ…Ñлж + ойлголтуудыг хамрах болно. БүлÑг бүрийн ÑÑ…Ñнд, уг бүлгийг уншÑанаар таны юу Ñурч + авахыг тайлбарлах бөгөөд уншиж ÑхлÑÑ…ÑÑÑ Ó©Ð¼Ð½Ó© юуг мÑдÑÑн байх Ñ‘Ñтойг Ð±Ð°Ñ Ñ…Ñлж өгөх болно. - ЭдгÑÑÑ€ бүлгүүд нь танд мÑдÑÑлÑл Ñ…ÑÑ€Ñг болох үед уншигдахаар зориулагдÑан юм. - Та ÑдгÑÑрийг Ñмар нÑгÑн тодорхой дарааллаар унших Ñ…ÑÑ€Ñггүй бөгөөд Ð±Ð°Ñ - FreeBSD ашиглаж ÑхлÑÑ…ÑÑÑÑÑ Ó©Ð¼Ð½Ó© бүгдийг нь унших шаардлагагүй юм. + ЭдгÑÑÑ€ бүлгүүд нь танд мÑдÑÑлÑл Ñ…ÑÑ€ÑгтÑй үед уншигдахаар зориулагдÑан юм. + Та Ñмар нÑгÑн тодорхой дарааллаар унших Ñ…ÑÑ€Ñггүй бөгөөд + FreeBSD ашиглаж ÑхлÑÑ…ÑÑÑÑÑ Ó©Ð¼Ð½Ó© бүгдийг нь унших шаардлагагүй болно. @@ -284,8 +284,8 @@ FreeBSD нь өндөр ажиллагаатай ÑүлжÑÑний ÑерверүүдÑд зориулагдÑан - хамгийн өргөн ихÑÑÑ€ ашигладаг үйлдлийн ÑиÑтемүүдийн нÑг юм. Ð­Ð½Ñ Ñ…ÑÑгийн бүлгүүд - нь дараах зүйлÑийг хамрах болно: + хамгийн өргөн Ñ…ÑÑ€ÑглÑгддÑг үйлдлийн ÑиÑтемүүдийн нÑг юм. Ð­Ð½Ñ Ñ…ÑÑÑгт + дараах ÑÑдвүүдийг хамрах болно: @@ -309,14 +309,13 @@ - БуÑад дÑвшилттÑй ÑүлжÑÑний ÑÑдвүүд + БуÑад дÑÑд түвшний ÑүлжÑÑний ÑÑдвүүд - ЭдгÑÑÑ€ бүлгүүд нь танд мÑдÑÑлÑл Ñ…ÑÑ€Ñг болох үед уншигдахаар зориулагдÑан юм. - Та ÑдгÑÑрийг Ñмар нÑгÑн тодорхой дарааллаар унших Ñ…ÑÑ€Ñггүй бөгөөд Ð±Ð°Ñ - FreeBSD-г ÑүлжÑÑний орчинд ашиглаж ÑхлÑÑ…ÑÑÑÑÑ Ó©Ð¼Ð½Ó© бүгдийг нь унших - шаардлагагүй юм. + ЭдгÑÑÑ€ бүлгүүд нь танд мÑдÑÑлÑл Ñ…ÑÑ€ÑгтÑй үед уншигдахаар зориулагдÑан юм. + Та Ñмар нÑгÑн тодорхой дарааллаар унших Ñ…ÑÑ€Ñггүй бөгөөд + FreeBSD ашиглаж ÑхлÑÑ…ÑÑÑÑÑ Ó©Ð¼Ð½Ó© бүгдийг нь унших шаардлагагүй болно. ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/geom/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -559,9 +559,8 @@ - @@ -1123,7 +1123,7 @@ orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold -fd0: <1440-KB 3.5" drive> on fdc0 drive 0 +fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 @@ -3876,7 +3876,7 @@ System Tools цÑÑнÑÑÑ Ð³Ò¯Ð¹Ñ†ÑтгÑгдÑж болно. &os; нь &ms-dos; дÑÑÑ€ үндÑÑлÑгдÑÑн файл ÑиÑтемүүдийг (FAT16 ба FAT32) дÑмждÑг. - Ийм файл ÑиÑтем Ñ€Ò¯Ò¯ хандахдаа &man.mount.msdosfs.8; тушаалыг холбогдох + Ийм файл ÑиÑтем Ñ€Ò¯Ò¯ хандахдаа &man.mount.8; тушаалыг холбогдох параметртай нь Ñ…ÑÑ€ÑглÑдÑг. Ð­Ð½Ñ Ñ…ÑÑ€ÑгÑлийн ерөнхий Ñ…ÑÑ€ÑглÑÑ… бичлÑг нь: &prompt.root; mount -t msdosfs /dev/ad0s1 /mnt @@ -3920,7 +3920,7 @@ hint.acpi.0.disabled тохиргоог тохируулÑнаар ACPI-ийн Ñ…ÑÑ€ÑглÑÑг хааж болдог: - set hint.acpi.0.disabled="1" + set hint.acpi.0.disabled="1" Ð­Ð½Ñ Ð½ÑŒ ÑиÑтем ачаалах тоолонд өөрчлөгдөх учир /boot/loader.conf файлд @@ -3990,7 +3990,7 @@ гÑж &os;-д ÑиÑтем дÑÑ… Ñхний SCSI диÑк болох BIOS диÑк 2-Ð¾Ð¾Ñ Ð°Ñ‡Ð°Ð°Ð»Ð°Ñ…Ñ‹Ð³ Ñ…Ò¯ÑÑж байгаагаа Ñ…Ñлж өгнө. Ð¥ÑÑ€Ñв танд зөвхөн нÑг IDE диÑк байÑан бол дÑÑрхийн оронд - та '1:'-ийг харах байÑан билÑÑ. + та 1:-ийг харах байÑан билÑÑ. Та ашиглах зөв утгуудыг тодорхойлÑныхоо дараа Ñтандарт текÑÑ‚ заÑварлагч ашиглан /boot.config @@ -4030,7 +4030,7 @@ нийцтÑй байх ÑÑÑÑ… нь хамаагүй цÑвÑÑ€ &os; Ñервер ÑÑвÑл ажлын Ñтанц Ñуулгаж байгаа бол &os; нь хамгийн Ñхний ÑÐµÐºÑ‚Ð¾Ñ€Ð¾Ð¾Ñ ÑхлÑÑд Ñүүлийн Ñектор хүртÑл бүхÑл диÑкийг ашигладаг Ñтандарт Ð±ÑƒÑ Ñ‚Ð¾Ñ…Ð¸Ñ€ÑƒÑƒÐ»Ð³Ñ‹Ð³ - Ñонгож бүхÑл диÑкийг (хуваалтын заÑварлагч дÑÑÑ€ `A') ашиглах Ñонголт + Ñонгож бүхÑл диÑкийг (хуваалтын заÑварлагч дÑÑÑ€ A) ашиглах Ñонголт Ð±Ð°Ñ Ñ‚Ð°Ð½Ð´ байдаг. Ð­Ð½Ñ Ð½ÑŒ геометрийн бүх л тооцооллыг орхих боловч диÑкÑн дÑÑÑ€ &os;-ÑÑÑ Ó©Ó©Ñ€ буÑад үйлдлийн ÑиÑтемийг Ñ…ÑзÑÑ Ñ‡ ажиллуулахгүй гÑж тооцоогүй л бол зарим талаараа Ñ…Ñзгаарлагдмал байдаг. @@ -4046,7 +4046,7 @@ Таны карт /boot/device.hints файл дÑÑÑ€ зааÑÐ½Ð°Ð°Ñ Ó©Ó©Ñ€ IRQ-г ашиглаж байж магадгүй юм. - ed драйвер нь анхдагчаар `soft' буюу зөөлөн тохиргоог + &man.ed.4; драйвер нь анхдагчаар soft буюу зөөлөн тохиргоог (DOS дÑÑÑ€ EZSETUP-ийг ашиглан оруулÑан утгуудыг) ашигладаггүй боловч Ñ…ÑÑ€Ñв таныг интерфÑйÑийн хувьд -1-г зааж өгөх юм бол програм хангамжийн тохиргоог ашиглах @@ -4055,7 +4055,7 @@ Карт дÑÑÑ€ байгаа жижиг шилжүүлÑгчийг тогтÑон буюу хатуу тохиргоо руу (шаардлагатай бол цөмийн тохиргоонуудыг өөрчлөн) тохируулах юм уу ÑÑвÑл зөвлөгөөг - hint.ed.0.irq="-1" гÑж IRQ-г + hint.ed.0.irq="-1" гÑж IRQ-г -1 болгож тохируулан зааж өгөх Ñ…ÑÑ€ÑгтÑй. Ð­Ð½Ñ Ð½ÑŒ цөмд зөөлөн тохиргоог ашиглахыг Ñ…Ñлж өгөх болно. ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -52,7 +52,7 @@ УтаÑ: +1 866 273-6255 ФакÑ: +1 217 453-9956 Email: sales@bsdmall.com - WWW: + WWW: @@ -70,7 +70,7 @@ 3623 Sanford Street Concord, CA 94520-1405 USA - УтаÑ: +1 925 674-0783 + УтаÑ: +1 925 240-6652 ФакÑ: +1 925 674-0821 Email: info@freebsdmall.com WWW: @@ -403,7 +403,7 @@ нь Ñ…ÑÑ€ÑглÑгчдийн Ñонирхож болох залруулалтуудын хаÑгуудыг агуулдаг. Дахин Ñ…ÑлÑÑ…Ñд портын цуглуулга нь - олон залруулалтгүй учир ÑдгÑÑрийн аль нь ч портын цуглуулгын хувьд зөв биш + хөгжүүлÑлтийн олон Ñалбаргүй учир ÑдгÑÑрийн аль нь ч портын цуглуулгын хувьд зөв биш юм. Та Ñалбарын хаÑгийг заах юм бол Ñ‚ÑÑ€ хөгжүүлÑлтийн шугам дахь ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml#2 (text+ko) ==== @@ -3,7 +3,7 @@ Original revision 1.101 - $FreeBSD: doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml,v 1.8 2007/08/21 12:52:57 keramida Exp $ + $FreeBSD: doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml,v 1.9 2007/11/20 14:53:04 keramida Exp $ --> @@ -30,9 +30,9 @@ Ерөнхий агуулга - Ð­Ð½Ñ Ð±Ò¯Ð»Ñгт өргөн Ñ…ÑÑ€ÑглÑгддÑг, &unix; ÑиÑтемүүдийн ÑүлжÑÑний орчинд ажилладаг -үйлчилгÑÑнүүдийн талаар авч үзÑÑ… болно. Бид Ñнд олон Ó©Ó©Ñ€ үйлчилгÑÑнүүдийг Ñ…ÑрхÑн -Ñуулгах, тохируулах, шалгах болон заÑвар үйлчилгÑÑг хариуцах талаар үзÑÑ… болно. + Ð­Ð½Ñ Ð±Ò¯Ð»Ñгт &unix; ÑиÑтемүүдÑд өргөн Ñ…ÑÑ€ÑглÑгддÑг, ÑүлжÑÑний орчинд ажилладаг +зарим нÑг үйлчилгÑÑнүүдийн талаар авч үзнÑ. Бид Ñ‚ÑдгÑÑÑ€ үйлчилгÑÑнүүдийг Ñ…ÑрхÑн +Ñуулгах, тохируулах, турших болон үйлчилгÑÑг хариуцах талаар үзÑÑ… болно. Танд зориулж жишÑÑ Ñ‚Ð¾Ñ…Ð¸Ñ€Ð³Ð¾Ð¾Ð½Ñ‹ файлуудыг мөн оруулж өгÑөн байгаа. Ð­Ð½Ñ Ð±Ò¯Ð»Ð³Ð¸Ð¹Ð³ уншÑаны дараа, та дараах зүйлÑийг мÑдÑÑ… болно: @@ -40,7 +40,7 @@ - inetd дÑмонг Ñ…ÑрхÑн удирдах. + inetd дÑмоныг Ñ…ÑрхÑн удирдах. @@ -68,17 +68,17 @@ - Samba ашиглан &windows; Ñ…ÑÑ€ÑглÑгчид зориулÑан + Samba ашиглан &windows; Ñ…ÑÑ€ÑглÑгчдÑд зориулÑан файл болон Ñ…ÑвлÑгч Ñерверийг Ñ…ÑрхÑн зохион байгуулах. - Цаг болон өдрийг тохируулах хийгÑÑд NTP протокол ашиглан цагийн Ñерверийг Ñ…ÑрхÑн зохион байгуулах. + NTP протокол ашиглан цаг болон өдрийг тохируулах хийгÑÑд цагийн Ñерверийг Ñ…ÑрхÑн зохион байгуулах. - Ð­Ð½Ñ Ð±Ò¯Ð»Ð³Ð¸Ð¹Ð³ уншихааÑаа өмнө, та дараах зүйлÑийг мÑдÑÑн байх шаардлагатай: + Ð­Ð½Ñ Ð±Ò¯Ð»Ð³Ð¸Ð¹Ð³ уншихааÑаа өмнө, та дараах шаардлагыг хангаÑан байх Ñ…ÑÑ€ÑгтÑй: @@ -90,7 +90,7 @@ - Гуравдагч ÑтгÑÑдийн нÑмÑлт програмыг() Ñ…ÑрхÑн Ñуулгахыг мÑддÑг байх. + Гуравдагч ÑтгÑÑдийн програмыг() Ñ…ÑрхÑн нÑмж Ñуулгахыг мÑддÑг байх. @@ -125,20 +125,20 @@ Ерөнхий агуулга - &man.inetd.8; нь олон тооны үйлчилгÑÑний холболтуудыг удирддаг тул + &man.inetd.8; нь олон тооны үйлчилгÑÑний ÑүлжÑÑний холболтыг удирддаг тул заримдаа түүнийг ИнтернÑÑ‚ Супер-Сервер гÑж нÑрлÑÑ… нь бий. Ð“Ð°Ð´Ð½Ð°Ð°Ñ Ò¯Ò¯Ñч буй холболтыг inetd хүлÑÑн авч, аль програмтай холбогдохыг тодорхойлон, тухайн процеÑÑийг Ñалаалуулж, Ñокетийг түүн Ñ€Ò¯Ò¯ Ñ‡Ð¸Ð³Ð»Ò¯Ò¯Ð»Ð½Ñ (програмын Ñтандарт оролт, -гаралт болон алдааны деÑкриптороор үйлчилгÑÑний Ñокетийг өгнө). Бага ашиглагддаг Ñервер дÑÑÑ€ +гаралт болон алдааны деÑкриптороор үйлчилгÑÑний Ñокетийг өгнө). Байнга ашиглагддаггүй үйлчилгÑÑний хувьд inetd-г ажиллуулах нь бүх дÑмонг дангаар бие-даах горимд ажиллуулÑантай -харьцуулахад ÑиÑтемийн нийт ачааллыг багаÑгаж өгдөг. +харьцуулахад ÑиÑтемийн нийт ачааллыг бууруулж өгдөг. Голчлон, inetd нь буÑад дÑмонуудыг Ñалаалуулахад Ñ…ÑÑ€ÑглÑгддÑг боловч chargen, auth, ба daytime гÑÑ… мÑÑ‚ нилÑÑд олон ердийн протоколуудыг шууд зохицуулан ажиллуулж чадна. - Ð­Ð½Ñ Ñ…ÑÑÑгт inetd-н анхан шатны тохиргоог тушаалын мөрний тохируулгаар, -мөн /etc/inetd.conf тохиргооны файлаар Ñ…ÑрхÑн хийхийг үзүүлÑÑ… болно. + Ð­Ð½Ñ Ñ…ÑÑÑгт inetd-н үндÑÑн тохиргоог тушаалын мөрний тохируулгаар, +мөн /etc/inetd.conf тохиргооны файлаар Ñ…ÑрхÑн хийхийг үзÑÑ… болно. @@ -155,7 +155,7 @@ inetd_enable="NO" - гÑж /etc/rc.conf + гÑÑÑн мөрийг /etc/rc.conf файл дотор байрлуулÑнаар inetd-г ÑиÑтем ачаалахад ÑÑ…ÑлдÑг болгож болно. Доор дурдÑан: @@ -165,31 +165,31 @@ тохиргоог харж болно. ДÑÑÑ€ нь, inetd_flags тохируулгаар дамжуулан -inetd програмд тушаалын Ð¼Ó©Ñ€Ð½Ó©Ó©Ñ Ó©Ó©Ñ€ олон тохируулгыг +inetd програмд тушаалын Ð¼Ó©Ñ€Ð½Ó©Ó©Ñ Ó©Ó©Ñ€ буÑад тохируулгуудыг зааж өгч болно. Тушаалын мөрний тохируулгууд - БуÑад Ñервер дÑмоны адил, inetd нь + ИхÑнх Ñервер дÑмоны нÑгÑн адил, inetd нь түүнийг өөрчлөн тохируулахад зориулагдÑан олон тооны тохируулгуудын хамт ирдÑг. Тохируулгуудыг бүрнÑÑÑ€ жагÑаан бичвÑл: inetd - inetd-н ÑдгÑÑÑ€ тохируулгуудыг -/etc/rc.conf файл доторх -inetd_flags тохируулгын туÑламжтай зааж өгч болно. + /etc/rc.conf файл доторх +inetd_flags тохируулгыг ашиглан +ÑдгÑÑÑ€ тохируулгуудыг inetd-д дамжуулна. Ðнхдагч байдлаар, inetd_flags нь -wW -C 60 гÑÑÑн утгыг авÑан байх ба ÑÐ½Ñ Ð½ÑŒ inetd-ны үйлчилгÑÑнүүдийн хувьд -TCP wrapping буюу TCP-ийн гүйцÑтгÑл Ñ…Ñлбаршуулалтыг идÑвхжүүлÑÑ… ба тухайн Ñмар нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ð°Ð»ÑŒ нÑг үйлчилгÑÑнд +TCP wrapping буюу TCP-ийн дундын Ñ…Ñналтыг идÑвхжүүлÑÑ… ба нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ð°Ð»ÑŒ нÑг үйлчилгÑÑнд нÑг минутанд 60-Ð°Ð°Ñ Ð´ÑÑш удаа Ñ…Ò¯ÑÑлт тавих боломжгүй болгоно. Ð¥ÑдийгÑÑÑ€ бид Ð³Ð°Ð´Ð½Ð°Ð°Ñ Ñ…ÑÑ‚Ñрхий олон тооны хандалт хийгдÑж байгаа үед тохируулгаар түүнийг Ñ…ÑрхÑн Ñ…Ñзгаарлахыг -доор үзүүлж байгаа ч гÑÑÑн, анхлан Ñуралцагчдад зөвлөхөд +доор үзүүлж байгаа ч, анхлан Ñуралцагчдад зөвлөхөд ÑдгÑÑÑ€ параметрүүдийг ихÑвчлÑн өөрчлөх шаардлагагүй байдаг. Тохируулгуудын бүрÑн жагÑаалтыг &man.inetd.8; заавар хуудаÑÐ½Ð°Ð°Ñ Ò¯Ð·Ð½Ñ Ò¯Ò¯. @@ -198,8 +198,7 @@ -c maximum - ҮйлчилгÑÑг нÑгÑн зÑÑ€Ñг Ñ…ÑдÑн удаа дуудаж болох хамгийн дÑÑд -тооны анхдагч утгыг заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. + ҮйлчилгÑÑг нÑгÑн зÑÑ€Ñг хамгийн ихдÑÑ Ñ…ÑдÑн удаа дуудаж болохыг заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. ҮйлчилгÑÑ Ñ‚ÑƒÑ Ð±Ò¯Ñ€ÑÑÑ€ параметрийн туÑламжтай утгыг дарж өөрчилж болно. @@ -209,9 +208,8 @@ -C rate - ҮйлчилгÑÑг нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ð½Ñг минутын дотор Ñ…ÑдÑн удаа -дуудаж болох -хамгийн дÑÑд тооны анхдагч утгыг заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. + ҮйлчилгÑÑг нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ð½Ñг минутын дотор хамгийн ихдÑÑ Ñ…ÑдÑн удаа +дуудаж болохыг заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. ҮйлчилгÑÑ Ñ‚ÑƒÑ Ð±Ò¯Ñ€ÑÑÑ€ параметрийн туÑламжтай утгыг дарж өөрчилж болно. @@ -221,9 +219,8 @@ -R rate - ҮйлчилгÑÑг нÑг минутын дотор Ñ…ÑдÑн удаа дуудаж болох -хамгийн дÑÑд тоог заана; Ðнхдагч утга нь 256. 0-г -тавьÑнаар Ñ…Ñзгааргүй болгоно. + ҮйлчилгÑÑг нÑг минутын дотор хамгийн ихдÑÑ Ñ…ÑдÑн удаа дуудаж болохыг заана; +Ðнхдагч утга нь 256. 0-г тавьÑнаар Ñ…Ñзгааргүй болгоно. @@ -231,8 +228,8 @@ -s maximum - ҮйлчилгÑÑг нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ñ…ÑдÑн удаа -дуудаж болох хамгийн дÑÑд тоог заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. + ҮйлчилгÑÑг нÑг IP хаÑÐ³Ð½Ð°Ð°Ñ Ñ…Ð°Ð¼Ð³Ð¸Ð¹Ð½ ихдÑÑ Ñ…ÑдÑн удаа +дуудаж болохыг заана; Ðнхдагч утга нь Ñ…Ñзгааргүй. ҮйлчилгÑÑ Ñ‚ÑƒÑ Ð±Ò¯Ñ€ÑÑÑ€ параметрийн туÑламжтай утгыг дарж өөрчилж болно. @@ -252,13 +249,13 @@ дараах тушаалыг өгнө: - <application>inetd</application>-н тохиргооны файлыг дахин дуудах нь + <application>inetd</application>-н тохиргооны файлыг дахин ачаалах нь &prompt.root; /etc/rc.d/inetd reload Тохиргооны файлын мөр бүр туÑдаа дÑмонг заана. -Файл доторх тайлбарууд нь урдаа # Ñ‚ÑмдÑгтÑй байна. +Файл доторх тайлбарууд нь мөрийн ÑÑ…Ñнд # Ñ‚ÑмдÑгтÑй байна. /etc/inetd.conf файл доторх бичлÑгүүдийн формат дараах байдалтай байна: @@ -348,16 +345,16 @@ нь inetd-Ñ€ дуудагдÑан -дÑмон өөрийн Ñокетийг зохицуулж чадах ÑÑÑхийг заана. - Ñокеттой дÑмоны хувьд тохируулгыг -Ñ…ÑÑ€ÑглÑнÑ. Харин ихÑвчлÑн олон Ñалаатай байдаг >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:15:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A38F16A468; Fri, 23 Nov 2007 03:15: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 AA92716A41B for ; Fri, 23 Nov 2007 03:15:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B055413C448 for ; Fri, 23 Nov 2007 03:15:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3FNVA008708 for ; Fri, 23 Nov 2007 03:15:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3FNAj008705 for perforce@freebsd.org; Fri, 23 Nov 2007 03:15:23 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 03:15:23 GMT Message-Id: <200711230315.lAN3FNAj008705@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129404 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:15:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=129404 Change 129404 by jb@jb_freebsd1 on 2007/11/23 03:14:22 Strict aliasing fixes. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/alist.c#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/dwarf.c#10 edit .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/merge.c#9 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/alist.c#5 (text) ==== @@ -123,14 +123,17 @@ int alist_find(alist_t *alist, void *name, void **value) { - alist_el_t template, *ret; + alist_el_t template, *retx; + void *ret; template.ale_name = name; - if (!hash_find(alist->al_elements, &template, (void **)&ret)) + if (!hash_find(alist->al_elements, &template, &ret)) return (0); - if (value) - *value = ret->ale_value; + if (value) { + retx = ret; + *value = retx->ale_value; + } return (1); } ==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/dwarf.c#10 (text) ==== @@ -160,11 +160,12 @@ static tdesc_t * tdesc_lookup(dwarf_t *dw, int tid) { - tdesc_t tmpl, *tdp; + tdesc_t tmpl; + void *tdp; tmpl.t_id = tid; - if (hash_find(dw->dw_tidhash, &tmpl, (void **)&tdp)) + if (hash_find(dw->dw_tidhash, &tmpl, &tdp)) return (tdp); else return (NULL); ==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/merge.c#9 (text) ==== @@ -190,10 +190,10 @@ static tid_t get_mapping(alist_t *ta, int srcid) { - long ltgtid; + void *ltgtid; if (alist_find(ta, (void *)(uintptr_t)srcid, (void **)<gtid)) - return ((tid_t)ltgtid); + return ((uintptr_t)ltgtid); else return (0); } @@ -872,7 +872,7 @@ fwd_redir(tdesc_t *fwd, tdesc_t **fwdp, void *private) { alist_t *map = private; - tdesc_t *defn; + void *defn; if (!alist_find(map, (void *)fwd, (void **)&defn)) return (0); From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:26:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5ACC516A468; Fri, 23 Nov 2007 03: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 AE13E16A417 for ; Fri, 23 Nov 2007 03:26:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B542D13C4D9 for ; Fri, 23 Nov 2007 03:26:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3QamG009125 for ; Fri, 23 Nov 2007 03:26:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3QaHh009122 for perforce@freebsd.org; Fri, 23 Nov 2007 03:26:36 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 03:26:36 GMT Message-Id: <200711230326.lAN3QaHh009122@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:26:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=129405 Change 129405 by jb@jb_freebsd1 on 2007/11/23 03:26:07 Remove a compatibility header. Affected files ... .. //depot/projects/dtrace/src/include/Makefile#13 edit .. //depot/projects/dtrace/src/include/alloca.h#2 delete Differences ... ==== //depot/projects/dtrace/src/include/Makefile#13 (text+ko) ==== @@ -7,8 +7,8 @@ CLEANFILES= osreldate.h version vers.c SUBDIR= arpa gssapi protocols rpcsvc rpc -INCS= a.out.h alloca.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h \ - ctype.h db.h \ +INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \ + db.h \ dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ fts.h ftw.h getopt.h glob.h grp.h gssapi.h \ histedit.h ieeefp.h ifaddrs.h \ From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:27:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F59D16A41B; Fri, 23 Nov 2007 03:27: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 0492D16A418 for ; Fri, 23 Nov 2007 03:27:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E7C7013C455 for ; Fri, 23 Nov 2007 03:27:37 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3RbgT009167 for ; Fri, 23 Nov 2007 03:27:37 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3Rble009164 for perforce@freebsd.org; Fri, 23 Nov 2007 03:27:37 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 03:27:37 GMT Message-Id: <200711230327.lAN3Rble009164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:27:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=129406 Change 129406 by jb@jb_freebsd1 on 2007/11/23 03:27:19 Remove a compatibility header. Affected files ... .. //depot/projects/dtrace/src/sys/sys/sysmacros.h#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:30:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09CA416A46C; Fri, 23 Nov 2007 03:30: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 A2DDB16A468 for ; Fri, 23 Nov 2007 03:30:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 57C7813C461 for ; Fri, 23 Nov 2007 03:30:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3Ufxj009311 for ; Fri, 23 Nov 2007 03:30:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3UfGm009308 for perforce@freebsd.org; Fri, 23 Nov 2007 03:30:41 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 03:30:41 GMT Message-Id: <200711230330.lAN3UfGm009308@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129407 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:30:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=129407 Change 129407 by jb@jb_freebsd1 on 2007/11/23 03:30:36 Sync with current. Affected files ... .. //depot/projects/dtrace/src/include/stdlib.h#9 edit Differences ... ==== //depot/projects/dtrace/src/include/stdlib.h#9 (text+ko) ==== @@ -282,7 +282,6 @@ extern char *suboptarg; /* getsubopt(3) external variable */ #endif /* __BSD_VISIBLE */ - __END_DECLS #endif /* !_STDLIB_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:52:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1F1216A473; Fri, 23 Nov 2007 03:52: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 0E3C016A419 for ; Fri, 23 Nov 2007 03:52:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F18BC13C442 for ; Fri, 23 Nov 2007 03:52:04 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3q4Hu010100 for ; Fri, 23 Nov 2007 03:52:04 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3q4YR010097 for perforce@freebsd.org; Fri, 23 Nov 2007 03:52:04 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 23 Nov 2007 03:52:04 GMT Message-Id: <200711230352.lAN3q4YR010097@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 129408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:52:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=129408 Change 129408 by gcooper@optimus-pkg_revised on 2007/11/23 03:52:02 Submitting Andrew Turner's work (slightly revised) for pkg_install revamp. Initial work on sandboxing libpkg, as this doesn't currently exist when installing / deleting packages.. Affected files ... .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/archive_read_open_stream.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/macros.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_match.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_lexer.l#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_parser.y#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_files.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_ftp.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_local_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_util.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkgfile.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 23 03:57:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33F5216A46B; Fri, 23 Nov 2007 03:57:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD7C016A41B for ; Fri, 23 Nov 2007 03:57:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D040E13C474 for ; Fri, 23 Nov 2007 03:57:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN3vAEP011176 for ; Fri, 23 Nov 2007 03:57:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN3vAiX011173 for perforce@freebsd.org; Fri, 23 Nov 2007 03:57:10 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 03:57:10 GMT Message-Id: <200711230357.lAN3vAiX011173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129409 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 03:57:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=129409 Change 129409 by jb@jb_freebsd1 on 2007/11/23 03:57:08 I must not whack my own changes. I must not whack my own changes. I must not whack my own changes. I must not whack my own changes. I must not whack my own changes. I must not whack my own changes. Affected files ... .. //depot/projects/dtrace/src/share/mk/sys.mk#15 edit Differences ... ==== //depot/projects/dtrace/src/share/mk/sys.mk#15 (text+ko) ==== @@ -45,6 +45,19 @@ .endif .endif +# C Type Format data is required for DTrace +CTFFLAGS ?= -L VERSION + +.if !defined(NO_CTF) +CTFCONVERT ?= ctfconvert +CTFMERGE ?= ctfmerge +.if defined(DEBUG_FLAGS) +CTFFLAGS += -g +.else +DEBUG_FLAGS = -g +.endif +.endif + CXX ?= c++ CXXFLAGS ?= ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sign} From owner-p4-projects@FreeBSD.ORG Fri Nov 23 04:02:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C44A216A41A; Fri, 23 Nov 2007 04:02: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 5CB2A16A417 for ; Fri, 23 Nov 2007 04:02:17 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 63FD913C44B for ; Fri, 23 Nov 2007 04:02:17 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN42FYX011413 for ; Fri, 23 Nov 2007 04:02:15 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN42FHo011410 for perforce@freebsd.org; Fri, 23 Nov 2007 04:02:15 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 23 Nov 2007 04:02:15 GMT Message-Id: <200711230402.lAN42FHo011410@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 129410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 04:02:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=129410 Change 129410 by gcooper@optimus-pkg_revised on 2007/11/23 04:02:05 Readding old files, because I can't seem to get P4 on windows to work properly in terms of checking out my old files. Affected files ... .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/README#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/completion#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/fat#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/file_api_tests.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/README#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/add/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/scripts/styleify.pl#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/CHANGELOG#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile.inc#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/README#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/src/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile.inc#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/fbsd_test.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkgfile.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/test.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile.inc#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/config.sh.eg#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/run.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/run.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/match.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/pkg_info.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/run.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/show.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/delete/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/info/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/archive.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/db/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/db/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file_utils.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/index_handler.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/INCOMPLETE_SOURCES#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/client.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/server.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/plist.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/prototypes.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/register/INCOMPLETE_SOURCES#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/register/connection_manage.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/register/db_manage.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/register/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/version/main.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 23 04:07:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6525816A46D; Fri, 23 Nov 2007 04: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 EDA7F16A419 for ; Fri, 23 Nov 2007 04:07:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE65413C45A for ; Fri, 23 Nov 2007 04:07:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN47LWp012768 for ; Fri, 23 Nov 2007 04:07:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN47LqQ012765 for perforce@freebsd.org; Fri, 23 Nov 2007 04:07:21 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 04:07:21 GMT Message-Id: <200711230407.lAN47LqQ012765@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 04:07:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=129411 Change 129411 by jb@jb_freebsd1 on 2007/11/23 04:06:46 Hmmm, the p4 importer doesn't give me this file, but I need it to make the diff between p4 and cvs trees clean. Affected files ... .. //depot/projects/dtrace/src/secure/README.Non-US#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 23 04:11:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DEE7F16A421; Fri, 23 Nov 2007 04:11: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 79FAB16A41B for ; Fri, 23 Nov 2007 04:11:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6988013C459 for ; Fri, 23 Nov 2007 04:11:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN4BQxl012967 for ; Fri, 23 Nov 2007 04:11:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN4BQA1012964 for perforce@freebsd.org; Fri, 23 Nov 2007 04:11:26 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 Nov 2007 04:11:26 GMT Message-Id: <200711230411.lAN4BQA1012964@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 04:11:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=129412 Change 129412 by jb@jb_freebsd1 on 2007/11/23 04:10:32 Reset to match CVS. Probe macros can be added again later. For now, lower the diff noise. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#24 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#24 (text+ko) ==== @@ -692,10 +692,6 @@ p2->p_state = PRS_NORMAL; PROC_SUNLOCK(p2); -#ifdef DOODAD - DTRACE_PROBE1(__proc_create, proc *, p2); -#endif - /* * If RFSTOPPED not requested, make child runnable and add to * run queue. From owner-p4-projects@FreeBSD.ORG Fri Nov 23 06:34:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 154C716A468; Fri, 23 Nov 2007 06: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 B3B0616A419 for ; Fri, 23 Nov 2007 06:34:00 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF2AF13C442 for ; Fri, 23 Nov 2007 06:34:00 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN6Y0Yi031654 for ; Fri, 23 Nov 2007 06:34:00 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN6Y03V031647 for perforce@freebsd.org; Fri, 23 Nov 2007 06:34:00 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 23 Nov 2007 06:34:00 GMT Message-Id: <200711230634.lAN6Y03V031647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 129419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 06:34:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=129419 Change 129419 by gcooper@optimus-pkg_revised on 2007/11/23 06:34:00 Sandbox-related: More development for tonight. libpkg-related: Just being anal in terms of style, spelling, and naming.. Affected files ... .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ */ struct pkg_repo * pkg_repo_new(pkg_repo_get_pkg_callback *pkg_get, - pkg_repo_free_callback *pfree) + pkg_repo_free_callback *pkg_free) { struct pkg_repo *repo; @@ -55,7 +55,7 @@ } repo->pkg_get = pkg_get; - repo->pkg_free = pfree; + repo->pkg_free = pkg_free; repo->data = NULL; @@ -79,17 +79,14 @@ struct pkg * pkg_repo_get_pkg(struct pkg_repo *repo, const char *pkg_name) { - if (!repo) { - return NULL; - } + if (repo == NULL) + return NULL; - if (!pkg_name) { - return NULL; - } + if (pkg_name == NULL) + return NULL; - if (!repo->pkg_get) { - return NULL; - } + if (repo->pkg_get == NULL) + return NULL; return repo->pkg_get(repo, pkg_name); } @@ -101,12 +98,11 @@ int pkg_repo_free(struct pkg_repo *repo) { - if (!repo) { - return -1; - } + if (!repo) + return -1; if (repo->pkg_free) - repo->pkg_free(repo); + repo->pkg_free(repo); free(repo); ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#2 (text+ko) ==== @@ -1,5 +1,6 @@ /* * Copyright (C) 2005, Andrew Turner + * Copyright (C) 2007, Garrett Cooper * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,15 +30,15 @@ #define __LIBPKG_PKG_REPO_H__ /* - * A Repo is a store of 0 or more packages. - * eg. ftp server, cdrom, local directory. + * A Repo is a store of 0+ packages, + * e.g. a ftp server, cdrom, or local directory. */ struct pkg_repo; struct pkg_repo *pkg_repo_new_files(void); struct pkg_repo *pkg_repo_new_ftp(const char *, const char *, const char *); struct pkg_repo *pkg_repo_new_local_freebsd(void); -struct pkg *pkg_repo_get_pkg(struct pkg_repo *, const char *); -int pkg_repo_free(struct pkg_repo *); +struct pkg *pkg_repo_get_pkg(struct pkg_repo *, const char *); +int pkg_repo_free(struct pkg_repo *); #endif /* __LIBPKG_PKG_REPO_H__ */ ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#2 (text+ko) ==== @@ -29,10 +29,10 @@ #define __LIBPKG_PKG_REPO_PRIVATE_H__ typedef struct pkg *pkg_repo_get_pkg_callback(struct pkg_repo *, const char *); -typedef int pkg_repo_free_callback(struct pkg_repo *); +typedef int pkg_repo_free_callback(struct pkg_repo *); -struct pkg_repo *pkg_repo_new(pkg_repo_get_pkg_callback *, - pkg_repo_free_callback *); +struct pkg_repo *pkg_repo_new(pkg_repo_get_pkg_callback *, + pkg_repo_free_callback *); struct pkg_repo { void *data; @@ -41,4 +41,4 @@ pkg_repo_free_callback *pkg_free; }; -#endif /* __LIBPKG_PKG_REPO_PRIVATE_H__ */ +#endif /* __LIBPKG_PKG_REPO_PRIVATE_H__ */ ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#2 (text+ko) ==== @@ -28,13 +28,21 @@ #ifndef __LIBPKG_PKG_SANDBOX_H__ #define __LIBPKG_PKG_SANDBOX_H__ +enum _pkg_sandbox_level_err_type { + PKG_SANDBOX_NULL = 0, + PKG_SANDBOX_PREINSTALL, + PKG_SANDBOX_FILE_EXTRACT, + PKG_SANDBOX_FILE_INSTALL, + PKG_SANDBOX_POSTINSTALL, + PKG_SANDBOX_COMPLETE = 25 +}; + struct pkg_sandbox; -#define +struct pkg_sandbox *pkg_sandbox_new_sandbox(); +int pkg_sandbox_purge_sandbox(struct pkg_sandbox*, int); +int pkg_sandbox_destroy_sandbox(struct pkg_sandbox*, int); +int pkg_sandbox_set_criticality_level(struct pkg_sandbox*, int); +int pkg_sandbox_free_sandbox(struct pkg_sandbox *); -struct pkg_sandbox *pkg_sandbox_new(); -int pkg_sandbox_destroy(struct pkg_sandbox*, int); -int pkg_sandbox_set_criticality_level(int); -int pkg_sandbox_free(struct pkg_sandbox *); - -#endif /* __LIBPKG_PKG_SANDBOX_H__ */ +#endif /* __LIBPKG_PKG_SANDBOX_H__ */ ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#2 (text+ko) ==== @@ -28,16 +28,38 @@ #ifndef __LIBPKG_PKG_SANDBOX_PRIVATE_H__ #define __LIBPKG_PKG_SANDBOX_PRIVATE_H__ +typedef int pkg_sandbox_purge_sandbox_callback(struct pkg_sandbox*, int); +typedef int pkg_sandbox_destroy_sandbox_callback(struct pkg_sandbox*, int); +typedef int pkg_sandbox_set_criticality_level_callback(struct pkg_sandbox*, int); +typedef int pkg_sandbox_free_sandbox_callback(struct pkg_sandbox *); + +struct pkg_sandbox *pkg_sandbox_new(pkg_sandbox_purge_sandbox_callback *, + pkg_sandbox_destroy_sandbox_callback *, + pkg_sandbox_set_criticality_level_callback *, + pkg_sandbox_free_sandbox_callback *); + /* * A sandbox is a safe place where files are extracted - * temporarily, and if signals are specified by the user + * temporarily during the install process to avoid + * collisions with already installed packages, and if + * signals are specified by the user * and the install isn't in a critical phase (actually * finalizing an install, i.e removing old files), * rollback all changes being performed with installing * the package. */ typedef struct { - int criticality_level + + int criticality_level; + + struct pkg *package; + + pkg_sandbox_free_sandbox_callback *free_sandbox; + + pkg_sandbox_purge_sandbox_callback *purge_sandbox; + pkg_sandbox_destroy_sandbox_callback *destroy_sandbox; + pkg_sandbox_set_criticality_level_callback *set_criticality_level; + } pkg_sandbox; -#endif /* __LIBPKG_PKG_SANDBOX_PRIVATE_H__ */ +#endif /* __LIBPKG_PKG_SANDBOX_PRIVATE_H__ */ From owner-p4-projects@FreeBSD.ORG Fri Nov 23 06:36:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81D6016A41A; Fri, 23 Nov 2007 06:36: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 0D42716A417 for ; Fri, 23 Nov 2007 06:36:03 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0184213C45B for ; Fri, 23 Nov 2007 06:36:03 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN6a2sl031752 for ; Fri, 23 Nov 2007 06:36:02 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN6a2xa031749 for perforce@freebsd.org; Fri, 23 Nov 2007 06:36:02 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 23 Nov 2007 06:36:02 GMT Message-Id: <200711230636.lAN6a2xa031749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 129420 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 06:36:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=129420 Change 129420 by gcooper@optimus-pkg_revised on 2007/11/23 06:35:36 Filling in some sandbox functionality. Affected files ... .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 23 06:42:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EF4C16A420; Fri, 23 Nov 2007 06:42: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 AC0AB16A419 for ; Fri, 23 Nov 2007 06:42:09 +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 B6F1C13C442 for ; Fri, 23 Nov 2007 06:42:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN6g9FZ031985 for ; Fri, 23 Nov 2007 06:42:09 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAN6g9ZH031982 for perforce@freebsd.org; Fri, 23 Nov 2007 06:42:09 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 23 Nov 2007 06:42:09 GMT Message-Id: <200711230642.lAN6g9ZH031982@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 129421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 06:42:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=129421 Change 129421 by pgj@disznohal on 2007/11/23 06:41:16 Add initial Hungarian translation of Chapter 3: UNIX Basics. Affected files ... .. //depot/projects/docproj_hu/books/handbook/basics/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/basics/chapter.sgml#2 (text+ko) ==== @@ -3,93 +3,119 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.149 2007/09/03 16:39:51 keramida Exp $ --> + - + Chris Shumway - Rewritten by + Újraírta: - - UNIX Basics - + A UNIX alapjai + - Synopsis + Áttekintés - The following chapter will cover the basic commands and - functionality of the FreeBSD operating system. Much of this - material is relevant for any &unix;-like operating system. Feel - free to skim over this chapter if you are familiar with the - material. If you are new to FreeBSD, then you will definitely - want to read through this chapter carefully. + Ez a fejezet a &os; operációs rendszer + alapvetõ funkcióit és parancsait mutatja be. Az + itt tárgyalásra kerülõ anyag nagy + része érvényes bármelyik más + &unix;-szerû operációs rendszer esetén + is. Ezért, ha már ismerjük az + említésre kerülõ ismereteket, minden + további gond nélkül átugorhatjuk ezt a + fejezetet. Azonban ha még teljesen ismeretlen + számunkra a &os;, minden bizonnyal ez lesz az, amit + alaposan át kell majd olvasnunk. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - How to use the virtual consoles of - FreeBSD. + Az ún. virtuális konzolok + használatát &os; alatt. - How &unix; file permissions work along with - understanding file flags in &os;. + Hogyan mûködnek együtt a &unix; + állományokra vonatkozó engedélyei a + &os; saját + kiegészítéseivel. - The default &os; file system layout. + Egy &os; állományrendszer + alapértelmezett kialakítását. - The &os; disk organization. + A &os; lemezszervezését. - How to mount and unmount file systems. + Hogyan csatlakoztassunk és válasszunk le + állományrendszereket. - What processes, daemons, and signals are. + Mik a folyamatok, démonok és + jelzések. - What a shell is, and how to change your default login - environment. + Mi az a shell, és miként tudjuk + megváltoztatni az alapértelmezett + bejelentkezési környezetünket. - How to use basic text editors. + Hogyan használjuk az alapvetõ + szövegszerkesztõket. - What devices and device nodes are. + Mik az eszközök és az + eszközleírók. - What binary format is used under &os;. + &os; alatt milyen bináris formátumokat + használhatunk. - How to read manual pages for more information. + Szükség esetén hogyan olvassuk el a + megfelelõ man oldalakat. - Virtual Consoles and Terminals - virtual consoles - terminals + Virtuális konzolok és terminálok + virtuális konzolok + terminálok - FreeBSD can be used in various ways. One of them is typing commands - to a text terminal. A lot of the flexibility and power of a &unix; - operating system is readily available at your hands when using FreeBSD - this way. This section describes what terminals and - consoles are, and how you can use them in FreeBSD. + A &os; számos módon használható. + Ezek közül az egyik az, ha parancsokat + gépelünk be a szöveges terminálon. A + &unix; operációs rendszer + rugalmasságának és erejének + jelentõs része érhetõ el egyszerûen, + amikor a &os;-t így használjuk. Ebben a szakaszban + megtudhatjuk, mik azok a terminálok + és konzolok és miként tudjuk + õket &os; alatt használni. - The Console - console + A konzol + konzol - If you have not configured FreeBSD to automatically start a - graphical environment during startup, the system will present you with - a login prompt after it boots, right after the startup scripts finish - running. You will see something similar to: + Ha nem állítottuk volna be, hogy a &os; + indulása során automatikusan induljon el a grafikus + felület is, akkor a rendszer egy bejelentkezõ + képernyõt fog mutatni közvetlenül a + rendszerindítás befejezõdése + után. Ekkor valami ilyesmit kell majd + látnunk: Additional ABI support:. Local package initialization:. @@ -101,144 +127,211 @@ login: - The messages might be a bit different on your system, but you will - see something similar. The last two lines are what we are interested - in right now. The second last line reads: + Egyes rendszereken ugyan némileg eltérhetnek + az üzenetek, de hasonlót kell látnunk. Minket + most az utolsó két sor érdekel. Az + utolsó elõtti sorban ez olvasható: FreeBSD/i386 (pc3.example.org) (ttyv0) - This line contains some bits of information about the system you - have just booted. You are looking at a FreeBSD - console, running on an Intel or compatible processor of the x86 - architecture - This is what i386 means. Note that even if - you are not running FreeBSD on an Intel 386 CPU, this is going to - be i386. It is not the type of your processor, - but the processor architecture that is shown - here. - . The name of this machine (every &unix; machine has a - name) is pc3.example.org, and you are now looking - at its system console—the ttyv0 - terminal. + Ez a sor arról értesít minket, hogy a + rendszerünk éppen most indult el: egy + &os; konzolt látunk, amely egy &intel; x86 + architektúrájú processzoron fut + + Erre utal pontosan az i386 + jelzés. Még abban az esetben is a + i386 kiírást fogjuk + látni, hogy ha a &os;-t konkrétan nem is az + &intel; 386-os processzorán futtatjuk. Itt nem a + processzorunk típusát, hanem a processzorunk + architektúráját + láthatjuk. + . A gépünk neve (mivel minden &unix;-os + gép rendelkezik egy névvel) + pc3.example.org, és ennek a + rendszerkonzolját látjuk most éppen + — a ttyv0 + terminált. - Finally, the last line is always: + Végezetül az utolsó sor mindig: login: - This is the part where you are supposed to type in your - username to log into FreeBSD. The next section - describes how you can do this. + Ez az a rész, ahova a &os;-be + történõ bejelentkezéshez meg kell adnunk a + felhasználói nevünket (user + name). A következõ szakaszban errõl + olvashatunk. - Logging into FreeBSD + Bejelentkezés a &os;-be - FreeBSD is a multiuser, multiprocessing system. This is - the formal description that is usually given to a system that can be - used by many different people, who simultaneously run a lot of - programs on a single machine. + A &os; egy többfelhasználós, + többfeladatos rendszer. Így hívják + hivatalosan azokat a rendszereket, amelyeket többen tudnak + használni és egyetlen + számítógépen egyszerre rengeteg + programot képesek futtatni. - Every multiuser system needs some way to distinguish one - user from the rest. In FreeBSD (and all the - &unix;-like operating systems), this is accomplished by requiring that - every user must log into the system before being able - to run programs. Every user has a unique name (the - username) and a personal, secret key (the - password). FreeBSD will ask for these two before - allowing a user to run any programs. + Minden többfelhasználós rendszernek meg + kell tudnia különböztetnie egy + felhasználóját a + többitõl valamilyen módon. A &os;-ben + (és minden más &unix;-szerû + operációs rendszerben) ezt úgy érik + el, hogy a programok futtatása elõtt minden + felhasználónak be kell jelentkeznie + a rendszerbe. Minden felhasználó rendelkezik egy + egyedi névvel (ez a felhasználói + név) és ehhez egy titkos kulcssal (ez a + jelszó). A &os; a programok + futtatásához ezt a kettõt fogja + elkérni a felhasználótól. - startup scripts - Right after FreeBSD boots and finishes running its startup - scripts - Startup scripts are programs that are run automatically by - FreeBSD when booting. Their main function is to set things up for - everything else to run, and start any services that you have - configured to run in the background doing useful things. - , it will present you with a prompt and ask for a valid - username: + indító szkriptek + Egybõl miután a &os; elindult és + befejezte a rendszerindításhoz használt + szkriptjeinek lefuttatását + + A rendszerindító szkriptek olyan + programok, amelyek a &os; indulása során + maguktól lefutnak. Legfontosabb feladatuk + elvégezni a többi program + futtatásához szükséges + beállításokat, valamint + elindítani a háttérben + futtatandó, hasznos munkát végzõ + szolgáltatásokat. + , ez a kijelzés (vagy más néven + prompt) fog megjelenni és kérni egy + érvényes felhasználói nevet: login: - For the sake of this example, let us assume that your username is - john. Type john at this prompt and press - Enter. You should then be presented with a prompt to - enter a password: + A példa kedvéért most tegyük fel, + hogy a felhasználói nevünk + pgj. Az iménti prompthoz + írjuk be, hogy pgj és nyomjuk + le az Entert. Ezt követõen meg kell + jelennie egy másik promptnak is, amely egy + jelszót (password) kér: - login: john + login: pgj Password: - Type in john's password now, and press - Enter. The password is not - echoed! You need not worry about this right now. Suffice - it to say that it is done for security reasons. + Most pedig gépeljük be pgj + jelszavát és nyomjunk után egy + Entert. Vigyázzunk, hogy a + jelszót nem látjuk a + beírás során! Emiatt most ne + aggódjunk. Ezzel kapcsolatban elegendõ csak annyit + mondani, hogy mindez biztonsági + megfontolásokból történik. - If you have typed your password correctly, you should by now be - logged into FreeBSD and ready to try out all the available - commands. + Amennyiben jól adtuk meg a jelszavunkat, sikeresen + bejelentkezünk a &os; rendszerébe és + készen állunk az összes elérhetõ + parancs kipróbálására. - You should see the MOTD or message of - the day followed by a command prompt (a #, - $, or % character). This - indicates you have successfully logged into FreeBSD. + Bejelentkezés után a MOTD + (message of the day) vagy más néven a nap + üzenete jelenik meg, amelyet a parancssor + követ (egy #, $ vagy + % jel). Innen tudhatjuk meg, hogy + sikerült bejelentkeznünk./para> - Multiple Consoles + Több konzol használata - Running &unix; commands in one console is fine, but FreeBSD can - run many programs at once. Having one console where commands can be - typed would be a bit of a waste when an operating system like FreeBSD - can run dozens of programs at the same time. This is where - virtual consoles can be very helpful. + A &unix; parancsokat egy konzolon is szépen ki tudjuk + adni, de a &os; egyszerre ugyebár több programot is + tud futtatni. A parancsok megadásához viszont + egyetlen konzol használata elég nagy + pazarlás lenne, hiszen egy olyan operációs + rendszer mint a &os;, tucatnyi programot képes futtatni + egy idõben. Ebben az esetben jelenthetnek számunkra + segítséget a virtuális + konzolok. - FreeBSD can be configured to present you with many different - virtual consoles. You can switch from one of them to any other - virtual console by pressing a couple of keys on your keyboard. Each - console has its own different output channel, and FreeBSD takes care - of properly redirecting keyboard input and monitor output as you - switch from one virtual console to the next. + A &os; beállítható úgy, hogy + sok-sok különféle virtuális konzolt + ajánljon fel számunkra. A virtuális + konzolok között a billentyûzeten a megfelelõ + gombok lenyomásával tudunk váltani. + Mindegyik konzolnak megvan a saját kimeneti + csatornája, és a virtuális konzolok + közti váltás folyamán a &os; + gondoskodik a billentyûzetrõl érkezõ + bemenet valamint a monitorra irányított kimenet + megfelelõ kezelésérõl. - Special key combinations have been reserved by FreeBSD for - switching consoles - A fairly technical and accurate description of all the details - of the FreeBSD console and keyboard drivers can be found in the - manual pages of &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; - and &man.kbdcontrol.1;. We will not expand on the details here, - but the interested reader can always consult the manual pages for - a more detailed and thorough explanation of how things - work. - . You can use + A konzolok közti váltásra a &os; + külön billentyûkombinációkat tart + fenn + + A &os; konzol- és + billentyûzetmeghajtóinak teljes, pusztán + mûszaki és precíz leírása a + &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; és + &man.kbdcontrol.1; man oldalakon olvasható. Itt most + nem bocsátkozunk részletekbe, azonban a + téma iránt érdeklõdõ + olvasóknak mindig érdemes fellapozniuk a + kapcsolódó man oldalakat, ahol + megtalálhatják az említett + eszközök részletesebb és bõvebb + leírását. + . A &os;-ben a különbözõ + virtuális konzolok közti váltásra az AltF1, - AltF2, through - AltF8 to switch - to a different virtual console in FreeBSD. + AltF2 + billentyûket, a + AltF8 + billentyûkombinációval + bezárólag használhatjuk. - As you are switching from one console to the next, FreeBSD takes - care of saving and restoring the screen output. The result is an - illusion of having multiple virtual - screens and keyboards that you can use to type commands for - FreeBSD to run. The programs that you launch on one virtual console - do not stop running when that console is not visible. They continue - running when you have switched to a different virtual console. + A konzolok közti váltogatás során + a &os; ügyel a képernyõ tartalmának + elmentésére és + visszaállítására. Ennek + eredményeképpen úgy + látszik, mintha több + virtuális képernyõn és + billentyûzeten adnánk parancsokat a &os;-nek. - The <filename>/etc/ttys</filename> File + Az <filename>/etc/ttys</filename> + állomány - The default configuration of FreeBSD will start up with eight - virtual consoles. This is not a hardwired setting though, and - you can easily customize your installation to boot with more - or fewer virtual consoles. The number and settings of the - virtual consoles are configured in the - /etc/ttys file. + A &os; alapértelmezés szerint nyolc + virtuális konzollal indul. Ez azonban nem egy elõre + rögzített érték, hiszen + könnyedén testreszabhatjuk úgy a + telepített rendszerünket, hogy több vagy + esetleg kevesebb virtuális konzollal induljon el. A + virtuális konzolok száma és pontos + beállítása az + /etc/ttys állományon + keresztül végezhetõ el. - You can use the /etc/ttys file to configure - the virtual consoles of FreeBSD. Each uncommented line in this file - (lines that do not start with a # character) contains - settings for a single terminal or virtual console. The default - version of this file that ships with FreeBSD configures nine virtual - consoles, and enables eight of them. They are the lines that start with - ttyv: + A &os; virtuális konzoljait tehát az + /etc/ttys állomány + megfelelõ módosításával tudjuk + behangolni. Itt minden egyes olyan sor, ami nem + megjegyzés (vagyis azok a sorok, amelyek nem a + # karakterrel kezdõdnek), tartalmazza az + egyes terminálok vagy virtuális konzolok + beállításait. Az állomány a + &os; telepítésében szereplõ, + alapértelmezett változata kilenc virtuális + konzol konfigurációját tartalmazza, melyek + közül nyolc aktív. Ezek a + ttyv szöveggel kezdõdõ + sorok: # name getty type status comments # @@ -253,21 +346,28 @@ ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure - For a detailed description of every column in this file and all - the options you can use to set things up for the virtual consoles, - consult the &man.ttys.5; manual page. + Az állományban található + oszlopok kimerítõ magyarázatát illetve a + virtuális konzolok + beállításához + használható kapcsolókat a &man.ttys.5; man + oldalon olvashatjuk. - Single User Mode Console + Egyfelhasználós mód konzolja - A detailed description of what single user mode is - can be found in . It is worth noting - that there is only one console when you are running FreeBSD in single - user mode. There are no virtual consoles available. The settings of - the single user mode console can also be found in the - /etc/ttys file. Look for the line that starts - with console: + Az egyfelhasználós mód + részletes leírása a ban található. Fontos + tudni, hogy amikor a &os;-t egyfelhasználós + módban futtatjuk, csupán egyetlen konzolunk van, a + virtuális konzolok nem érhetõek el. Az + egyfelhasználós mód erre vonatkozó + beállításai is megtalálhatóak + egyébként az /etc/ttys + állományban. Keressük meg a + console kezdetû sort: # name getty type status comments # @@ -276,102 +376,136 @@ console none unknown off secure - As the comments above the console line - indicate, you can edit this line and change secure to - insecure. If you do that, when FreeBSD boots - into single user mode, it will still ask for the - root password. + A console felett látható + megjegyzés jelzi, hogy át tudjuk írni + ebben a sorban a secure + (biztonságos) értékû + paramétert insecure (nem + biztonságos) értékûre. Ilyenkor, + hogy ha a &os; egyfelhasználós módban + indul, kérni fogja a root + felhasználó (a rendszeradminisztrátor) + jelszavát. - Be careful when changing this to - insecure. If you ever forget - the root password, booting into single user - mode is a bit involved. It is still possible, but it might be a bit - hard for someone who is not very comfortable with the FreeBSD - booting process and the programs involved. + Vigyázzunk, amikor ezt az + értéket insecure-ra + állítjuk! Ha ugyanis + véletlenül elfeledkeznénk a + root jelszaváról, azzal az + egyfelhasználós mód használata is + veszélybe kerülhet. Habár ettõl + függetlenül is lehetséges, azokra + számára mégis nehéz helyzetnek + bizonyulhat, akik nem mozognak elég otthonosan a &os; + rendszerindítás folyamatának és a + hozzá kapcsolódó programok + ismeretében. - Permissions + Engedélyek UNIX - FreeBSD, being a direct descendant of BSD &unix;, is based on - several key &unix; concepts. The first and - most pronounced is that FreeBSD is a multi-user operating system. - The system can handle several users all working simultaneously on - completely unrelated tasks. The system is responsible for properly - sharing and managing requests for hardware devices, peripherals, - memory, and CPU time fairly to each user. + A &os;, mivel a BSD &unix; egyik közvetlen + leszármazottja, számos &unix;-os alapötletre + épül. Ezek közül az elsõ és + talán a leginkább kihangsúlyozott, hogy a + &os; egy többfelhasználós + operációs rendszer. Egy olyan rendszer, amely + egyszerre több, egymástól független + feladattal foglalkozó felhasználót + képes kiszolgálni. A rendszer felelõs a + hardveres eszközök, a különféle + perifériák, a memória és a processzor + idejének minden egyes felhasználó + számára szabályos és pártatlan + megosztásáért és a feléjük + irányuló kérések + szervezéséért. - Because the system is capable of supporting multiple users, - everything the system manages has a set of permissions governing who - can read, write, and execute the resource. These permissions are - stored as three octets broken into three pieces, one for the owner of - the file, one for the group that the file belongs to, and one for - everyone else. This numerical representation works like - this: + Mivel a rendszer több felhasználót is + képes támogatni, az általa kezelt + erõforrások rendelkeznek engedélyek egy adott + halmazával, melyek eldöntik, ki tudja õket + olvasni, írni és végrehajtani. Az + engedélyek háromszor három bit + formájában jelennek meg, melyek közül az + elsõ bitcsoport az állomány + tulajdonosára, a második az állomány + csoportjára, végül az utolsó pedig a + mindenki másra vonatkozó engedélyeket + tárolja. - permissions + engedélyek - file permissions + állományok engedélyei - Value - Permission - Directory Listing + Érték + Engedély + Könyvtárlistában 0 - No read, no write, no execute + Nem olvasható, nem írható, nem + hajtható végre --- 1 - No read, no write, execute + Nem olvasható, nem írható, + végrehajtható --x 2 - No read, write, no execute + Nem olvasható, írható, nem + hajtható végre -w- 3 - No read, write, execute + Nem olvasható, írható, + végrehajtható -wx 4 - Read, no write, no execute + Olvasható, nem írható, nem + hajtható végre r-- 5 - Read, no write, execute + Olvasható, nem írható, + végrehajtható r-x 6 - Read, write, no execute + Olvasható, írható, nem + hajtható végre rw- 7 - Read, write, execute + Olvasható, írható, + végrehajtható rwx @@ -380,13 +514,17 @@ ls - directories + könyvtárak - You can use the command line - argument to &man.ls.1; to view a long directory listing that - includes a column with information about a file's permissions - for the owner, group, and everyone else. For example, a - ls -l in an arbitrary directory may show: + A &man.ls.1; kapcsolójának + segítségével megnézhetjük a + könyvtárak tartalmának részletes + listáját, amiben megjelennek az + állományok tulajdonosaira, csoportjára + és a mindenki másra vonatkozó + engedélyek is. Például ezt láthatjuk, + ha kiadjuk az ls -l parancsot egy + tetszõleges könyvtárban: &prompt.user; ls -l total 530 @@ -395,54 +533,86 @@ -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ... - Here is how the first column of ls -l is - broken up: + A példabeli ls -l parancs + kimenetének elsõ oszlopa így bomlik fel: -rw-r--r-- - The first (leftmost) character - tells if this file is a regular file, a directory, a special - character device, a socket, or any other special - pseudo-file device. In this case, the - - indicates a regular file. The next three characters, - rw- in this example, give the permissions for the owner of the - file. The next three characters, r--, give the - permissions for the group that the file belongs to. The final three - characters, r--, give the permissions for the - rest of the world. A dash means that the permission is turned off. - In the case of this file, the permissions are set so the owner can - read and write to the file, the group can read the file, and the - rest of the world can only read the file. According to the table - above, the permissions for this file would be - 644, where each digit represents the three parts - of the file's permission. + Az elsõ (legbaloldalibb) karakter mondja meg, hogy ez egy + hagyományos állomány, könyvtár, + speciális karakteres eszköz, csatlakozás vagy + bármilyen más különleges + pszeudoállomány. Ebben az esetben a + - jelzi, hogy egy hagyományos + állományról van szó. A + következõ három karakter, ami ebben a + példában az rw-, adja meg az + állomány tulajdonosának engedélyeit. + Az ezután következõ három karakter, a + r-- mutatja az állomány + csoportjának engedélyeit. Az utolsó + három karakter, vagyis itt a r-- adja + meg a többiek engedélyeit. A kötõjel arra + utal, hogy az adott engedély tevekénység nem + engedélyezett. Tehát ennél az + állománynál az engedélyek a + következõek: a tulajdonosa tudja olvasni és + írni, a csoportja csak olvasni tudja, ugyanígy + bárki más. A fenti táblázatnak + megfelelõen az állomány + engedélyének kódja 644 + lesz, ahol az egyes számjegyek jelentik az + állomány engedélyeinek három + elemét. - This is all well and good, but how does the system control - permissions on devices? FreeBSD actually treats most hardware - devices as a file that programs can open, read, and write data to - just like any other file. These special device files are stored on - the /dev directory. + Ez mind szép és jó, de vajon a rendszer + milyen módon vezérli az állományok + engedélyeit? A &os; a legtöbb hardveres eszközt + állománynak tekinti, melyek a programok meg tudnak + nyitni, tudnak róluk olvasni és adatokat tudnak + kiírni rájuk pontosan úgy, mint + bármilyen más állomány esetén. + Ezeket a speciális állományokat a + /dev könyvtárban + találjuk. - Directories are also treated as files. They have read, write, - and execute permissions. The executable bit for a directory has a - slightly different meaning than that of files. When a directory is - marked executable, it means it can be traversed into, that is, it is - possible to cd (change directory) into it. This also means that - within the directory it is possible to access files whose names are - known (subject, of course, to the permissions on the files - themselves). + A könyvtárakat is + állományokként kezeli, ezért azok is + rendelkeznek olvasási, írási és + végrehajtási engedélyekkel. Azonban a + könyvtárak végrehajtását + engedélyezõ bit némileg más + jelentéssel bír, mint az állományok + esetén. Amikor ugyanis egy könyvtárat + végrehajthatónak jelölünk meg, az arra fog + utalni, hogy bele tudunk lépni, vagyis hogy ki tudjuk + rá adni a + könyvtárváltás (cd, + change directory) parancsát. Ez továbbá arra + is utal, hogy az ismert nevû állományokhoz + hozzá tudunk férni (természetesen az egyes + állományok engedélyeinek + megfelelõen). - In particular, in order to perform a directory listing, - read permission must be set on the directory, whilst to delete a file - that one knows the name of, it is necessary to have write - and execute permissions to the directory - containing the file. + A könyvtárak tartalmát ennek + megfelelõen viszont csak úgy láthatjuk, ha + olvasási engedéllyel rendelkezünk a + könyvtárra, míg egy általunk ismert + állomány törléséhez a + tartalmazó könyvtárhoz kell írási + és végrehajtási + engedélyekkel rendelkeznünk. - There are more permission bits, but they are primarily used in - special circumstances such as setuid binaries and sticky - directories. If you want more information on file permissions and - how to set them, be sure to look at the &man.chmod.1; manual - page. + Ezeken kívül még léteznek + további engedélyek is, de ezeket csak olyan + különleges esetekben használják, mint + mondjuk a felhasználóváltó programok + (setuid program) vagy a ragadós könyvtárak + (sticky directory) létrehozása. Az + állományok engedélyeinek behatóbb + megismeréséhez és + beállításához mindenképpen + nézzük át a &man.chmod.1; man oldalt. @@ -450,450 +620,529 @@ Tom Rhodes - Contributed by + Írta: - Symbolic Permissions - permissionssymbolic + Szimbolikus engedélyek + + engedélyek + szimbolikus + - Symbolic permissions, sometimes referred to as symbolic expressions, - use characters in place of octal values to assign permissions to files - or directories. Symbolic expressions use the syntax of (who) (action) - (permissions), where the following values are available: + A szimbolikus engedélyek, vagy gyakran csak + szimbolikus kifejezések, karaktereket használnak a + számok helyett az állományok és + könyvtárak engedélyeinek megadása + során. A szimbolikus kifejezések (ki) (hogyan) + (milyen engedélyt) alakúak, ahol az alábbi + értékek adhatóak meg: - Option - Letter - Represents + Elem + Betû + Jelentése - (who) + (ki) u - User + felhasználók - (who) + (ki) g - Group owner + csoport tulajdonos - (who) + (ki) o - Other + tulajdonos - (who) + (ki) a - All (world) + mindenki (a világ) - (action) + (hogyan) + - Adding permissions + engedély megadása - (action) + (hogyan) - - Removing permissions + engedély visszavonása - (action) + (hogyan) = - Explicitly set permissions + engedély explicit + beállítása - (permissions) + (milyen engedély) r - Read + olvasás - (permissions) + (milyen engedély) w - Write + írás - (permissions) + (milyen engedély) x - Execute + végrehajtás - (permissions) + (milyen engedély) t - Sticky bit + ragadós (sticky bit) - (permissions) + (milyen engedély) s - Set UID or GID + UID vagy GID állítása >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 23 22:59:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BC4616A419; Fri, 23 Nov 2007 22: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 0702416A417 for ; Fri, 23 Nov 2007 22:59:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E06EA13C4CE for ; Fri, 23 Nov 2007 22:59:46 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANMxkC3037473 for ; Fri, 23 Nov 2007 22:59:46 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANMxkJx037470 for perforce@freebsd.org; Fri, 23 Nov 2007 22:59:46 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 22:59:46 GMT Message-Id: <200711232259.lANMxkJx037470@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129430 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 22:59:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=129430 Change 129430 by kmacy@kmacy:storage:toestack on 2007/11/23 22:59:39 compile fix Affected files ... .. //depot/projects/toestack/sys/vm/vm_fault.c#6 edit Differences ... ==== //depot/projects/toestack/sys/vm/vm_fault.c#6 (text+ko) ==== @@ -1408,7 +1408,8 @@ goto error; } goto retry; - + +error: vm_page_lock_queues(); for (pages = mp, va = start; va < pageslen; va += PAGE_SIZE, pages++) if (*pages) From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:23:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58B7516A4BF; Fri, 23 Nov 2007 23:23: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 C93C416A494 for ; Fri, 23 Nov 2007 23:23:12 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B381113C457 for ; Fri, 23 Nov 2007 23:23:12 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNNCWO039524 for ; Fri, 23 Nov 2007 23:23:12 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNNCPk039521 for perforce@freebsd.org; Fri, 23 Nov 2007 23:23:12 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:23:12 GMT Message-Id: <200711232323.lANNNCPk039521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129431 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:23:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=129431 Change 129431 by kmacy@kmacy:storage:toestack on 2007/11/23 23:23:09 add routine to unhold a list of pages Affected files ... .. //depot/projects/toestack/sys/vm/vm_fault.c#7 edit Differences ... ==== //depot/projects/toestack/sys/vm/vm_fault.c#7 (text+ko) ==== @@ -1418,3 +1418,16 @@ return (EFAULT); } +void +vm_fault_unhold_pages(vm_page_t *mp, int count) +{ + + KASSERT(count >= 0, ("negative count %d", count)); + vm_page_lock_queues(); + while (count--) { + vm_page_unhold(*mp); + mp++; + } + vm_page_unlock_queues(); +} + From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:24:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59B6716A46E; Fri, 23 Nov 2007 23:24: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 076AE16A41B for ; Fri, 23 Nov 2007 23:24:14 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E56D413C469 for ; Fri, 23 Nov 2007 23:24:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNOD8c039573 for ; Fri, 23 Nov 2007 23:24:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNODI0039569 for perforce@freebsd.org; Fri, 23 Nov 2007 23:24:13 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:24:13 GMT Message-Id: <200711232324.lANNODI0039569@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129432 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:24:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=129432 Change 129432 by kmacy@kmacy:storage:toestack on 2007/11/23 23:24:10 declare unhold pages Affected files ... .. //depot/projects/toestack/sys/vm/vm_extern.h#5 edit Differences ... ==== //depot/projects/toestack/sys/vm/vm_extern.h#5 (text+ko) ==== @@ -101,5 +101,7 @@ #define VM_HOLD_WRITEABLE 0x1 int vm_fault_hold_user_pages(vm_offset_t addr, int len, vm_page_t *mp, int *count, int flags); +void vm_fault_unhold_pages(vm_page_t *m, int count); + #endif /* _KERNEL */ #endif /* !_VM_EXTERN_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:26:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8838416A41B; Fri, 23 Nov 2007 23:26: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 4298E16A417 for ; Fri, 23 Nov 2007 23:26:16 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 45C6B13C447 for ; Fri, 23 Nov 2007 23:26:16 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNQGhV039690 for ; Fri, 23 Nov 2007 23:26:16 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNQF4Q039687 for perforce@freebsd.org; Fri, 23 Nov 2007 23:26:15 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:26:15 GMT Message-Id: <200711232326.lANNQF4Q039687@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129433 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:26:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=129433 Change 129433 by kmacy@kmacy:storage:toestack on 2007/11/23 23:25:39 add zero copy send config values Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#3 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#3 (text+ko) ==== @@ -88,13 +88,11 @@ .ddp_copy_limit = 13 * 4096, .ddp_push_wait = 1, .ddp_rcvcoalesce = 0, -#if defined(CONFIG_T3_ZCOPY_SENDMSG) || defined(CONFIG_T3_ZCOPY_SENDMSG_MODULE) - .zcopy_sendmsg_partial_thres = 40960, - .zcopy_sendmsg_partial_copy = 4096 * 3, - .zcopy_sendmsg_thres = 128 * 1024, - .zcopy_sendmsg_copy = 4096 * 2, - .zcopy_sendmsg_ret_pending_dma = 1, -#endif + .zcopy_sosend_partial_thres = 40960, + .zcopy_sosend_partial_copy = 4096 * 3, + .zcopy_sosend_thres = 128 * 1024, + .zcopy_sosend_copy = 4096 * 2, + .zcopy_sosend_ret_pending_dma = 1, .activated = 1, }; From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:28:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C437216A46B; Fri, 23 Nov 2007 23:28: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 8919416A420 for ; Fri, 23 Nov 2007 23:28:18 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8CA2413C442 for ; Fri, 23 Nov 2007 23:28:18 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNSIGZ039759 for ; Fri, 23 Nov 2007 23:28:18 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNSIf8039756 for perforce@freebsd.org; Fri, 23 Nov 2007 23:28:18 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:28:18 GMT Message-Id: <200711232328.lANNSIf8039756@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129434 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:28:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=129434 Change 129434 by kmacy@kmacy:storage:toestack on 2007/11/23 23:27:35 add config values move toepcb to separate header Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#1 add .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#12 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#12 (text+ko) ==== @@ -61,13 +61,12 @@ int ddp_copy_limit; // capacity of kernel DDP buffer int ddp_push_wait; // whether blocking DDP waits for PSH flag int ddp_rcvcoalesce; // whether receive coalescing is enabled -#if defined(CONFIG_T3_ZCOPY_SENDMSG) || defined(CONFIG_T3_ZCOPY_SENDMSG_MODULE) - int zcopy_sendmsg_partial_thres; // < is never zcopied - int zcopy_sendmsg_partial_copy; // bytes copied in partial zcopy - int zcopy_sendmsg_thres;// >= are mostly zcopied - int zcopy_sendmsg_copy; // bytes coped in zcopied - int zcopy_sendmsg_ret_pending_dma;// pot. return while pending DMA -#endif + int zcopy_sosend_enabled; // < is never zcopied + int zcopy_sosend_partial_thres; // < is never zcopied + int zcopy_sosend_partial_copy; // bytes copied in partial zcopy + int zcopy_sosend_thres;// >= are mostly zcopied + int zcopy_sosend_copy; // bytes coped in zcopied + int zcopy_sosend_ret_pending_dma;// pot. return while pending DMA int activated; // TOE engine activation state }; @@ -97,10 +96,8 @@ struct mtx tid_release_lock; struct task tid_release_task; -#if defined(CONFIG_T3_ZCOPY_SENDMSG) || defined(CONFIG_T3_ZCOPY_SENDMSG_MODULE) - atomic_t tx_dma_pending; -#endif - + volatile int tx_dma_pending; + unsigned int ddp_llimit; unsigned int ddp_ulimit; @@ -137,75 +134,6 @@ #define TP_CLOSE_CON_REQUESTED (1 << 7) #define TP_SYN_RCVD (1 << 8) -struct toepcb { - struct toedev *tp_toedev; - struct l2t_entry *tp_l2t; - pr_ctloutput_t *tp_ctloutput; - int tp_tid; - int tp_wr_max; - int tp_wr_avail; - int tp_wr_unacked; - int tp_delack_mode; - int tp_mtu_idx; - int tp_ulp_mode; - int tp_qset_idx; - int tp_mss_clamp; - int tp_qset; - int tp_flags; - int tp_enqueued_bytes; - tcp_seq tp_iss; - tcp_seq tp_delack_seq; - tcp_seq tp_rcv_wup; - tcp_seq tp_copied_seq; - uint64_t tp_write_seq; - - volatile int tp_refcount; - - struct tcpcb *tp_tp; - struct mbuf *tp_m_last; - - struct mbuf_head wr_list; - struct mbuf_head out_of_order_queue; -}; - -static inline void reset_wr_list(struct tcpcb *tp) -{ - struct toepcb *toep = tp->t_toe; - - mbufq_init(&toep->wr_list); -} - -static inline void purge_wr_queue(struct tcpcb *tp) -{ - struct toepcb *toep = tp->t_toe; - struct mbuf *m; - - while ((m = mbufq_dequeue(&toep->wr_list)) != NULL) - m_freem(m); -} - -static inline void enqueue_wr(struct tcpcb *tp, struct mbuf *m) -{ - struct toepcb *toep = tp->t_toe; - - mbufq_tail(&toep->wr_list, m); -} - - -static inline struct mbuf *peek_wr(struct tcpcb *tp) -{ - struct toepcb *toep = tp->t_toe; - - return mbufq_peek(&toep->wr_list); -} - -static inline struct mbuf *dequeue_wr(struct tcpcb *tp) -{ - struct toepcb *toep = tp->t_toe; - - return mbufq_dequeue(&toep->wr_list); -} - void t3_init_tunables(struct tom_data *t); static __inline struct mbuf * From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:30:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32A1816A41B; Fri, 23 Nov 2007 23:30: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 DCD8E16A41A for ; Fri, 23 Nov 2007 23:30:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E039B13C448 for ; Fri, 23 Nov 2007 23:30:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNUK7W039869 for ; Fri, 23 Nov 2007 23:30:20 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNUKm1039866 for perforce@freebsd.org; Fri, 23 Nov 2007 23:30:20 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:30:20 GMT Message-Id: <200711232330.lANNUKm1039866@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129435 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:30:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=129435 Change 129435 by kmacy@kmacy:storage:toestack on 2007/11/23 23:30:00 add add mbuf iovec allocation routine declare routine to initialize mbuf iovec from sgl Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/sys/mvec.h#8 edit .. //depot/projects/toestack/sys/dev/cxgb/sys/uipc_mvec.c#5 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/sys/mvec.h#8 (text+ko) ==== @@ -157,6 +157,8 @@ } struct mbuf *mi_collapse_mbuf(struct mbuf_iovec *mi, struct mbuf *m); +struct mbuf *mi_collapse_sge(struct mbuf_iovec *mi, bus_dma_segment_t *seg); +void *mcl_alloc(int seg_count, int *type); static __inline int m_collapse(struct mbuf *m, int maxbufs, struct mbuf **mnew) ==== //depot/projects/toestack/sys/dev/cxgb/sys/uipc_mvec.c#5 (text+ko) ==== @@ -168,6 +168,24 @@ return _mcl_collapse_mbuf(mi, m); } +void * +mcl_alloc(int seg_count, int *type) +{ + uma_zone_t zone; + + if (seg_count > MAX_CL_IOV) { + zone = zone_jumbop; + *type = EXT_JMPIOVEC; + } else if (seg_count > MAX_MIOVEC_IOV) { + zone = zone_clust; + *type = EXT_CLIOVEC; + } else { + *type = EXT_IOVEC; + zone = zone_miovec; + } + return uma_zalloc_arg(zone, NULL, M_NOWAIT); +} + int busdma_map_sg_collapse(struct mbuf **m, bus_dma_segment_t *segs, int *nsegs) { @@ -176,7 +194,6 @@ struct mbuf *marray[TX_MAX_SEGS]; int i, type, seg_count, defragged = 0, err = 0; struct mbuf_vec *mv; - uma_zone_t zone; KASSERT(n->m_pkthdr.len, ("packet has zero header len")); @@ -262,17 +279,8 @@ err = EFBIG; goto err_out; } - if (seg_count > MAX_CL_IOV) { - zone = zone_jumbop; - type = EXT_JMPIOVEC; - } else if (seg_count > MAX_MIOVEC_IOV) { - zone = zone_clust; - type = EXT_CLIOVEC; - } else { - type = EXT_IOVEC; - zone = zone_miovec; - } - if ((m0 = uma_zalloc_arg(zone, NULL, M_NOWAIT)) == NULL) { + + if ((m0 = mcl_alloc(seg_count, &type)) == NULL) { err = ENOMEM; goto err_out; } From owner-p4-projects@FreeBSD.ORG Fri Nov 23 23:32:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69C9A16A41B; Fri, 23 Nov 2007 23:32: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 261C616A417 for ; Fri, 23 Nov 2007 23:32:23 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 28BE913C45A for ; Fri, 23 Nov 2007 23:32:23 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lANNWM1M039951 for ; Fri, 23 Nov 2007 23:32:22 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lANNWMpf039948 for perforce@freebsd.org; Fri, 23 Nov 2007 23:32:22 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 23 Nov 2007 23:32:22 GMT Message-Id: <200711232332.lANNWMpf039948@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Nov 2007 23:32:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=129436 Change 129436 by kmacy@kmacy:storage:toestack on 2007/11/23 23:32:18 add initial DDP infrastructure Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#23 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#12 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#23 (text+ko) ==== @@ -80,6 +80,7 @@ #include #include #include +#include /* * For ULP connections HW may add headers, e.g., for digests, that aren't part @@ -1155,7 +1156,6 @@ m_free(m); } INP_UNLOCK(inp); - } /* @@ -1444,7 +1444,213 @@ return (0); } +static void +new_rx_data_ddp(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct ddp_state *q; + struct ddp_buf_state *bsp; + struct cpl_rx_data_ddp *hdr; + unsigned int ddp_len, rcv_nxt, ddp_report, end_offset, buf_idx; + +#ifdef notyet + if (unlikely(sk_no_receive(sk))) { + handle_excess_rx(so, m); + return; + } +#endif + tp = sototcpcb(so); + q = &toep->tp_ddp_state; + hdr = cplhdr(m); + ddp_report = ntohl(hdr->u.ddp_report); + buf_idx = (ddp_report >> S_DDP_BUF_IDX) & 1; + bsp = &q->buf_state[buf_idx]; + +#ifdef T3_TRACE + T3_TRACE5(TIDTB(sk), + "new_rx_data_ddp: tp->rcv_nxt 0x%x cur_offset %u " + "hdr seq 0x%x len %u offset %u", + tp->rcv_nxt, bsp->cur_offset, ntohl(hdr->seq), + ntohs(hdr->len), G_DDP_OFFSET(ddp_report)); + T3_TRACE1(TIDTB(sk), + "new_rx_data_ddp: ddp_report 0x%x", + ddp_report); +#endif + + ddp_len = ntohs(hdr->len); + rcv_nxt = ntohl(hdr->seq) + ddp_len; + + /* + * Overload to store old rcv_next + */ + m->m_pkthdr.csum_data = tp->rcv_nxt; + tp->rcv_nxt = rcv_nxt; + + /* + * Store the length in m->m_len. We are changing the meaning of + * m->m_len here, we need to be very careful that nothing from now on + * interprets ->len of this packet the usual way. + */ + m->m_len = tp->rcv_nxt - m->m_pkthdr.csum_data; + + /* + * Figure out where the new data was placed in the buffer and store it + * in when. Assumes the buffer offset starts at 0, consumer needs to + * account for page pod's pg_offset. + */ + end_offset = G_DDP_OFFSET(ddp_report) + ddp_len; +#ifdef notyet + TCP_SKB_CB(skb)->when = end_offset - skb->len; + + /* + * We store in mac.raw the address of the gather list where the + * placement happened. + */ + skb->mac.raw = (unsigned char *)bsp->gl; +#endif + bsp->cur_offset = end_offset; + + /* + * Bit 0 of flags stores whether the DDP buffer is completed. + * Note that other parts of the code depend on this being in bit 0. + */ + if ((bsp->flags & DDP_BF_NOINVAL) && end_offset != bsp->gl->length) { +#if 0 + TCP_SKB_CB(skb)->flags = 0; /* potential spurious completion */ +#endif + panic("spurious ddp completion"); + } else { + m->m_pkthdr.csum_flags = !!(ddp_report & F_DDP_BUF_COMPLETE); + if (m->m_pkthdr.csum_flags && !(bsp->flags & DDP_BF_NOFLIP)) + q->cur_buf ^= 1; /* flip buffers */ + } + + if (bsp->flags & DDP_BF_NOCOPY) { + m->m_pkthdr.csum_flags |= (bsp->flags & DDP_BF_NOCOPY); + bsp->flags &= ~DDP_BF_NOCOPY; + } + + if (ddp_report & F_DDP_PSH) + m->m_pkthdr.csum_flags |= DDP_BF_PSH; + + tp->t_rcvtime = ticks; + sbappendstream_locked(&so->so_rcv, m); +#ifdef notyet + if (!sock_flag(sk, SOCK_DEAD)) + sk->sk_data_ready(sk, 0); +#endif +} + +#define DDP_ERR (F_DDP_PPOD_MISMATCH | F_DDP_LLIMIT_ERR | F_DDP_ULIMIT_ERR |\ + F_DDP_PPOD_PARITY_ERR | F_DDP_PADDING_ERR | F_DDP_OFFSET_ERR |\ + F_DDP_INVALID_TAG | F_DDP_COLOR_ERR | F_DDP_TID_MISMATCH |\ + F_DDP_INVALID_PPOD) + +/* + * Handler for RX_DATA_DDP CPL messages. + */ +static int +do_rx_data_ddp(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct toepcb *toep = ctx; + struct socket *so = toeptoso(toep); + const struct cpl_rx_data_ddp *hdr = cplhdr(m); + + VALIDATE_SOCK(so); + + if (__predict_false(ntohl(hdr->ddpvld_status) & DDP_ERR)) { + log(LOG_ERR, "RX_DATA_DDP for TID %u reported error 0x%x\n", + GET_TID(hdr), G_DDP_VALID(ntohl(hdr->ddpvld_status))); + return CPL_RET_BUF_DONE; + } +#if 0 + skb->h.th = tcphdr_skb->h.th; +#endif + new_rx_data_ddp(so, m); + return (0); +} + +static void +process_ddp_complete(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct ddp_state *q; + struct ddp_buf_state *bsp; + struct cpl_rx_ddp_complete *hdr; + unsigned int ddp_report, buf_idx, when; + +#ifdef notyet + if (unlikely(sk_no_receive(sk))) { + handle_excess_rx(sk, skb); + return; + } +#endif + q = &toep->tp_ddp_state; + hdr = cplhdr(m); + ddp_report = ntohl(hdr->ddp_report); + buf_idx = (ddp_report >> S_DDP_BUF_IDX) & 1; + bsp = &q->buf_state[buf_idx]; + + when = bsp->cur_offset; + m->m_len = G_DDP_OFFSET(ddp_report) - when; + +#ifdef T3_TRACE + T3_TRACE5(TIDTB(sk), + "process_ddp_complete: tp->rcv_nxt 0x%x cur_offset %u " + "ddp_report 0x%x offset %u, len %u", + tp->rcv_nxt, bsp->cur_offset, ddp_report, + G_DDP_OFFSET(ddp_report), skb->len); +#endif + + bsp->cur_offset += m->m_len; + + if (!(bsp->flags & DDP_BF_NOFLIP)) + q->cur_buf ^= 1; /* flip buffers */ + +#ifdef T3_TRACE + T3_TRACE4(TIDTB(sk), + "process_ddp_complete: tp->rcv_nxt 0x%x cur_offset %u " + "ddp_report %u offset %u", + tp->rcv_nxt, bsp->cur_offset, ddp_report, + G_DDP_OFFSET(ddp_report)); +#endif +#if 0 + skb->mac.raw = (unsigned char *)bsp->gl; +#endif + m->m_pkthdr.csum_flags = (bsp->flags & DDP_BF_NOCOPY) | 1; + if (bsp->flags & DDP_BF_NOCOPY) + bsp->flags &= ~DDP_BF_NOCOPY; + m->m_pkthdr.csum_data = tp->rcv_nxt; + tp->rcv_nxt += m->m_len; + + tp->t_rcvtime = ticks; + sbappendstream_locked(&so->so_rcv, m); +#ifdef notyet + if (!sock_flag(sk, SOCK_DEAD)) + sk->sk_data_ready(sk, 0); +#endif +} + /* + * Handler for RX_DDP_COMPLETE CPL messages. + */ +static int +do_rx_ddp_complete(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct toepcb *toep = ctx; + struct socket *so = toeptoso(toep); + + VALIDATE_SOCK(so); +#if 0 + skb->h.th = tcphdr_skb->h.th; +#endif + process_ddp_complete(so, m); + return (0); +} + +/* * Move a socket to TIME_WAIT state. We need to make some adjustments to the * socket state before calling tcp_time_wait to comply with its expectations. */ @@ -1902,8 +2108,7 @@ struct toepcb *toep = tp->t_toe; if ((toep->tp_flags & TP_ABORT_REQ_RCVD) == 0) { - toep->tp_flags |= TP_ABORT_REQ_RCVD; - toep->tp_flags |= TP_ABORT_SHUTDOWN; + toep->tp_flags |= (TP_ABORT_REQ_RCVD|TP_ABORT_SHUTDOWN); m_free(m); return; } @@ -2055,7 +2260,7 @@ UNIMPLEMENTED(); #ifdef notyet - struct sock *newso; + struct socket *newso; struct l2t_entry *e; struct rtentry *dst; struct tcpcb *newtp; @@ -3008,11 +3213,10 @@ t3tom_register_cpl_handler(CPL_PASS_ACCEPT_REQ, do_pass_accept_req); t3tom_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req); t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl); + t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp); + t3tom_register_cpl_handler(CPL_RX_DDP_COMPLETE, do_rx_ddp_complete); #ifdef notyet - t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify); - t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp); - t3tom_register_cpl_handler(CPL_RX_DDP_COMPLETE, do_rx_ddp_complete); t3tom_register_cpl_handler(CPL_TRACE_PKT, do_trace_pkt); t3tom_register_cpl_handler(CPL_GET_TCB_RPL, do_get_tcb_rpl); #endif ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 (text+ko) ==== @@ -70,12 +70,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include static int (*pru_sosend)(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, @@ -85,6 +87,7 @@ struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp); +#define TMP_IOV_MAX 16 void t3_init_socket_ops(void) @@ -96,30 +99,311 @@ pru_soreceive = prp->pr_usrreqs->pru_soreceive; } + +struct cxgb_dma_info { + size_t cdi_mapped; + int cdi_nsegs; + bus_dma_segment_t *cdi_segs; + +}; + +static void +cxgb_dma_callback(void *arg, bus_dma_segment_t *segs, int nsegs, + bus_size_t mapsize, int error) +{ + struct cxgb_dma_info *cdi = arg; + + cdi->cdi_mapped = mapsize; + cdi->cdi_nsegs = nsegs; + cdi->cdi_segs = segs; +} + +static void +iov_adj(struct iovec **iov, int *iovcnt, size_t count) +{ + struct iovec *iovtmp; + int iovcnttmp; + caddr_t ptmp; + + if (count > 0) { + iovtmp = *iov; + iovcnttmp = *iovcnt; + while (count > 0) { + if (count < iovtmp->iov_len) { + ptmp = iovtmp->iov_base; + ptmp += count; + iovtmp->iov_base = ptmp; + iovtmp->iov_len -= count; + break; + } else + count -= iovtmp->iov_len; + iovtmp++; + iovcnttmp--; + } + *iov = iovtmp; + *iovcnt = iovcnttmp; + } else if (count < 0) { + iovtmp = &(*iov)[*iovcnt - 1]; + iovcnttmp = *iovcnt; + while (count < 0) { + if (-count < iovtmp->iov_len) { + iovtmp->iov_len += count; + break; + } else + count += iovtmp->iov_len; + iovtmp--; + iovcnttmp--; + } + *iovcnt = iovcnttmp; + } +} + + +static void +cxgb_zero_copy_free(void *cl, void *arg) {} + +static int +cxgb_hold_iovec_pages(struct uio *uio, vm_page_t *m, int *held, int flags) +{ + + return (EINVAL); +} + +static void +cxgb_wait_dma_completion(struct toepcb *tp) +{ + +} + +static int +cxgb_vm_page_to_miov(struct toepcb *toep, struct uio *uio, struct mbuf **m) +{ + int i, seg_count, err, type; + struct mbuf *m0; + struct cxgb_dma_info cdi; + struct mbuf_vec *mv; + struct mbuf_iovec *mi; + bus_dma_segment_t *segs; + + err = bus_dmamap_load_uio(toep->tp_tx_dmat, toep->tp_dmamap, uio, + cxgb_dma_callback, &cdi, 0); + + if (err) + return (err); + seg_count = cdi.cdi_nsegs; + if ((m0 = mcl_alloc(seg_count, &type)) == NULL) { + bus_dmamap_unload(toep->tp_tx_dmat, toep->tp_dmamap); + return (ENOMEM); + } + segs = cdi.cdi_segs; + m0->m_type = type; + m0->m_flags = (M_EXT|M_NOFREE); + m0->m_ext.ext_type = EXT_EXTREF; + m0->m_ext.ext_free = cxgb_zero_copy_free; + m0->m_ext.ext_args = NULL; + + mv = mtomv(m0); + mv->mv_count = seg_count; + mv->mv_first = 0; + for (i = 0, mi = mv->mv_vec; i < seg_count; mi++, segs++, i++) + mi_collapse_sge(mi, segs); + + *m = m0; + + if (cdi.cdi_mapped < uio->uio_resid) { + uio->uio_resid -= cdi.cdi_mapped; + } else + uio->uio_resid = 0; + + return (0); +} + +static int +t3_sosend(struct socket *so, struct uio *uio) +{ + int rv, count, hold_resid, sent, iovcnt; + struct iovec iovtmp[TMP_IOV_MAX], *iovtmpp, *iov; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct mbuf *m; + struct uio uiotmp; + + /* + * Events requiring iteration: + * - number of pages exceeds max hold pages for process or system + * - number of pages exceeds maximum sg entries for a single WR + * + * We're limited to holding 128 pages at once - and we're limited to + * 34 SG entries per work request, but each SG entry can be any number + * of contiguous pages + * + */ + + uiotmp = *uio; + iovcnt = uio->uio_iovcnt; + iov = uio->uio_iov; + sent = 0; +sendmore: + /* + * Make sure we don't exceed the socket buffer + */ + count = min(toep->tp_page_count, (sbspace(&so->so_snd) >> PAGE_SHIFT) + 2*PAGE_SIZE); + rv = cxgb_hold_iovec_pages(&uiotmp, toep->tp_pages, &count, 0); + hold_resid = uiotmp.uio_resid; + if (rv) + return (rv); + + /* + * Bump past sent and shave off the unheld amount + */ + if (hold_resid > 0) { + iovtmpp = iovtmp; + memcpy(iovtmp, iov, iovcnt*sizeof(*iov)); + if (sent) + iov_adj(&iovtmpp, &iovcnt, sent); + iov_adj(&iovtmpp, &iovcnt, -hold_resid); + uiotmp.uio_iov = iovtmpp; + uiotmp.uio_iovcnt = iovcnt; + + } + uiotmp.uio_resid = uio->uio_resid - hold_resid; + + /* + * Push off all held pages + * + */ + while (uiotmp.uio_resid > 0) { + rv = cxgb_vm_page_to_miov(toep, &uiotmp, &m); + if (rv) { + vm_fault_unhold_pages(toep->tp_pages, count); + return (rv); + } + uio->uio_resid -= m->m_pkthdr.len; + sent += m->m_pkthdr.len; + sbappend_locked(&so->so_snd, m); + t3_push_frames(so, TRUE); + iov_adj(&uiotmp.uio_iov, &iovcnt, uiotmp.uio_resid); + } + /* + * Wait for pending I/O to be DMA'd to the card + * + */ + cxgb_wait_dma_completion(toep); + vm_fault_unhold_pages(toep->tp_pages, count); + /* + * If there is more data to send adjust local copy of iov + * to point to teh start + */ + if (hold_resid) { + iovtmpp = iovtmp; + memcpy(iovtmp, iov, iovcnt*sizeof(*iov)); + iov_adj(&iovtmpp, &iovcnt, sent); + uiotmp = *uio; + uiotmp.uio_iov = iovtmpp; + uiotmp.uio_iovcnt = iovcnt; + goto sendmore; + } + + return (0); +} + static int cxgb_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, int flags, struct thread *td) { + struct toedev *tdev = TOE_DEV(so); + int zcopy_thres = TOM_TUNABLE(tdev, zcopy_sosend_partial_thres); + int zcopy_enabled = TOM_TUNABLE(tdev, zcopy_sosend_enabled); + int rv; + struct tcpcb *tp = sototcpcb(so); + /* - * punt it back to the stack if the overhead of copying is thought to - * be less than the VM and DMA overhead of setting up page pods + * In order to use DMA direct from userspace the following + * conditions must be met: + * - the connection is currently offloaded + * - ddp is enabled + * - the number of bytes to be transferred exceeds the threshold + * - the number of bytes currently in flight won't exceed the in-flight + * threshold XXX TODO + * - vm_fault_hold_user_pages succeeds + * - blocking socket XXX for now + * + */ + if ((tp->t_flags & TF_TOE) && (uio->uio_resid > zcopy_thres) && + (uio->uio_iovcnt < TMP_IOV_MAX) && ((so->so_state & SS_NBIO) == 0) + && zcopy_enabled) { + rv = t3_sosend(so, uio); + if (rv != EAGAIN) + return (rv); + } + + return pru_sosend(so, addr, uio, top, control, flags, td); +} + + +static int +t3_soreceive(struct socket *so, struct uio *uio) +{ +#ifdef notyet + int i, rv, count, hold_resid, sent, iovcnt; + struct iovec iovtmp[TMP_IOV_MAX], *iovtmpp, *iov; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct mbuf *m; + struct uio uiotmp; + + /* + * Events requiring iteration: + * - number of pages exceeds max hold pages for process or system + * - number of pages exceeds maximum sg entries for a single WR + * + * We're limited to holding 128 pages at once - and we're limited to + * 34 SG entries per work request, but each SG entry can be any number + * of contiguous pages + * */ -#ifdef notyet - if (uio->uio_resid < (40 << 10) /* XXX use tunable */) -#endif - return pru_sosend(so, addr, uio, top, control, flags, td); - + uiotmp = *uio; + iovcnt = uio->uio_iovcnt; + iov = uio->uio_iov; + sent = 0; + re; +#endif + return (0); } static int cxgb_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) { -#ifdef notyet - if (uio->uio_resid < (40 << 10) /* XXX use tunable */) -#endif - return pru_soreceive(so, psa, uio, mp0, controlp, flagsp); + struct toedev *tdev = TOE_DEV(so); + int zcopy_thres = TOM_TUNABLE(tdev, ddp_thres); + int zcopy_enabled = TOM_TUNABLE(tdev, ddp); + int rv; + struct tcpcb *tp = sototcpcb(so); + + /* + * In order to use DMA direct from userspace the following + * conditions must be met: + * - the connection is currently offloaded + * - ddp is enabled + * - the number of bytes to be transferred exceeds the threshold + * - the number of bytes currently in flight won't exceed the in-flight + * threshold XXX TODO + * - vm_fault_hold_user_pages succeeds + * - blocking socket XXX for now + * - iovcnt is 1 + * + */ + if ((tp->t_flags & TF_TOE) && (uio->uio_resid > zcopy_thres) && + (uio->uio_iovcnt == 1) && ((so->so_state & SS_NBIO) == 0) + && zcopy_enabled) { + rv = t3_soreceive(so, uio); + if (rv != EAGAIN) + return (rv); + } + + return pru_soreceive(so, psa, uio, mp0, controlp, flagsp); } ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#12 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include #include +#include static int activated = 1; TUNABLE_INT("hw.t3toe.activated", &activated); From owner-p4-projects@FreeBSD.ORG Sat Nov 24 03:15:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2DDE116A418; Sat, 24 Nov 2007 03:15: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 AF81B16A41B for ; Sat, 24 Nov 2007 03:15:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF4C313C458 for ; Sat, 24 Nov 2007 03:15:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAO3FLTV067377 for ; Sat, 24 Nov 2007 03:15:21 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAO3FL73067374 for perforce@freebsd.org; Sat, 24 Nov 2007 03:15:21 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 24 Nov 2007 03:15:21 GMT Message-Id: <200711240315.lAO3FL73067374@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129439 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 03:15:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=129439 Change 129439 by kmacy@kmacy:storage:toestack on 2007/11/24 03:14:36 disable zero copy support until other bugs are better worked out Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#4 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#4 (text+ko) ==== @@ -83,11 +83,12 @@ .delack = 1, .max_conn = -1, .soft_backlog_limit = 0, - .ddp = 1, + .ddp = 0, .ddp_thres = 14 * 4096, .ddp_copy_limit = 13 * 4096, .ddp_push_wait = 1, .ddp_rcvcoalesce = 0, + .zcopy_sosend_enabled = 0, .zcopy_sosend_partial_thres = 40960, .zcopy_sosend_partial_copy = 4096 * 3, .zcopy_sosend_thres = 128 * 1024, From owner-p4-projects@FreeBSD.ORG Sat Nov 24 03:17:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F21E316A421; Sat, 24 Nov 2007 03:17: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 7E71116A477 for ; Sat, 24 Nov 2007 03:17:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 81F2913C4DD for ; Sat, 24 Nov 2007 03:17:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAO3HQjF067430 for ; Sat, 24 Nov 2007 03:17:26 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAO3HPup067427 for perforce@freebsd.org; Sat, 24 Nov 2007 03:17:25 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 24 Nov 2007 03:17:25 GMT Message-Id: <200711240317.lAO3HPup067427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129440 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 03:17:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=129440 Change 129440 by kmacy@kmacy:storage:toestack on 2007/11/24 03:16:48 convert printfs in the I/O path to DPRINTF fix locking in close to not dereference destroyed tcpcb Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#24 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#24 (text+ko) ==== @@ -149,11 +149,11 @@ static void dump_toepcb(struct toepcb *toep) { - printf("qset_idx=%d qset=%d ulp_mode=%d mtu_idx=%d tid=%d\n", + DPRINTF("qset_idx=%d qset=%d ulp_mode=%d mtu_idx=%d tid=%d\n", toep->tp_qset_idx, toep->tp_qset, toep->tp_ulp_mode, toep->tp_mtu_idx, toep->tp_tid); - printf("wr_max=%d wr_avail=%d wr_unacked=%d mss_clamp=%d flags=0x%x\n", + DPRINTF("wr_max=%d wr_avail=%d wr_unacked=%d mss_clamp=%d flags=0x%x\n", toep->tp_wr_max, toep->tp_wr_avail, toep->tp_wr_unacked, toep->tp_mss_clamp, toep->tp_flags); } @@ -249,12 +249,12 @@ segp = segs; if (tp->t_state == TCPS_SYN_SENT || tp->t_state == TCPS_CLOSED) { - printf("tcp state=%d\n", tp->t_state); + DPRINTF("tcp state=%d\n", tp->t_state); return (0); } if (so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED)) { - printf("disconnecting\n"); + DPRINTF("disconnecting\n"); return (0); } @@ -265,7 +265,7 @@ cdev = d->cdev; last = tail = so->so_snd.sb_sndptr ? so->so_snd.sb_sndptr : so->so_snd.sb_mb; total_bytes = 0; - printf("tail=%p snd.cc=%d tp_last=%p\n", tail, so->so_snd.sb_cc, + DPRINTF("tail=%p snd.cc=%d tp_last=%p\n", tail, so->so_snd.sb_cc, toep->tp_m_last); if (last && toep->tp_m_last == last) { @@ -301,7 +301,7 @@ segp++; tail = tail->m_next; } - printf("wr_avail=%d mbuf_wrs[%d]=%d tail=%p\n", + DPRINTF("wr_avail=%d mbuf_wrs[%d]=%d tail=%p\n", toep->tp_wr_avail, count, mbuf_wrs[count], tail); if (tail) { so->so_snd.sb_sndptr = tail; @@ -342,7 +342,7 @@ m0->m_type = MT_DONTFREE; enqueue_wr(tp, m0); - printf("sending offload tx with %d bytes in %d segments\n", + DPRINTF("sending offload tx with %d bytes in %d segments\n", bytes, count); l2t_send(cdev, m0, toep->tp_l2t); @@ -426,7 +426,7 @@ m = m_gethdr_nofail(sizeof(*req)); - printf("returning %u credits to HW\n", credits); + DPRINTF("returning %u credits to HW\n", credits); req = mtod(m, struct cpl_rx_data_ack *); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); @@ -465,7 +465,7 @@ toep->tp_copied_seq += read; toep->tp_enqueued_bytes -= read; credits = toep->tp_copied_seq - toep->tp_rcv_wup; - printf("copied_seq=%u rcv_wup=%u credits=%u\n", + DPRINTF("copied_seq=%u rcv_wup=%u credits=%u\n", toep->tp_copied_seq, toep->tp_rcv_wup, credits); /* @@ -533,7 +533,7 @@ { struct socket *so; - printf("cxgb_toe_send\n"); + DPRINTF("cxgb_toe_send\n"); dump_toepcb(tp->t_toe); so = tp->t_inpcb->inp_socket; @@ -869,6 +869,8 @@ { struct tcpcb *tp = sototcpcb(so); + KASSERT(tp->t_toe != NULL, ("toepcb not set")); + t3_install_socket_ops(so); tp->t_flags |= TF_TOE; tp->t_tu = &cxgb_toe_usrreqs; @@ -962,7 +964,7 @@ toep->tp_qset_idx = 0; reset_wr_list(tp); - printf("initialization done\n"); + DPRINTF("initialization done\n"); return (0); } @@ -989,7 +991,7 @@ val = V_TOS(SO_TOS(so)) | V_ULP_MODE(ulp_mode) | V_RCV_BUFSIZ(min(tp->rcv_wnd >> 10, (u32)M_RCV_BUFSIZ)); - printf("opt0l tos=%08x rcv_wnd=%ld opt0l=%08x\n", SO_TOS(so), tp->rcv_wnd, val); + DPRINTF("opt0l tos=%08x rcv_wnd=%ld opt0l=%08x\n", SO_TOS(so), tp->rcv_wnd, val); return (val); } @@ -1028,7 +1030,7 @@ req->peer_port = inp->inp_fport; memcpy(&req->local_ip, &inp->inp_laddr, 4); memcpy(&req->peer_ip, &inp->inp_faddr, 4); - printf("connect smt_idx=%d\n", e->smt_idx); + DPRINTF("connect smt_idx=%d\n", e->smt_idx); req->opt0h = htonl(calc_opt0h(so, toep->tp_mtu_idx) | V_L2T_IDX(e->idx) | V_TX_CHANNEL(e->smt_idx)); req->opt0l = htonl(calc_opt0l(so, toep->tp_ulp_mode)); @@ -1409,7 +1411,7 @@ toep->tp_delack_seq = tp->rcv_nxt; } - printf("appending mbuf=%p pktlen=%d m_len=%d len=%d\n", m, m->m_pkthdr.len, m->m_len, len); + DPRINTF("appending mbuf=%p pktlen=%d m_len=%d len=%d\n", m, m->m_pkthdr.len, m->m_len, len); if (len < m->m_pkthdr.len) m->m_pkthdr.len = m->m_len = len; @@ -1437,7 +1439,7 @@ { struct toepcb *toep = (struct toepcb *)ctx; - printf("rx_data len=%d\n", m->m_pkthdr.len); + DPRINTF("rx_data len=%d\n", m->m_pkthdr.len); new_rx_data(toep, m); @@ -1770,6 +1772,7 @@ process_close_con_rpl(struct socket *so, struct mbuf *m) { struct tcpcb *tp = sototcpcb(so); + struct inpcb *inp = tp->t_inpcb; struct cpl_close_con_rpl *rpl = cplhdr(m); struct toepcb *toep = tp->t_toe; @@ -1783,10 +1786,10 @@ t3_release_offload_resources(so); if (toep->tp_flags & TP_ABORT_RPL_PENDING) { INP_INFO_WLOCK(&tcbinfo); - INP_LOCK(tp->t_inpcb); + INP_LOCK(inp); tcp_close(tp); INP_INFO_WUNLOCK(&tcbinfo); - INP_UNLOCK(tp->t_inpcb); + INP_UNLOCK(inp); } else enter_timewait(so); break; @@ -1798,10 +1801,10 @@ */ t3_release_offload_resources(so); INP_INFO_WLOCK(&tcbinfo); - INP_LOCK(tp->t_inpcb); + INP_LOCK(inp); tcp_close(tp); INP_INFO_WUNLOCK(&tcbinfo); - INP_UNLOCK(tp->t_inpcb); + INP_UNLOCK(inp); break; case TCPS_FIN_WAIT_1: @@ -2427,7 +2430,7 @@ inc.inc_ext = toep; inc.inc_eh = handle_syncache_event; - printf("syncache add of %d:%d %d:%d\n", + DPRINTF("syncache add of %d:%d %d:%d\n", ntohl(req->local_ip), ntohs(req->local_port), ntohl(req->peer_ip), ntohs(req->peer_port)); @@ -2477,13 +2480,13 @@ cxgb_queue_tid_release(cdev, tid); m_free(m); } - printf("failed to get reply_mbuf\n"); + DPRINTF("failed to get reply_mbuf\n"); goto out; } if (tp->t_state != TCPS_LISTEN) { - printf("socket not in listen state\n"); + DPRINTF("socket not in listen state\n"); goto reject; } @@ -2491,7 +2494,7 @@ tim.mac_addr = req->dst_mac; tim.vlan_tag = ntohs(req->vlan_tag); if (cdev->ctl(cdev, GET_IFF_FROM_MAC, &tim) < 0 || !tim.dev) { - printf("rejecting from failed GET_IFF_FROM_MAC\n"); + DPRINTF("rejecting from failed GET_IFF_FROM_MAC\n"); goto reject; } @@ -2535,13 +2538,13 @@ if (dst == NULL) { - printf("failed to find route\n"); + DPRINTF("failed to find route\n"); } e = newtoep->tp_l2t = t3_l2t_get(d->cdev, dst, tim.dev); if (e == NULL) { - printf("failed to get l2t\n"); + DPRINTF("failed to get l2t\n"); } /* @@ -2552,7 +2555,7 @@ newtoep->tp_tid = tid; newtoep->tp_toedev = tdev; - printf("inserting tid=%d\n", tid); + DPRINTF("inserting tid=%d\n", tid); cxgb_insert_tid(cdev, d->client, newtoep, tid); if (lctx->ulp_mode) { @@ -2566,7 +2569,7 @@ set_arp_failure_handler(reply_mbuf, pass_accept_rpl_arp_failure); - printf("adding request to syn cache\n"); + DPRINTF("adding request to syn cache\n"); syncache_add_accept_req(req, so, newtoep); @@ -2579,27 +2582,28 @@ rpl->rsvd = rpl->opt2; /* workaround for HW bug */ rpl->peer_ip = req->peer_ip; // req->peer_ip is not overwritten - printf("accept smt_idx=%d\n", e->smt_idx); + DPRINTF("accept smt_idx=%d\n", e->smt_idx); rpl->opt0h = htonl(calc_opt0h(so, select_mss(td, NULL, dst->rt_ifp->if_mtu)) | V_L2T_IDX(e->idx) | V_TX_CHANNEL(e->smt_idx)); rpl->opt0l_status = htonl(calc_opt0l(so, lctx->ulp_mode) | CPL_PASS_OPEN_ACCEPT); - printf("opt0l_status=%08x\n", rpl->opt0l_status); + DPRINTF("opt0l_status=%08x\n", rpl->opt0l_status); m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, so)); +#ifdef DEBUG_PRINT { int i; - printf("rpl:\n"); + DPRINTF("rpl:\n"); uint32_t *rplbuf = mtod(reply_mbuf, uint32_t *); for (i = 0; i < sizeof(*rpl)/sizeof(uint32_t); i++) - printf("[%d] %08x\n", i, rplbuf[i]); + DPRINTF("[%d] %08x\n", i, rplbuf[i]); } - +#endif l2t_send(cdev, reply_mbuf, e); @@ -3015,7 +3019,7 @@ u32 snd_una = ntohl(hdr->snd_una); int bytes = 0; - printf("wr_ack: snd_una=%u credits=%d\n", snd_una, credits); + DPRINTF("wr_ack: snd_una=%u credits=%d\n", snd_una, credits); toep->tp_wr_avail += credits; if (toep->tp_wr_unacked > toep->tp_wr_max - toep->tp_wr_avail) @@ -3023,7 +3027,7 @@ while (credits) { struct mbuf *p = peek_wr(tp); - printf("p->credits=%d p->bytes=%d\n", p->m_pkthdr.csum_data, p->m_pkthdr.len) ; + DPRINTF("p->credits=%d p->bytes=%d\n", p->m_pkthdr.csum_data, p->m_pkthdr.len) ; if (__predict_false(!p)) { log(LOG_ERR, "%u WR_ACK credits for TID %u with " @@ -3051,7 +3055,7 @@ dequeue_wr(tp); credits -= p->m_pkthdr.csum_data; bytes += p->m_pkthdr.len; - printf("done with wr of %d bytes\n", p->m_pkthdr.len); + DPRINTF("done with wr of %d bytes\n", p->m_pkthdr.len); m_free(p); } @@ -3085,7 +3089,7 @@ toep->tp_flags &= ~TP_TX_WAIT_IDLE; } if (bytes) { - printf("sbdrop(%d)\n", bytes); + DPRINTF("sbdrop(%d)\n", bytes); sbdrop(&so->so_snd, bytes); } @@ -3105,7 +3109,7 @@ { struct toepcb *toep = (struct toepcb *)ctx; - printf("do_wr_ack\n"); + DPRINTF("do_wr_ack\n"); dump_toepcb(toep); VALIDATE_SOCK(so); From owner-p4-projects@FreeBSD.ORG Sat Nov 24 03:18:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0583716A419; Sat, 24 Nov 2007 03:18: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 B2AC716A417 for ; Sat, 24 Nov 2007 03:18:27 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C207A13C447 for ; Sat, 24 Nov 2007 03:18:27 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAO3IR7h067494 for ; Sat, 24 Nov 2007 03:18:27 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAO3IRJM067491 for perforce@freebsd.org; Sat, 24 Nov 2007 03:18:27 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 24 Nov 2007 03:18:27 GMT Message-Id: <200711240318.lAO3IRJM067491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 129441 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 03:18:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=129441 Change 129441 by kmacy@kmacy:storage:toestack on 2007/11/24 03:17:54 make all zero copy check contingent on TF_TOE being set in t_flags Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 (text+ko) ==== @@ -311,11 +311,9 @@ cxgb_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, int flags, struct thread *td) { - struct toedev *tdev = TOE_DEV(so); - int zcopy_thres = TOM_TUNABLE(tdev, zcopy_sosend_partial_thres); - int zcopy_enabled = TOM_TUNABLE(tdev, zcopy_sosend_enabled); - int rv; struct tcpcb *tp = sototcpcb(so); + struct toedev *tdev; + int zcopy_thres, zcopy_enabled, rv; /* * In order to use DMA direct from userspace the following @@ -329,14 +327,19 @@ * - blocking socket XXX for now * */ - if ((tp->t_flags & TF_TOE) && (uio->uio_resid > zcopy_thres) && - (uio->uio_iovcnt < TMP_IOV_MAX) && ((so->so_state & SS_NBIO) == 0) - && zcopy_enabled) { - rv = t3_sosend(so, uio); - if (rv != EAGAIN) - return (rv); + if (tp->t_flags & TF_TOE) { + tdev = TOE_DEV(so); + zcopy_thres = TOM_TUNABLE(tdev, zcopy_sosend_partial_thres); + zcopy_enabled = TOM_TUNABLE(tdev, zcopy_sosend_enabled); + + if ((uio->uio_resid > zcopy_thres) && + (uio->uio_iovcnt < TMP_IOV_MAX) && ((so->so_state & SS_NBIO) == 0) + && zcopy_enabled) { + rv = t3_sosend(so, uio); + if (rv != EAGAIN) + return (rv); + } } - return pru_sosend(so, addr, uio, top, control, flags, td); } @@ -376,10 +379,8 @@ cxgb_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) { - struct toedev *tdev = TOE_DEV(so); - int zcopy_thres = TOM_TUNABLE(tdev, ddp_thres); - int zcopy_enabled = TOM_TUNABLE(tdev, ddp); - int rv; + struct toedev *tdev; + int rv, zcopy_thres, zcopy_enabled; struct tcpcb *tp = sototcpcb(so); /* @@ -395,14 +396,19 @@ * - iovcnt is 1 * */ - if ((tp->t_flags & TF_TOE) && (uio->uio_resid > zcopy_thres) && - (uio->uio_iovcnt == 1) && ((so->so_state & SS_NBIO) == 0) - && zcopy_enabled) { - rv = t3_soreceive(so, uio); - if (rv != EAGAIN) - return (rv); + if (tp->t_flags & TF_TOE) { + tdev = TOE_DEV(so); + zcopy_thres = TOM_TUNABLE(tdev, ddp_thres); + zcopy_enabled = TOM_TUNABLE(tdev, ddp); + if ((uio->uio_resid > zcopy_thres) && + (uio->uio_iovcnt == 1) && ((so->so_state & SS_NBIO) == 0) + && zcopy_enabled) { + rv = t3_soreceive(so, uio); + if (rv != EAGAIN) + return (rv); + } } - + return pru_soreceive(so, psa, uio, mp0, controlp, flagsp); } From owner-p4-projects@FreeBSD.ORG Sat Nov 24 17:30:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7648116A41A; Sat, 24 Nov 2007 17:30:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD6AB16A418 for ; Sat, 24 Nov 2007 17:30:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C80E013C457 for ; Sat, 24 Nov 2007 17:30:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOHUAks058006 for ; Sat, 24 Nov 2007 17:30:10 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOHUA96057995 for perforce@freebsd.org; Sat, 24 Nov 2007 17:30:10 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 24 Nov 2007 17:30:10 GMT Message-Id: <200711241730.lAOHUA96057995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 129459 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 17:30:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=129459 Change 129459 by rpaulo@rpaulo_zoo on 2007/11/24 17:30:08 TCP ECN development branch. Affected files ... .. //depot/projects/tcpecn/Makefile#1 branch .. //depot/projects/tcpecn/amd64/Makefile#1 branch .. //depot/projects/tcpecn/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/tcpecn/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/tcpecn/amd64/acpica/madt.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/atomic.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/autoconf.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/bios.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/tcpecn/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/db_interface.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/db_trace.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/exception.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/fpu.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/genassym.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/identcpu.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/initcpu.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/io.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/io_apic.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/legacy.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/local_apic.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/locore.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/mem.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/mpboot.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/mptable.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/msi.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/nexus.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/pmap.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/support.S#1 branch .. //depot/projects/tcpecn/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/trap.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/tsc.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/compile/.cvsignore#1 branch .. //depot/projects/tcpecn/amd64/conf/.cvsignore#1 branch .. //depot/projects/tcpecn/amd64/conf/DEFAULTS#1 branch .. //depot/projects/tcpecn/amd64/conf/GENERIC#1 branch .. //depot/projects/tcpecn/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/tcpecn/amd64/conf/MAC#1 branch .. //depot/projects/tcpecn/amd64/conf/Makefile#1 branch .. //depot/projects/tcpecn/amd64/conf/NOTES#1 branch .. //depot/projects/tcpecn/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/tcpecn/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/tcpecn/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/tcpecn/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/tcpecn/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/tcpecn/amd64/include/_bus.h#1 branch .. //depot/projects/tcpecn/amd64/include/_inttypes.h#1 branch .. //depot/projects/tcpecn/amd64/include/_limits.h#1 branch .. //depot/projects/tcpecn/amd64/include/_stdint.h#1 branch .. //depot/projects/tcpecn/amd64/include/_types.h#1 branch .. //depot/projects/tcpecn/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/tcpecn/amd64/include/apicreg.h#1 branch .. //depot/projects/tcpecn/amd64/include/apicvar.h#1 branch .. //depot/projects/tcpecn/amd64/include/asm.h#1 branch .. //depot/projects/tcpecn/amd64/include/asmacros.h#1 branch .. //depot/projects/tcpecn/amd64/include/atomic.h#1 branch .. //depot/projects/tcpecn/amd64/include/bus.h#1 branch .. //depot/projects/tcpecn/amd64/include/bus_dma.h#1 branch .. //depot/projects/tcpecn/amd64/include/clock.h#1 branch .. //depot/projects/tcpecn/amd64/include/cpu.h#1 branch .. //depot/projects/tcpecn/amd64/include/cpufunc.h#1 branch .. //depot/projects/tcpecn/amd64/include/cputypes.h#1 branch .. //depot/projects/tcpecn/amd64/include/db_machdep.h#1 branch .. //depot/projects/tcpecn/amd64/include/elf.h#1 branch .. //depot/projects/tcpecn/amd64/include/endian.h#1 branch .. //depot/projects/tcpecn/amd64/include/exec.h#1 branch .. //depot/projects/tcpecn/amd64/include/float.h#1 branch .. //depot/projects/tcpecn/amd64/include/floatingpoint.h#1 branch .. //depot/projects/tcpecn/amd64/include/fpu.h#1 branch .. //depot/projects/tcpecn/amd64/include/frame.h#1 branch .. //depot/projects/tcpecn/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/tcpecn/amd64/include/ieeefp.h#1 branch .. //depot/projects/tcpecn/amd64/include/in_cksum.h#1 branch .. //depot/projects/tcpecn/amd64/include/intr_machdep.h#1 branch .. //depot/projects/tcpecn/amd64/include/iodev.h#1 branch .. //depot/projects/tcpecn/amd64/include/kdb.h#1 branch .. //depot/projects/tcpecn/amd64/include/legacyvar.h#1 branch .. //depot/projects/tcpecn/amd64/include/limits.h#1 branch .. //depot/projects/tcpecn/amd64/include/md_var.h#1 branch .. //depot/projects/tcpecn/amd64/include/memdev.h#1 branch .. //depot/projects/tcpecn/amd64/include/metadata.h#1 branch .. //depot/projects/tcpecn/amd64/include/minidump.h#1 branch .. //depot/projects/tcpecn/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/tcpecn/amd64/include/mptable.h#1 branch .. //depot/projects/tcpecn/amd64/include/mutex.h#1 branch .. //depot/projects/tcpecn/amd64/include/param.h#1 branch .. //depot/projects/tcpecn/amd64/include/pc/bios.h#1 branch .. //depot/projects/tcpecn/amd64/include/pc/display.h#1 branch .. //depot/projects/tcpecn/amd64/include/pcb.h#1 branch .. //depot/projects/tcpecn/amd64/include/pcb_ext.h#1 branch .. //depot/projects/tcpecn/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/tcpecn/amd64/include/pcpu.h#1 branch .. //depot/projects/tcpecn/amd64/include/pmap.h#1 branch .. //depot/projects/tcpecn/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/tcpecn/amd64/include/ppireg.h#1 branch .. //depot/projects/tcpecn/amd64/include/proc.h#1 branch .. //depot/projects/tcpecn/amd64/include/profile.h#1 branch .. //depot/projects/tcpecn/amd64/include/psl.h#1 branch .. //depot/projects/tcpecn/amd64/include/ptrace.h#1 branch .. //depot/projects/tcpecn/amd64/include/reg.h#1 branch .. //depot/projects/tcpecn/amd64/include/reloc.h#1 branch .. //depot/projects/tcpecn/amd64/include/resource.h#1 branch .. //depot/projects/tcpecn/amd64/include/runq.h#1 branch .. //depot/projects/tcpecn/amd64/include/segments.h#1 branch .. //depot/projects/tcpecn/amd64/include/setjmp.h#1 branch .. //depot/projects/tcpecn/amd64/include/sf_buf.h#1 branch .. //depot/projects/tcpecn/amd64/include/sigframe.h#1 branch .. //depot/projects/tcpecn/amd64/include/signal.h#1 branch .. //depot/projects/tcpecn/amd64/include/smp.h#1 branch .. //depot/projects/tcpecn/amd64/include/specialreg.h#1 branch .. //depot/projects/tcpecn/amd64/include/stdarg.h#1 branch .. //depot/projects/tcpecn/amd64/include/sysarch.h#1 branch .. //depot/projects/tcpecn/amd64/include/timerreg.h#1 branch .. //depot/projects/tcpecn/amd64/include/trap.h#1 branch .. //depot/projects/tcpecn/amd64/include/tss.h#1 branch .. //depot/projects/tcpecn/amd64/include/ucontext.h#1 branch .. //depot/projects/tcpecn/amd64/include/varargs.h#1 branch .. //depot/projects/tcpecn/amd64/include/vmparam.h#1 branch .. //depot/projects/tcpecn/amd64/isa/atpic.c#1 branch .. //depot/projects/tcpecn/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/tcpecn/amd64/isa/clock.c#1 branch .. //depot/projects/tcpecn/amd64/isa/elcr.c#1 branch .. //depot/projects/tcpecn/amd64/isa/icu.h#1 branch .. //depot/projects/tcpecn/amd64/isa/isa.c#1 branch .. //depot/projects/tcpecn/amd64/isa/isa.h#1 branch .. //depot/projects/tcpecn/amd64/isa/isa_dma.c#1 branch .. //depot/projects/tcpecn/amd64/isa/nmi.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/Makefile#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux.h#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/tcpecn/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/tcpecn/amd64/linux32/syscalls.master#1 branch .. //depot/projects/tcpecn/amd64/pci/pci_bus.c#1 branch .. //depot/projects/tcpecn/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/tcpecn/arm/arm/autoconf.c#1 branch .. //depot/projects/tcpecn/arm/arm/bcopy_page.S#1 branch .. //depot/projects/tcpecn/arm/arm/bcopyinout.S#1 branch .. //depot/projects/tcpecn/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/tcpecn/arm/arm/blockio.S#1 branch .. //depot/projects/tcpecn/arm/arm/bootconfig.c#1 branch .. //depot/projects/tcpecn/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/tcpecn/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/copystr.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc.c#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_arm11.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_armv5.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_armv5_ec.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/tcpecn/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/tcpecn/arm/arm/db_disasm.c#1 branch .. //depot/projects/tcpecn/arm/arm/db_interface.c#1 branch .. //depot/projects/tcpecn/arm/arm/db_trace.c#1 branch .. //depot/projects/tcpecn/arm/arm/disassem.c#1 branch .. //depot/projects/tcpecn/arm/arm/dump_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/elf_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/tcpecn/arm/arm/exception.S#1 branch .. //depot/projects/tcpecn/arm/arm/fiq.c#1 branch .. //depot/projects/tcpecn/arm/arm/fiq_subr.S#1 branch .. //depot/projects/tcpecn/arm/arm/fusu.S#1 branch .. //depot/projects/tcpecn/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/genassym.c#1 branch .. //depot/projects/tcpecn/arm/arm/identcpu.c#1 branch .. //depot/projects/tcpecn/arm/arm/in_cksum.c#1 branch .. //depot/projects/tcpecn/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/tcpecn/arm/arm/inckern.S#1 branch .. //depot/projects/tcpecn/arm/arm/intr.c#1 branch .. //depot/projects/tcpecn/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/tcpecn/arm/arm/locore.S#1 branch .. //depot/projects/tcpecn/arm/arm/machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/mem.c#1 branch .. //depot/projects/tcpecn/arm/arm/nexus.c#1 branch .. //depot/projects/tcpecn/arm/arm/nexus_io.c#1 branch .. //depot/projects/tcpecn/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/tcpecn/arm/arm/pmap.c#1 branch .. //depot/projects/tcpecn/arm/arm/setcpsr.S#1 branch .. //depot/projects/tcpecn/arm/arm/setstack.s#1 branch .. //depot/projects/tcpecn/arm/arm/support.S#1 branch .. //depot/projects/tcpecn/arm/arm/swtch.S#1 branch .. //depot/projects/tcpecn/arm/arm/sys_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/trap.c#1 branch .. //depot/projects/tcpecn/arm/arm/uio_machdep.c#1 branch .. //depot/projects/tcpecn/arm/arm/undefined.c#1 branch .. //depot/projects/tcpecn/arm/arm/vectors.S#1 branch .. //depot/projects/tcpecn/arm/arm/vm_machdep.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_mci.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pio.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_piovar.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pmc.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_rtc.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_spi.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_spireg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_ssc.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_st.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_streg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_twi.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91_twiio.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_twireg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/tcpecn/arm/at91/at91var.h#1 branch .. //depot/projects/tcpecn/arm/at91/files.at91#1 branch .. //depot/projects/tcpecn/arm/at91/files.kb920x#1 branch .. //depot/projects/tcpecn/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/tcpecn/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/tcpecn/arm/at91/if_ate.c#1 branch .. //depot/projects/tcpecn/arm/at91/if_atereg.h#1 branch .. //depot/projects/tcpecn/arm/at91/kb920x_machdep.c#1 branch .. //depot/projects/tcpecn/arm/at91/ohci_atmelarm.c#1 branch .. //depot/projects/tcpecn/arm/at91/std.at91#1 branch .. //depot/projects/tcpecn/arm/at91/std.kb920x#1 branch .. //depot/projects/tcpecn/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/tcpecn/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/tcpecn/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/tcpecn/arm/compile/.cvsignore#1 branch .. //depot/projects/tcpecn/arm/conf/.cvsignore#1 branch .. //depot/projects/tcpecn/arm/conf/AVILA#1 branch .. //depot/projects/tcpecn/arm/conf/AVILA.hints#1 branch .. //depot/projects/tcpecn/arm/conf/BWCT#1 branch .. //depot/projects/tcpecn/arm/conf/BWCT.hints#1 branch .. //depot/projects/tcpecn/arm/conf/CRB#1 branch .. //depot/projects/tcpecn/arm/conf/EP80219#1 branch .. //depot/projects/tcpecn/arm/conf/HL200#1 branch .. //depot/projects/tcpecn/arm/conf/IQ31244#1 branch .. //depot/projects/tcpecn/arm/conf/KB920X#1 branch .. //depot/projects/tcpecn/arm/conf/KB920X.hints#1 branch .. //depot/projects/tcpecn/arm/conf/SIMICS#1 branch .. //depot/projects/tcpecn/arm/conf/SKYEYE#1 branch .. //depot/projects/tcpecn/arm/include/_bus.h#1 branch .. //depot/projects/tcpecn/arm/include/_inttypes.h#1 branch .. //depot/projects/tcpecn/arm/include/_limits.h#1 branch .. //depot/projects/tcpecn/arm/include/_stdint.h#1 branch .. //depot/projects/tcpecn/arm/include/_types.h#1 branch .. //depot/projects/tcpecn/arm/include/armreg.h#1 branch .. //depot/projects/tcpecn/arm/include/asm.h#1 branch .. //depot/projects/tcpecn/arm/include/asmacros.h#1 branch .. //depot/projects/tcpecn/arm/include/atomic.h#1 branch .. //depot/projects/tcpecn/arm/include/blockio.h#1 branch .. //depot/projects/tcpecn/arm/include/bootconfig.h#1 branch .. //depot/projects/tcpecn/arm/include/bus.h#1 branch .. //depot/projects/tcpecn/arm/include/bus_dma.h#1 branch .. //depot/projects/tcpecn/arm/include/clock.h#1 branch .. //depot/projects/tcpecn/arm/include/cpu.h#1 branch .. //depot/projects/tcpecn/arm/include/cpuconf.h#1 branch .. //depot/projects/tcpecn/arm/include/cpufunc.h#1 branch .. //depot/projects/tcpecn/arm/include/db_machdep.h#1 branch .. //depot/projects/tcpecn/arm/include/disassem.h#1 branch .. //depot/projects/tcpecn/arm/include/elf.h#1 branch .. //depot/projects/tcpecn/arm/include/endian.h#1 branch .. //depot/projects/tcpecn/arm/include/exec.h#1 branch .. //depot/projects/tcpecn/arm/include/fiq.h#1 branch .. //depot/projects/tcpecn/arm/include/float.h#1 branch .. //depot/projects/tcpecn/arm/include/floatingpoint.h#1 branch .. //depot/projects/tcpecn/arm/include/fp.h#1 branch .. //depot/projects/tcpecn/arm/include/frame.h#1 branch .. //depot/projects/tcpecn/arm/include/gdb_machdep.h#1 branch .. //depot/projects/tcpecn/arm/include/ieee.h#1 branch .. //depot/projects/tcpecn/arm/include/ieeefp.h#1 branch .. //depot/projects/tcpecn/arm/include/in_cksum.h#1 branch .. //depot/projects/tcpecn/arm/include/intr.h#1 branch .. //depot/projects/tcpecn/arm/include/katelib.h#1 branch .. //depot/projects/tcpecn/arm/include/kdb.h#1 branch .. //depot/projects/tcpecn/arm/include/limits.h#1 branch .. //depot/projects/tcpecn/arm/include/machdep.h#1 branch .. //depot/projects/tcpecn/arm/include/md_var.h#1 branch .. //depot/projects/tcpecn/arm/include/memdev.h#1 branch .. //depot/projects/tcpecn/arm/include/metadata.h#1 branch .. //depot/projects/tcpecn/arm/include/mutex.h#1 branch .. //depot/projects/tcpecn/arm/include/param.h#1 branch .. //depot/projects/tcpecn/arm/include/pcb.h#1 branch .. //depot/projects/tcpecn/arm/include/pcpu.h#1 branch .. //depot/projects/tcpecn/arm/include/pmap.h#1 branch .. //depot/projects/tcpecn/arm/include/pmc_mdep.h#1 branch .. //depot/projects/tcpecn/arm/include/proc.h#1 branch .. //depot/projects/tcpecn/arm/include/profile.h#1 branch .. //depot/projects/tcpecn/arm/include/psl.h#1 branch .. //depot/projects/tcpecn/arm/include/pte.h#1 branch .. //depot/projects/tcpecn/arm/include/ptrace.h#1 branch .. //depot/projects/tcpecn/arm/include/reg.h#1 branch .. //depot/projects/tcpecn/arm/include/reloc.h#1 branch .. //depot/projects/tcpecn/arm/include/resource.h#1 branch .. //depot/projects/tcpecn/arm/include/runq.h#1 branch .. //depot/projects/tcpecn/arm/include/setjmp.h#1 branch .. //depot/projects/tcpecn/arm/include/sf_buf.h#1 branch .. //depot/projects/tcpecn/arm/include/sigframe.h#1 branch .. //depot/projects/tcpecn/arm/include/signal.h#1 branch .. //depot/projects/tcpecn/arm/include/smp.h#1 branch .. //depot/projects/tcpecn/arm/include/stdarg.h#1 branch .. //depot/projects/tcpecn/arm/include/swi.h#1 branch .. //depot/projects/tcpecn/arm/include/sysarch.h#1 branch .. //depot/projects/tcpecn/arm/include/trap.h#1 branch .. //depot/projects/tcpecn/arm/include/ucontext.h#1 branch .. //depot/projects/tcpecn/arm/include/undefined.h#1 branch .. //depot/projects/tcpecn/arm/include/utrap.h#1 branch .. //depot/projects/tcpecn/arm/include/vmparam.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/tcpecn/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/tcpecn/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/tcpecn/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/tcpecn/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/tcpecn/arm/xscale/std.xscale#1 branch .. //depot/projects/tcpecn/arm/xscale/xscalereg.h#1 branch .. //depot/projects/tcpecn/arm/xscale/xscalevar.h#1 branch .. //depot/projects/tcpecn/boot/Makefile#1 branch .. //depot/projects/tcpecn/boot/README#1 branch .. //depot/projects/tcpecn/boot/arm/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0/README#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/board.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/tcpecn/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/tcpecn/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/tcpecn/boot/common/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/common/bcache.c#1 branch .. //depot/projects/tcpecn/boot/common/boot.c#1 branch .. //depot/projects/tcpecn/boot/common/bootstrap.h#1 branch .. //depot/projects/tcpecn/boot/common/commands.c#1 branch .. //depot/projects/tcpecn/boot/common/console.c#1 branch .. //depot/projects/tcpecn/boot/common/dev_net.c#1 branch .. //depot/projects/tcpecn/boot/common/dev_net.h#1 branch .. //depot/projects/tcpecn/boot/common/devopen.c#1 branch .. //depot/projects/tcpecn/boot/common/help.common#1 branch .. //depot/projects/tcpecn/boot/common/interp.c#1 branch .. //depot/projects/tcpecn/boot/common/interp_backslash.c#1 branch .. //depot/projects/tcpecn/boot/common/interp_forth.c#1 branch .. //depot/projects/tcpecn/boot/common/interp_parse.c#1 branch .. //depot/projects/tcpecn/boot/common/isapnp.c#1 branch .. //depot/projects/tcpecn/boot/common/isapnp.h#1 branch .. //depot/projects/tcpecn/boot/common/load.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf32.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf64.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/tcpecn/boot/common/load_elf_obj.c#1 branch .. //depot/projects/tcpecn/boot/common/loader.8#1 branch .. //depot/projects/tcpecn/boot/common/ls.c#1 branch .. //depot/projects/tcpecn/boot/common/merge_help.awk#1 branch .. //depot/projects/tcpecn/boot/common/misc.c#1 branch .. //depot/projects/tcpecn/boot/common/module.c#1 branch .. //depot/projects/tcpecn/boot/common/newvers.sh#1 branch .. //depot/projects/tcpecn/boot/common/panic.c#1 branch .. //depot/projects/tcpecn/boot/common/pnp.c#1 branch .. //depot/projects/tcpecn/boot/common/reloc_elf.c#1 branch .. //depot/projects/tcpecn/boot/common/reloc_elf32.c#1 branch .. //depot/projects/tcpecn/boot/common/reloc_elf64.c#1 branch .. //depot/projects/tcpecn/boot/common/ufsread.c#1 branch .. //depot/projects/tcpecn/boot/efi/Makefile#1 branch .. //depot/projects/tcpecn/boot/efi/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/efi/include/README#1 branch .. //depot/projects/tcpecn/boot/efi/include/efi.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efiapi.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/eficon.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efidebug.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efidef.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efidevp.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efierr.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efifs.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efilib.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efinet.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efipart.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efiprot.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efiser.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/tcpecn/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/Makefile#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/delay.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/errno.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/handles.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/tcpecn/boot/efi/libefi/time.c#1 branch .. //depot/projects/tcpecn/boot/ficl/Makefile#1 branch .. //depot/projects/tcpecn/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/tcpecn/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/tcpecn/boot/ficl/dict.c#1 branch .. //depot/projects/tcpecn/boot/ficl/ficl.c#1 branch .. //depot/projects/tcpecn/boot/ficl/ficl.h#1 branch .. //depot/projects/tcpecn/boot/ficl/fileaccess.c#1 branch .. //depot/projects/tcpecn/boot/ficl/float.c#1 branch .. //depot/projects/tcpecn/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/tcpecn/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/tcpecn/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/tcpecn/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/tcpecn/boot/ficl/loader.c#1 branch .. //depot/projects/tcpecn/boot/ficl/math64.c#1 branch .. //depot/projects/tcpecn/boot/ficl/math64.h#1 branch .. //depot/projects/tcpecn/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/tcpecn/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/tcpecn/boot/ficl/prefix.c#1 branch .. //depot/projects/tcpecn/boot/ficl/search.c#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/tcpecn/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/tcpecn/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/tcpecn/boot/ficl/stack.c#1 branch .. //depot/projects/tcpecn/boot/ficl/testmain.c#1 branch .. //depot/projects/tcpecn/boot/ficl/tools.c#1 branch .. //depot/projects/tcpecn/boot/ficl/unix.c#1 branch .. //depot/projects/tcpecn/boot/ficl/vm.c#1 branch .. //depot/projects/tcpecn/boot/ficl/words.c#1 branch .. //depot/projects/tcpecn/boot/forth/beastie.4th#1 branch .. //depot/projects/tcpecn/boot/forth/frames.4th#1 branch .. //depot/projects/tcpecn/boot/forth/loader.4th#1 branch .. //depot/projects/tcpecn/boot/forth/loader.4th.8#1 branch .. //depot/projects/tcpecn/boot/forth/loader.conf#1 branch .. //depot/projects/tcpecn/boot/forth/loader.conf.5#1 branch .. //depot/projects/tcpecn/boot/forth/loader.rc#1 branch .. //depot/projects/tcpecn/boot/forth/pnp.4th#1 branch .. //depot/projects/tcpecn/boot/forth/screen.4th#1 branch .. //depot/projects/tcpecn/boot/forth/support.4th#1 branch .. //depot/projects/tcpecn/boot/i386/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/i386/boot0/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/tcpecn/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/tcpecn/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/boot2/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/tcpecn/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/tcpecn/boot/i386/boot2/lib.h#1 branch .. //depot/projects/tcpecn/boot/i386/boot2/sio.S#1 branch .. //depot/projects/tcpecn/boot/i386/btx/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/tcpecn/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/tcpecn/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/tcpecn/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/tcpecn/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/tcpecn/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/tcpecn/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/tcpecn/boot/i386/gptboot/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/gptboot/gptboot.c#1 branch .. //depot/projects/tcpecn/boot/i386/gptboot/gptldr.S#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/tcpecn/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/tcpecn/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/pread.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/time.c#1 branch .. //depot/projects/tcpecn/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/tcpecn/boot/i386/loader/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/loader/conf.c#1 branch .. //depot/projects/tcpecn/boot/i386/loader/help.i386#1 branch .. //depot/projects/tcpecn/boot/i386/loader/loader.rc#1 branch .. //depot/projects/tcpecn/boot/i386/loader/main.c#1 branch .. //depot/projects/tcpecn/boot/i386/loader/version#1 branch .. //depot/projects/tcpecn/boot/i386/mbr/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/tcpecn/boot/i386/pmbr/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/pmbr/pmbr.s#1 branch .. //depot/projects/tcpecn/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/tcpecn/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/tcpecn/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/tcpecn/boot/ia64/Makefile#1 branch .. //depot/projects/tcpecn/boot/ia64/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/ia64/common/Makefile#1 branch .. //depot/projects/tcpecn/boot/ia64/common/autoload.c#1 branch .. //depot/projects/tcpecn/boot/ia64/common/bootinfo.c#1 branch .. //depot/projects/tcpecn/boot/ia64/common/copy.c#1 branch .. //depot/projects/tcpecn/boot/ia64/common/devicename.c#1 branch .. //depot/projects/tcpecn/boot/ia64/common/exec.c#1 branch .. //depot/projects/tcpecn/boot/ia64/common/libia64.h#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/Makefile#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/conf.c#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/main.c#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/start.S#1 branch .. //depot/projects/tcpecn/boot/ia64/efi/version#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/Makefile#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/conf.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/delay.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/exit.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/libski.h#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/main.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/skimd.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/start.S#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/time.c#1 branch .. //depot/projects/tcpecn/boot/ia64/ski/version#1 branch .. //depot/projects/tcpecn/boot/ofw/Makefile#1 branch .. //depot/projects/tcpecn/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/ofw/common/main.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/tcpecn/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/tcpecn/boot/pc98/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/io.c#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/start.S#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/tcpecn/boot/pc98/boot2/table.c#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/tcpecn/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/tcpecn/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/tcpecn/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/biossmap.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/tcpecn/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/tcpecn/boot/pc98/loader/Makefile#1 branch .. //depot/projects/tcpecn/boot/pc98/loader/conf.c#1 branch .. //depot/projects/tcpecn/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/tcpecn/boot/pc98/loader/main.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/Makefile#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/ldscript.powerpc#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/start.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/loader/version#1 branch .. //depot/projects/tcpecn/boot/sparc64/Makefile#1 branch .. //depot/projects/tcpecn/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/tcpecn/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/tcpecn/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/main.c#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/tcpecn/boot/sparc64/loader/version#1 branch .. //depot/projects/tcpecn/bsm/audit.h#1 branch .. //depot/projects/tcpecn/bsm/audit_internal.h#1 branch .. //depot/projects/tcpecn/bsm/audit_kevents.h#1 branch .. //depot/projects/tcpecn/bsm/audit_record.h#1 branch .. //depot/projects/tcpecn/cam/README.quirks#1 branch .. //depot/projects/tcpecn/cam/cam.c#1 branch .. //depot/projects/tcpecn/cam/cam.h#1 branch .. //depot/projects/tcpecn/cam/cam_ccb.h#1 branch .. //depot/projects/tcpecn/cam/cam_debug.h#1 branch .. //depot/projects/tcpecn/cam/cam_periph.c#1 branch .. //depot/projects/tcpecn/cam/cam_periph.h#1 branch .. //depot/projects/tcpecn/cam/cam_queue.c#1 branch .. //depot/projects/tcpecn/cam/cam_queue.h#1 branch .. //depot/projects/tcpecn/cam/cam_sim.c#1 branch .. //depot/projects/tcpecn/cam/cam_sim.h#1 branch .. //depot/projects/tcpecn/cam/cam_xpt.c#1 branch .. //depot/projects/tcpecn/cam/cam_xpt.h#1 branch .. //depot/projects/tcpecn/cam/cam_xpt_periph.h#1 branch .. //depot/projects/tcpecn/cam/cam_xpt_sim.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_all.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_all.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_da.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_da.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_low.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_low.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_message.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_target.c#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/Makefile#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_signal.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/tcpecn/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/tcpecn/compat/ia32/ia32_reg.h#1 branch .. //depot/projects/tcpecn/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/tcpecn/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/tcpecn/compat/ia32/ia32_util.h#1 branch .. //depot/projects/tcpecn/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/tcpecn/compat/linsysfs/linsysfs.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_emul.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_emul.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_file.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_futex.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_futex.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_ipc.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_ipc.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_mib.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_mib.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_misc.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_misc.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_signal.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_signal.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_socket.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_socket.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_stats.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/tcpecn/compat/linux/linux_time.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_uid16.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_util.c#1 branch .. //depot/projects/tcpecn/compat/linux/linux_util.h#1 branch .. //depot/projects/tcpecn/compat/ndis/cfg_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/hal_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/tcpecn/compat/ndis/kern_windrv.c#1 branch .. //depot/projects/tcpecn/compat/ndis/ndis_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/pe_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/resource_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/subr_hal.c#1 branch .. //depot/projects/tcpecn/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/tcpecn/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/tcpecn/compat/ndis/subr_pe.c#1 branch .. //depot/projects/tcpecn/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/tcpecn/compat/ndis/usbd_var.h#1 branch .. //depot/projects/tcpecn/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/tcpecn/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/tcpecn/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/tcpecn/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/tcpecn/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/tcpecn/compat/opensolaris/sys/sunddi.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 24 18:19:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED73416A477; Sat, 24 Nov 2007 18:19: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 9EEAD16A474 for ; Sat, 24 Nov 2007 18:19:03 +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 989CC13C457 for ; Sat, 24 Nov 2007 18:19:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOIJ3dJ061140 for ; Sat, 24 Nov 2007 18:19:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOIJ3va061137 for perforce@freebsd.org; Sat, 24 Nov 2007 18:19:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 24 Nov 2007 18:19:03 GMT Message-Id: <200711241819.lAOIJ3va061137@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 129461 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 18:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=129461 Change 129461 by hselasky@hselasky_laptop001 on 2007/11/24 18:18:59 This commit adds functions and callbacks required to support loading of virtual buffers directly into DMA. This feature is not yet fully functional. What is left is to add allocation of RX and TX BUS-DMA maps when setting up an USB transfer through "usbd_transfer_setup()". New functions "usbd_bus_mem_setup" and "usbd_bus_mem_unsetup" which factor out code. New USB API function "usbd_transfer_drain". See README for a detailed description. Affected files ... .. //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/README#20 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#48 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.h#21 edit .. //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.h#17 edit .. //depot/projects/usb/src/sys/dev/usb/ohci_pci.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#40 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.h#17 edit .. //depot/projects/usb/src/sys/dev/usb/uhci_pci.c#23 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#49 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#56 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#45 edit Differences ... ==== //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#6 (text) ==== @@ -71,13 +71,10 @@ if (sc == NULL) { return ENXIO; } - sc->sc_ohci.sc_hw_ptr = - usbd_mem_alloc(device_get_dma_tag(dev), - &(sc->sc_ohci.sc_hw_page), sizeof(*(sc->sc_ohci.sc_hw_ptr)), - LOG2(OHCI_HCCA_ALIGN)); - - if (sc->sc_ohci.sc_hw_ptr == NULL) { - return ENXIO; + if (usbd_bus_mem_setup(&(sc->sc_ohci.sc_bus), device_get_dma_tag(dev), + sizeof(*(sc->sc_ohci.sc_bus.hw_ptr.ohci)), 32, LOG2(OHCI_HCCA_ALIGN))) { + device_printf(dev, "Could not allocate DMA-able memory\n"); + return ENOMEM; } sc->iclk = at91_pmc_clock_ref("ohci_clk"); sc->fclk = at91_pmc_clock_ref("uhpck"); @@ -87,12 +84,6 @@ sc->sc_ohci.sc_dev = dev; - sc->sc_ohci.sc_bus.dma_tag = usbd_dma_tag_alloc(device_get_dma_tag(dev), - USB_PAGE_SIZE, USB_PAGE_SIZE); - - if (sc->sc_ohci.sc_bus.dma_tag == NULL) { - goto error; - } rid = MEM_RID; sc->sc_ohci.sc_io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); @@ -204,13 +195,10 @@ sc->sc_ohci.sc_io_res); sc->sc_ohci.sc_io_res = NULL; } - if (sc->sc_ohci.sc_bus.dma_tag) { - usbd_dma_tag_free(sc->sc_ohci.sc_bus.dma_tag); - } + usbd_bus_mem_unsetup(&(sc->sc_ohci.sc_bus)); + mtx_destroy(&(sc->sc_ohci.sc_bus.mtx)); - usbd_mem_free(&(sc->sc_ohci.sc_hw_page)); - return 0; } ==== //depot/projects/usb/src/sys/dev/usb/README#20 (text+ko) ==== @@ -15,22 +15,33 @@ | active, release all DMA | | memory and might sleep! | | | -| "usbd_transfer_start" - This function will start a USB | +| "usbd_transfer_start" - This function will start an USB | | transfer, if not already started.| -| This function is always non- | -| blocking, except when the USB | -| transfer is SYNCHRONOUS. ** | +| This function is always | +| non-blocking. ** | | | -| "usbd_transfer_stop" - This function will stop a USB | +| "usbd_transfer_stop" - This function will stop an USB | | transfer, if not already stopped.| | The callback function will be | | called before this function | | returns. This function is always | | non-blocking. ** | | | +| "usbd_transfer_drain" - This function will stop an USB | +| transfer, if not already stopped | +| and wait for any additional | +| DMA load operations to complete. | +| Buffers that are loaded into DMA | +| using "usbd_set_frame_data" can | +| safely be freed after that | +| this function has returned. This | +| function can block the caller. | +| | | ** These functions must be called with the private driver's | | lock locked. | | | +| NOTE: These USB API functions are NULL safe, with regard | +| to the USB transfer structure pointer. | +--------------------------------------------------------------+ Reference: /sys/dev/usb/usb_transfer.c @@ -245,13 +256,13 @@ to set initial flags an USB transfer. Valid flags are: force_short_xfer - This flag forces the last USB packet sent to be short. A short - packet has a length of less than "xfer->max_packet_size", which - derives from "wMaxPacketSize". + This flag forces the last transmitted USB packet to be short. + A short packet has a length of less than "xfer->max_packet_size", + which derives from "wMaxPacketSize". short_xfer_ok - This flag allows the transfer length, "xfer->actlen" to be - less than "xfer->sumlen" upon completion of a transfer. + This flag allows the received transfer length, "xfer->actlen" + to be less than "xfer->sumlen" upon completion of a transfer. use_polling This flag can be used with any callback and will cause the ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#48 (text+ko) ==== @@ -3848,6 +3848,8 @@ xfer->qh_start = last_obj; + xfer->flags_int.bdma_enable = 1;/* enable BUS-DMA support */ + return; } ==== //depot/projects/usb/src/sys/dev/usb/ehci.h#21 (text+ko) ==== @@ -433,8 +433,10 @@ uint8_t temp[128]; }; +#define sc_hw_page sc_bus.hw_page +#define sc_hw_ptr sc_bus.hw_ptr.ehci + typedef struct ehci_softc { - struct usbd_page sc_hw_page; struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; struct usb_callout sc_tmo_pcd; @@ -443,7 +445,6 @@ struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; - struct ehci_hw_softc *sc_hw_ptr; struct resource *sc_io_res; struct resource *sc_irq_res; struct ehci_qh *sc_async_p_last; ==== //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#24 (text+ko) ==== @@ -215,16 +215,10 @@ device_printf(self, "Could not allocate sc\n"); return ENXIO; } - sc->sc_hw_ptr = - usbd_mem_alloc(device_get_dma_tag(self), - &(sc->sc_hw_page), sizeof(*(sc->sc_hw_ptr)), - LOG2(EHCI_FRAMELIST_ALIGN)); - - if (sc->sc_hw_ptr == NULL) { - device_printf(self, "Could not allocate DMA-able " - "memory, %d bytes!\n", - (int32_t)sizeof(*(sc->sc_hw_ptr))); - return ENXIO; + if (usbd_bus_mem_setup(&(sc->sc_bus), device_get_dma_tag(self), + sizeof(*(sc->sc_bus.hw_ptr.ehci)), 32, LOG2(EHCI_FRAMELIST_ALIGN))) { + device_printf(self, "Could not allocate DMA-able memory\n"); + return ENOMEM; } mtx_init(&sc->sc_bus.mtx, "usb lock", NULL, MTX_DEF | MTX_RECURSE); @@ -248,12 +242,6 @@ break; } - sc->sc_bus.dma_tag = usbd_dma_tag_alloc(device_get_dma_tag(self), - USB_PAGE_SIZE, USB_PAGE_SIZE); - if (sc->sc_bus.dma_tag == NULL) { - device_printf(self, "Could not allocate DMA tag\n"); - goto error; - } rid = PCI_CBMEM; sc->sc_io_res = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, RF_ACTIVE); @@ -408,15 +396,12 @@ sc->sc_io_res); sc->sc_io_res = NULL; } - if (sc->sc_bus.dma_tag) { - usbd_dma_tag_free(sc->sc_bus.dma_tag); - } usbd_config_td_unsetup(&(sc->sc_config_td)); + usbd_bus_mem_unsetup(&(sc->sc_bus)); + mtx_destroy(&sc->sc_bus.mtx); - usbd_mem_free(&(sc->sc_hw_page)); - return 0; } ==== //depot/projects/usb/src/sys/dev/usb/ohci.c#38 (text+ko) ==== @@ -2796,6 +2796,8 @@ xfer->qh_start = last_obj; + xfer->flags_int.bdma_enable = 1;/* enable BUS-DMA support */ + return; } ==== //depot/projects/usb/src/sys/dev/usb/ohci.h#17 (text+ko) ==== @@ -307,8 +307,10 @@ uint8_t temp[128]; }; +#define sc_hw_page sc_bus.hw_page +#define sc_hw_ptr sc_bus.hw_ptr.ohci + typedef struct ohci_softc { - struct usbd_page sc_hw_page; struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; struct usb_callout sc_tmo_rhsc; @@ -317,7 +319,6 @@ struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; - struct ohci_hw_softc *sc_hw_ptr; struct resource *sc_io_res; struct resource *sc_irq_res; struct ohci_ed *sc_ctrl_p_last; ==== //depot/projects/usb/src/sys/dev/usb/ohci_pci.c#24 (text+ko) ==== @@ -196,16 +196,10 @@ device_printf(self, "Could not allocate sc\n"); return ENXIO; } - sc->sc_hw_ptr = - usbd_mem_alloc(device_get_dma_tag(self), - &(sc->sc_hw_page), sizeof(*(sc->sc_hw_ptr)), - LOG2(OHCI_HCCA_ALIGN)); - - if (sc->sc_hw_ptr == NULL) { - device_printf(self, "Could not allocate DMA-able " - "memory, %d bytes!\n", - (int32_t)sizeof(*(sc->sc_hw_ptr))); - return ENXIO; + if (usbd_bus_mem_setup(&(sc->sc_bus), device_get_dma_tag(self), + sizeof(*(sc->sc_bus.hw_ptr.ohci)), 32, LOG2(OHCI_HCCA_ALIGN))) { + device_printf(self, "Could not allocate DMA-able memory\n"); + return ENOMEM; } mtx_init(&sc->sc_bus.mtx, "usb lock", NULL, MTX_DEF | MTX_RECURSE); @@ -214,12 +208,6 @@ pci_enable_busmaster(self); - sc->sc_bus.dma_tag = usbd_dma_tag_alloc(device_get_dma_tag(self), - USB_PAGE_SIZE, USB_PAGE_SIZE); - if (sc->sc_bus.dma_tag == NULL) { - device_printf(self, "Could not allocate DMA tag\n"); - goto error; - } rid = PCI_CBMEM; sc->sc_io_res = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, RF_ACTIVE); @@ -365,15 +353,12 @@ sc->sc_io_res); sc->sc_io_res = NULL; } - if (sc->sc_bus.dma_tag) { - usbd_dma_tag_free(sc->sc_bus.dma_tag); - } usbd_config_td_unsetup(&(sc->sc_config_td)); + usbd_bus_mem_unsetup(&(sc->sc_bus)); + mtx_destroy(&sc->sc_bus.mtx); - usbd_mem_free(&(sc->sc_hw_page)); - return 0; } ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#40 (text+ko) ==== @@ -3239,6 +3239,8 @@ xfer->qh_start = last_obj; + xfer->flags_int.bdma_enable = 1;/* enable BUS-DMA support */ + return; } ==== //depot/projects/usb/src/sys/dev/usb/uhci.h#17 (text+ko) ==== @@ -261,8 +261,10 @@ }; +#define sc_hw_page sc_bus.hw_page +#define sc_hw_ptr sc_bus.hw_ptr.uhci + typedef struct uhci_softc { - struct usbd_page sc_hw_page; struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; @@ -270,7 +272,6 @@ struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; - struct uhci_hw_softc *sc_hw_ptr; struct uhci_td *sc_isoc_p_last[UHCI_VFRAMELIST_COUNT]; /* pointer to last TD * for isochronous */ struct uhci_qh *sc_intr_p_last[UHCI_IFRAMELIST_COUNT]; /* pointer to last QH ==== //depot/projects/usb/src/sys/dev/usb/uhci_pci.c#23 (text+ko) ==== @@ -212,16 +212,10 @@ device_printf(self, "Could not allocate sc\n"); return ENXIO; } - sc->sc_hw_ptr = - usbd_mem_alloc(device_get_dma_tag(self), - &(sc->sc_hw_page), sizeof(*(sc->sc_hw_ptr)), - LOG2(UHCI_FRAMELIST_ALIGN)); - - if (sc->sc_hw_ptr == NULL) { - device_printf(self, "Could not allocate DMA-able " - "memory, %d bytes!\n", - (int32_t)sizeof(*(sc->sc_hw_ptr))); - return ENXIO; + if (usbd_bus_mem_setup(&(sc->sc_bus), device_get_dma_tag(self), + sizeof(*(sc->sc_bus.hw_ptr.uhci)), 32, LOG2(UHCI_FRAMELIST_ALIGN))) { + device_printf(self, "Could not allocate DMA-able memory\n"); + return ENOMEM; } mtx_init(&sc->sc_bus.mtx, "usb lock", NULL, MTX_DEF | MTX_RECURSE); @@ -230,12 +224,6 @@ pci_enable_busmaster(self); - sc->sc_bus.dma_tag = usbd_dma_tag_alloc(device_get_dma_tag(self), - USB_PAGE_SIZE, USB_PAGE_SIZE); - if (sc->sc_bus.dma_tag == NULL) { - device_printf(self, "Could not allocate DMA tag\n"); - goto error; - } rid = PCI_UHCI_BASE_REG; sc->sc_io_res = bus_alloc_resource_any(self, SYS_RES_IOPORT, &rid, RF_ACTIVE); @@ -391,15 +379,12 @@ sc->sc_io_res); sc->sc_io_res = NULL; } - if (sc->sc_bus.dma_tag) { - usbd_dma_tag_free(sc->sc_bus.dma_tag); - } usbd_config_td_unsetup(&(sc->sc_config_td)); + usbd_bus_mem_unsetup(&(sc->sc_bus)); + mtx_destroy(&sc->sc_bus.mtx); - usbd_mem_free(&(sc->sc_hw_page)); - return 0; } ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#49 (text+ko) ==== @@ -2088,7 +2088,7 @@ uint32_t alignment = (1 << align_power); void *ptr; - tag = usbd_dma_tag_alloc(parent, size, alignment); + tag = usbd_dma_tag_alloc(parent, size, alignment, size); if (tag == NULL) { return NULL; @@ -2140,8 +2140,8 @@ * usbd_dma_tag_alloc - allocate a bus-DMA tag *------------------------------------------------------------------------------*/ bus_dma_tag_t -usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t size, - uint32_t alignment) +usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t seg_size, + uint32_t alignment, uint32_t max_size) { bus_dma_tag_t tag; @@ -2153,9 +2153,9 @@ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, - /* maxsize */ size, + /* maxsize */ max_size, /* nsegments */ 1, - /* maxsegsz */ size, + /* maxsegsz */ seg_size, /* flags */ 0, /* lock */ NULL, /* */ NULL, @@ -2268,13 +2268,124 @@ return; } +/*---------------------------------------------------------------------------* + * usbd_dma_load_mem_callback - internal callback + *---------------------------------------------------------------------------*/ +static void +usbd_dma_load_mem_callback(void *arg, bus_dma_segment_t *segs, int nseg, int error) +{ + struct usbd_page_cache *pc; + struct usbd_xfer *xfer; + struct usbd_page *pg; + uint32_t rem; + + pc = arg; + xfer = pc->p_xfer; + + /* XXX sometimes recursive locking here */ + + mtx_lock(xfer->priv_mtx); + + if (error) { + xfer->flags_int.bdma_error = 1; + } else { + __KASSERT(nseg > 0, ("Invalid number of segments!\n")); + + pg = pc->page_start; + rem = segs->ds_addr & (USB_PAGE_SIZE - 1); + + pc->page_offset_buf += rem; + pc->page_offset_end += rem; + + pg->physaddr = segs->ds_addr & ~(USB_PAGE_SIZE - 1); + + while (1) { + + if (--nseg == 0) { + break; + } + pg++; + segs++; + pg->physaddr = segs->ds_addr & ~(USB_PAGE_SIZE - 1); + } + } + + usbd_bdma_done_event(xfer); + + mtx_unlock(xfer->priv_mtx); + return; +} + +/*---------------------------------------------------------------------------* + * usbd_dma_load_mem - load DMA memory if any + *---------------------------------------------------------------------------*/ +void +usbd_dma_load_mem(struct usbd_xfer *xfer, struct usbd_dma_load_mem_info *info) +{ + struct usbd_page_cache *pc; + struct usbd_page *pg; + bus_dma_tag_t dma_tag; + bus_dmamap_t dma_map; + uint32_t npg; + int error; + + pc = info->page_cache; + + if (info->frame_length == 0) { + /* not used */ + pc->page_start = NULL; + pc->page_offset_buf = 0; + pc->page_offset_end = 0; + return; + } + /* select the one byte alignment DMA tag */ + + dma_tag = xfer->udev->bus->dma_tag_1b; + if (pc->isread) { + dma_map = xfer->dma_rx_map; + } else { + dma_map = xfer->dma_tx_map; + } + + /* increment refcount */ + + xfer->dma_refcount++; + + /* initialize the "usbd_page_cache" structure */ + + pc->page_start = info->page_ptr; + pc->page_offset_buf = 0; + pc->page_offset_end = info->frame_length; + + /* initialize the "usbd_page" structure */ + + npg = (info->frame_length / USB_PAGE_SIZE) + 2; + pg = info->page_ptr; + + while (npg--) { + pg->tag = dma_tag; + pg->map = dma_map; + pg->length = USB_PAGE_SIZE; + pg++; + } + + /* update "page_ptr" to the next pointer value */ + + info->page_ptr = pg; + + error = bus_dmamap_load(dma_tag, dma_map, pc->p_buffer, + info->frame_length, usbd_dma_load_mem_callback, pc, 0); + + return; +} + #endif #ifdef __NetBSD__ bus_dma_tag_t -usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t size, - uint32_t alignment) +usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t seg_size, + uint32_t alignment, uint32_t max_size) { /* FreeBSD specific */ return parent; @@ -2283,6 +2394,7 @@ void usbd_dma_tag_free(bus_dma_tag_t tag) { + /* FreeBSD specific */ return; } @@ -2394,6 +2506,59 @@ #endif +/*---------------------------------------------------------------------------* + * usbd_pio_load_mem - load virtual memory if any + *---------------------------------------------------------------------------*/ +void +usbd_pio_load_mem(struct usbd_xfer *xfer, struct usbd_dma_load_mem_info *info) +{ + struct usbd_page_cache *pc; + struct usbd_page *pg; + uint32_t npg; + uint32_t rem; + uint8_t *ptr; + + pc = info->page_cache; + pg = info->page_ptr; + + if (info->frame_length == 0) { + /* not used */ + pc->page_start = NULL; + pc->page_offset_buf = 0; + pc->page_offset_end = 0; + return; + } + ptr = pc->p_buffer; + rem = POINTER_TO_UNSIGNED(ptr) & (USB_PAGE_SIZE - 1); + ptr -= rem; /* page align */ + info->frame_length += rem; /* adjust */ + + pc->page_start = pg; + pc->page_offset_buf = rem; + pc->page_offset_end = info->frame_length; + + npg = (info->frame_length + (USB_PAGE_SIZE - 1)) / USB_PAGE_SIZE; + + while (npg--) { + + /* + * NOTE: We only setup the fields + * we need for PIO in "struct usbd_page" + */ + pg->buffer = ptr; + pg->length = USB_PAGE_SIZE; + + ptr += USB_PAGE_SIZE; + pg++; + } + + /* update page pointer */ + + info->page_ptr = pg; + + return; +} + /*------------------------------------------------------------------------------* * usbd_make_str_desc - convert an ASCII string into a UNICODE string *------------------------------------------------------------------------------*/ @@ -2890,3 +3055,67 @@ return bus->isoc_time_last; } + +/*------------------------------------------------------------------------* + * usbd_bus_mem_setup - factored out code + * + * Return: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +uint8_t +usbd_bus_mem_setup(struct usbd_bus *bus, bus_dma_tag_t parent_tag, + uint32_t hw_mem_size, uint8_t hw_addr_lines, uint8_t hw_align_power) +{ + + if (hw_mem_size > 0) { + + bus->hw_ptr.data = + usbd_mem_alloc(parent_tag, &(bus->hw_page), + hw_mem_size, hw_align_power); + + if (bus->hw_ptr.data == NULL) { + goto error; + } + } + bus->dma_tag_1b = + usbd_dma_tag_alloc(parent_tag, USB_PAGE_SIZE, 1, + 0 - 1); + + if (bus->dma_tag_1b == NULL) { + goto error; + } + bus->dma_tag_ps = + usbd_dma_tag_alloc(parent_tag, USB_PAGE_SIZE, USB_PAGE_SIZE, + USB_PAGE_SIZE); + + if (bus->dma_tag_ps == NULL) { + goto error; + } + return 0; + +error: + usbd_bus_mem_unsetup(bus); + return 1; +} + +/*------------------------------------------------------------------------* + * usbd_bus_mem_unsetup - factored out code + *------------------------------------------------------------------------*/ +void +usbd_bus_mem_unsetup(struct usbd_bus *bus) +{ + if (bus->dma_tag_ps) { + usbd_dma_tag_free(bus->dma_tag_ps); + bus->dma_tag_ps = NULL; + } + if (bus->dma_tag_1b) { + usbd_dma_tag_free(bus->dma_tag_1b); + bus->dma_tag_1b = NULL; + } + if (bus->hw_ptr.data) { + usbd_mem_free(&(bus->hw_page)); + bus->hw_ptr.data = NULL; + } + return; +} ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#56 (text+ko) ==== @@ -65,12 +65,16 @@ m(USBD_SHORT_XFER,)\ m(USBD_STALLED,)\ m(USBD_INTERRUPTED,)\ +m(USBD_DMA_LOAD_FAILED,)\ /**/ MAKE_ENUM(USBD_STATUS, N_USBD_STATUS); #define USBD_GET_STATE(xfer) ((xfer)->usb_state) +#define USBD_GET_DATA_ISREAD(xfer) ((xfer)->flags_int.is_dci ? \ +((xfer->endpoint & UE_DIR_IN) ? 0 : 1) : \ + ((xfer->endpoint & UE_DIR_IN) ? 1 : 0)) /* USB transfer states */ @@ -111,6 +115,9 @@ struct proc; struct usb_device; /* Linux compat */ struct cdev; +struct ehci_hw_softc; +struct uhci_hw_softc; +struct ohci_hw_softc; typedef uint8_t usbd_status; @@ -202,11 +209,14 @@ struct usbd_page_cache { struct usbd_page *page_start; - struct usbd_xfer *p_xfer; + struct usbd_xfer *p_xfer; /* this backpointer to the USB + * transfer is used when loading + * virtual buffers into DMA */ void *p_buffer; /* virtual buffer to be loaded by * BUS-DMA */ uint32_t page_offset_buf; uint32_t page_offset_end; + uint8_t isread:1; }; struct usbd_setup_params { @@ -234,9 +244,20 @@ struct usbd_bus { struct usb_device_stats stats; struct mtx mtx; + struct usbd_page hw_page; + union { + struct ehci_hw_softc *ehci; + struct uhci_hw_softc *uhci; + struct ohci_hw_softc *ohci; + void *data; + } hw_ptr; + device_t bdev; /* filled by HC driver */ - bus_dma_tag_t dma_tag; /* filled by HC driver */ + bus_dma_tag_t dma_tag_1b; /* 1 byte aligned DMA-tag, filled by + * HC driver */ + bus_dma_tag_t dma_tag_ps; /* page size aligned DMA-tag, filled + * by HC driver */ eventhandler_tag usb_clone_tag; struct usbd_bus_methods *methods; /* filled by HC driver */ struct usbd_device *devices[USB_MAX_DEVICES]; @@ -353,8 +374,9 @@ }; struct usbd_xfer_flags { - uint8_t force_short_xfer:1; /* force a short transfer last */ - uint8_t short_xfer_ok:1; /* allow short transfers */ + uint8_t force_short_xfer:1; /* force a short transmit transfer + * last */ + uint8_t short_xfer_ok:1; /* allow short receive transfers */ uint8_t short_frames_ok:1; /* allow short frames */ uint8_t pipe_bof:1; /* block pipe on failure */ uint8_t use_polling:1; /* poll until transfer is finished */ @@ -386,6 +408,13 @@ uint8_t short_frames_ok:1; /* filtered version */ uint8_t short_xfer_ok:1; /* filtered version */ uint8_t bdma_state:2; /* BUS-DMA state */ + uint8_t bdma_error:1; /* BUS-DMA error flag */ + uint8_t bdma_enable:1; /* filtered version (only set if + * hardware supports DMA) */ + uint8_t bdma_draining:1; + uint8_t isochronous_xfr:1; /* set if isochronous transfer */ + uint8_t is_dci:1; /* set if hardware is a device + * controller interface */ }; struct usbd_config { @@ -413,6 +442,8 @@ LIST_ENTRY(usbd_xfer) interrupt_list; /* used by HC driver */ LIST_ENTRY(usbd_xfer) pipe_list; /* used by HC driver */ + bus_dmamap_t dma_rx_map; + bus_dmamap_t dma_tx_map; struct usbd_page *dma_page_ptr; struct usbd_pipe *pipe; struct usbd_device *udev; @@ -432,6 +463,7 @@ struct usbd_page_cache *frbuffers; usbd_callback_t *callback; + uint32_t dma_refcount; uint32_t max_usb_frame_size; uint32_t max_data_length; uint32_t sumlen; /* sum of all lengths in bytes */ @@ -464,6 +496,12 @@ struct usbd_xfer_flags_int flags_int; }; +struct usbd_dma_load_mem_info { + struct usbd_page *page_ptr; + struct usbd_page_cache *page_cache; + uint32_t frame_length; +}; + struct usbd_memory_info { void *memory_base; struct mtx *priv_mtx; @@ -668,17 +706,19 @@ uint32_t usbd_page_fit_obj(uint32_t size, uint32_t obj_len); void *usbd_mem_alloc(bus_dma_tag_t parent, struct usbd_page *page, uint32_t size, uint8_t align_power); void usbd_mem_free(struct usbd_page *page); -bus_dma_tag_t usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t size, uint32_t alignment); +bus_dma_tag_t usbd_dma_tag_alloc(bus_dma_tag_t parent, uint32_t seg_size, uint32_t alignment, uint32_t max_size); void usbd_dma_tag_free(bus_dma_tag_t tag); void *usbd_mem_alloc_sub(bus_dma_tag_t tag, struct usbd_page *page, uint32_t size, uint32_t alignment); void usbd_mem_free_sub(struct usbd_page *page); void usbd_page_dma_exit(struct usbd_page *page); void usbd_page_dma_enter(struct usbd_page *page); +void usbd_pio_load_mem(struct usbd_xfer *xfer, struct usbd_dma_load_mem_info *info); uint8_t usbd_make_str_desc(void *ptr, uint16_t max_len, const char *s); uint32_t mtx_drop_recurse(struct mtx *mtx); void mtx_pickup_recurse(struct mtx *mtx, uint32_t recurse_level); uint8_t usbd_config_td_setup(struct usbd_config_td *ctd, void *priv_sc, struct mtx *priv_mtx, usbd_config_td_end_of_commands_t *p_func_eoc, uint16_t item_size, uint16_t item_count); void usbd_config_td_stop(struct usbd_config_td *ctd); +void usbd_transfer_drain(struct usbd_xfer *xfer); void usbd_config_td_unsetup(struct usbd_config_td *ctd); void usbd_config_td_queue_command(struct usbd_config_td *ctd, usbd_config_td_command_t *pre_func, usbd_config_td_command_t *post_func, uint16_t command_qcount, uint16_t command_ref); uint8_t usbd_config_td_is_gone(struct usbd_config_td *ctd); @@ -686,6 +726,9 @@ struct mbuf *usbd_ether_get_mbuf(void); int32_t device_delete_all_children(device_t dev); uint16_t usbd_isoc_time_expand(struct usbd_bus *bus, uint16_t isoc_time_curr); +void usbd_dma_load_mem(struct usbd_xfer *xfer, struct usbd_dma_load_mem_info *info); +uint8_t usbd_bus_mem_setup(struct usbd_bus *bus, bus_dma_tag_t parent_tag, uint32_t hw_mem_size, uint8_t hw_addr_lines, uint8_t hw_align_power); +void usbd_bus_mem_unsetup(struct usbd_bus *bus); /* prototypes from usb.c */ @@ -721,6 +764,7 @@ void usbd_transfer_unsetup(struct usbd_xfer **pxfer, uint16_t n_setup); uint8_t usbd_std_root_transfer(struct usbd_std_root_transfer *std, struct thread *ctd, usbd_std_root_transfer_func_t *func); void usbd_start_hardware(struct usbd_xfer *xfer); +void usbd_bdma_done_event(struct usbd_xfer *xfer); void usbd_transfer_start(struct usbd_xfer *xfer); void usbd_transfer_stop(struct usbd_xfer *xfer); void usbd_set_frame_data(struct usbd_xfer *xfer, void *ptr, uint32_t len, uint32_t frindex); ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#45 (text+ko) ==== @@ -49,6 +49,16 @@ #include #include +/* prototypes */ + +static void usbd_pipe_enter_wrapper(struct usbd_xfer *xfer); +static void usbd_bdma_start_event(struct usbd_xfer *xfer); +static void usbd_compute_max_frame_size(struct usbd_xfer *xfer); +static void usbd_drop_refcount(struct usbd_memory_info *info); +static uint8_t usbd_start_hardware_sub(struct usbd_xfer *xfer); +static void usbd_premature_callback(struct usbd_xfer *xfer, usbd_status error); +static void usbd_delayed_transfer_start(void *arg); + #ifdef USB_DEBUG void usbd_dump_iface(struct usbd_interface *iface) @@ -277,7 +287,8 @@ { enum { REQ_SIZE = 8, - MIN_PKT = 8}; + MIN_PKT = 8, + }; struct usbd_xfer *xfer = parm->curr_xfer; const struct usbd_config *setup = parm->curr_setup; usb_endpoint_descriptor_t *edesc; @@ -362,6 +373,7 @@ uint32_t frame_limit; xfer->interval = 0; /* not used, must be zero */ + xfer->flags_int.isochronous_xfr = 1; /* set flag */ if (xfer->timeout == 0) { /* @@ -596,9 +608,30 @@ */ if (xfer->flags.bdma_enable) { - /* setup "dma_page_ptr" */ + /* + * Setup "dma_page_ptr". + * + * Proof for formula below: + * + * Assume there are three USB frames having length "a", "b" and + * "c". These USB frames will at maximum need "z" + * "usbd_page" structures. "z" is given by: + * + * z = ((a / USB_PAGE_SIZE) + 2) + ((b / USB_PAGE_SIZE) + 2) + + * ((c / USB_PAGE_SIZE) + 2); + * + * Constraining "a", "b" and "c" like this: + * + * (a + b + c) <= parm->bufsize + * + * We know that: + * + * z <= ((parm->bufsize / USB_PAGE_SIZE) + (3*2)); + * + * Here is the general formula: + */ xfer->dma_page_ptr = parm->dma_page_ptr; - parm->dma_page_ptr += n_frbuffers; + parm->dma_page_ptr += (2 * n_frbuffers); parm->dma_page_ptr += (parm->bufsize / USB_PAGE_SIZE); } if (zmps) { @@ -823,7 +856,7 @@ parm.page_ptr = USBD_ADD_BYTES(buf, parm.size[2]); parm.dma_page_ptr = USBD_ADD_BYTES(buf, parm.size[3]); - if (usbd_page_alloc(udev->bus->dma_tag, + if (usbd_page_alloc(udev->bus->dma_tag_ps, parm.page_ptr, parm.total_size[1])) { free(buf, M_USB); parm.err = USBD_NOMEM; @@ -909,7 +942,9 @@ */ pxfer[n_setup] = NULL; - usbd_transfer_stop(xfer); + mtx_unlock(xfer->priv_mtx); + + usbd_transfer_drain(xfer); /* * NOTE: default pipe does not have an @@ -917,7 +952,6 @@ */ xfer->pipe->refcount--; - mtx_unlock(xfer->priv_mtx); } else { /* clear the transfer pointer */ pxfer[n_setup] = NULL; @@ -1261,7 +1295,9 @@ mtx_assert(xfer->priv_mtx, MA_OWNED); - if (!xfer->flags_int.open) { + /* sanity checks */ + + if (!xfer->flags_int.open || xfer->flags_int.transferring) { return; } /* set "transferring" and "recursed_2" flags */ @@ -1290,7 +1326,7 @@ } } - /* filter some flags */ + /* clear some internal flags */ xfer->flags_int.short_xfer_ok = 0; xfer->flags_int.short_frames_ok = 0; @@ -1303,14 +1339,25 @@ usbd_premature_callback(xfer, USBD_STALLED); return; } - if (xfer->endpoint & UE_DIR_IN) { + } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 24 19:07:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 163A316A420; Sat, 24 Nov 2007 19:07: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 B47BB16A419 for ; Sat, 24 Nov 2007 19:07:56 +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 A887C13C457 for ; Sat, 24 Nov 2007 19:07:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOJ7uLS064340 for ; Sat, 24 Nov 2007 19:07:56 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOJ7tWK064337 for perforce@freebsd.org; Sat, 24 Nov 2007 19:07:55 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 24 Nov 2007 19:07:55 GMT Message-Id: <200711241907.lAOJ7tWK064337@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 129463 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 19:07:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=129463 Change 129463 by hselasky@hselasky_laptop001 on 2007/11/24 19:07:46 Style change. "Values in return statements should be enclosed in parentheses" according to "man style". The editing was done using hybrid methods. Suggested by Alfred Perlstein. Affected files ... .. //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#7 edit .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#24 edit .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#6 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#22 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio_pcm.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#49 edit .. //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#35 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#36 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#32 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#39 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#39 edit .. //depot/projects/usb/src/sys/dev/usb/ohci_pci.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/uark.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/ubsa.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/ubser.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/ucom.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/udbp.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/ufm.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/ufoma.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/uftdi.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/ugen.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/ugensa.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#41 edit .. //depot/projects/usb/src/sys/dev/usb/uhci_pci.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/uhid.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/uhub.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/uipaq.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/ukbd.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/ulpt.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/umct.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/umodem.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/umoscom.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/ums.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/uplcom.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/urio.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/usb.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#50 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#46 edit .. //depot/projects/usb/src/sys/dev/usb/uscanner.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/uvisor.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/uvscom.c#28 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#18 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#14 edit Differences ... ==== //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#7 (text) ==== @@ -69,12 +69,12 @@ int rid; if (sc == NULL) { - return ENXIO; + return (ENXIO); } if (usbd_bus_mem_setup(&(sc->sc_ohci.sc_bus), device_get_dma_tag(dev), sizeof(*(sc->sc_ohci.sc_bus.hw_ptr.ohci)), 32, LOG2(OHCI_HCCA_ALIGN))) { device_printf(dev, "Could not allocate DMA-able memory\n"); - return ENOMEM; + return (ENOMEM); } sc->iclk = at91_pmc_clock_ref("ohci_clk"); sc->fclk = at91_pmc_clock_ref("uhpck"); @@ -139,11 +139,11 @@ if (err) { goto error; } - return 0; + return (0); error: ohci_atmelarm_detach(dev); - return ENXIO; + return (ENXIO); } static int @@ -199,7 +199,7 @@ mtx_destroy(&(sc->sc_ohci.sc_bus.mtx)); - return 0; + return (0); } static device_method_t ohci_methods[] = { ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#24 (text) ==== @@ -287,11 +287,11 @@ usb_interface_descriptor_t *id; if (uaa->iface == NULL) { - return UMATCH_NONE; + return (UMATCH_NONE); } id = usbd_get_interface_descriptor(uaa->iface); if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { - return UMATCH_NONE; + return (UMATCH_NONE); } switch (id->bInterfaceSubClass) { case UISUBCLASS_QIC157: @@ -305,13 +305,13 @@ case UIPROTO_MASS_CBI_I: case UIPROTO_MASS_BBB: case UIPROTO_MASS_BBB_OLD: - return UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + return (UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO); default: - return UMATCH_IFACECLASS_IFACESUBCLASS; + return (UMATCH_IFACECLASS_IFACESUBCLASS); } break; default: - return UMATCH_IFACECLASS; + return (UMATCH_IFACECLASS); } } @@ -329,7 +329,7 @@ int err; if (sc == NULL) { - return ENOMEM; + return (ENOMEM); } usbd_set_desc(dev, uaa->device); @@ -425,11 +425,11 @@ } bus_generic_attach(sc->dev); - return 0; + return (0); detach: atausb_detach(dev); - return ENXIO; + return (ENXIO); } static int @@ -452,7 +452,7 @@ free(children, M_TEMP); } mtx_destroy(&sc->locked_mtx); - return 0; + return (0); } static void @@ -923,7 +923,7 @@ done: mtx_unlock(&sc->locked_mtx); - return error; + return (error); } static int @@ -963,7 +963,7 @@ } request->result = 0; } - return ATA_OP_FINISHED; + return (ATA_OP_FINISHED); } static int @@ -988,7 +988,7 @@ snprintf(buffer, sizeof(buffer), "USB lun %d", ch->unit); device_set_desc_copy(dev, buffer); - return 0; + return (0); } static int @@ -1017,7 +1017,7 @@ if (!ata_delayed_attach) { ata_identify(dev); } - return 0; + return (0); } static int @@ -1036,7 +1036,7 @@ } mtx_destroy(&ch->state_mtx); mtx_destroy(&ch->queue_mtx); - return 0; + return (0); } static void @@ -1076,7 +1076,7 @@ sc->restart_ch = NULL; mtx_unlock(&sc->locked_mtx); ata_start(ch->dev); - return res; + return (res); } } break; @@ -1088,7 +1088,7 @@ res = sc->locked_ch->unit; } mtx_unlock(&sc->locked_mtx); - return res; + return (res); } static device_method_t ata_usbchannel_methods[] = { ==== //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#6 (text+ko) ==== @@ -112,12 +112,12 @@ struct usb_attach_arg *uaa = device_get_ivars(dev); if (windrv_lookup(0, "USB Bus") == NULL) { - return UMATCH_NONE; + return (UMATCH_NONE); } if (uaa->iface != NULL) { - return UMATCH_NONE; + return (UMATCH_NONE); } - return UMATCH_NONE; + return (UMATCH_NONE); } static int @@ -134,9 +134,9 @@ windrv_create_pdo(drv, dev); if (ndis_attach(dev) != 0) { - return ENXIO; + return (ENXIO); } - return 0; /* success */ + return (0); /* success */ } static struct resource_list * ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#22 (text+ko) ==== @@ -650,7 +650,7 @@ usb_interface_descriptor_t *id; if (uaa->iface == NULL) { - return UMATCH_NONE; + return (UMATCH_NONE); } id = usbd_get_interface_descriptor(uaa->iface); @@ -660,9 +660,9 @@ (id->bInterfaceClass != UICLASS_AUDIO) || (id->bInterfaceSubClass != UISUBCLASS_AUDIOCONTROL) || (usbd_get_quirks(uaa->device)->uq_flags & UQ_BAD_AUDIO)) { - return UMATCH_NONE; + return (UMATCH_NONE); } - return UMATCH_IFACECLASS_IFACESUBCLASS; + return (UMATCH_IFACECLASS_IFACESUBCLASS); } static int @@ -674,7 +674,7 @@ device_t child; if (sc == NULL) { - return ENOMEM; + return (ENOMEM); } sc->sc_play_chan.priv_sc = sc; sc->sc_rec_chan.priv_sc = sc; @@ -752,11 +752,11 @@ DPRINTF(0, "child attach failed\n"); goto detach; } - return 0; /* success */ + return (0); /* success */ detach: uaudio_detach(dev); - return ENXIO; + return (ENXIO); } static void @@ -815,11 +815,11 @@ } pcm_setstatus(dev, status); - return 0; /* success */ + return (0); /* success */ detach: uaudio_detach_sub(dev); - return ENXIO; + return (ENXIO); } int @@ -840,7 +840,7 @@ panic("Please don't detach your sound device " "while it is in use. This is not supported yet!\n"); } - return 0; /* success */ + return (0); /* success */ } static int @@ -856,7 +856,7 @@ umidi_detach(dev); - return 0; + return (0); } /*========================================================================* @@ -1430,11 +1430,11 @@ DPRINTF(0, "could not allocate USB transfers!\n"); goto error; } - return ch; + return (ch); error: uaudio_chan_free(ch); - return NULL; + return (NULL); } int @@ -1448,7 +1448,7 @@ ch->valid = 0; - return 0; + return (0); } int @@ -1460,7 +1460,7 @@ uaudio_chan_set_param_fragments(ch, blocksize, max / blocksize); - return ch->block_size; + return (ch->block_size); } int @@ -1491,7 +1491,7 @@ } ch->block_size = sndbuf_getblksz(ch->pcm_buf); - return 1; + return (1); } int @@ -1500,7 +1500,7 @@ if (speed != ch->sample_rate) { DPRINTF(0, "rate conversion required\n"); } - return ch->sample_rate; + return (ch->sample_rate); } int @@ -1519,7 +1519,7 @@ uaudio_chan_set_param_format(struct uaudio_chan *ch, uint32_t format) { ch->format = format; - return 0; + return (0); } int @@ -1536,7 +1536,7 @@ if (ch->xfer[1]) { usbd_transfer_start(ch->xfer[1]); } - return 0; + return (0); } int @@ -1547,7 +1547,7 @@ #endif usbd_transfer_stop(ch->xfer[0]); usbd_transfer_stop(ch->xfer[1]); - return 0; + return (0); } /*========================================================================* @@ -1813,7 +1813,7 @@ } } } - return temp; + return (temp); } static void @@ -2179,7 +2179,7 @@ if (u.desc->bLength < len) { goto error; } - return u.desc; + return (u.desc); error: if (u.desc) { @@ -2189,7 +2189,7 @@ u.desc->bDescriptorSubtype, u.desc->bLength, len); } - return NULL; + return (NULL); } #ifdef USB_DEBUG @@ -2283,7 +2283,7 @@ DPRINTF(0, "bad data\n"); bzero(&r, sizeof(r)); done: - return r; + return (r); } #ifdef USB_DEBUG @@ -2383,7 +2383,7 @@ if (uat->terminal_type == 0) { DPRINTF(0, "unknown terminal type (0x%04x)", terminal_type); } - return uat->desc; + return (uat->desc); } #endif @@ -2438,7 +2438,7 @@ */ mix->class = UAC_OUTPUT; done: - return terminal_type; + return (terminal_type); } struct uaudio_tt_to_feature { @@ -2537,7 +2537,7 @@ uint16_t terminal_type = uaudio_mixer_determine_class(iot, mix); if ((mix->class == UAC_RECORD) && (terminal_type == 0)) { - return SOUND_MIXER_IMIX; + return (SOUND_MIXER_IMIX); } while (uat->terminal_type) { if (uat->terminal_type == terminal_type) { @@ -2568,7 +2568,7 @@ } } while (n--); - return NULL; + return (NULL); } const static struct uaudio_terminal_node * @@ -2586,7 +2586,7 @@ } } while (n--); - return NULL; + return (NULL); } static void @@ -2952,7 +2952,7 @@ usbd_status err; if (mc->wValue[0] == -1) { - return 0; + return (0); } req.bmRequestType = UT_READ_CLASS_INTERFACE; req.bRequest = what; @@ -2963,7 +2963,7 @@ err = usbd_do_request(udev, &Giant, &req, data); if (err) { DPRINTF(0, "err=%s\n", usbd_errstr(err)); - return 0; + return (0); } if (len < 1) { data[0] = 0; @@ -2975,7 +2975,7 @@ DPRINTF(2, "val=%d\n", val); - return val; + return (val); } static void @@ -3074,7 +3074,7 @@ data[1] = speed >> 8; data[2] = speed >> 16; - return usbd_do_request(udev, &Giant, &req, data); + return (usbd_do_request(udev, &Giant, &req, data)); } static int @@ -3087,7 +3087,7 @@ val = (int8_t)val; } } - return val; + return (val); } static int @@ -3108,7 +3108,7 @@ } DPRINTF(5, "val=%d\n", val); - return val; + return (val); } static void @@ -3169,7 +3169,7 @@ sc->sc_mixer_xfer, uaudio_mixer_config, 1, sc, sc->sc_mixer_lock)) { DPRINTF(0, "could not allocate USB transfer for audio mixer!\n"); - return ENOMEM; + return (ENOMEM); } if (!(sc->sc_mix_info & SOUND_MASK_VOLUME)) { mix_setparentchild(m, SOUND_MIXER_VOLUME, SOUND_MASK_PCM); @@ -3177,7 +3177,7 @@ } mix_setdevs(m, sc->sc_mix_info); mix_setrecdevs(m, sc->sc_recsrc_info); - return 0; + return (0); } int @@ -3187,7 +3187,7 @@ usbd_transfer_unsetup(sc->sc_mixer_xfer, 1); - return 0; + return (0); } void @@ -3232,7 +3232,7 @@ } } } - return src; + return (src); } /*========================================================================* @@ -3338,7 +3338,7 @@ * USB MIDI packets, derives from Linux's usbmidi.c, which * was written by "Clemens Ladisch": * - * return values: + * Returns: * 0: No command * Else: Command is complete */ @@ -3353,7 +3353,7 @@ sub->temp_0[2] = 0; sub->temp_0[3] = 0; sub->temp_cmd = sub->temp_0; - return 1; + return (1); } else if (b >= 0xf0) { switch (b) { @@ -3381,7 +3381,7 @@ sub->temp_1[3] = 0; sub->temp_cmd = sub->temp_1; sub->state = UMIDI_ST_UNKNOWN; - return 1; + return (1); case 0xf7: /* system exclusive end */ switch (sub->state) { @@ -3392,20 +3392,20 @@ sub->temp_1[3] = 0; sub->temp_cmd = sub->temp_1; sub->state = UMIDI_ST_UNKNOWN; - return 1; + return (1); case UMIDI_ST_SYSEX_1: sub->temp_1[0] = p0 | 0x06; sub->temp_1[2] = 0xf7; sub->temp_1[3] = 0; sub->temp_cmd = sub->temp_1; sub->state = UMIDI_ST_UNKNOWN; - return 1; + return (1); case UMIDI_ST_SYSEX_2: sub->temp_1[0] = p0 | 0x07; sub->temp_1[3] = 0xf7; sub->temp_cmd = sub->temp_1; sub->state = UMIDI_ST_UNKNOWN; - return 1; + return (1); } sub->state = UMIDI_ST_UNKNOWN; break; @@ -3430,7 +3430,7 @@ sub->temp_1[2] = b; sub->temp_1[3] = 0; sub->temp_cmd = sub->temp_1; - return 1; + return (1); case UMIDI_ST_2PARAM_1: sub->temp_1[2] = b; sub->state = UMIDI_ST_2PARAM_2; @@ -3446,7 +3446,7 @@ sub->temp_1[0] = p0; sub->temp_1[3] = b; sub->temp_cmd = sub->temp_1; - return 1; + return (1); case UMIDI_ST_SYSEX_0: sub->temp_1[1] = b; sub->state = UMIDI_ST_SYSEX_1; @@ -3460,10 +3460,10 @@ sub->temp_1[3] = b; sub->temp_cmd = sub->temp_1; sub->state = UMIDI_ST_SYSEX_0; - return 1; + return (1); } } - return 0; + return (0); } static void @@ -3575,14 +3575,14 @@ for (n = 0; n < UMIDI_CABLES_MAX; n++) { sub = &(chan->sub[n]); if ((&(sub->cdev)) == cdev) { - return sub; + return (sub); } } panic("%s:%d cannot find usb_cdev!\n", __FILE__, __LINE__); - return NULL; + return (NULL); } static void @@ -3661,14 +3661,14 @@ /* reset */ sub->state = UMIDI_ST_UNKNOWN; } - return 0; /* success */ + return (0); /* success */ } static int32_t umidi_ioctl(struct usb_cdev *cdev, u_long cmd, caddr_t data, int32_t fflags, struct thread *td) { - return ENODEV; + return (ENODEV); } static void @@ -3753,10 +3753,10 @@ mtx_unlock(&(chan->mtx)); - return 0; /* success */ + return (0); /* success */ detach: - return ENXIO; /* failure */ + return (ENXIO); /* failure */ } static int32_t @@ -3781,7 +3781,7 @@ mtx_destroy(&(chan->mtx)); - return 0; + return (0); } DRIVER_MODULE(uaudio, uhub, uaudio_driver, uaudio_devclass, usbd_driver_load, 0); ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio_pcm.c#9 (text+ko) ==== @@ -39,13 +39,13 @@ static void * ua_chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) { - return uaudio_chan_init(devinfo, b, c, dir); + return (uaudio_chan_init(devinfo, b, c, dir)); } static int ua_chan_free(kobj_t obj, void *data) { - return uaudio_chan_free(data); + return (uaudio_chan_free(data)); } static int @@ -55,50 +55,50 @@ * At this point, no need to query as we * shouldn't select an unsorted format */ - return uaudio_chan_set_param_format(data, format); + return (uaudio_chan_set_param_format(data, format)); } static int ua_chan_setspeed(kobj_t obj, void *data, uint32_t speed) { - return uaudio_chan_set_param_speed(data, speed); + return (uaudio_chan_set_param_speed(data, speed)); } static int ua_chan_setblocksize(kobj_t obj, void *data, uint32_t blocksize) { - return uaudio_chan_set_param_blocksize(data, blocksize); + return (uaudio_chan_set_param_blocksize(data, blocksize)); } static int ua_chan_setfragments(kobj_t obj, void *data, uint32_t blocksize, uint32_t blockcount) { - return uaudio_chan_set_param_fragments(data, blocksize, blockcount); + return (uaudio_chan_set_param_fragments(data, blocksize, blockcount)); } static int ua_chan_trigger(kobj_t obj, void *data, int go) { if (!PCMTRIG_COMMON(go)) { - return 0; + return (0); } if (go == PCMTRIG_START) { - return uaudio_chan_start(data); + return (uaudio_chan_start(data)); } else { - return uaudio_chan_stop(data); + return (uaudio_chan_stop(data)); } } static int ua_chan_getptr(kobj_t obj, void *data) { - return uaudio_chan_getptr(data); + return (uaudio_chan_getptr(data)); } static struct pcmchan_caps * ua_chan_getcaps(kobj_t obj, void *data) { - return uaudio_chan_getcaps(data); + return (uaudio_chan_getcaps(data)); } static kobj_method_t ua_chan_methods[] = { @@ -120,7 +120,7 @@ static int ua_mixer_init(struct snd_mixer *m) { - return uaudio_mixer_init_sub(mix_getdevinfo(m), m); + return (uaudio_mixer_init_sub(mix_getdevinfo(m), m)); } static int @@ -143,13 +143,13 @@ snd_mtxlock(mtx); /* XXX */ retval = uaudio_mixer_setrecsrc(mix_getdevinfo(m), src); snd_mtxunlock(mtx); /* XXX */ - return retval; + return (retval); } static int ua_mixer_uninit(struct snd_mixer *m) { - return uaudio_mixer_uninit_sub(mix_getdevinfo(m)); + return (uaudio_mixer_uninit_sub(mix_getdevinfo(m))); } static kobj_method_t ua_mixer_methods[] = { @@ -176,23 +176,23 @@ if ((func == NULL) || (func->func != SCF_PCM)) { - return ENXIO; + return (ENXIO); } device_set_desc(dev, "USB audio"); - return BUS_PROBE_DEFAULT; + return (BUS_PROBE_DEFAULT); } static int ua_attach(device_t dev) { - return uaudio_attach_sub(dev, &ua_mixer_class, &ua_chan_class); + return (uaudio_attach_sub(dev, &ua_mixer_class, &ua_chan_class)); } static int ua_detach(device_t dev) { - return uaudio_detach_sub(dev); + return (uaudio_detach_sub(dev)); } /************************************************************/ ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#49 (text+ko) ==== @@ -689,7 +689,7 @@ ehci_dump_qtd(sqtd); temp = (sqtd->qtd_next & htole32(EHCI_LINK_TERMINATE)) ? 1 : 0; usbd_page_dma_enter(sqtd->page); - return temp; + return (temp); } static void @@ -1302,10 +1302,10 @@ done: DPRINTFN(12, ("xfer=%p is still active\n", xfer)); - return 0; + return (0); transferred: - return 1; + return (1); } static void @@ -2027,7 +2027,7 @@ xfer->aframes = xfer->nframes; - return need_delay; + return (need_delay); } static uint8_t @@ -2091,7 +2091,7 @@ } xfer->aframes = xfer->nframes; - return need_delay; + return (need_delay); } /* NOTE: "done" can be run two times in a row, ==== //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#25 (text+ko) ==== @@ -105,7 +105,7 @@ if (err) return (err); ehci_suspend(sc); - return 0; + return (0); } static int @@ -118,7 +118,7 @@ bus_generic_resume(self); - return 0; + return (0); } static int @@ -133,7 +133,7 @@ ehci_shutdown(sc); ehci_pci_givecontroller(self); - return 0; + return (0); } static const char * @@ -188,7 +188,7 @@ && (pci_get_progif(self) == PCI_INTERFACE_EHCI)) { return ("EHCI (generic) USB 2.0 controller"); } - return NULL; /* dunno */ + return (NULL); /* dunno */ } static int @@ -198,9 +198,9 @@ if (desc) { device_set_desc(self, desc); - return 0; + return (0); } else { - return ENXIO; + return (ENXIO); } } @@ -213,12 +213,12 @@ if (sc == NULL) { device_printf(self, "Could not allocate sc\n"); - return ENXIO; + return (ENXIO); } if (usbd_bus_mem_setup(&(sc->sc_bus), device_get_dma_tag(self), sizeof(*(sc->sc_bus.hw_ptr.ehci)), 32, LOG2(EHCI_FRAMELIST_ALIGN))) { device_printf(self, "Could not allocate DMA-able memory\n"); - return ENOMEM; + return (ENOMEM); } mtx_init(&sc->sc_bus.mtx, "usb lock", NULL, MTX_DEF | MTX_RECURSE); @@ -233,7 +233,7 @@ case PCI_USBREV_1_1: sc->sc_bus.usbrev = USBREV_UNKNOWN; printf("pre-2.0 USB rev\n"); - return ENXIO; + return (ENXIO); case PCI_USBREV_2_0: sc->sc_bus.usbrev = USBREV_2_0; break; @@ -268,7 +268,10 @@ device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); device_set_softc(sc->sc_bus.bdev, &sc->sc_bus); - /* ehci_pci_match will never return NULL if ehci_pci_probe succeeded */ + /* + * ehci_pci_match will never return NULL if ehci_pci_probe + * succeeded + */ device_set_desc(sc->sc_bus.bdev, ehci_pci_match(self)); switch (pci_get_vendor(self)) { case PCI_EHCI_VENDORID_ACERLABS: @@ -342,11 +345,11 @@ device_printf(self, "USB init failed err=%d\n", err); goto error; } - return 0; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 24 19:13:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E72E716A46B; Sat, 24 Nov 2007 19:13: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 8EE4C16A41A for ; Sat, 24 Nov 2007 19:13:02 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8244B13C461 for ; Sat, 24 Nov 2007 19:13:02 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOJD20t064567 for ; Sat, 24 Nov 2007 19:13:02 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOJD2WH064564 for perforce@freebsd.org; Sat, 24 Nov 2007 19:13:02 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 24 Nov 2007 19:13:02 GMT Message-Id: <200711241913.lAOJD2WH064564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 129464 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 19:13:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=129464 Change 129464 by rpaulo@rpaulo_zoo on 2007/11/24 19:12:59 End host TCP ECN implementation. My Google Summer Of Code project for 2006. Obtained from: NetBSD Affected files ... .. //depot/projects/tcpecn/netinet/tcp_input.c#2 edit .. //depot/projects/tcpecn/netinet/tcp_output.c#2 edit .. //depot/projects/tcpecn/netinet/tcp_syncache.c#2 edit .. //depot/projects/tcpecn/netinet/tcp_usrreq.c#2 edit .. //depot/projects/tcpecn/netinet/tcp_var.h#2 edit Differences ... ==== //depot/projects/tcpecn/netinet/tcp_input.c#2 (text+ko) ==== @@ -128,6 +128,14 @@ &tcp_do_rfc3390, 0, "Enable RFC 3390 (Increasing TCP's Initial Congestion Window)"); +int tcp_do_ecn = 0; +int tcp_ecn_maxretries = 1; +SYSCTL_NODE(_net_inet_tcp, OID_AUTO, ecn, CTLFLAG_RW, 0, "TCP ECN"); +SYSCTL_INT(_net_inet_tcp_ecn, OID_AUTO, enable, CTLFLAG_RW, + &tcp_do_ecn, 0, "TCP ECN support"); +SYSCTL_INT(_net_inet_tcp_ecn, OID_AUTO, maxretries, CTLFLAG_RW, + &tcp_ecn_maxretries, 0, "Max retries before giving up on ECN"); + static int tcp_insecure_rst = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, insecure_rst, CTLFLAG_RW, &tcp_insecure_rst, 0, @@ -152,14 +160,32 @@ static void tcp_dooptions(struct tcpopt *, u_char *, int, int); static void tcp_do_segment(struct mbuf *, struct tcphdr *, - struct socket *, struct tcpcb *, int, int); + struct socket *, struct tcpcb *, int, int, uint8_t); static void tcp_dropwithreset(struct mbuf *, struct tcphdr *, struct tcpcb *, int, int); static void tcp_pulloutofband(struct socket *, struct tcphdr *, struct mbuf *, int); static void tcp_xmit_timer(struct tcpcb *, int); static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); +static void inline + tcp_congestion_exp(struct tcpcb *); +static void inline +tcp_congestion_exp(struct tcpcb *tp) +{ + u_int win; + + win = min(tp->snd_wnd, tp->snd_cwnd) / + 2 / tp->t_maxseg; + if (win < 2) + win = 2; + tp->snd_ssthresh = win * tp->t_maxseg; + ENTER_FASTRECOVERY(tp); + tp->snd_recover = tp->snd_max; + if (tp->t_flags & TF_ECN_PERMIT) + tp->t_flags |= TF_ECN_SND_CWR; +} + /* Neighbor Discovery, Neighbor Unreachability Detection Upper layer hint. */ #ifdef INET6 #define ND6_HINT(tp) \ @@ -238,6 +264,7 @@ int drop_hdrlen; int thflags; int rstreason = 0; /* For badport_bandlim accounting purposes */ + uint8_t iptos; #ifdef IPFIREWALL_FORWARD struct m_tag *fwd_tag; #endif @@ -347,6 +374,13 @@ ip->ip_v = IPVERSION; } +#ifdef INET6 + if (isipv6) + iptos = (ntohl(ip6->ip6_flow) >> 20) & 0xff; + else +#endif + iptos = ip->ip_tos; + /* * Check that TCP offset makes sense, * pull out TCP options and adjust length. XXX @@ -642,7 +676,8 @@ * contains. tcp_do_segment() consumes * the mbuf chain and unlocks the inpcb. */ - tcp_do_segment(m, th, so, tp, drop_hdrlen, tlen); + tcp_do_segment(m, th, so, tp, drop_hdrlen, tlen, + iptos); INP_INFO_UNLOCK_ASSERT(&tcbinfo); return; } @@ -842,7 +877,7 @@ * state. tcp_do_segment() always consumes the mbuf chain, unlocks * the inpcb, and unlocks pcbinfo. */ - tcp_do_segment(m, th, so, tp, drop_hdrlen, tlen); + tcp_do_segment(m, th, so, tp, drop_hdrlen, tlen, iptos); INP_INFO_UNLOCK_ASSERT(&tcbinfo); return; @@ -866,7 +901,7 @@ static void tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, - struct tcpcb *tp, int drop_hdrlen, int tlen) + struct tcpcb *tp, int drop_hdrlen, int tlen, uint8_t iptos) { int thflags, acked, ourfinisacked, needoutput = 0; int headlocked = 1; @@ -909,6 +944,35 @@ tiwin = th->th_win << tp->snd_scale; /* + * TCP ECN processing. + */ + if (tp->t_flags & TF_ECN_PERMIT) { + switch (iptos & IPTOS_ECN_MASK) { + case IPTOS_ECN_CE: + tp->t_flags |= TF_ECN_SND_ECE; + tcpstat.tcps_ecn_ce++; + break; + case IPTOS_ECN_ECT0: + tcpstat.tcps_ecn_ect0++; + break; + case IPTOS_ECN_ECT1: + tcpstat.tcps_ecn_ect1++; + break; + } + + if (thflags & TH_CWR) + tp->t_flags &= ~TF_ECN_SND_ECE; + + /* + * Congestion experienced. + * Ignore if we are already trying to recover. + */ + if ((thflags & TH_ECE) && + SEQ_GEQ(tp->snd_una, tp->snd_recover)) + tcp_congestion_exp(tp); + } + + /* * Parse options on any incoming segment. */ tcp_dooptions(&to, (u_char *)(th + 1), @@ -976,7 +1040,8 @@ */ if (tp->t_state == TCPS_ESTABLISHED && th->th_seq == tp->rcv_nxt && - (thflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK)) == TH_ACK && + (thflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK|TH_ECE|TH_CWR)) + == TH_ACK && tp->snd_nxt == tp->snd_max && tiwin && tiwin == tp->snd_wnd && ((tp->t_flags & (TF_NEEDSYN|TF_NEEDFIN)) == 0) && @@ -1253,6 +1318,8 @@ * Otherwise this is an acceptable SYN segment * initialize tp->rcv_nxt and tp->irs * if seg contains ack then advance tp->snd_una + * if seg contains an ECE and ECN support is enabled, the stream + * is ECN capable. * if SYN has been acked change to ESTABLISHED else SYN_RCVD state * arrange for segment to be acked (eventually) * continue processing rest of data/controls, beginning with URG @@ -1297,6 +1364,12 @@ tcp_delacktime); else tp->t_flags |= TF_ACKNOW; + + if ((thflags & TH_ECE) && tcp_do_ecn) { + tp->t_flags |= TF_ECN_PERMIT; + tcpstat.tcps_ecn_shs++; + } + /* * Received in SYN_SENT[*] state. * Transitions: @@ -1758,6 +1831,9 @@ * so bump cwnd by the amount in the receiver * to keep a constant cwnd packets in the * network. + * + * When using TCP ECN, notify the peer that + * we reduced the cwnd. */ if (!tcp_timer_active(tp, TT_REXMT) || th->th_ack != tp->snd_una) @@ -1789,7 +1865,6 @@ goto drop; } else if (tp->t_dupacks == tcprexmtthresh) { tcp_seq onxt = tp->snd_nxt; - u_int win; /* * If we're doing sack, check to @@ -1803,20 +1878,15 @@ tp->t_dupacks = 0; break; } - } else if (tcp_do_newreno) { + } else if (tcp_do_newreno || + tcp_do_ecn) { if (SEQ_LEQ(th->th_ack, tp->snd_recover)) { tp->t_dupacks = 0; break; } } - win = min(tp->snd_wnd, tp->snd_cwnd) / - 2 / tp->t_maxseg; - if (win < 2) - win = 2; - tp->snd_ssthresh = win * tp->t_maxseg; - ENTER_FASTRECOVERY(tp); - tp->snd_recover = tp->snd_max; + tcp_congestion_exp(tp); tcp_timer_activate(tp, TT_REXMT, 0); tp->t_rtttime = 0; if (tp->t_flags & TF_SACK_PERMIT) { ==== //depot/projects/tcpecn/netinet/tcp_output.c#2 (text+ko) ==== @@ -884,6 +884,49 @@ tp->snd_nxt == tp->snd_max) tp->snd_nxt--; /* + * If we are starting a connection, send ECN setup + * SYN packet. If we are on a retransmit, we may + * resend those bits a number of times as per + * RFC 3168. + */ + if (tp->t_state == TCPS_SYN_SENT && tcp_do_ecn) { + if (tp->t_rxtshift >= 1) { + if (tp->t_rxtshift <= tcp_ecn_maxretries) + flags |= TH_ECE|TH_CWR; + } else + flags |= TH_ECE|TH_CWR; + } + + if (tp->t_state == TCPS_ESTABLISHED && + (tp->t_flags & TF_ECN_PERMIT)) { + /* + * If the peer has ECN, mark data packets with + * ECN capable transmission (ECT). + * Ignore pure ack packets, retransmissions and window probes. + */ + if (len > 0 && SEQ_GEQ(tp->snd_nxt, tp->snd_max) && + !((tp->t_flags & TF_FORCEDATA) && len == 1)) { +#ifdef INET6 + if (isipv6) + ip6->ip6_flow |= htonl(IPTOS_ECN_ECT0 << 20); + else +#endif + ip->ip_tos |= IPTOS_ECN_ECT0; + tcpstat.tcps_ecn_ect0++; + } + + /* + * Reply with proper ECN notifications. + */ + if (tp->t_flags & TF_ECN_SND_CWR) { + flags |= TH_CWR; + tp->t_flags &= ~TF_ECN_SND_CWR; + } + if (tp->t_flags & TF_ECN_SND_ECE) + flags |= TH_ECE; + } + + /* * If we are doing retransmissions, then snd_nxt will * not reflect the first unsent octet. For ACK only * packets, we do not want the sequence number of the ==== //depot/projects/tcpecn/netinet/tcp_syncache.c#2 (text+ko) ==== @@ -127,7 +127,7 @@ u_int8_t sc_ip_tos; /* IPv4 TOS */ u_int8_t sc_requested_s_scale:4, sc_requested_r_scale:4; - u_int8_t sc_flags; + u_int16_t sc_flags; #define SCF_NOOPT 0x01 /* no TCP options */ #define SCF_WINSCALE 0x02 /* negotiated window scaling */ #define SCF_TIMESTAMP 0x04 /* negotiated timestamps */ @@ -135,6 +135,7 @@ #define SCF_UNREACH 0x10 /* icmp unreachable received */ #define SCF_SIGNATURE 0x20 /* send MD5 digests */ #define SCF_SACK 0x80 /* send SACK option */ +#define SCF_ECN 0x100 /* send ECN setup packet */ #ifdef MAC struct label *sc_label; /* MAC label reference */ #endif @@ -778,6 +779,9 @@ tp->t_flags |= TF_SACK_PERMIT; } + if (sc->sc_flags & SCF_ECN) + tp->t_flags |= TF_ECN_PERMIT; + /* * Set up MSS and get cached values from tcp_hostcache. * This might overwrite some of the defaults we just set. @@ -1190,7 +1194,9 @@ sc->sc_peer_mss = to->to_mss; /* peer mss may be zero */ if (noopt) sc->sc_flags |= SCF_NOOPT; - + if ((th->th_flags & (TH_ECE|TH_CWR)) && tcp_do_ecn) + sc->sc_flags |= SCF_ECN; + if (tcp_syncookies) { syncookie_generate(sch, sc, &flowtmp); #ifdef INET6 @@ -1325,6 +1331,41 @@ th->th_win = htons(sc->sc_wnd); th->th_urp = 0; + if (sc->sc_flags & SCF_ECN) { + th->th_flags |= TH_ECE; + tcpstat.tcps_ecn_shs++; + + /* + * draft-ietf-tcpm-ecnsyn-00.txt + * + * "[...] a TCP node MAY respond to an ECN-setup + * SYN packet by setting ECT in the responding + * ECN-setup SYN/ACK packet, indicating to routers + * that the SYN/ACK packet is ECN-Capable. + * This allows a congested router along the path + * to mark the packet instead of dropping the + * packet as an indication of congestion." + * + * "[...] There can be a great benefit in setting + * an ECN-capable codepoint in SYN/ACK packets [...] + * Congestion is most likely to occur in + * the server-to-client direction. As a result, + * setting an ECN-capable codepoint in SYN/ACK + * packets can reduce the occurence of three-second + * retransmit timeouts resulting from the drop + * of SYN/ACK packets." + * + * Page 4 and 6, January 2006. + */ +#ifdef INET6 + if (sc->sc_inc.inc_isipv6) + ip6->ip6_flow |= htonl(IPTOS_ECN_ECT0 << 20); + else +#endif + ip->ip_tos |= IPTOS_ECN_ECT0; + tcpstat.tcps_ecn_ect0++; + } + /* Tack on the TCP options. */ if ((sc->sc_flags & SCF_NOOPT) == 0) { to.to_flags = 0; ==== //depot/projects/tcpecn/netinet/tcp_usrreq.c#2 (text+ko) ==== @@ -1712,6 +1712,10 @@ db_printf("%sTF_TSO", comma ? ", " : ""); comma = 1; } + if (t_flags & TF_ECN_PERMIT) { + db_printf("%sTF_ECN_PERMIT", comma ? ", " : ""); + comma = 1; + } } static void ==== //depot/projects/tcpecn/netinet/tcp_var.h#2 (text+ko) ==== @@ -123,6 +123,9 @@ #define TF_SIGNATURE 0x400000 /* require MD5 digests (RFC2385) */ #define TF_FORCEDATA 0x800000 /* force out a byte */ #define TF_TSO 0x1000000 /* TSO enabled on this connection */ +#define TF_ECN_PERMIT 0x2000000 /* connection ECN-ready */ +#define TF_ECN_SND_CWR 0x4000000 /* ECN CWR in queue */ +#define TF_ECN_SND_ECE 0x8000000 /* ECN ECE in queue */ tcp_seq snd_una; /* send unacknowledged */ tcp_seq snd_max; /* highest sequence number sent; @@ -429,6 +432,12 @@ u_long tcps_sack_rcv_blocks; /* SACK blocks (options) received */ u_long tcps_sack_send_blocks; /* SACK blocks (options) sent */ u_long tcps_sack_sboverflow; /* times scoreboard overflowed */ + + /* ECN related stats */ + u_long tcps_ecn_ce; /* ECN Congestion Experienced */ + u_long tcps_ecn_ect0; /* ECN Capable Transport */ + u_long tcps_ecn_ect1; /* ECN Capable Transport */ + u_long tcps_ecn_shs; /* ECN successful handshakes */ }; /* @@ -505,6 +514,8 @@ extern int tcp_do_sack; /* SACK enabled/disabled */ extern int tcp_sc_rst_sock_fail; /* RST on sock alloc failure */ +extern int tcp_do_ecn; /* TCP ECN enabled/disabled */ +extern int tcp_ecn_maxretries; int tcp_addoptions(struct tcpopt *, u_char *); struct tcpcb * From owner-p4-projects@FreeBSD.ORG Sat Nov 24 21:25:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDB5016A41A; Sat, 24 Nov 2007 21:25: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 597F516A46B for ; Sat, 24 Nov 2007 21:25:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2E10C13C4CC for ; Sat, 24 Nov 2007 21:25:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOLPOaW080866 for ; Sat, 24 Nov 2007 21:25:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOLPOPs080863 for perforce@freebsd.org; Sat, 24 Nov 2007 21:25:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 24 Nov 2007 21:25:24 GMT Message-Id: <200711242125.lAOLPOPs080863@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 129467 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 21:25:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=129467 Change 129467 by rwatson@rwatson_cinnamon on 2007/11/24 21:25:18 Remove 64-bit token type TODO, I believe we've now done this. Add TODO for changing the location of /etc/security. (*) Requested by: sam (*) Affected files ... .. //depot/projects/trustedbsd/openbsm/TODO#10 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/TODO#10 (text+ko) ==== @@ -1,5 +1,3 @@ -- Teach libbsm about any additional 64-bit token types that are present - in more recent Solaris versions. - Build a regression test suite for libbsm that generates each token type and then compares the results with known good data. Make sure to test that things work properly with respect to endianness of the local @@ -18,5 +16,7 @@ trailer context. - Put hostname in trail file name. - Document audit_warn event arguments. +- Allow the path /etc/security to be configured at configure-time so that + alternative locations can be used. -$P4: //depot/projects/trustedbsd/openbsm/TODO#9 $ +$P4: //depot/projects/trustedbsd/openbsm/TODO#10 $ From owner-p4-projects@FreeBSD.ORG Sat Nov 24 21:28:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2C3216A41B; Sat, 24 Nov 2007 21:28: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 93EF016A417 for ; Sat, 24 Nov 2007 21:28:27 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7BB1E13C43E for ; Sat, 24 Nov 2007 21:28:27 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOLSRs3080987 for ; Sat, 24 Nov 2007 21:28:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOLSROX080984 for perforce@freebsd.org; Sat, 24 Nov 2007 21:28:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 24 Nov 2007 21:28:27 GMT Message-Id: <200711242128.lAOLSROX080984@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 129468 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 21:28:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=129468 Change 129468 by rwatson@rwatson_cinnamon on 2007/11/24 21:27:43 Bump some version numbers as we begin work on OpenBSM 1.1. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#58 edit .. //depot/projects/trustedbsd/openbsm/VERSION#18 edit .. //depot/projects/trustedbsd/openbsm/configure.ac#37 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#58 (text+ko) ==== @@ -1,3 +1,5 @@ +OpenBSM 1.0 alpha 1 + OpenBSM 1.0 - Fix bug in auditreduce(8) which resulted in a memory fault/crash when @@ -302,4 +304,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#57 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#58 $ ==== //depot/projects/trustedbsd/openbsm/VERSION#18 (text+ko) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0 +OPENBSM_1_1_ALPHA_1 ==== //depot/projects/trustedbsd/openbsm/configure.ac#37 (text+ko) ==== @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([OpenBSM], [1.0], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#36 $]) +AC_INIT([OpenBSM], [1.1alpha1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#37 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) From owner-p4-projects@FreeBSD.ORG Sat Nov 24 21:43:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF3D216A41B; Sat, 24 Nov 2007 21:43: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 4FC0B16A419 for ; Sat, 24 Nov 2007 21:43:44 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 369D113C461 for ; Sat, 24 Nov 2007 21:43:44 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOLhiW1081559 for ; Sat, 24 Nov 2007 21:43:44 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOLhisl081556 for perforce@freebsd.org; Sat, 24 Nov 2007 21:43:44 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 24 Nov 2007 21:43:44 GMT Message-Id: <200711242143.lAOLhisl081556@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 129469 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 21:43:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=129469 Change 129469 by rwatson@rwatson_cinnamon on 2007/11/24 21:43:39 Correct braino, the new world order arrives. Submitted by: Pawel Worach Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#59 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#59 (text+ko) ==== @@ -1,4 +1,4 @@ -OpenBSM 1.0 alpha 1 +OpenBSM 1.1 alpha 1 OpenBSM 1.0 @@ -304,4 +304,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#58 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#59 $ From owner-p4-projects@FreeBSD.ORG Sat Nov 24 22:32:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADAA616A468; Sat, 24 Nov 2007 22:32: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 5F0CB16A420 for ; Sat, 24 Nov 2007 22:32:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4271A13C442 for ; Sat, 24 Nov 2007 22:32:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOMWcX4084577 for ; Sat, 24 Nov 2007 22:32:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOMWb71084574 for perforce@freebsd.org; Sat, 24 Nov 2007 22:32:37 GMT (envelope-from jb@freebsd.org) Date: Sat, 24 Nov 2007 22:32:37 GMT Message-Id: <200711242232.lAOMWb71084574@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129471 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 22:32:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=129471 Change 129471 by jb@jb_freebsd1 on 2007/11/24 22:31:49 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/advanced-networking/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/basics/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/config/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/firewalls/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/introduction/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/printing/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/users/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/porters-handbook/book.sgml#10 integrate .. //depot/projects/dtrace/src/contrib/binutils/opcodes/ppc-dis.c#4 integrate .. //depot/projects/dtrace/src/etc/periodic/security/100.chksetuid#4 integrate .. //depot/projects/dtrace/src/lib/libc/sparc64/fpu/fpu_explode.c#5 integrate .. //depot/projects/dtrace/src/lib/libdisk/libdisk.3#5 integrate .. //depot/projects/dtrace/src/lib/libelf/elf.3#9 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_data.c#8 integrate .. //depot/projects/dtrace/src/lib/libpmc/Makefile#4 integrate .. //depot/projects/dtrace/src/lib/libpmc/pmc_allocate.3#1 branch .. //depot/projects/dtrace/src/lib/libpmc/pmc_disable.3#1 branch .. //depot/projects/dtrace/src/lib/libpmc/pmc_event_names_of_class.3#1 branch .. //depot/projects/dtrace/src/lib/libpmc/pmc_name_of_capability.3#1 branch .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sem.c#7 integrate .. //depot/projects/dtrace/src/libexec/tftpd/Makefile#4 integrate .. //depot/projects/dtrace/src/libexec/tftpd/tftpd.8#7 integrate .. //depot/projects/dtrace/src/libexec/tftpd/tftpd.c#4 integrate .. //depot/projects/dtrace/src/sbin/geom/class/nop/gnop.8#5 integrate .. //depot/projects/dtrace/src/share/man/man4/hwpmc.4#8 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/genassym.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_debug.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#20 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-disk.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zyd.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#20 integrate .. //depot/projects/dtrace/src/sys/i386/i386/genassym.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#11 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#12 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211.c#9 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211.h#9 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_node.c#8 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_output.c#11 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_proto.c#8 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_var.h#9 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_util.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_subr.c#17 integrate .. //depot/projects/dtrace/src/sys/sys/lockmgr.h#8 integrate .. //depot/projects/dtrace/src/sys/vm/vm_pageout.c#8 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#13 integrate .. //depot/projects/dtrace/www/share/sgml/navibar.ent#6 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#11 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1739,6 +1739,305 @@ ready to exchange informations. + + &os; Host Access Points + + &os; can act as an Access Point (AP) which eliminates the + need to buy a hardware AP or run an ad-hoc network. This can be + particularly useful when your &os; machine is acting as a + gateway to another network (e.g., the Internet). + + + Basic Settings + + Before configuring your &os; machine as an AP, the + kernel must be configured with the appropriate wireless + networking support for your wireless card. You also have to + add the support for the security protocols you intend to + use. For more details, see . + + + The use of the NDIS driver wrapper and the &windows; + drivers do not allow currently the AP operation. Only + native &os; wireless drivers support AP mode. + + + Once the wireless networking support is loaded, you can + check if your wireless device supports the host-based access + point mode (also know as hostap mode): + + &prompt.root; ifconfig ath0 list caps +ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME> + + This output displays the card capabilities; the + HOSTAP word confirms this wireless card + can act as an Access Point. Various supported ciphers are + also mentioned: WEP, TKIP, WPA2, etc., these informations + are important to know what security protocols could be set + on the Access Point. + + The wireless device can now be put into hostap mode and + configured with the correct SSID and IP address: + + &prompt.root; ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0 + + Use again ifconfig to see the status + of the ath0 interface: + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100 + + The hostap parameter indicates the + interface is running in the host-based access point + mode. + + The interface configuration can be done automatically at + boot time by adding the following line to + /etc/rc.conf: + + ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0" + + + + Host-based Access Point without Authentication or + Encryption + + Although it is not recommended to run an AP without any + authentication or encryption, this is a simple way to check + if your AP is working. This configuration is also important + for debugging client issues. + + Once the AP configured as previously shown, it is + possible from another wireless machine to initiate a scan to + find the AP: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 ES + + The client machine found the Access Point and can be + associated with it: + + &prompt.root; ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0 +&prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 + + + + WPA Host-based Access Point + + This section will focus on setting up &os; Access Point + using the WPA security protocol. More details regarding WPA + and the configuration of WPA-based wireless clients can be + found in the . + + The hostapd daemon is used to + deal with client authentication and keys management on the + WPA enabled Access Point. + + In the following, all the configuration operations will + be performed on the &os; machine acting as AP. Once the + AP is correctly working, hostapd + should be automatically enabled at boot with the following + line in /etc/rc.conf: + + hostapd_enable="YES" + + Before trying to configure + hostapd, be sure you have done + the basic settings introduced in the . + + + WPA-PSK + + WPA-PSK is intended for small networks where the use + of an backend authentication server is not possible or + desired. + + The configuration is done in the + /etc/hostapd.conf file: + + interface=ath0 +debug=1 +ctrl_interface=/var/run/hostapd +ctrl_interface_group=wheel +ssid=freebsdap +wpa=1 +wpa_passphrase=freebsdmall +wpa_key_mgmt=WPA-PSK +wpa_pairwise=CCMP TKIP + + + + This field indicates the wireless interface used + for the Access Point. + + + + This field sets the level of verbosity during the + execution of hostapd. A + value of 1 represents the minimal + level. + + + + The ctrl_interface field gives + the pathname of the directory used by + hostapd to stores its + domain socket files for the communication with + external programs such as &man.hostapd.cli.8;. The + default value is used here. + + + + The ctrl_interface_group line + sets the group (here, it is the + wheel group) allowed to access + to the control interface files. + + + + This field sets the network name. + + + + The wpa field enables WPA and + specifies which WPA authentication protocol will be + required. A value of 1 configures the + AP for WPA-PSK. + + + + The wpa_passphrase field + contains the ASCII passphrase for the WPA + authentication. + + + Always use strong passwords that are + sufficiently long and made from a rich alphabet so + they will not be guessed and/or attacked. + + + + + The wpa_key_mgmt line refers to + the key management protocol we use. In our case it is + WPA-PSK. + + + + The wpa_pairwise field + indicates the set of accepted encryption algorithms by + the Access Point. Here both TKIP (WPA) and CCMP + (WPA2) ciphers are accepted. CCMP cipher is an + alternative to TKIP and that is strongly preferred + when possible; TKIP should be used solely for stations + incapable of doing CCMP. + + + + The next step is to start + hostapd: + + &prompt.root /etc/rc.d/hostapd forcestart + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 + + The Access Point is running, the clients can now be + associated with it, see for more details. It is + possible to see the stations associated with the AP using + the ifconfig ath0 list + sta command. + + + + + WEP Host-based Access Point + + It is not recommended to use WEP for setting up an + Access Point since there is no authentication mechanism and + it is easily to be cracked. Some legacy wireless cards only + support WEP as security protocol, these cards will only + allow to set up AP without authentication or encryption or + using the WEP protocol. + + The wireless device can now be put into hostap mode and + configured with the correct SSID and IP address: + + &prompt.root; ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \ + inet 192.168.0.1 netmask 255.255.255.0 + + + + The weptxkey means which WEP + key will be used in the transmission. Here we used the + third key (note that the key numbering starts with + 1). This parameter must be specified + to really encrypt the data. + + + + The wepkey means setting the + selected WEP key. It should in the format + index:key, if the index is + not given, key 1 is set. That is + to say we need to set the index if we use keys other + than the first key. + + + + Use again ifconfig to see the status + of the ath0 interface: + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 + + From another wireless machine, it is possible to initiate + a scan to find the AP: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS + + The client machine found the Access Point and can be + associated with it using the correct parameters (key, etc.), + see for more + details. + + + Troubleshooting ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/advanced-networking/chapter.sgml#3 (text+ko) ==== @@ -1,74 +1,78 @@ - Advanced Networking + ºô¸ô¶i¶¥½m¥\©Ð - Synopsis + ·§­z - This chapter will cover a number of advanced networking - topics. + ¥»³¹±N¤¶²Ð¤@¨Ç¶i¶¥ªººô¸ô³]©w¥DÃD¡C - After reading this chapter, you will know: + Ū§¹³o³¹¡A±z±N¤F¸Ñ¡G - The basics of gateways and routes. + gateway(¹h¹D)¤Î route(¸ô¥Ñ)ªº·§©À¡C + + + + ¦p¦ó³]©w IEEE 802.11 ¥H¤ÎÂŪÞ(&bluetooth;)³]³Æ¡C - How to set up IEEE 802.11 and &bluetooth; devices. + ¦p¦ó¥H FreeBSD §@¬° bridge(¾ô±µ)¡C - How to make FreeBSD act as a bridge. + ¦p¦ó¬°µLºÐ¨t²Î³]©wºô¸ô¶}¾÷¡C - How to set up network booting on a diskless machine. + ¦p¦ó³]©w NAT(Network Address Translation)¡C - How to set up network address translation. + ¦p¦ó³z¹L PLIP ¤è¦¡¨Ó³s±µ¨â¥x¹q¸£¡C - How to connect two computers via PLIP. + ¦p¦ó¦b FreeBSD ¤º³]©w IPv6¡C - How to set up IPv6 on a FreeBSD machine. + ¦p¦ó³]©w ATM¡C - How to configure ATM. + ¦p¦ó¥hµ½¥Î &os; ªº CARP(Common Access Redundancy Protocol)¥\¯à + ¡C - Before reading this chapter, you should: + ¦b¶}©l¾\Ū³o³¹¤§«e¡A±z»Ý­n¡J - Understand the basics of the /etc/rc scripts. + ÁA¸Ñ /etc/rc ¬ÛÃö script ªº·§©À¡C - Be familiar with basic network terminology. + ¼ô±x°ò¥»±`¥Îªººô¸ô³N»y¡C - Know how to configure and install a new FreeBSD kernel - (). + ª¾¹D¦p¦ó³]©w¡B¦w¸Ë·sªº FreeBSD kernel ()¡C - Know how to install additional third-party - software (). + ª¾¹D¦p¦ó³z¹L port/package ¦w¸Ë³nÅé () + ¡C @@ -89,28 +93,25 @@ routing gateway subnet - For one machine to be able to find another over a network, - there must be a mechanism in place to describe how to get from - one to the other. This is called - routing. A route is a - defined pair of addresses: a destination and a - gateway. The pair indicates that if you are - trying to get to this destination, - communicate through this gateway. There - are three types of destinations: individual hosts, subnets, and - default. The default route is - used if none of the other routes apply. We will talk a little - bit more about default routes later on. There are also three - types of gateways: individual hosts, interfaces (also called - links), and Ethernet hardware addresses (MAC - addresses). - + ¬°¤FÅý¤@³¡¹q¸£¯à§ä¨ì¥t¤@³¡¹q¸£¡A¦]¦¹¥²»Ý­n¦³¤@ºØ¾÷¨î¡A + Åý³o³¡¹q¸£ª¾¹D¸Ó«ç»ò°µ¡A³o­Ó¾÷¨î´N¬O¸ô¥Ñ¿ï¾Ü + (routing)¡C + ¤@±ø¸ô¥Ñ(route)¬O¥Ñ¤@¹ï¦ì§}©Ò©w¸qªº¡G¤@­Ó¬O + ¥Øªº¦a(destination)¥H¤Î¥t¤@­Ó«h¬O¹h¹D + (gateway)¡C + ³o¹ï¦ì§}ªí¥Ü­n°e¨ì¥Øªº¦aªº«Ê¥]¡A + ¥²¶·¸g¹L¹h¹D¡C + ¥Øªº¦a¤À¬°¤TºØÃþ«¬¡G¥D¾÷¡B¤lºô¸ô(subnet)¡B¹w³]¸ô¥Ñ( + default route¡C ­Y³£¨S¦³¨ä¥¦ªº¸ô¥Ñ¥i¥H¨Ï¥Î¡A + ³o®É´N·|¨Ï¥Î¹w³]¸ô¥Ñ¡Aµy«á§Ú­Ì·|¹ï¹w³]¸ô¥Ñ§@¶i¤@¨Bªº»¡©ú¡C ¦¹¥~¡A + ¹h¹D¤]¥i¤À¬°¤TºØÃþ«¬¡G¥D¾÷¡B¶Ç¿é¤¶­±(interface¡A¤]ºÙ¬° + links)¡B¤A¤Óºô¸ôµwÅé¦ì§}(MAC addresses)¡C - An Example + ½d¨Ò - To illustrate different aspects of routing, we will use the - following example from netstat: + ¬°¤F¤è«K»¡©ú¤£¦PÃþ«¬ªº¸ô¥Ñ¿ï¾Ü(routing)¡A¥H¤U¨Ï¥Î + netstat «ü¥Oªºµ²ªG§@¬°¤¶²Ð½d¨Ò¡G &prompt.user; netstat -r Routing tables @@ -659,554 +660,1447 @@ - - Eric - Anderson - Written by - + + Loader + + + + Marc + Fonvieille + + + + Murray + Stokely + Wireless Networking - wireless networking - - 802.11 - wireless networking - + wireless networking + + 802.11 + wireless networking + + + + Wireless Networking Basics + + Most wireless networks are based on the IEEE 802.11 + standards. A basic wireless network consists of multiple + stations communicating with radios that broadcast in either + the 2.4GHz or 5GHz band (though this varies according to the + locale and is also changing to enable communication in the + 2.3GHz and 4.9GHz ranges). + + 802.11 networks are organized in two ways: in + infrastructure mode one station acts as a + master with all the other stations associating to it; the + network is known as a BSS and the master station is termed an + access point (AP). In a BSS all communication passes through + the AP; even when one station wants to communicate with + another wireless station messages must go through the AP. In + the second form of network there is no master and stations + communicate directly. This form of network is termed an IBSS + and is commonly known as an ad-hoc + network. + + 802.11 networks were first deployed in the 2.4GHz band + using protocols defined by the IEEE 802.11 and 802.11b + standard. These specifications include the operating + frequencies, MAC layer characteristics including framing and + transmission rates (communication can be done at various + rates). Later the 802.11a standard defined operation in the + 5GHz band, including different signalling mechanisms and + higher transmission rates. Still later the 802.11g standard + was defined to enable use of 802.11a signalling and + transmission mechanisms in the 2.4GHz band in such a way as to + be backwards compatible with 802.11b networks. + + Separate from the underlying transmission techniques + 802.11 networks have a variety of security mechanisms. The + original 802.11 specifications defined a simple security + protocol called WEP. This protocol uses a fixed pre-shared key + and the RC4 cryptographic cipher to encode data transmitted on + a network. Stations must all agree on the fixed key in order + to communicate. This scheme was shown to be easily broken and + is now rarely used except to discourage transient users from + joining networks. Current security practice is given by the + IEEE 802.11i specification that defines new cryptographic + ciphers and an additional protocol to authenticate stations to + an access point and exchange keys for doing data + communication. Further, cryptographic keys are periodically + refreshed and there are mechanisms for detecting intrusion + attempts (and for countering intrusion attempts). Another + security protocol specification commonly used in wireless + networks is termed WPA. This was a precursor to 802.11i + defined by an industry group as an interim measure while + waiting for 802.11i to be ratified. WPA specifies a subset of + the requirements found in 802.11i and is designed for + implementation on legacy hardware. Specifically WPA requires + only the TKIP cipher that is derived from the original WEP + cipher. 802.11i permits use of TKIP but also requires support + for a stronger cipher, AES-CCM, for encrypting data. (The AES + cipher was not required in WPA because it was deemed too + computationally costly to be implemented on legacy + hardware.) + + Other than the above protocol standards the other + important standard to be aware of is 802.11e. This defines + protocols for deploying multi-media applications such as + streaming video and voice over IP (VoIP) in an 802.11 network. + Like 802.11i, 802.11e also has a precursor specification + termed WME (later renamed WMM) that has been defined by an + industry group as a subset of 802.11e that can be deployed now + to enable multi-media applications while waiting for the final + ratification of 802.11e. The most important thing to know + about 802.11e and WME/WMM is that it enables prioritized + traffic use of a wireless network through Quality of Service + (QoS) protocols and enhanced media access protocols. Proper + implementation of these protocols enable high speed bursting + of data and prioritized traffic flow. + + Since the 6.0 version, &os; supports networks that operate + using 802.11a, 802.11b, and 802.11g. The WPA and 802.11i + security protocols are likewise supported (in conjunction with + any of 11a, 11b, and 11g) and QoS and traffic prioritization + required by the WME/WMM protocols are supported for a limited + set of wireless devices. + + + + Basic Setup + + + Kernel Configuration + + To use wireless networking you need a wireless + networking card and to configure the kernel with the + appropriate wireless networking support. The latter is + separated into multiple modules so that you only need to + configure the software you are actually going to use. + + The first thing you need is a wireless device. The most + commonly used devices are those that use parts made by + Atheros. These devices are supported by the &man.ath.4; + driver and require the following line to be added to the + /boot/loader.conf file: + + if_ath_load="YES" + + The Atheros driver is split up into three separate + pieces: the driver proper (&man.ath.4;), the hardware + support layer that handles chip-specific functions + (&man.ath.hal.4;), and an algorithm for selecting which of + several possible rates for transmitting frames + (ath_rate_sample here). When you load this support as + modules these dependencies are automatically handled for + you. If instead of an Atheros device you had another device + you would select the module for that device; e.g.: + + if_wi_load="YES" + + for devices based on the Intersil Prism parts + (&man.wi.4; driver). + + + In the rest of this document, we will use an + &man.ath.4; device, the device name in the examples must + be changed according to your configuration. A list of + available wireless drivers can be found at the beginning + of the &man.wlan.4; manual page. If a native &os; driver + for your wireless device does not exist, it may be + possible to directly use the &windows; driver with the + help of the NDIS driver + wrapper. + + + With a device driver configured you need to also bring + in the 802.11 networking support required by the driver. + For the &man.ath.4; driver this is at least the &man.wlan.4; + module; this module is automatically loaded with the + wireless device driver. With that you will need the modules + that implement cryptographic support for the security + protocols you intend to use. These are intended to be + dynamically loaded on demand by the &man.wlan.4; module but + for now they must be manually configured. The following + modules are available: &man.wlan.wep.4;, &man.wlan.ccmp.4; + and &man.wlan.tkip.4;. Both &man.wlan.ccmp.4; and + &man.wlan.tkip.4; drivers are only needed if you intend to + use the WPA and/or 802.11i security protocols. If your + network is to run totally open (i.e., with no encryption) + then you do not even need the &man.wlan.wep.4; support. To + load these modules at boot time, add the following lines to + /boot/loader.conf: + + wlan_wep_load="YES" +wlan_ccmp_load="YES" +wlan_tkip_load="YES" + + With this information in the system bootstrap + configuration file (i.e., + /boot/loader.conf), you have to reboot + your &os; box. If you do not want to reboot your machine + for the moment, you can just load the modules by hand using + &man.kldload.8;. + + + If you do not want to use modules, it is possible to + compile these drivers into the kernel by adding the + following lines to your kernel configuration file: + + device ath # Atheros IEEE 802.11 wireless network driver +device ath_hal # Atheros Hardware Access Layer +device ath_rate_sample # John Bicket's SampleRate control algorithm. +device wlan # 802.11 support (Required) +device wlan_wep # WEP crypto support for 802.11 devices +device wlan_ccmp # AES-CCMP crypto support for 802.11 devices +device wlan_tkip # TKIP and Michael crypto support for 802.11 devices + + With this information in the kernel configuration + file, recompile the kernel and reboot your &os; + machine. + + + When the system is up, we could find some information + about the wireless device in the boot messages, like + this: + + ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2 +ath0: Ethernet address: 00:11:95:d5:43:62 +ath0: mac 7.9 phy 4.5 radio 5.6 + + + + + Infrastructure Mode + + The infrastructure mode or BSS mode is the mode that is + typically used. In this mode, a number of wireless access + points are connected to a wired network. Each wireless + network has its own name, this name is called the SSID of the + network. Wireless clients connect to the wireless access + points. + + + &os; Clients + + + How to Find Access Points + + To scan for networks, use the + ifconfig command. This request may + take a few moments to complete as it requires that the + system switches to each available wireless frequency and + probes for available access points. Only the super-user + can initiate such a scan: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME +freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA + + + You must mark the interface + before you can scan. Subsequent scan requests do not + require you to mark the interface up again. + + + The output of a scan request lists each BSS/IBSS + network found. Beside the name of the network, + SSID, we find the + BSSID which is the MAC address of the + access point. The CAPS field + identifies the type of each network and the capabilities + of the stations operating there: + + + + E + + + Extended Service Set (ESS). Indicates that the + station is part of an infrastructure network (in + contrast to an IBSS/ad-hoc network). + + + + + I + + + IBSS/ad-hoc network. Indicates that the station + is part of an ad-hoc network (in contrast to an ESS + network). + + + + + P + + + Privacy. Data confidentiality is required for + all data frames exchanged within the BSS. This means + that this BSS requires the station to use + cryptographic means such as WEP, TKIP or AES-CCMP to + encrypt/decrypt data frames being exchanged with + others. + + + + + S + + + Short Preamble. Indicates that the network is + using short preambles (defined in 802.11b High + Rate/DSSS PHY, short preamble utilizes a 56 bit sync + field in contrast to a 128 bit field used in long + preamble mode). + + + + + s + + + Short slot time. Indicates that the 802.11g + network is using a short slot time because there are + no legacy (802.11b) stations present. + + + + + One can also display the current list of known + networks with: + + &prompt.root; ifconfig ath0 list scan + + This information may be updated automatically by the + adapter or manually with a request. + Old data is automatically removed from the cache, so over + time this list may shrink unless more scans are + done. + + + + Basic Settings + + This section provides a simple example of how to make + the wireless network adapter work in &os; without + encryption. After you are familiar with these concepts, + we strongly recommend using WPA to set up your + wireless network. + + There are three basic steps to configure a wireless + network: selecting an access point, authenticating your + station, and configuring an IP address. The following + sections discuss each step. + + + Selecting an Access Point + + Most of time it is sufficient to let the system + choose an access point using the builtin heuristics. + This is the default behaviour when you mark an interface + up or otherwise configure an interface by listing it in + /etc/rc.conf, e.g.: + + ifconfig_ath0="DHCP" + + If there are multiple access points and you want to + select a specific one, you can select it by its + SSID: + + ifconfig_ath0="ssid your_ssid_here DHCP" + + In an environment where there are multiple access + points with the same SSID (often done to simplify + roaming) it may be necessary to associate to one + specific device. In this case you can also specify the + BSSID of the access point (you can also leave off the + SSID): + + ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP" + + There are other ways to constrain the choice of an + access point such as limiting the set of frequencies the + system will scan on. This may be useful if you have a + multi-band wireless card as scanning all the possible + channels can be time-consuming. To limit operation to a + specific band you can use the + parameter; e.g.: + + ifconfig_ath0="mode 11g ssid your_ssid_here DHCP" + + will force the card to operate in 802.11g which is + defined only for 2.4GHz frequencies so any 5GHz channels + will not be considered. Other ways to do this are the + parameter, to lock operation to + one specific frequency, and the + parameter, to specify a list + of channels for scanning. More information about these + parameters can be found in the &man.ifconfig.8; manual + page. + + + + Authentication + + Once you have selected an access point your station + needs to authenticate before it can pass data. + Authentication can happen in several ways. The most + common scheme used is termed open authentication and + allows any station to join the network and communicate. + This is the authentication you should use for test + purpose the first time you set up a wireless network. + Other schemes require cryptographic handshakes be + completed before data traffic can flow; either using + pre-shared keys or secrets, or more complex schemes that + involve backend services such as RADIUS. Most users + will use open authentication which is the default + setting. Next most common setup is WPA-PSK, also known + as WPA Personal, which is described below. + + + If you have an &apple; &airport; Extreme base + station for an access point you may need to configure + shared-key authentication together with a WEP key. + This can be done in the + /etc/rc.conf file or using the + &man.wpa.supplicant.8; program. If you have a single + &airport; base station you can setup access with + something like: + + ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP" + + In general shared key authentication is to be + avoided because it uses the WEP key material in a + highly-constrained manner making it even easier to + crack the key. If WEP must be used (e.g., for + compatibility with legacy devices) it is better to use + WEP with open authentication. More + information regarding WEP can be found in the . + + + + + Getting an IP Address with DHCP + + Once you have selected an access point and set the + authentication parameters, you will have to get an IP + address to communicate. Most of time you will obtain + your wireless IP address via DHCP. To achieve that, + simply edit /etc/rc.conf and add + DHCP to the configuration for your + device as shown in various examples above: + + ifconfig_ath0="DHCP" + + At this point, you are ready to bring up the + wireless interface: + + &prompt.root; /etc/rc.d/netif start + + Once the interface is running, use + ifconfig to see the status of the + interface ath0: + + &prompt.root; ifconfig ath0 +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) + status: associated + ssid dlinkap channel 6 bssid 00:13:46:49:41:76 + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 + + The status: associated means you >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 24 22:34:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC29416A420; Sat, 24 Nov 2007 22:34: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 B082B16A417 for ; Sat, 24 Nov 2007 22:34:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9347513C43E for ; Sat, 24 Nov 2007 22:34:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOMYf06084677 for ; Sat, 24 Nov 2007 22:34:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOMYeNr084674 for perforce@freebsd.org; Sat, 24 Nov 2007 22:34:40 GMT (envelope-from jb@freebsd.org) Date: Sat, 24 Nov 2007 22:34:40 GMT Message-Id: <200711242234.lAOMYeNr084674@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 22:34:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=129472 Change 129472 by jb@jb_freebsd1 on 2007/11/24 22:34:05 IF7 Affected files ... .. //depot/projects/dtrace7/src/Makefile#2 integrate .. //depot/projects/dtrace7/src/ObsoleteFiles.inc#2 integrate .. //depot/projects/dtrace7/src/etc/mtree/BSD.usr.dist#2 integrate .. //depot/projects/dtrace7/src/etc/sendmail/freebsd.mc#2 integrate .. //depot/projects/dtrace7/src/etc/sendmail/freebsd.submit.mc#2 integrate .. //depot/projects/dtrace7/src/gnu/lib/libobjc/Makefile#2 integrate .. //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/dtrace7/src/kerberos5/lib/Makefile.inc#2 integrate .. //depot/projects/dtrace7/src/lib/libgssapi/Makefile#2 integrate .. //depot/projects/dtrace7/src/lib/libsdp/search.c#2 integrate .. //depot/projects/dtrace7/src/release/picobsd/bridge/PICOBSD#2 integrate .. //depot/projects/dtrace7/src/release/picobsd/bridge/crunch.conf#2 integrate .. //depot/projects/dtrace7/src/release/picobsd/build/Makefile.conf#2 integrate .. //depot/projects/dtrace7/src/release/picobsd/build/picobsd#2 integrate .. //depot/projects/dtrace7/src/release/picobsd/tinyware/login/Makefile#2 integrate .. //depot/projects/dtrace7/src/sbin/geom/class/journal/gjournal.8#2 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/dtrace7/src/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/dtrace7/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/dtrace7/src/sys/dev/an/if_an.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/an/if_anreg.h#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/ata-pci.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/ata/atapi-tape.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/dtrace7/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/dtrace7/src/sys/kern/kern_proc.c#3 integrate .. //depot/projects/dtrace7/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/dtrace7/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/dtrace7/src/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/dtrace7/src/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/dtrace7/src/sys/netipsec/keysock.c#2 integrate .. //depot/projects/dtrace7/src/sys/sys/mutex.h#2 integrate .. //depot/projects/dtrace7/src/usr.bin/write/write.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/bluetooth/sdpcontrol/search.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/freebsd-update/freebsd-update.sh#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/wpa/hostapd/Makefile#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/wpa/wpa_supplicant/Makefile#2 integrate Differences ... ==== //depot/projects/dtrace7/src/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.341 2007/05/16 08:46:35 des Exp $ +# $FreeBSD: src/Makefile,v 1.341.2.1 2007/11/22 01:33:08 delphij Exp $ # # The user-driven targets are: # @@ -147,14 +147,14 @@ .if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR} .if exists(${BW_CANONICALOBJDIR}/) -rm -rf ${BW_CANONICALOBJDIR}/* - chflags -R 0 ${BW_CANONICALOBJDIR} + -chflags -R 0 ${BW_CANONICALOBJDIR} rm -rf ${BW_CANONICALOBJDIR}/* .endif # To be safe in this case, fall back to a 'make cleandir' ${_+_}@cd ${.CURDIR}; ${_MAKE} cleandir .else -rm -rf ${.OBJDIR}/* - chflags -R 0 ${.OBJDIR} + -chflags -R 0 ${.OBJDIR} rm -rf ${.OBJDIR}/* .endif ==== //depot/projects/dtrace7/src/ObsoleteFiles.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.112.2.3 2007/10/30 11:40:26 bushman Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.112.2.4 2007/11/22 21:25:17 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -3953,6 +3953,20 @@ # - usr/share/tmac/mm/locale # - usr/share/tmac/mm/se_locale # - var/yp/Makefile + +# 20071120: shared library version bump +OLD_LIBS+=usr/lib/libasn1.so.8 +OLD_LIBS+=usr/lib/libgssapi.so.8 +OLD_LIBS+=usr/lib/libhdb.so.8 +OLD_LIBS+=usr/lib/libkadm5clnt.so.8 +OLD_LIBS+=usr/lib/libkadm5srv.so.8 +OLD_LIBS+=usr/lib/libkafs5.so.8 +OLD_LIBS+=usr/lib/libkrb5.so.8 +OLD_LIBS+=usr/lib/libobjc.so.2 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libgssapi.so.8 +OLD_LIBS+=usr/lib32/libobjc.so.2 +.endif # 20070519: GCC 4.2 OLD_LIBS+=usr/lib/libg2c.a OLD_LIBS+=usr/lib/libg2c.so ==== //depot/projects/dtrace7/src/etc/mtree/BSD.usr.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.329 2007/07/25 13:37:33 scottl Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.329.2.1 2007/11/21 06:04:54 sam Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -212,6 +212,8 @@ .. find_interface .. + hostapd + .. ibcs2 .. ipfilter @@ -304,6 +306,8 @@ .. tcsh .. + wpa_supplicant + .. .. games fortune ==== //depot/projects/dtrace7/src/etc/sendmail/freebsd.mc#2 (text+ko) ==== @@ -44,7 +44,7 @@ # divert(0) -VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.34 2007/04/23 22:23:54 gshapiro Exp $') +VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.34.2.1 2007/11/22 16:19:40 gshapiro Exp $') OSTYPE(freebsd6) DOMAIN(generic) ==== //depot/projects/dtrace7/src/etc/sendmail/freebsd.submit.mc#2 (text+ko) ==== @@ -16,7 +16,7 @@ # divert(0)dnl -VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.submit.mc,v 1.5 2007/04/23 22:23:54 gshapiro Exp $') +VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.submit.mc,v 1.5.2.1 2007/11/22 16:19:40 gshapiro Exp $') define(`confCF_VERSION', `Submit')dnl define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet ==== //depot/projects/dtrace7/src/gnu/lib/libobjc/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libobjc/Makefile,v 1.31.2.1 2007/10/12 12:57:39 rafan Exp $ +# $FreeBSD: src/gnu/lib/libobjc/Makefile,v 1.31.2.2 2007/11/20 20:48:01 kensmith Exp $ OBJCDIR=${.CURDIR}/../../../contrib/libobjc GCCDIR= ${.CURDIR}/../../../contrib/gcc @@ -7,7 +7,7 @@ .PATH: ${OBJCDIR}/objc ${OBJCDIR} LIB= objc -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 SRCS= archive.c class.c encoding.c gc.c hash.c init.c linking.m misc.c \ nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ ==== //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/kgdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.5 2007/05/19 03:23:43 kan Exp $ + * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.5.2.1 2007/11/21 16:43:46 jhb Exp $ */ #ifndef _KGDB_H_ @@ -41,6 +41,7 @@ uintptr_t pcb; int tid; int pid; + u_char cpu; }; extern struct kthr *curkthr; ==== //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/kthr.c,v 1.7 2007/03/01 13:55:15 kib Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/kthr.c,v 1.7.2.1 2007/11/21 16:43:46 jhb Exp $"); #include #include @@ -129,6 +129,7 @@ kt->tid = td.td_tid; kt->pid = p.p_pid; kt->paddr = paddr; + kt->cpu = td.td_oncpu; first = kt; addr = (uintptr_t)TAILQ_NEXT(&td, td_plist); } ==== //depot/projects/dtrace7/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 (text+ko) ==== @@ -25,11 +25,14 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/trgt_i386.c,v 1.6 2007/03/01 13:56:08 kib Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/trgt_i386.c,v 1.6.2.1 2007/11/21 16:43:46 jhb Exp $"); -#include +#include +#include #include #include +#include +#include #include #include #include @@ -71,6 +74,152 @@ fprintf_unfiltered(gdb_stderr, "XXX: %s\n", __func__); } +struct kgdb_tss_cache { + CORE_ADDR pc; + CORE_ADDR sp; + CORE_ADDR tss; +}; + +static int kgdb_trgt_tss_offset[15] = { + offsetof(struct i386tss, tss_eax), + offsetof(struct i386tss, tss_ecx), + offsetof(struct i386tss, tss_edx), + offsetof(struct i386tss, tss_ebx), + offsetof(struct i386tss, tss_esp), + offsetof(struct i386tss, tss_ebp), + offsetof(struct i386tss, tss_esi), + offsetof(struct i386tss, tss_edi), + offsetof(struct i386tss, tss_eip), + offsetof(struct i386tss, tss_eflags), + offsetof(struct i386tss, tss_cs), + offsetof(struct i386tss, tss_ss), + offsetof(struct i386tss, tss_ds), + offsetof(struct i386tss, tss_es), + offsetof(struct i386tss, tss_fs) +}; + +/* + * If the current thread is executing on a CPU, fetch the common_tss + * for that CPU. + * + * This is painful because 'struct pcpu' is variant sized, so we can't + * use it. Instead, we lookup the GDT selector for this CPU and + * extract the base of the TSS from there. + */ +static CORE_ADDR +kgdb_trgt_fetch_tss(void) +{ + struct kthr *kt; + struct segment_descriptor sd; + uintptr_t addr, cpu0prvpage, tss; + + kt = kgdb_thr_lookup_tid(ptid_get_tid(inferior_ptid)); + if (kt == NULL || kt->cpu == NOCPU) + return (0); + + addr = kgdb_lookup("_gdt"); + if (addr == 0) + return (0); + addr += (kt->cpu * NGDT + GPROC0_SEL) * sizeof(sd); + if (kvm_read(kvm, addr, &sd, sizeof(sd)) != sizeof(sd)) { + warnx("kvm_read: %s", kvm_geterr(kvm)); + return (0); + } + if (sd.sd_type != SDT_SYS386BSY) { + warnx("descriptor is not a busy TSS"); + return (0); + } + tss = sd.sd_hibase << 24 | sd.sd_lobase; + + /* + * In SMP kernels, the TSS is stored as part of the per-CPU + * data. On older kernels, the CPU0's private page + * is stored at an address that isn't mapped in minidumps. + * However, the data is mapped at the alternate cpu0prvpage + * address. Thus, if the TSS is at the invalid address, + * change it to be relative to cpu0prvpage instead. + */ + if (trunc_page(tss) == 0xffc00000) { + addr = kgdb_lookup("_cpu0prvpage"); + if (addr == 0) + return (0); + if (kvm_read(kvm, addr, &cpu0prvpage, sizeof(cpu0prvpage)) != + sizeof(cpu0prvpage)) { + warnx("kvm_read: %s", kvm_geterr(kvm)); + return (0); + } + tss = cpu0prvpage + (tss & PAGE_MASK); + } + return ((CORE_ADDR)tss); +} + +static struct kgdb_tss_cache * +kgdb_trgt_tss_cache(struct frame_info *next_frame, void **this_cache) +{ + char buf[MAX_REGISTER_SIZE]; + struct kgdb_tss_cache *cache; + + cache = *this_cache; + if (cache == NULL) { + cache = FRAME_OBSTACK_ZALLOC(struct kgdb_tss_cache); + *this_cache = cache; + cache->pc = frame_func_unwind(next_frame); + frame_unwind_register(next_frame, SP_REGNUM, buf); + cache->sp = extract_unsigned_integer(buf, + register_size(current_gdbarch, SP_REGNUM)); + cache->tss = kgdb_trgt_fetch_tss(); + } + return (cache); +} + +static void +kgdb_trgt_dblfault_this_id(struct frame_info *next_frame, void **this_cache, + struct frame_id *this_id) +{ + struct kgdb_tss_cache *cache; + + cache = kgdb_trgt_tss_cache(next_frame, this_cache); + *this_id = frame_id_build(cache->sp, cache->pc); +} + +static void +kgdb_trgt_dblfault_prev_register(struct frame_info *next_frame, + void **this_cache, int regnum, int *optimizedp, enum lval_type *lvalp, + CORE_ADDR *addrp, int *realnump, void *valuep) +{ + char dummy_valuep[MAX_REGISTER_SIZE]; + struct kgdb_tss_cache *cache; + int ofs, regsz; + + regsz = register_size(current_gdbarch, regnum); + + if (valuep == NULL) + valuep = dummy_valuep; + memset(valuep, 0, regsz); + *optimizedp = 0; + *addrp = 0; + *lvalp = not_lval; + *realnump = -1; + + ofs = (regnum >= I386_EAX_REGNUM && regnum <= I386_FS_REGNUM) + ? kgdb_trgt_tss_offset[regnum] : -1; + if (ofs == -1) + return; + + cache = kgdb_trgt_tss_cache(next_frame, this_cache); + if (cache->tss == 0) + return; + *addrp = cache->tss + ofs; + *lvalp = lval_memory; + target_read_memory(*addrp, valuep, regsz); +} + +static const struct frame_unwind kgdb_trgt_dblfault_unwind = { + UNKNOWN_FRAME, + &kgdb_trgt_dblfault_this_id, + &kgdb_trgt_dblfault_prev_register +}; + struct kgdb_frame_cache { int intrframe; CORE_ADDR pc; @@ -194,6 +343,8 @@ find_pc_partial_function(pc, &pname, NULL, NULL); if (pname == NULL) return (NULL); + if (strcmp(pname, "dblfault_handler") == 0) + return (&kgdb_trgt_dblfault_unwind); if (strcmp(pname, "calltrap") == 0 || (pname[0] == 'X' && pname[1] != '_')) return (&kgdb_trgt_trapframe_unwind); ==== //depot/projects/dtrace7/src/kerberos5/lib/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/kerberos5/lib/Makefile.inc,v 1.7 2005/07/22 17:18:58 kensmith Exp $ +# $FreeBSD: src/kerberos5/lib/Makefile.inc,v 1.7.2.1 2007/11/20 20:48:01 kensmith Exp $ -SHLIB_MAJOR?= 8 +SHLIB_MAJOR?= 9 .include "../Makefile.inc" ==== //depot/projects/dtrace7/src/lib/libgssapi/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/lib/libgssapi/Makefile,v 1.2 2006/01/01 11:01:01 dfr Exp $ +# $FreeBSD: src/lib/libgssapi/Makefile,v 1.2.2.1 2007/11/20 20:48:01 kensmith Exp $ LIB= gssapi -SHLIB_MAJOR= 8 +SHLIB_MAJOR= 9 SRCS= SRCS+= gss_utils.c ==== //depot/projects/dtrace7/src/lib/libsdp/search.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: search.c,v 1.2 2003/09/04 22:12:13 max Exp $ - * $FreeBSD: src/lib/libsdp/search.c,v 1.7 2004/12/09 18:57:12 emax Exp $ + * $FreeBSD: src/lib/libsdp/search.c,v 1.7.10.1 2007/11/21 17:36:14 emax Exp $ */ #include @@ -204,15 +204,18 @@ return (-1); } + rsp += xpdu.len; + ss->tid ++; + /* Save continuation state (if any) */ - ss->cslen = rsp[xpdu.len]; + ss->cslen = rsp[0]; if (ss->cslen > 0) { if (ss->cslen > sizeof(ss->cs)) { ss->error = ENOBUFS; return (-1); } - memcpy(ss->cs, rsp + xpdu.len + 1, ss->cslen); + memcpy(ss->cs, rsp + 1, ss->cslen); /* * Ensure that we always have ss->imtu bytes @@ -236,9 +239,6 @@ rsp = ss->rsp + offset; } } - - rsp += xpdu.len; - ss->tid ++; } while (ss->cslen > 0); /* ==== //depot/projects/dtrace7/src/release/picobsd/bridge/PICOBSD#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/release/picobsd/bridge/PICOBSD,v 1.19 2006/09/18 06:34:51 marck Exp $ +# $FreeBSD: src/release/picobsd/bridge/PICOBSD,v 1.19.2.1 2007/11/21 07:20:10 luigi Exp $ # # Line starting with #PicoBSD contains PicoBSD build parameters #marker def_sz init MFS_inodes floppy_inodes @@ -7,7 +7,6 @@ options MD_ROOT_SIZE=3200 # same as def_sz hints "PICOBSD.hints" -machine i386 cpu I486_CPU cpu I586_CPU cpu I686_CPU ==== //depot/projects/dtrace7/src/release/picobsd/bridge/crunch.conf#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/release/picobsd/bridge/crunch.conf,v 1.21 2006/11/22 00:33:19 rodrigc Exp $ +# $FreeBSD: src/release/picobsd/bridge/crunch.conf,v 1.21.2.1 2007/11/21 07:20:10 luigi Exp $ # # configuration file for "bridge" floppy. # Depending on your needs, almost surely you will need to @@ -177,6 +177,6 @@ libs -lufs # used by mount ### ee uses ncurses instead of curses libs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm -libs -lmytinfo -lz -lpcap -lwrap +libs -lz -lpcap -lwrap libs -ltermcap -lgnuregex # -lcurses libs -lgeom ==== //depot/projects/dtrace7/src/release/picobsd/build/Makefile.conf#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/picobsd/build/Makefile.conf,v 1.18 2001/11/01 16:17:37 luigi Exp $ +# $FreeBSD: src/release/picobsd/build/Makefile.conf,v 1.18.24.1 2007/11/21 07:20:10 luigi Exp $ # # Makefile for building PICOBSD kernels and running crunchgen # @@ -9,6 +9,7 @@ # When building a kernel, also need ${name} from the environment # and CONFIG may indicate an alternate config program +BINMAKE?=make SRC?=/usr/src CONFIG?=config MODULES?=-DNO_MODULES # do not build them as a default @@ -38,11 +39,11 @@ ${KERNFILE}: ${COMPILE} do_a_make_in_the_kernel_directory_anyways do_a_make_in_the_kernel_directory_anyways: - (cd ${COMPILE}; make KERNEL=kernel ${MODULES} ) + (cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} ) ${COMPILE}: ${CONF}/${CONFFILE} (cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE}; \ - cd ${COMPILE}; make KERNEL=kernel ${MODULES} depend ) + cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} depend ) ${CONF}/${CONFFILE}: PICOBSD # -mkdir -p ${CONF} # XXX not needed yet. ==== //depot/projects/dtrace7/src/release/picobsd/build/picobsd#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh - # -# $FreeBSD: src/release/picobsd/build/picobsd,v 1.39 2006/05/17 09:33:06 phk Exp $ +# $FreeBSD: src/release/picobsd/build/picobsd,v 1.39.2.1 2007/11/21 07:20:10 luigi Exp $ # This file requires sysutils/makefs to run # # The new PicoBSD build script. Invoked as @@ -282,8 +282,9 @@ if [ ${OSVERSION} -ge 500035 ] ; then MAKEOBJDIRPREFIX=${l_objtree} export MAKEOBJDIRPREFIX + eval "export BINMAKE=\"`cd ${SRC}; make -f Makefile -V BINMAKE`\"" log `cd ${SRC}; make -f Makefile.inc1 -V WMAKEENV` - eval export `cd ${SRC}; make -f Makefile.inc1 -V WMAKEENV` + eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V WMAKEENV` fi # create build directory and subtree mkdir -p ${BUILDDIR}/crunch @@ -463,7 +464,7 @@ MODULES="" export MODULES fi - make -m ${SRC}/share/mk -v -f ${PICO_TREE}/build/Makefile.conf ) || \ + ${BINMAKE} -v -f ${PICO_TREE}/build/Makefile.conf ) || \ fail $? missing_kernel } @@ -491,8 +492,8 @@ excl=${MY_TREE}/floppy.tree.exclude if [ -f ${excl} ] ; then + log "Files excluded from generic tree: `echo;cat ${excl}`" excl="--exclude-from ${excl}" - log "Files excluded from generic tree: `echo;cat ${excl}`" else excl="" fi @@ -561,13 +562,13 @@ log "Making and installing crunch1 from `pwd` src ${SRC}..." a=${BUILDDIR}/crunch1.conf ( export BUILDDIR SRC MY_TREE PICO_OBJ ; - make -m ${SRC}/share/mk \ + ${BINMAKE} \ -v -f ${PICO_TREE}/build/Makefile.conf ${BUILDDIR}/crunch.mk ) log "Libs are ${LIBS} " export SRC # used by crunch.mk # export LIBS CFLAGS log "Now make -f crunch.mk" - make -m ${SRC}/share/mk ${o_makeopts} -f ${BUILDDIR}/crunch.mk + ${BINMAKE} ${o_makeopts} -f ${BUILDDIR}/crunch.mk strip --remove-section=.note --remove-section=.comment crunch1 mv crunch1 ${dst}/stand/crunch chmod 555 ${dst}/stand/crunch ==== //depot/projects/dtrace7/src/release/picobsd/tinyware/login/Makefile#2 (text+ko) ==== @@ -1,15 +1,15 @@ # From: @(#)Makefile 8.1 (Berkeley) 7/19/93 -# $FreeBSD: src/release/picobsd/tinyware/login/Makefile,v 1.5 2006/03/17 18:54:30 ru Exp $ +# $FreeBSD: src/release/picobsd/tinyware/login/Makefile,v 1.5.2.1 2007/11/21 07:20:11 luigi Exp $ .include .PATH: ${.CURDIR}/../../../../usr.bin/login PROG= login -SRCS= pico-login.c login_access.c login_fbtab.c -MAN= login.1 login.access.5 +SRCS= pico-login.c login_fbtab.c +MAN= login.1 -CFLAGS+=-DLOGIN_ACCESS -DLOGALL +CFLAGS+=-DLOGALL DPADD= ${LIBUTIL} ${LIBCRYPT} LDADD= -lutil -lcrypt ==== //depot/projects/dtrace7/src/sbin/geom/class/journal/gjournal.8#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/journal/gjournal.8,v 1.1 2007/01/29 22:12:22 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/journal/gjournal.8,v 1.1.2.1 2007/11/20 07:32:54 ru Exp $ .\" -.Dd December 5, 2006 +.Dd November 14, 2007 .Dt GJOURNAL 8 .Os .Sh NAME @@ -33,7 +33,7 @@ .Sh SYNOPSIS .Nm .Cm label -.Op Fl fhv +.Op Fl cfhv .Op Fl s Ar jsize .Ar dataprov .Op Ar jprov @@ -66,31 +66,31 @@ The Journal and data may be stored on the same provider or on two separate providers. This is block level journaling, not file system level journaling, which means -.Nm -everything gets logged, e.g.: for file systems, it journals both data and +everything gets logged, e.g.\& for file systems, it journals both data and metadata. The .Nm GEOM class can talk to file systems, which allows the use of .Nm for file system journaling and to keep file systems in a consistent state. -At this time, only UFS file systems are supported. +At this time, only UFS file system is supported. .Pp -.\" XXX This next sentence needs fixed, it's a run on. -To configure journaling via +To configure journaling on the UFS file system using +.Nm , +one should first create a .Nm -for the UFS file system, one should create a gjournaled provider using the +provider using the .Nm -utility with the -.Fl J -flag for +utility, then run .Xr newfs 8 or .Xr tunefs 8 -which instructs UFS to cooperate with the +on it with the +.Fl J +flag which instructs UFS to cooperate with the .Nm provider below. -There are important differences in how gjournaled UFS works. +There are important differences in how journaled UFS works. The most important one is that .Xr sync 2 and @@ -111,17 +111,17 @@ When .Nm is configured on top of -.Nm gmirror +.Xr gmirror 8 or -.Nm graid3 +.Xr graid3 8 providers, it also keeps them in a consistent state, thus automatic synchronization on power failure or system crash may be disabled on those providers. .Pp The .Nm -utility uses on-disk metadata, stored in the provider's last sector, to store all needed -information. +utility uses on-disk metadata, stored in the provider's last sector, +to store all needed information. This could be a problem when an existing file system is converted to use .Nm . .Pp @@ -133,18 +133,20 @@ Configures .Nm on the given provider(s). -If only one provider is given, both data and journal is stored on the same +If only one provider is given, both data and journal are stored on the same provider. If two providers are given, the first one will be used as data provider and the second will be used as the journal provider. .Pp Additional options include: .Bl -tag -width ".Fl s Ar jsize" +.It Fl c +Checksum journal records. .It Fl f May be used to convert an existing file system to use .Nm , -but only if the journal will be configured on a separate provider and if the last -sector in the data provider is not used by the existing file system. +but only if the journal will be configured on a separate provider and if the +last sector in the data provider is not used by the existing file system. If .Nm detects that the last sector is used, it will refuse to overwrite it @@ -155,7 +157,7 @@ .Nm to overwrite the last sector. .It Fl h -Hardcode provider names in meta-data. +Hardcode provider names in metadata. .It Fl s Ar jsize Specifies size of the journal if only one provider is used for both data and journal. @@ -166,7 +168,7 @@ for small file systems (e.g.: only few gigabytes big). .El .It Cm clear -Clear meta-data on the given providers. +Clear metadata on the given providers. .It Cm stop Stop the given provider. .Pp @@ -211,12 +213,15 @@ mount -o async /dev/da0.journal /mnt .Ed .Pp -Configure gjournaling on an existing file system, but only if +Configure journaling on an existing file system, but only if .Nm -allows this (i.e.: if the last sector is not already used by the file system): +allows this (i.e., if the last sector is not already used by the file system): .Bd -literal -offset indent umount /dev/da0s1d -gjournal label da0s1d da0s1e && tunefs -J enable -n disable && mount -o async /dev/da0s1d.journal /mnt || mount /dev/da0s1d /mnt +gjournal label da0s1d da0s1e && \e + tunefs -J enable -n disable && \e + mount -o async /dev/da0s1d.journal /mnt || \e + mount /dev/da0s1d /mnt .Ed .Sh SEE ALSO .Xr geom 4 , ==== //depot/projects/dtrace7/src/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80.2.1 2007/11/21 16:38:54 jhb Exp $"); #include #include @@ -317,7 +317,8 @@ if (name != NULL) { if (strcmp(name, "calltrap") == 0 || strcmp(name, "fork_trampoline") == 0 || - strcmp(name, "nmi_calltrap") == 0) + strcmp(name, "nmi_calltrap") == 0 || + strcmp(name, "Xdblfault") == 0) frame_type = TRAP; else if (strncmp(name, "Xatpic_intr", 11) == 0 || strncmp(name, "Xapic_isr", 9) == 0 || ==== //depot/projects/dtrace7/src/sys/amd64/amd64/exception.S#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.129 2006/12/23 03:30:50 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.129.2.1 2007/11/21 16:38:54 jhb Exp $ */ #include "opt_atpic.h" @@ -187,10 +187,28 @@ IDTVEC(dblfault) subq $TF_ERR,%rsp movq $T_DOUBLEFLT,TF_TRAPNO(%rsp) + movq $0,TF_ADDR(%rsp) + movq $0,TF_ERR(%rsp) + movq %rdi,TF_RDI(%rsp) + movq %rsi,TF_RSI(%rsp) + movq %rdx,TF_RDX(%rsp) + movq %rcx,TF_RCX(%rsp) + movq %r8,TF_R8(%rsp) + movq %r9,TF_R9(%rsp) + movq %rax,TF_RAX(%rsp) + movq %rbx,TF_RBX(%rsp) + movq %rbp,TF_RBP(%rsp) + movq %r10,TF_R10(%rsp) + movq %r11,TF_R11(%rsp) + movq %r12,TF_R12(%rsp) + movq %r13,TF_R13(%rsp) + movq %r14,TF_R14(%rsp) + movq %r15,TF_R15(%rsp) testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs -1: call dblfault_handler +1: movq %rsp, %rdi + call dblfault_handler 2: hlt jmp 2b ==== //depot/projects/dtrace7/src/sys/amd64/amd64/machdep.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675.2.1 2007/11/21 16:38:54 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -138,7 +138,6 @@ CTASSERT(offsetof(struct pcpu, pc_curthread) == 0); extern u_int64_t hammer_time(u_int64_t, u_int64_t); -extern void dblfault_handler(void); extern void printcpuinfo(void); /* XXX header file */ extern void identify_cpu(void); ==== //depot/projects/dtrace7/src/sys/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.319 2007/07/26 15:32:54 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.319.2.1 2007/11/21 16:38:54 jhb Exp $"); /* * AMD64 Trap and System call handling @@ -96,10 +96,10 @@ extern void trap(struct trapframe *frame); extern void syscall(struct trapframe *frame); +void dblfault_handler(struct trapframe *frame); static int trap_pfault(struct trapframe *, int); static void trap_fatal(struct trapframe *, vm_offset_t); -void dblfault_handler(void); #define MAX_TRAP_MSG 30 static char *trap_msg[] = { @@ -706,9 +706,12 @@ * for example). */ void -dblfault_handler() +dblfault_handler(struct trapframe *frame) { printf("\nFatal double fault\n"); + printf("rip = 0x%lx\n", frame->tf_rip); + printf("rsp = 0x%lx\n", frame->tf_rsp); + printf("rbp = 0x%lx\n", frame->tf_rbp); #ifdef SMP /* two separate prints in case of a trap on an unmapped page */ printf("cpuid = %d; ", PCPU_GET(cpuid)); ==== //depot/projects/dtrace7/src/sys/boot/i386/cdboot/cdboot.s#2 (text+ko) ==== @@ -27,7 +27,7 @@ # SUCH DAMAGE. # -# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.17 2007/02/23 21:07:44 remko Exp $ +# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.17.2.1 2007/11/21 16:22:04 jhb Exp $ # # This program is a freestanding boot program to load an a.out binary @@ -585,7 +585,7 @@ msg_relocate: .asciz "Relocating the loader and the BTX\r\n" msg_jump: .asciz "Starting the BTX loader\r\n" msg_badread: .ascii "Read Error: 0x" -hex_error: .ascii "00\r\n" +hex_error: .asciz "00\r\n" msg_novd: .asciz "Could not find Primary Volume Descriptor\r\n" msg_lookup: .asciz "Looking up " msg_lookup2: .asciz "... " ==== //depot/projects/dtrace7/src/sys/boot/pc98/cdboot/cdboot.s#2 (text+ko) ==== @@ -28,7 +28,7 @@ # SUCH DAMAGE. # -# $FreeBSD: src/sys/boot/pc98/cdboot/cdboot.s,v 1.2 2007/03/04 04:53:17 nyan Exp $ +# $FreeBSD: src/sys/boot/pc98/cdboot/cdboot.s,v 1.2.2.1 2007/11/21 16:22:04 jhb Exp $ # # Basically, we first create a set of boot arguments to pass to the loaded @@ -789,7 +789,7 @@ msg_relocate: .asciz "Relocating the loader and the BTX\r\n" msg_jump: .asciz "Starting the BTX loader\r\n" msg_badread: .ascii "Read Error: 0x" -hex_error: .ascii "00\r\n" +hex_error: .asciz "00\r\n" msg_novd: .asciz "Could not find Primary Volume Descriptor\r\n" msg_lookup: .asciz "Looking up " msg_lookup2: .asciz "... " ==== //depot/projects/dtrace7/src/sys/dev/an/if_an.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.84 2007/09/10 12:53:34 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.84.2.1 2007/11/21 06:37:40 avatar Exp $"); /* * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form. @@ -790,7 +790,7 @@ */ ether_ifattach(ifp, sc->an_caps.an_oemaddr); - callout_handle_init(&sc->an_stat_ch); + callout_init_mtx(&sc->an_stat_ch, &sc->an_mtx, 0); return(0); fail:; @@ -818,6 +818,7 @@ AN_UNLOCK(sc); ether_ifdetach(ifp); bus_teardown_intr(dev, sc->irq_res, sc->irq_handle); + callout_drain(&sc->an_stat_ch); if_free(ifp); an_release_resources(dev); mtx_destroy(&sc->an_mtx); @@ -1142,6 +1143,8 @@ * is important because we don't want to allow transmissions until * the NIC has synchronized to the current cell (either as the master * in an ad-hoc group, or as a station connected to an access point). + * + * Note that this function will be called via callout(9) with a lock held. */ static void an_stats_update(void *xsc) @@ -1150,12 +1153,17 @@ struct ifnet *ifp; sc = xsc; - AN_LOCK(sc); + if (sc->an_gone) { + return; + } + + AN_LOCK_ASSERT(sc); ifp = sc->an_ifp; sc->an_status.an_type = AN_RID_STATUS; sc->an_status.an_len = sizeof(struct an_ltv_status); - an_read_record(sc, (struct an_ltv_gen *)&sc->an_status); + if (an_read_record(sc, (struct an_ltv_gen *)&sc->an_status)) + return; if (sc->an_status.an_opmode & AN_STATUS_OPMODE_IN_SYNC) sc->an_associated = 1; @@ -1164,17 +1172,16 @@ /* Don't do this while we're transmitting */ if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { - sc->an_stat_ch = timeout(an_stats_update, sc, hz); - AN_UNLOCK(sc); + callout_reset(&sc->an_stat_ch, hz, an_stats_update, sc); return; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 24 22:39:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9131016A469; Sat, 24 Nov 2007 22:39: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 9023816A419 for ; Sat, 24 Nov 2007 22:39:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 720AF13C45A for ; Sat, 24 Nov 2007 22:39:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAOMdoxq084840 for ; Sat, 24 Nov 2007 22:39:50 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAOMdkaZ084837 for perforce@freebsd.org; Sat, 24 Nov 2007 22:39:46 GMT (envelope-from jb@freebsd.org) Date: Sat, 24 Nov 2007 22:39:46 GMT Message-Id: <200711242239.lAOMdkaZ084837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 129473 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Nov 2007 22:39:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=129473 Change 129473 by jb@jb_freebsd1 on 2007/11/24 22:39:35 IF6 Affected files ... .. //depot/projects/dtrace6/src/contrib/ipfilter/BSD/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/BSD/ipfadm-rcd#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/BSD/kupgrade#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/BugReport#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/files.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/files.newconf.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/in_proto.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/ip_input.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/kinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/minstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/unkinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-2.2/unminstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-3/INST.FreeBSD-3#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-3/kinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-3/unkinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.0#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.1#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.2#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-4.0/kinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD-4.0/unkinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/conf.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/files.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/files.newconf.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/files.oldconf.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/filez.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/in_proto.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/ip_input.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/ip_output.c.diffs#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/kinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/minstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/unkinstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/FreeBSD/unminstall#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/HISTORY#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/INST.FreeBSD-2.2#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/INSTALL.FreeBSD#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/INSTALL.xBSD#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/IPF.KANJI#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/bpf_filter.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ip_fil.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipf.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/iplang/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/iplang/iplang_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/44arp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/arp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/ip.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/resend.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/sdlpi.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/l4check/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/l4check/l4check.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/addicmp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/addipopt.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/alist_free.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/alist_new.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/bcopywrap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/binprint.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/buildopts.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/checkrev.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/count4bits.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/count6bits.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/debug.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/extras.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/facpri.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/facpri.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/fill6bits.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/flags.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/genmask.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/gethost.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getifname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getline.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getnattype.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getport.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getportproto.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getproto.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/getsumd.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/hexdump.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/hostmask.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/hostname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/hostnum.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/icmpcode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/initparse.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ionames.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipf_dotuning.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_ef.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_hx.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_pc.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_sn.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_td.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipft_tx.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ipoptsec.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/kmem.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/kmem.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/kmemcpywrap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/kvatoname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_file.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_hash.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_hashnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_http.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_pool.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_poolnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/load_url.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/loglevel.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/mutex_emul.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/nametokva.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/nat_setgroupmap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/natparse.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ntomask.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/optname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/optprint.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/optprintv6.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/optvalue.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/parse.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/portname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/portnum.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ports.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/print_toif.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printactivenat.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printaps.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printbuf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printfr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printfraginfo.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhash.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhash_live.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhashdata.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhashnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhostmap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printhostmask.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printifname.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printip.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printlog.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printmask.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printnat.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpacket.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpacket6.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpool.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpool_live.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpooldata.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printpoolnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printportcmp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printproto.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printsbuf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printstate.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printtqtable.c#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/printtunable.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ratoi.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/ratoui.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/remove_hash.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/remove_hashnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/remove_pool.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/remove_poolnode.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/resetlexer.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/rwlock_emul.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/tcp_flags.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/tcpflags.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/tcpoptnames.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/to_interface.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/v6ionames.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/v6optvalue.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/var.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/lib/verbose.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/man/ipf.8#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/man/ipfstat.8#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/man/ipmon.8#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/man/ippool.5#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/md5.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/mlf_ipl.c#2 delete .. //depot/projects/dtrace6/src/contrib/ipfilter/radix.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/radix_ipf.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/dotest#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/Makefile#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/f11#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/f12#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/f13#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/f24#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/i11#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/i12#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/i19.dist#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/i4#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/i9#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/in1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/in6#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ip2#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ipv6.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ipv6.5#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ipv6.6#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n10#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n12#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n16#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n4#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n6#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n8#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/n9#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni10#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni11#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni12#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni13#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni14#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni15#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni16#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni2#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni23#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni3#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni4#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni5#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni6#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni7#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni8#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/ni9#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/p2#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/expected/p5#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/f11#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/f13#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/f24#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ip2.data#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ipv6.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ipv6.5#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ipv6.6#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/l1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/n16#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni13#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni14#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni16#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni2#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni23#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni3#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni4#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/ni5#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/input/p5#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/natipftest#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/nattest#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/f24#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/i3#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/in1#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/in6#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ip2#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ipv6.5#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ipv6.6#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/n16#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ni1.nat#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ni23.ipf#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/ni23.nat#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/p5.ipf#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/regress/p5.pool#1 branch .. //depot/projects/dtrace6/src/contrib/ipfilter/test/test.format#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/test/vfycksum.pl#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/Makefile#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipf_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipfcomp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipfs.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipfstat.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipftest.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipmon.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipmon_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipnat.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipnat_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ippool.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ippool_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipscan_y.y#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipsyncm.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/ipsyncs.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/lex_var.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/lexer.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ipfilter/tools/lexer.h#2 integrate .. //depot/projects/dtrace6/src/etc/sendmail/freebsd.mc#2 integrate .. //depot/projects/dtrace6/src/etc/sendmail/freebsd.submit.mc#2 integrate .. //depot/projects/dtrace6/src/gnu/usr.bin/gdb/kgdb/kgdb.h#3 integrate .. //depot/projects/dtrace6/src/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/dtrace6/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/dtrace6/src/include/_ctype.h#3 integrate .. //depot/projects/dtrace6/src/include/ctype.h#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/big5.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/euc.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/gb18030.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/gb2312.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/gbk.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/isctype.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/mskanji.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/none.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/setrunelocale.c#3 integrate .. //depot/projects/dtrace6/src/lib/libc/locale/utf8.c#3 integrate .. //depot/projects/dtrace6/src/lib/libsdp/search.c#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/ipf/Makefile#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/ipftest/Makefile#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/ipmon/Makefile#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/ipnat/Makefile#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/ippool/Makefile#2 integrate .. //depot/projects/dtrace6/src/sbin/ipf/libipf/Makefile#2 integrate .. //depot/projects/dtrace6/src/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/dtrace6/src/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/dtrace6/src/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/dtrace6/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/dtrace6/src/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/dtrace6/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_frag.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_htable.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_htable.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_irc_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_lookup.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_lookup.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_pool.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_pool.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_proxy.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_rpcb_pxy.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_scan.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_scan.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_state.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_sync.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ip_sync.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/dtrace6/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/ata-all.h#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/atapi-cd.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/ata/atapi-tape.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_proc.c#3 integrate .. //depot/projects/dtrace6/src/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/dtrace6/src/sys/netgraph/ng_base.c#4 integrate .. //depot/projects/dtrace6/src/sys/sys/param.h#4 integrate .. //depot/projects/dtrace6/src/usr.sbin/bluetooth/sdpcontrol/search.c#2 integrate .. //depot/projects/dtrace6/src/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate Differences ... ==== //depot/projects/dtrace6/src/contrib/ipfilter/BSD/Makefile#2 (text+ko) ==== @@ -84,6 +84,11 @@ -ln -s ../tools . -ln -s ../tools .. +bpf.h: + echo '#define DEV_BPF 1' > bpf.h + +$(TOP)/ip_compat.h: bpf.h + machine: Makefile.kmod if [ -f Makefile.kmod ] ; then \ make -f Makefile.kmod depend MKUPDATE=no; \ @@ -137,7 +142,7 @@ fil_u.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h \ $(TOP)/opts.h $(TOP)/ip_rules.h - $(CC) $(CCARGS) $(EXTRA) $(IPFBPF) -D_RADIX_H_ -c $(TOP)/fil.c -o $@ + $(CC) $(CCARGS) $(EXTRA) $(IPFBPF) -c $(TOP)/fil.c -o $@ fil.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ipl.h \ $(TOP)/ip_rules.h @@ -447,14 +452,14 @@ ${RM} -f ../ipf ../ipnat ../ipmon ../ippool ../ipftest ${RM} -f ../ipscan ../ipsyncm ../ipsyncs ${RM} -f *.core *.o *.a ipt ipfstat ipf ipfstat ipftest ipmon - ${RM} -f if_ipl ipnat ipfrule.ko* ipf.kld* + ${RM} -f if_ipl ipnat ipfrule.ko* ipf.kld* ipfrule.kld* ${RM} -f vnode_if.h $(LKM) ioconf.h *.ko setdef1.c setdef0.c setdefs.h ${RM} -f ip_fil.c ipf_l.c ipf_y.c ipf_y.h ipf_l.h ${RM} -f ipscan ipscan_y.c ipscan_y.h ipscan_l.c ipscan_l.h ${RM} -f ippool ippool_y.c ippool_y.h ippool_l.c ippool_l.h ${RM} -f ipnat_y.c ipnat_y.h ipnat_l.c ipnat_l.h ${RM} -f ipmon_y.c ipmon_y.h ipmon_l.c ipmon_l.h - ${RM} -f ipsyncm ipsyncs ipfs ip_rules.c ip_rules.h + ${RM} -f ipsyncm ipsyncs ipfs ip_rules.c ip_rules.h bpf.h ${RM} -f *.da *.gcov *.bb *.bbg tools ${MAKE} -f Makefile.ipsend ${MFLAGS} clean @@ -480,13 +485,21 @@ cp if_ipl.o /lkm; \ fi -if [ -d /modules -a -f ipf.ko ] ; then \ - cp ipf.ko /modules; \ + if [ -f /modules/ipl.ko ] ; then \ + cp ipf.ko /modules/ipl.ko; \ + else \ + cp ipf.ko /modules; \ + fi \ fi -if [ -d /modules -a -f ipfrule.ko ] ; then \ cp ipfrule.ko /modules; \ fi -if [ -d /boot/kernel -a -f ipf.ko ] ; then \ - cp ipf.ko /boot/kernel; \ + if [ -f /boot/kernel/ipl.ko ] ; then \ + cp ipf.ko /boot/kernel/ipl.ko; \ + else \ + cp ipf.ko /boot/kernel; \ + fi \ fi -if [ -d /boot/kernel -a -f ipfrule.ko ] ; then \ cp ipfrule.ko /boot/kernel; \ @@ -514,6 +527,9 @@ $(INSTALL) -cs -g wheel -m 755 -o root $$p $$def; \ fi \ done + if [ -d /etc/rc.d ] ; then \ + $(INSTALL) -c -g wheel -m 755 -o root ../ipfadm-rcd $(SBINDEST)/ipfadm; \ + fi (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP)) coverage: ==== //depot/projects/dtrace6/src/contrib/ipfilter/BSD/kupgrade#2 (text+ko) ==== @@ -32,11 +32,15 @@ fi if [ ! -f ip_rules.c -o ! -f ip_rules.h ] ; then - echo "Please do a build of ipfilter and then run the following" - echo "command to build extra files:" - echo - echo "make ip_rules.c" - exit 1 + echo "Trying to build ip_rules.c and ip_rules.h" + make ip_rules.c + if [ ! -f ip_rules.c -o ! -f ip_rules.h ] ; then + echo "Please do a build of ipfilter and then run the following" + echo "command to build extra files:" + echo + echo "make ip_rules.c" + exit 1 + fi fi echo -n "Installing " ==== //depot/projects/dtrace6/src/contrib/ipfilter/BugReport#2 (text+ko) ==== @@ -1,10 +1,12 @@ -IP Filter bug report form. --------------------------- -IP Filter Version: -Operating System Version: -Configuration: +Please submit this information at SourceForge using this URL: +http://sourceforge.net/tracker/?func=add&group_id=169098&atid=849053 -Description of problem: +Please also send an email to darrenr@reed.wattle.id.au. -How to repeat: - +Some information that I generally find important: +-------------------------- +* IP Filter Version +* Operating System and its Version +* Configuration: (LKM or compiled-into-kernel) +* Description of problem +* How to repeat ==== //depot/projects/dtrace6/src/contrib/ipfilter/HISTORY#2 (text+ko) ==== @@ -10,6 +10,266 @@ # and especially those who have found the time to port IP Filter to new # platforms. # +4.1.28 - Release 16 October 2007 + +backout changes (B1) & (B2) as they've caused NAT entries to persist for +too long and possibly other side effects. + +Still need to compile in our own radix.c for Solaris as the one in S10U4 +has a different alignment of structure members (causes panic) + +keep state doesn't work with multicast/broadcast packets (makes UPnP easier) + +ippool -l may only lists every 2nd pool's contents + +4.1.27 - Released 29 September 2007 + +SunOS5/replace script does not deal with i386 systems that have the +i86/amd64 directory pair. + +make BSD/kupgrade try to build ip_rules.[ch] before complaining + +Need to look for ipl.ko LKM on FreeBSD, not just ipf.ko + +Cleanup SunOS5 Makefile pieces, removing CPU, sunos5x86; buildsunos needs +to drive 32bit cc builds differently for sparc/i386 now. + +Update instructions for rebuilding FreeBSD kernels + +Make the target "freebsd" work for building ipfilter + +destroying NAT entries for blocked packets can lead to NAT table entry leak, +provide a counter of orphan'd NAT entries to track this problem. + +4.1.26 - Released 24 September 2007 + +Fix build problem for Solaris prior to S10U4 + +4.1.25 - Released 20 September 2007 + +stepping through structures with ioctls can lead to the wrong things +being free'd and panics + +if a NAT entry (such as an rdr) is created but the packet ends up being +blocked, tear down the NAT entry. + +fix fragment cache preventing keep state from functioning + +fix handling of \ to indicate a continued line in .conf files + +include port ranges in the allowed input for ipf when using "port = ()" + +only advance TCP state for packets on the leading edge of the window. (B1) + +using ipnat -l can lead to memory corruption in high stress situations + +track TCP sequence numbers with NAT so that it can do timeout advances +correctly inline with state + +ICMP checksums for some redirect'd packets are not adjusted correctly. + +IPv6 address components need to be explicitly cast to a 32bit pointer +boundary so that compilers don't try to access them as two 64bit +pieces (no guarantee is made that an Ipv6 address is on a 64bit +aligned address) + +filling up the ipauth packet queue can lead to no more packets being +processed. + +locking used to deref a nat entry causes a significant performance hit + +m_pulldown isn't properly handled, leading to possible panics with ICMPv6 +packets + +IPv6 fragment handling doesn't allow for "keep frag" to work + +build on Solaris10 Update4 with pfhooks in the kernel + +logging of Ipv6 packets with extension headers fix - Miroslaw Luc + +4.1.24 - Released 8 July 2007 + +patch from Stuart Remphrey to address recursive mutex lock with TCP state + +add hash table bucket stats display to ipnat -s + +give ASSERT some teeth for user compiles + +initialising ipf_global, ipf_frcache, ipf_mutex should all be done very +early on + +do some caddr_t cleanup, where possible + +fr_ref no longer tracks the number of children rules in a group for head rules + +make sure all BCOPY* have a value assigned to something + +fix possible use of icmp pointer after pullup makes it invalid + +resolve compile problems related to FreeBSD tree + +4.1.23 - Released 31 May 2007 + +NAT was not always correctly fixing ICMP headers for errors + +some TCP state steps when closing do not update timeouts, leading to +them being removed prematurely. (B2) + +fix compilation problems for netbsd 4.99 + +protect enumeration of lists in the kernel from callout interrupts on +BSD without locking + +fix various problems with IPv6 header checks: TCP/UDP checksum validation +was not being done, fragmentation header parsed dangerously and routing +header prevented others from being seen + +fix gcc 4.2 compiler warnings + +fix TCP/UDP checksum calculation for IPv6 + +fix reference after free'ing ipftoken memory + +4.1.22 - Released 13 May 2007 + +fix endless loop when flushing state/NAT by idle time + +4.1.21 - Released 12 May 2007 + +show the number of states created against a rule with "-v" for ipfstat + +fix build problems with FreeBSD + +make it possible to flush the state table by idle time and TCP state + +fix flushing out idle connections when state/NAT tables fill + +print out the TCP state population with ipfstat/ipnat + +stop creation of state table orphans via return-*/fastroute + +fix printing out of rule groups - they now only appear once + +4.1.20 - Released 30 April 2007 + +adjust TCP state numbers, making 11 closed (was 0) to better facilitate +detecting closing connections that we can wipe out when a SYN arrives +that matches the old + +make it compile on Solaris10 Update3 + +structures used for ipf command ioctls weren't being freed in timeout +fashion on solairs + +use NL_EXPIRE, not ISL_EXPIRE, for expiring NAT sessions + +adjust TCP timeout values and introduce a time-wait specifc timeout +to get a better TCP FSM emulation and one that can hopefully do a better +job of cleaning up in a speedy fashion than previous + +refactor the automatic flushing of TCP state entries when we fill up, +but use the same algorithm as before but now it hopefully works + +only 2 out of 4 interface names were being changed by ipfs when +interface renaming was being used for state entries + +add ipf_proxy_debug to ipf-T + +matching of last fragments that had a number of bytes that wasn't a +multiple of 8 failed + +some combinations of TCP flags are considered bad aren't picked up as such, +but these may be possible with T/TCP + +4.1.19 - Released 22 February 2007 + +Fix up compilation problems with NetBSD and Solaris. + +4.1.18 - Released 18 February 2007 + +fix compiling on Tru64 + +fix listing out filter rules with ipfstat (delete token at end of +the list and detect zero rule being returned.) + +fix extended flushing of NAT tables (was clearing out state tables) + +fix null-pointer deref in hash table lookup + +fix NAT and stateful filtering with to/reply-to on destination interface + +4.1.17 - Released 20 January 2007 + +make flushing pools that are still in use mark them for deletion and +have attempting to recreate them clear the delete flag + +walking through the NAT tables with ioctls caused lock recursion + +fix tracking TCP window scaling in the state code + +4.1.16 - Released 20 December 2006 + +allow rdr rules to only differ on the new port number + +when creating state entry orphans, leave them on the linked list but not +attached to the hash table and mark them visible as orphans in "ipfstat -sl" + +log state removed when unloading differently to allow visible cues + +return ipf ticks via SIOCGETGS for /dev/ipnat so "ipnat -l" can display ttl + +abort logging a packet if the mbuf pointer is null when ipflog is called + +Some NetBSD's have a selinfo.h instead of select.h + +SIOCIPFFL was using copyoutptr and should have been using bcopy for /dev/ipauth + +listing accounting rules using ioctl interface wasn't possible + +fix leakage of state entries due to packets not matching up with NAT + +improve ICMP error packet matching with state/NAT + +fix problems with parsing and printing "-" as an interface name in ipnat.conf + +4.1.15 - Released 03 November 2006 + +Add in automatic flushing of NAT, like state, table if it fills up too much + +Update comments in the code for NAT checksum adjustments + +Fix compiling on FreeBSD 5.4 and 6.0 + +prevent panics from read/write IOs trying to use uninitialised structures + +Newer NetBSD should use malloc() instead of MALLOC() in the kernel where +the size is not staticly defined + +Some gcc warning message cleanup from NetBSD + +Missing include for on Solaris for poll work + +NetBSD now uses opt_ipfilter.h, not opt_ipfilter_log.h + +4.1.14 - Released 04 October 2006 + +rewrite checksum alteration for ICMP packets being NAT'd to use a sane +algorithm that can be understood...now it needs better comments + +fix 1 byte error in checksum validation perl script + +remove unused files in lib directory + +ipftest will say "bad-packet" if it has been freed rather than just "blocked" + +make it possible to load IP address pools from external files in ippool.conf + +update copyright messages in tools directory + +consolidate ioctl hanlding source code into fil.c + +make ipfstat, ippool, ipnat retrieve information via ioctls rather than /dev/kmem + 4.1.13 - Released 4 April 2006 fix bug where null pointers introduced by proxies could cause a crash @@ -39,6 +299,7 @@ behaviour of \ on the end of a line in ipf.conf does not match older behaviour remove duplicate statistics line output with "ipfstat -s" + 4.1.11 - Released 19 March 2006 Patch for NAT with ipfsync from N. Ersen (SESCI) - www.enderunix.org ==== //depot/projects/dtrace6/src/contrib/ipfilter/Makefile#2 (text+ko) ==== @@ -5,8 +5,8 @@ # provided that this notice is preserved and due credit is given # to the original author and the contributors. # -# $FreeBSD: src/contrib/ipfilter/Makefile,v 1.4.2.1 2006/08/24 07:37:02 guido Exp $ -# Id: Makefile,v 2.76.2.19 2006/03/17 10:38:38 darrenr Exp $ +# $FreeBSD: src/contrib/ipfilter/Makefile,v 1.4.2.2 2007/11/18 11:03:17 darrenr Exp $ +# Id: Makefile,v 2.76.2.24 2007/09/26 10:04:03 darrenr Exp $ # SHELL=/bin/sh BINDEST=/usr/local/bin @@ -132,10 +132,7 @@ @echo "openbsd - compile for OpenBSD" @echo "freebsd20 - compile for FreeBSD 2.0, 2.1 or earlier" @echo "freebsd22 - compile for FreeBSD-2.2 or greater" - @echo "freebsd3 - compile for FreeBSD-3.x" - @echo "freebsd4 - compile for FreeBSD-4.x" - @echo "freebsd5 - compile for FreeBSD-5.x" - @echo "freebsd6 - compile for FreeBSD-6.x" + @echo "freebsd - compile for all other versions of FreeBSD" @echo "bsd - compile for generic 4.4BSD systems" @echo "bsdi - compile for BSD/OS" @echo "irix - compile for SGI IRIX" @@ -152,6 +149,7 @@ else echo test directory not present, sorry; fi include: + -mkdir -p net netinet if [ ! -f netinet/done ] ; then \ (cd netinet; ln -s ../*.h .; ln -s ../ip_*_pxy.c .;); \ (cd netinet; ln -s ../ipsend/tcpip.h tcpip.h); \ @@ -167,6 +165,9 @@ MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" BPFILTER=$(BPFILTER) \ CC="$(CC)" DEBUG="$(DEBUG)" ./buildsunos +freebsd: + make freebsd`uname -r|cut -c1` + freebsd22: include make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" -rm -f BSD/$(CPUDIR)/ioconf.h @@ -188,7 +189,7 @@ fi make freebsd20 -freebsd5 freebsd6: include +freebsd5 freebsd6 freebsd7: include if [ x$(INET6) = x ] ; then \ echo "#undef INET6" > opt_inet6.h; \ else \ @@ -230,6 +231,15 @@ netbsd: include make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" + @if [ ! -d /sys -o ! -d /sys/arch ] ; then \ + echo "*****************************************************"; \ + echo "* *"; \ + echo "* Please extract source code to create /sys and *";\ + echo "* /sys/arch and run 'config GENERIC' *"; \ + echo "* *"; \ + echo "*****************************************************"; \ + exit 1; \ + fi (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c" LKMR= "MLR=mln_rule.o"; cd ..) (cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS); cd ..) @@ -342,13 +352,9 @@ (cd SunOS4; make -f Makefile.ipsend build "CC=$(CC)" TOP=.. $(DEST) $(MFLAGS); cd ..) sunos5 solaris2: null - (cd SunOS5/$(CPUDIR); $(MAKE) build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Dsparc -D__sparc__"; cd ..) + (cd SunOS5/$(CPUDIR); $(MAKE) build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)"; cd ..) (cd SunOS5/$(CPUDIR); $(MAKE) -f Makefile.ipsend build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..) -sunos5x86 solaris2x86: null - (cd SunOS5/$(CPUDIR); make build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Di86pc -Di386 -D__i386__"; cd ..) - (cd SunOS5/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..) - linux: include (cd Linux; make build LINUX=$(LINUX) TOP=.. "DEBUG=-g" "CC=$(CC)" $(MFLAGS) OBJ=$(CPUDIR) LINUXKERNEL=$(LINUXKERNEL); cd ..) (cd Linux; make ipflkm LINUX=$(LINUX) TOP=.. "DEBUG=-g" "CC=$(CC)" $(MFLAGS) OBJ=$(CPUDIR) LINUXKERNEL=$(LINUXKERNEL) WORKDIR=`pwd`; cd ..) @@ -365,7 +371,7 @@ (cd SunOS4; $(MAKE) CPU=$(CPU) TOP=.. install) install-sunos5: solaris null - (cd SunOS5; $(MAKE) CPU=$(CPU) TOP=.. install) + (cd SunOS5; $(MAKE) TOP=.. install) install-aix: (cd AIX/`AIX/cpurev`; make install "TOP=../.." $(MFLAGS); cd ..) ==== //depot/projects/dtrace6/src/contrib/ipfilter/bpf_filter.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/bpf_filter.c,v 1.3.2.1 2006/08/24 07:37:02 guido Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/bpf_filter.c,v 1.3.2.2 2007/11/18 11:03:17 darrenr Exp $ */ /*- * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 @@ -42,7 +42,7 @@ #if !(defined(lint) || defined(KERNEL) || defined(_KERNEL)) static const char rcsid[] = - "@(#) $Header: /devel/CVS/IP-Filter/bpf_filter.c,v 2.2.2.2 2005/12/30 12:57:28 darrenr Exp $ (LBL)"; + "@(#) $Header: /devel/CVS/IP-Filter/bpf_filter.c,v 2.2.2.3 2006/10/03 11:25:56 darrenr Exp $ (LBL)"; #endif #include @@ -195,7 +195,8 @@ register int k; int32 mem[BPF_MEMWORDS]; mb_t *m, *n; - int merr, len; + int merr = 0; /* XXX: GCC */ + int len; if (buflen == 0) { m = (mb_t *)p; ==== //depot/projects/dtrace6/src/contrib/ipfilter/ip_fil.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.3.2.1 2006/08/24 07:37:02 guido Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.3.2.2 2007/11/18 11:03:17 darrenr Exp $ */ /* * Copyright (C) 1993-2001 by Darren Reed. @@ -7,7 +7,7 @@ */ #if !defined(lint) static const char sccsid[] = "@(#)ip_fil.c 2.41 6/5/96 (C) 1993-2000 Darren Reed"; -static const char rcsid[] = "@(#)$Id: ip_fil.c,v 2.133.2.11 2006/03/25 11:15:30 darrenr Exp $"; +static const char rcsid[] = "@(#)$Id: ip_fil.c,v 2.133.2.18 2007/09/09 11:32:05 darrenr Exp $"; #endif #ifndef SOLARIS @@ -64,7 +64,6 @@ #include #include #include -#include #ifdef __hpux # define _NET_ROUTE_INCLUDED @@ -82,10 +81,12 @@ #include # endif #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(SOLARIS2) # include "radix_ipf.h" #endif -#include +#ifndef __osf__ +# include +#endif #include #if !(defined(__sgi) && !defined(IFF_DRVRLOCK)) /* IRIX < 6 */ && \ !defined(__hpux) && !defined(linux) @@ -109,6 +110,7 @@ #include #include #include +#include #ifdef __hpux # undef _NET_ROUTE_INCLUDED #endif @@ -146,7 +148,6 @@ static struct ifnet **ifneta = NULL; static int nifs = 0; -static int frzerostats __P((caddr_t)); static void fr_setifpaddr __P((struct ifnet *, char *)); void init_ifp __P((void)); #if defined(__sgi) && (IRIX < 60500) @@ -169,37 +170,20 @@ #endif -int iplattach() +int ipfattach() { fr_running = 1; return 0; } -int ipldetach() +int ipfdetach() { fr_running = -1; return 0; } -static int frzerostats(data) -caddr_t data; -{ - friostat_t fio; - int error; - - fr_getstat(&fio); - error = copyoutptr(&fio, data, sizeof(fio)); - if (error) - return EFAULT; - - bzero((char *)frstats, sizeof(*frstats) * 2); - - return 0; -} - - /* * Filter ioctl interface. */ @@ -209,210 +193,20 @@ caddr_t data; int mode; { - int error = 0, unit = 0, tmp; - friostat_t fio; + int error = 0, unit = 0, uid; + SPL_INT(s); + uid = getuid(); unit = dev; SPL_NET(s); - if (unit == IPL_LOGNAT) { - if (fr_running > 0) - error = fr_nat_ioctl(data, cmd, mode); - else - error = EIO; + error = fr_ioctlswitch(unit, data, cmd, mode, uid, NULL); + if (error != -1) { SPL_X(s); return error; >>> TRUNCATED FOR MAIL (1000 lines) <<<